diff --git a/.github/workflows/scripts/technology_validator.py b/.github/workflows/scripts/technology_validator.py
index fdcdcc0c..9695ead6 100644
--- a/.github/workflows/scripts/technology_validator.py
+++ b/.github/workflows/scripts/technology_validator.py
@@ -200,6 +200,26 @@ def get_type(self) -> list[Type]:
return [dict]
+class DNSValidator(DictValidator):
+ def _validate(self, tech_name: str, data: Any) -> bool:
+ if not super()._validate(tech_name, data):
+ return False
+ for k, v in data.items():
+ if not isinstance(k, str):
+ self._set_custom_error(InvalidKeyException(f"key in DNS for tech '{tech_name}' has an invalid type. 'str' is required, got type '{type(k).__name__}' -> '{k}'"))
+ return False
+ if not isinstance(v, list):
+ self._set_custom_error(InvalidKeyException(f"value in DNS for tech '{tech_name}' has an invalid type. 'list' is required, got type '{type(v).__name__}' -> '{v}'"))
+ return False
+ for record in v:
+ if not isinstance(record, str):
+ self._set_custom_error(InvalidTypeForFieldException(f"Invalid type for dns in tech '{tech_name}', selector '{v}' '{record}' key must be string!"))
+ return False
+ if not self._validate_regex(tech_name, record):
+ return False
+ return True
+
+
class CategoryValidator(ArrayValidator):
def __init__(self, categories: list[int], required: bool = False):
super().__init__(required)
@@ -323,7 +343,7 @@ def __init__(self, file_name: str):
"requiresCategory": CategoryValidator(self._CATEGORIES),
"cookies": DictValidator(contains_regex=True),
"dom": DomValidator(),
- "dns": DictValidator(contains_regex=True),
+ "dns": DNSValidator(contains_regex=True),
"js": DictValidator(contains_regex=True),
"headers": DictValidator(contains_regex=True),
"text": ArrayValidator(contains_regex=True),
diff --git a/.gitignore b/.gitignore
index 4a4caa46..744e4d90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
.idea/
.project
-.settings
\ No newline at end of file
+.settings
+
+.sync/
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 66e83960..372d7693 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,10 +1,10 @@
# Contributing
-WebAppAnalyzer is an [GPLv3 licensed](https://github.com/wappalyzer/wappalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute.
+WebAppAnalyzer is an [GPLv3 licensed](https://github.com/enthec/webappanalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute.
## Getting started
-To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/master/README.md).
+To get started, see the [README](https://github.com/enthec/webappanalyzer/blob/master/README.md).
## Adding a new technology
diff --git a/README.md b/README.md
index 7700ebd4..03e64564 100644
--- a/README.md
+++ b/README.md
@@ -3,13 +3,14 @@
[](https://github.com/enthec/webappanalyzer/actions/workflows/validate.yml)
[](https://opensource.org/license/gpl-3-0/)
-This project is a continuation of the iconic [**Wappalyzer**](https://github.com/wappalyzer/wappalyzer) that went private recently on August 2023.
-
-First and foremost, Enthec is committed not to set this repo private at any moment since this would be out of the scope of the company's business.
-
-Our interest is to keep it growing, so it can be helpful to the community as it has been until now.
-
-There are no changes to be expected in the library. We will update it with the same JSON structure currently in use so the user experience will not be modified.
+> [!NOTE]
+> This project is a continuation of the iconic [**Wappalyzer**](https://github.com/wappalyzer/wappalyzer) that went private in August 2023.
+>
+> First and foremost, Enthec is committed not to set this repo private at any moment since this would be out of the scope of the company's business.
+>
+> Our interest is to keep it growing, so it can be helpful to the community as it has been until now.
+>
+> There are no changes to be expected in the library. We will update it with the same JSON structure currently in use so the user experience will not be modified.
## Specification
@@ -19,59 +20,89 @@ Patterns (regular expressions) are kept in [`src/technologies/`](https://github.
#### Example
-```json
-"Example": {
- "description": "A short description of the technology.",
- "cats": [
- "1"
- ],
- "cookies": {
- "cookie_name": "Example"
- },
- "dom": {
- "#example-id": {
- "exists": "",
- "attributes": {
- "class": "example-class"
- },
- "properties": {
- "example-property": ""
- },
- "text": "Example text content"
- }
- },
- "dns": {
- "MX": [
+```json5
+{
+ "Example": {
+ "description": "A short description of the technology.",
+ "cats": [
+ 1
+ ],
+ "cookies": {
+ "cookie_name": "Example"
+ },
+ "dom": {
+ "#example-id": {
+ "exists": "",
+ "attributes": {
+ "class": "example-class"
+ },
+ "properties": {
+ "example-property": ""
+ },
+ "text": "Example text content"
+ }
+ },
+ "dns": {
+ "MX": [
+ "example\\.com"
+ ]
+ },
+ "icon": "Example.svg",
+ "cpe": "cpe:2.3:a:example:example:*:*:*:*:*:*:*:*",
+ "js": {
+ "Example.method": ""
+ },
+ "excludes": [
+ "Example"
+ ],
+ "headers": {
+ "X-Powered-By": "Example"
+ },
+ "text": [
+ "\bexample\b"
+ ],
+ "css": [
+ "\\.example-class"
+ ],
+ "robots": [
+ "Disallow: /unique-path/"
+ ],
+ "implies": [
+ "PHP\\;confidence:50"
+ ],
+ "requires": [
+ "WordPress"
+ ],
+ "requiresCategory": [
+ 6
+ ],
+ "meta": {
+ "generator": "(?:Example|Another Example)"
+ },
+ "probe": {
+ "/path": ""
+ },
+ "scriptSrc": [
+ "example-([0-9.]+)\\.js\\;confidence:50\\;version:\\1"
+ ],
+ "scripts": [
+ "function webpackJsonpCallback\\(data\\) {"
+ ],
+ "url": [
+ "example\\.com"
+ ],
+ "xhr": [
"example\\.com"
- ]
- },
- "js": {
- "Example.method": ""
- },
- "excludes": "Example",
- "headers": {
- "X-Powered-By": "Example"
- },
- "text": "\bexample\b",
- "css": "\\.example-class",
- "robots": "Disallow: /unique-path/",
- "implies": "PHP\\;confidence:50",
- "requires": "WordPress",
- "requiresCategory": "Ecommerce",
- "meta": {
- "generator": "(?:Example|Another Example)"
- },
- "probe": {
- "/path": ""
- },
- "scriptSrc": "example-([0-9.]+)\\.js\\;confidence:50\\;version:\\1",
- "scripts": "function webpackJsonpCallback\\(data\\) {",
- "url": "example\\.com",
- "xhr": "example\\.com",
- "oss": true,
- "saas": true,
- "pricing": ["mid", "freemium", "recurring"],
- "website": "https://example.com",
+ ],
+ "oss": true,
+ "saas": true,
+ "pricing": [
+ "mid",
+ "freemium"
+ ],
+ "website": "https://example.com",
+ "certIssuer": "Example",
+ }
}
```
@@ -79,317 +110,64 @@ Patterns (regular expressions) are kept in [`src/technologies/`](https://github.
Find the JSON schema at [`schema.json`](https://github.com/enthec/webappanalyzer/blob/main/schema.json).
-### Required properties
-
-
-
-
- Field
- Type
- Description
- Example
-
-
-
-
- cats
- Array
-
- One or more category IDs.
-
- [1, 6]
-
-
- website
- String
- URL of the application's website.
-
- "https://example.com"
-
-
-
-
-
-### Optional properties
-
-
-
-
- Field
- Type
- Description
- Example
-
-
-
-
- description
- String
-
- A short description of the technology in British English (max.
- 250 characters). Write in a neutral, factual tone; not like an
- ad.
-
- "A short description."
-
-
- icon
- String
- Application icon filename.
- "WordPress.svg"
-
-
- cpe
- String
-
- CPE
- is a structured naming scheme for technologies. To check if a CPE is valid and exists (using v2.3), use the search ).
-
- "cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*"
-
-
- saas
- Boolean
-
- The technology is offered as a Software-as-a-Service (SaaS), i.e. hosted or cloud-based.
-
- true
-
-
- oss
- Boolean
-
- The technology has an open-source license.
-
- true
-
-
- pricing
- Array
-
-Cost indicator (based on a typical plan or average monthly price) and available pricing models. For paid products only.
-
-One of:
-
-
- lowLess than US $100 / mo
- midBetween US $100 - $1,000 / mo
- highMore than US $1,000 / mo
-
-
-Plus any of:
-
-
- freemium Free plan available
- onetime One-time payments accepted
- recurring Subscriptions available
- poa Price on asking
- payg Pay as you go (e.g. commissions or usage-based fees)
-
-
- ["low", "freemium"]
-
-
-
-
-### Implies, requires and excludes (optional)
-
-
-
-
- Field
- Type
- Description
- Example
-
-
-
-
- implies
- String | Array
-
- The presence of one application can imply the presence of
- another, e.g. WordPress means PHP is also in use.
-
- "PHP"
-
-
- requires
- String | Array
-
- Similar to implies but detection only runs if the required technology has been identified. Useful for themes for a specific CMS.
-
- "WordPress"
-
-
- requiresCategory
- int | Array
-
- Similar to requires; detection only runs if a technology in the required category id has been identified.
-
- "Ecommerce"
-
-
- excludes
- String | Array
-
- Opposite of implies. The presence of one application can exclude
- the presence of another.
-
- "Apache"
-
-
-
-
-### Patterns (optional)
-
-
-
-
- Field
- Type
- Description
- Example
-
-
-
-
- cookies
- Object
- Cookies.
- { "cookie_name": "Cookie value" }
-
-
- dom
- String | Array | Object
-
- Uses a
- query selector
- to inspect element properties, attributes and text content.
-
-
- { "#example-id": { "property": { "example-prop": "" } }
- }
-
-
-
- dns
- Object
-
- DNS records: supports MX, TXT, SOA and NS.
-
-
- { "MX": "example\\.com" }
-
-
-
- js
- Object
-
- JavaScript properties (case sensitive). Avoid short property
- names to prevent matching minified code.
-
- { "jQuery.fn.jquery": "" }
-
-
- headers
- Object
- HTTP response headers.
- { "X-Powered-By": "^WordPress$" }
-
-
- text
- String | Array
-
- Matches plain text. Should only be used in very specific cases where other methods can't be used.
-
- \bexample\b
-
-
- css
- String | Array
-
- CSS rules. Unavailable when a website enforces a same-origin
- policy. For performance reasons, only a portion of the available
- CSS rules are used to find matches.
-
- "\\.example-class"
-
-
- probe
- Object
-
- Request a URL to test for its existence or match text content.
-
- { "/path": "Example text" }
-
-
- robots
- String | Array
-
- Robots.txt contents.
-
- "Disallow: /unique-path/"
-
-
- url
- String | Array
- Full URL of the page.
- "^https?//.+\\.wordpress\\.com"
-
-
- xhr
- String | Array
- Hostnames of XHR requests.
- "cdn\\.netlify\\.com"
-
-
- meta
- Object
- HTML meta tags, e.g. generator.
- { "generator": "^WordPress$" }
-
-
- scriptSrc
- String | Array
-
- URLs of JavaScript files included on the page.
-
- "jquery\\.js"
-
-
- scripts
- String | Array
-
- JavaScript source code. Inspects inline and external scripts. For performance reasons, avoid
- scripts where possible and use
- js instead.
-
- "function webpackJsonpCallback\\(data\\) {"
-
-
- html (deprecated)
- String | Array
-
- HTML source code. Patterns must include an HTML opening tag to
- avoid matching plain text. For performance reasons, avoid
- html where possible and use
- dom instead.
-
- "<a [^>]*href=\"index.html"
-
-
-
+## Required properties
+
+---
+
+| Field | Type | Description | Example |
+|-------------|----------|----------------------------------|-------------------------|
+| **cats** | `[]int` | Category ids | `[1, 6]` |
+| **website** | `string` | URL of the application's website | `"https://example.com"` |
+
+## Optional properties
+
+---
+
+### Base
+
+| Field | Type | Description | Example |
+|-----------------|---------------------|-----------------------------------------------------------|--------------------------------------------------|
+| **description** | `string` | A short description of the technology | `"short description"` |
+| **icon** | `string` | Application icon filename | `"Example.svg"` |
+| **cpe** | `string` | Application v2.3 [CPE](https://nvd.nist.gov/products/cpe) | `"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*"` |
+| **saas** | `boolean` | Software As A Service | `true` |
+| **oss** | `boolean` | Open Source Software | `true` |
+| **pricing** | [Pricing](#Pricing) | Cost indicator | `["low", "freemium"]` |
+
+### Implies, requires and excludes
+
+| Field | Type | Description | Example |
+|----------------------|------------|-------------------------------------------------------------------------------------------|-----------------|
+| **implies** | `[]string` | The presence of one application can imply the presence of another | `["PHP"]` |
+| **requires** | `[]string` | Similar to implies but detection only runs if the required technology has been identified | `["WordPress"]` |
+| **excludes** | `[]string` | The presence of one application can exclude the presence of another | `["Apache"]` |
+| **requiresCategory** | `[]int` | Similar to requires, but with category ID | `[6]` |
+
+### Patterns
+
+| Field | Type | Description | Regex | Example |
+|--------------------------|---------------------|-----------------------------------------------------------------------------------------------|-------|-------------------------------------------------|
+| **cookies** | `{string:string}` | Cookies | true | `{"cookie_name": "Cookie value"}` |
+| **dom** | [DOM](#DOM) | [Query selectors](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll) | false | `["img[src*='example']"]` |
+| **dns** | `{string:[]string}` | DNS records | true | `{"MX": ["example\\.com"]}` |
+| **js** | `{string:string}` | JavaScript properties | true | `{"jQuery.fn.jquery": ""}` |
+| **headers** | `{string:string}` | HTTP response headers | true | `{"X-Powered-By": "^WordPress$"}` |
+| **text** | `[]string` | Matches plain text | true | `["\bexample\b"]` |
+| **css** | `[]string` | CSS rules | true | `["\\.example-class"]` |
+| **probe** | `{string:string}` | Request a URL to test for its existence or match text content | false | `{"/path": "Example text"}` |
+| **robots** | `[]string` | Robots.txt contents | false | `["Disallow: /unique-path/"]` |
+| **url** | `[]string` | Full URL of the page | true | `["^https?//.+\\.wordpress\\.com"]` |
+| **xhr** | `[]string` | Hostnames of XHR requests | true | `["cdn\\.netlify\\.com"]` |
+| **meta** | `{string:string}` | HTML meta tags | true | `{"generator": "^WordPress$"}` |
+| **scriptSrc** | `[]string` | URLs of JavaScript files | true | `["jquery\\.js"]` |
+| **scripts** | `[]string` | JavaScript source code | true | `["function webpackJsonpCallback\\(data\\) {"]` |
+| ~~**html**~~(deprecated) | `[]string` | HTML source code | true | `["]*href=\"index.html"]` |
+| **certIssuer** | `string` | SSL certificate issuer | false | `"Let's Encrypt"` |
## Patterns
+---
+
Patterns are essentially JavaScript regular expressions written as strings, but with some additions.
### Quirks and pitfalls
@@ -404,80 +182,95 @@ Patterns are essentially JavaScript regular expressions written as strings, but
Tags (a non-standard syntax) can be appended to patterns (and implies and excludes, separated by `\\;`) to store additional information.
-
-
-
- Tag
- Description
- Example
-
-
-
-
- confidence
-
- Indicates a less reliable pattern that may cause false
- positives. The aim is to achieve a combined confidence of 100%.
- Defaults to 100% if not specified.
-
-
- "js": { "Mage": "\\;confidence:50" }
-
-
-
- version
-
- Gets the version number from a pattern match using a special
- syntax.
-
-
- "scriptSrc": "jquery-([0-9.]+)\.js\\;version:\\1"
-
-
-
-
+
+| Tag | Description | Example |
+|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|
+| **confidence** | Indicates a less reliable pattern that may cause false positives. The aim is to achieve a combined confidence of 100%. Defaults to 100% if not specified | `"js": {"Mage": "\\;confidence:50"}` |
+| **version** | Gets the version number from a pattern match using a special syntax | `"scriptSrc": "jquery-([0-9.]+)\.js\\;version:\\1"` |
+
### Version syntax
Application version information can be obtained from a pattern using a capture group. A condition can be evaluated using the ternary operator (`?:`).
-
-
-
- Example
- Description
-
-
-
-
- \\1
- Returns the first match.
-
-
- \\1?a:
-
- Returns a if the first match contains a value, nothing
- otherwise.
-
-
-
- \\1?a:b
-
- Returns a if the first match contains a value, b otherwise.
-
-
-
- \\1?:b
-
- Returns nothing if the first match contains a value, b
- otherwise.
-
-
-
- foo\\1
-
- Returns foo with the first match appended.
-
-
-
-
+
+| Example | Description |
+|-----------|------------------------------------------------------------------|
+| `\\1` | Returns the first match |
+| `\\1?a:` | Returns a if the first match contains a value, nothing otherwise |
+| `\\1?a:b` | Returns a if the first match contains a value, b otherwise |
+| `\\1?:b` | Returns nothing if the first match contains a value, b otherwise |
+| `foo\\1` | Returns foo with the first match appended |
+
+
+## Types
+
+### DOM
+
+Dom data type can be either:
+
+- `[]string`: list of [query selectors](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll)
+
+- `JSON Object`: **key** is the [query selector](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll) & **value** is an object that requires the following structure:
+ - value requirements:
+ 1. {"attributes": {string: `pattern`}}
+ - `pattern` can be a regex
+ - `pattern` is compatible with [tags](#Tags)
+ - example: {"attributes": {"href": "pattern", "src": "pattern"}}
+ 2. {"properties": {string: `pattern`}}
+ - `pattern` can be a regex
+ - `pattern` is compatible with [tags](#Tags)
+ - example: {"attributes": {"href": "pattern", "src": "pattern"}}
+ 3. {"text": `pattern`}
+ - `pattern` can be a regex
+ - `pattern` is compatible with [tags](#Tags)
+ 4. {"exists": ""}
+ - `value` is an empty string
+ - `empty string` is compatible with [tags](#Tags)
+
+```json5
+// example []string
+{
+ "dom": ["img[src*='example']", "form[action*='example.com/forms/']"]
+}
+```
+```json5
+// example JSON Object
+{
+ "dom": {
+ "link[href*='fonts.g']": {
+ "attributes": {
+ "href": "fonts\\.(?:googleapis|google|gstatic)\\.com"
+ },
+ "properties": {
+ "container": ""
+ },
+ "text": "GLPI\\s+version\\s+([\\d\\.]+)\\;version:\\1"
+ },
+ "style[data-href*='fonts.g']": {
+ "attributes": {
+ "data-href": "fonts\\.(?:googleapis|google|gstatic)\\.com"
+ },
+ "exists": "\\;confidence:50"
+ }
+ }
+}
+```
+
+### Pricing
+
+Cost indicator (based on a typical plan or average monthly price) and available pricing models. For paid products only.
+
+**One of**:
+
+- `low`: Less than US $100/mo
+- `mid`: Between US \$100-\$1,000/mo
+- `high`: More than US \$1,000/mo
+
+**Plus any of**:
+
+- `freemium`: Free plan available
+- `onetime`: One-time payments accepted
+- `recurring`: Subscriptions available
+- `poa`: Price on asking
+- `payg`: Pay as you go (e.g. commissions or usage-based fees)
diff --git a/scripts/fix.py b/scripts/fix.py
new file mode 100644
index 00000000..cbd28196
--- /dev/null
+++ b/scripts/fix.py
@@ -0,0 +1,58 @@
+import json
+import pathlib
+from typing import Any, Callable
+
+
+class StructureFix:
+ def __init__(self):
+ self._src_path: pathlib.Path = pathlib.Path("src")
+ self._transform: dict[str, Callable[[str | int], list]] = {
+ "html": self._fix_to_list,
+ "text": self._fix_to_list,
+ "css": self._fix_to_list,
+ "excludes": self._fix_to_list,
+ "implies": self._fix_to_list,
+ "requires": self._fix_to_list,
+ "requiresCategory": self._fix_to_list,
+ "scriptSrc": self._fix_to_list,
+ "scripts": self._fix_to_list,
+ "url": self._fix_to_list,
+ "xhr": self._fix_to_list,
+ "robots": self._fix_to_list,
+ "dom": self._fix_to_list,
+ "dns": self._dns_fix
+ }
+
+ @staticmethod
+ def _dns_fix(current_detector) -> dict[str, list[str]]:
+ for k, v in current_detector.items():
+ if isinstance(v, str):
+ current_detector[k] = [v]
+ return current_detector
+
+ @staticmethod
+ def _fix_to_list(current_detector) -> list:
+ if isinstance(current_detector, str) or isinstance(current_detector, int):
+ return [current_detector]
+ return current_detector
+
+ @staticmethod
+ def _do_nothing(current_detector):
+ return current_detector
+
+ def fix(self):
+ for file in self._src_path.joinpath("technologies").iterdir():
+ if not file.name.endswith(".json"):
+ continue
+ with file.open("r") as f:
+ techs: dict[str, dict[str, Any]] = json.loads(f.read())
+ for tech_name, tech_detectors in techs.copy().items():
+ for detector_name, detector in tech_detectors.copy().items():
+ tech_detectors[detector_name] = self._transform.get(detector_name, self._do_nothing)(detector)
+ techs[tech_name.strip()] = tech_detectors
+ with file.open("w") as f:
+ f.write(json.dumps(techs, indent=2, sort_keys=True, ensure_ascii=False))
+
+
+if __name__ == '__main__':
+ StructureFix().fix()
diff --git a/src/groups.json b/src/groups.json
index 3160ecf6..cf430441 100644
--- a/src/groups.json
+++ b/src/groups.json
@@ -50,4 +50,4 @@
"18": {
"name": "User generated content"
}
-}
+}
\ No newline at end of file
diff --git a/src/images/icons/6ValleyEcommerceCMS.svg b/src/images/icons/6ValleyEcommerceCMS.svg
new file mode 100644
index 00000000..2e0ce005
--- /dev/null
+++ b/src/images/icons/6ValleyEcommerceCMS.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/7moor.svg b/src/images/icons/7moor.svg
new file mode 100644
index 00000000..a721ad3d
--- /dev/null
+++ b/src/images/icons/7moor.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ABlyft.svg b/src/images/icons/ABlyft.svg
new file mode 100644
index 00000000..ba07b111
--- /dev/null
+++ b/src/images/icons/ABlyft.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ARCaptcha.svg b/src/images/icons/ARCaptcha.svg
new file mode 100644
index 00000000..f6a96368
--- /dev/null
+++ b/src/images/icons/ARCaptcha.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AdGlare.svg b/src/images/icons/AdGlare.svg
new file mode 100644
index 00000000..3188203b
--- /dev/null
+++ b/src/images/icons/AdGlare.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AgentFire.svg b/src/images/icons/AgentFire.svg
new file mode 100644
index 00000000..e6e4f218
--- /dev/null
+++ b/src/images/icons/AgentFire.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AgileCRM.svg b/src/images/icons/AgileCRM.svg
new file mode 100644
index 00000000..95101fa9
--- /dev/null
+++ b/src/images/icons/AgileCRM.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Airdata.svg b/src/images/icons/Airdata.svg
new file mode 100644
index 00000000..9a08e225
--- /dev/null
+++ b/src/images/icons/Airdata.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Akavita.svg b/src/images/icons/Akavita.svg
new file mode 100644
index 00000000..67b24a97
--- /dev/null
+++ b/src/images/icons/Akavita.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Akero.svg b/src/images/icons/Akero.svg
new file mode 100644
index 00000000..60bcc30a
--- /dev/null
+++ b/src/images/icons/Akero.svg
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Akinon.svg b/src/images/icons/Akinon.svg
new file mode 100644
index 00000000..66d71731
--- /dev/null
+++ b/src/images/icons/Akinon.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AllClients.svg b/src/images/icons/AllClients.svg
new file mode 100644
index 00000000..c59c3494
--- /dev/null
+++ b/src/images/icons/AllClients.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Allbookable.svg b/src/images/icons/Allbookable.svg
new file mode 100644
index 00000000..d37ec053
--- /dev/null
+++ b/src/images/icons/Allbookable.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Alpharank.svg b/src/images/icons/Alpharank.svg
new file mode 100644
index 00000000..b820ba40
--- /dev/null
+++ b/src/images/icons/Alpharank.svg
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Altcha.svg b/src/images/icons/Altcha.svg
new file mode 100644
index 00000000..4edfeb7c
--- /dev/null
+++ b/src/images/icons/Altcha.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Answerbase.svg b/src/images/icons/Answerbase.svg
new file mode 100644
index 00000000..0c4814dc
--- /dev/null
+++ b/src/images/icons/Answerbase.svg
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AppSell.svg b/src/images/icons/AppSell.svg
new file mode 100644
index 00000000..ff45457a
--- /dev/null
+++ b/src/images/icons/AppSell.svg
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Appjustable.svg b/src/images/icons/Appjustable.svg
new file mode 100644
index 00000000..0f8b6235
--- /dev/null
+++ b/src/images/icons/Appjustable.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Appzi.svg b/src/images/icons/Appzi.svg
new file mode 100644
index 00000000..d3ba70a9
--- /dev/null
+++ b/src/images/icons/Appzi.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Arabot.svg b/src/images/icons/Arabot.svg
new file mode 100644
index 00000000..8868fb7f
--- /dev/null
+++ b/src/images/icons/Arabot.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Arreva.png b/src/images/icons/Arreva.png
deleted file mode 100644
index 57b1c0b8..00000000
Binary files a/src/images/icons/Arreva.png and /dev/null differ
diff --git a/src/images/icons/Arreva.svg b/src/images/icons/Arreva.svg
new file mode 100644
index 00000000..9d046113
--- /dev/null
+++ b/src/images/icons/Arreva.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ArrowChat.svg b/src/images/icons/ArrowChat.svg
new file mode 100644
index 00000000..5bce033c
--- /dev/null
+++ b/src/images/icons/ArrowChat.svg
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ArtiBot.svg b/src/images/icons/ArtiBot.svg
new file mode 100644
index 00000000..6c272fae
--- /dev/null
+++ b/src/images/icons/ArtiBot.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Aseqbase.svg b/src/images/icons/Aseqbase.svg
new file mode 100644
index 00000000..ad0b5002
--- /dev/null
+++ b/src/images/icons/Aseqbase.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AskNicely.svg b/src/images/icons/AskNicely.svg
new file mode 100644
index 00000000..b0e4c11f
--- /dev/null
+++ b/src/images/icons/AskNicely.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AskSpot.svg b/src/images/icons/AskSpot.svg
new file mode 100644
index 00000000..84751360
--- /dev/null
+++ b/src/images/icons/AskSpot.svg
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Asksuite.svg b/src/images/icons/Asksuite.svg
new file mode 100644
index 00000000..294584b0
--- /dev/null
+++ b/src/images/icons/Asksuite.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AstraFit.svg b/src/images/icons/AstraFit.svg
new file mode 100644
index 00000000..e51ffc72
--- /dev/null
+++ b/src/images/icons/AstraFit.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Astro.svg b/src/images/icons/Astro.svg
index 9c1ced0b..cfb72904 100644
--- a/src/images/icons/Astro.svg
+++ b/src/images/icons/Astro.svg
@@ -1,4 +1,4 @@
-
-
-
+
+
+
diff --git a/src/images/icons/Atlasmic.svg b/src/images/icons/Atlasmic.svg
new file mode 100644
index 00000000..9219847d
--- /dev/null
+++ b/src/images/icons/Atlasmic.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Auglio.svg b/src/images/icons/Auglio.svg
new file mode 100644
index 00000000..19c01b2a
--- /dev/null
+++ b/src/images/icons/Auglio.svg
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/AutoOps.svg b/src/images/icons/AutoOps.svg
new file mode 100644
index 00000000..b6f0b01e
--- /dev/null
+++ b/src/images/icons/AutoOps.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Autocommerce.svg b/src/images/icons/Autocommerce.svg
new file mode 100644
index 00000000..762abdf1
--- /dev/null
+++ b/src/images/icons/Autocommerce.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Autoconf.svg b/src/images/icons/Autoconf.svg
new file mode 100644
index 00000000..a745740d
--- /dev/null
+++ b/src/images/icons/Autoconf.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Avasize.png b/src/images/icons/Avasize.png
old mode 100755
new mode 100644
diff --git a/src/images/icons/Bahooosh.svg b/src/images/icons/Bahooosh.svg
new file mode 100644
index 00000000..0811f1af
--- /dev/null
+++ b/src/images/icons/Bahooosh.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Banno.svg b/src/images/icons/Banno.svg
new file mode 100644
index 00000000..696aae2b
--- /dev/null
+++ b/src/images/icons/Banno.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Batch.svg b/src/images/icons/Batch.svg
new file mode 100644
index 00000000..e83d9b76
--- /dev/null
+++ b/src/images/icons/Batch.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Behzi.svg b/src/images/icons/Behzi.svg
new file mode 100644
index 00000000..f172c1f0
--- /dev/null
+++ b/src/images/icons/Behzi.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bento.svg b/src/images/icons/Bento.svg
new file mode 100644
index 00000000..5b87f4dd
--- /dev/null
+++ b/src/images/icons/Bento.svg
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/BerqWP.svg b/src/images/icons/BerqWP.svg
new file mode 100644
index 00000000..9462216d
--- /dev/null
+++ b/src/images/icons/BerqWP.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bestie.svg b/src/images/icons/Bestie.svg
new file mode 100644
index 00000000..708c6481
--- /dev/null
+++ b/src/images/icons/Bestie.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bettermode.svg b/src/images/icons/Bettermode.svg
new file mode 100644
index 00000000..88f5bd78
--- /dev/null
+++ b/src/images/icons/Bettermode.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bevy.svg b/src/images/icons/Bevy.svg
new file mode 100644
index 00000000..6a30d8be
--- /dev/null
+++ b/src/images/icons/Bevy.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/BigMarker.svg b/src/images/icons/BigMarker.svg
new file mode 100644
index 00000000..588f453a
--- /dev/null
+++ b/src/images/icons/BigMarker.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bileto.svg b/src/images/icons/Bileto.svg
new file mode 100644
index 00000000..c411268c
--- /dev/null
+++ b/src/images/icons/Bileto.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Billgang.svg b/src/images/icons/Billgang.svg
new file mode 100644
index 00000000..b2158180
--- /dev/null
+++ b/src/images/icons/Billgang.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/BirdSeed.svg b/src/images/icons/BirdSeed.svg
new file mode 100644
index 00000000..c5b5fbf2
--- /dev/null
+++ b/src/images/icons/BirdSeed.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Blazor.png b/src/images/icons/Blazor.png
deleted file mode 100644
index 08283f19..00000000
Binary files a/src/images/icons/Blazor.png and /dev/null differ
diff --git a/src/images/icons/Blazor.svg b/src/images/icons/Blazor.svg
new file mode 100644
index 00000000..2e4dc887
--- /dev/null
+++ b/src/images/icons/Blazor.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Blendle.svg b/src/images/icons/Blendle.svg
new file mode 100644
index 00000000..8b23baa1
--- /dev/null
+++ b/src/images/icons/Blendle.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Blinklink.svg b/src/images/icons/Blinklink.svg
new file mode 100644
index 00000000..d44db221
--- /dev/null
+++ b/src/images/icons/Blinklink.svg
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Blogger.png b/src/images/icons/Blogger.png
deleted file mode 100644
index 17bd56bd..00000000
Binary files a/src/images/icons/Blogger.png and /dev/null differ
diff --git a/src/images/icons/Blogger.svg b/src/images/icons/Blogger.svg
new file mode 100644
index 00000000..564432e1
--- /dev/null
+++ b/src/images/icons/Blogger.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bludit.svg b/src/images/icons/Bludit.svg
new file mode 100644
index 00000000..8b2cdf78
--- /dev/null
+++ b/src/images/icons/Bludit.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/BotStar.svg b/src/images/icons/BotStar.svg
new file mode 100644
index 00000000..c113bba8
--- /dev/null
+++ b/src/images/icons/BotStar.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Bothive.svg b/src/images/icons/Bothive.svg
new file mode 100644
index 00000000..0b7b87bd
--- /dev/null
+++ b/src/images/icons/Bothive.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Botpress.svg b/src/images/icons/Botpress.svg
new file mode 100644
index 00000000..e225d0e7
--- /dev/null
+++ b/src/images/icons/Botpress.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/images/icons/Botsify.svg b/src/images/icons/Botsify.svg
new file mode 100644
index 00000000..4f25ee60
--- /dev/null
+++ b/src/images/icons/Botsify.svg
@@ -0,0 +1,464 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Botsonic.svg b/src/images/icons/Botsonic.svg
new file mode 100644
index 00000000..460b8945
--- /dev/null
+++ b/src/images/icons/Botsonic.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/BrandBuilderAI.svg b/src/images/icons/BrandBuilderAI.svg
new file mode 100644
index 00000000..7a5e3641
--- /dev/null
+++ b/src/images/icons/BrandBuilderAI.svg
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Brizy.svg b/src/images/icons/Brizy.svg
new file mode 100644
index 00000000..71ed6209
--- /dev/null
+++ b/src/images/icons/Brizy.svg
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Builder.svg b/src/images/icons/Builder.svg
index 2af96827..d6aa0326 100644
--- a/src/images/icons/Builder.svg
+++ b/src/images/icons/Builder.svg
@@ -1 +1,11 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ButterMove.svg b/src/images/icons/ButterMove.svg
new file mode 100644
index 00000000..dfa8c20b
--- /dev/null
+++ b/src/images/icons/ButterMove.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Buyist.svg b/src/images/icons/Buyist.svg
new file mode 100644
index 00000000..ef700a54
--- /dev/null
+++ b/src/images/icons/Buyist.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CINC.svg b/src/images/icons/CINC.svg
new file mode 100644
index 00000000..13c8b0e8
--- /dev/null
+++ b/src/images/icons/CINC.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CTRWow.svg b/src/images/icons/CTRWow.svg
new file mode 100644
index 00000000..d0257f14
--- /dev/null
+++ b/src/images/icons/CTRWow.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CUE.svg b/src/images/icons/CUE.svg
new file mode 100644
index 00000000..7dab05ce
--- /dev/null
+++ b/src/images/icons/CUE.svg
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Canvy.svg b/src/images/icons/Canvy.svg
new file mode 100644
index 00000000..df8034f7
--- /dev/null
+++ b/src/images/icons/Canvy.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CartPops.svg b/src/images/icons/CartPops.svg
new file mode 100644
index 00000000..a607d0b3
--- /dev/null
+++ b/src/images/icons/CartPops.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Cartflows.svg b/src/images/icons/Cartflows.svg
new file mode 100644
index 00000000..6e484140
--- /dev/null
+++ b/src/images/icons/Cartflows.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Carussel.svg b/src/images/icons/Carussel.svg
new file mode 100644
index 00000000..2022b3f5
--- /dev/null
+++ b/src/images/icons/Carussel.svg
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Cellxpert.svg b/src/images/icons/Cellxpert.svg
new file mode 100644
index 00000000..7ae73ea8
--- /dev/null
+++ b/src/images/icons/Cellxpert.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Cevoid.svg b/src/images/icons/Cevoid.svg
new file mode 100644
index 00000000..6f4ea30b
--- /dev/null
+++ b/src/images/icons/Cevoid.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ChatFood.svg b/src/images/icons/ChatFood.svg
new file mode 100644
index 00000000..fa7dadb3
--- /dev/null
+++ b/src/images/icons/ChatFood.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ChatNode.svg b/src/images/icons/ChatNode.svg
new file mode 100644
index 00000000..2b578640
--- /dev/null
+++ b/src/images/icons/ChatNode.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatbaby.svg b/src/images/icons/Chatbaby.svg
new file mode 100644
index 00000000..db3221fb
--- /dev/null
+++ b/src/images/icons/Chatbaby.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatgo.svg b/src/images/icons/Chatgo.svg
new file mode 100644
index 00000000..a221e0ab
--- /dev/null
+++ b/src/images/icons/Chatgo.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chative.svg b/src/images/icons/Chative.svg
new file mode 100644
index 00000000..5b840a38
--- /dev/null
+++ b/src/images/icons/Chative.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatlio.svg b/src/images/icons/Chatlio.svg
new file mode 100644
index 00000000..b4f9c3b8
--- /dev/null
+++ b/src/images/icons/Chatlio.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatlyn.svg b/src/images/icons/Chatlyn.svg
new file mode 100644
index 00000000..899a8483
--- /dev/null
+++ b/src/images/icons/Chatlyn.svg
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatt.svg b/src/images/icons/Chatt.svg
new file mode 100644
index 00000000..c6b7dec9
--- /dev/null
+++ b/src/images/icons/Chatt.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chatway.svg b/src/images/icons/Chatway.svg
new file mode 100644
index 00000000..d944d424
--- /dev/null
+++ b/src/images/icons/Chatway.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chaty.svg b/src/images/icons/Chaty.svg
new file mode 100644
index 00000000..84335f94
--- /dev/null
+++ b/src/images/icons/Chaty.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Chayns.svg b/src/images/icons/Chayns.svg
new file mode 100644
index 00000000..67a1b2aa
--- /dev/null
+++ b/src/images/icons/Chayns.svg
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Circle.svg b/src/images/icons/Circle.svg
index 4b09fb24..dd1c6a64 100644
--- a/src/images/icons/Circle.svg
+++ b/src/images/icons/Circle.svg
@@ -1,6 +1,11 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/CitizenSpace.png b/src/images/icons/CitizenSpace.png
deleted file mode 100644
index a4a626ba..00000000
Binary files a/src/images/icons/CitizenSpace.png and /dev/null differ
diff --git a/src/images/icons/CitizenSpace.svg b/src/images/icons/CitizenSpace.svg
new file mode 100644
index 00000000..884b4223
--- /dev/null
+++ b/src/images/icons/CitizenSpace.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ClassCreator.svg b/src/images/icons/ClassCreator.svg
new file mode 100644
index 00000000..05e2c040
--- /dev/null
+++ b/src/images/icons/ClassCreator.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ClassFit.svg b/src/images/icons/ClassFit.svg
new file mode 100644
index 00000000..0fe2b4b4
--- /dev/null
+++ b/src/images/icons/ClassFit.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Clear.svg b/src/images/icons/Clear.svg
new file mode 100644
index 00000000..cfe2a2fa
--- /dev/null
+++ b/src/images/icons/Clear.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Clearlink.svg b/src/images/icons/Clearlink.svg
new file mode 100644
index 00000000..db54e117
--- /dev/null
+++ b/src/images/icons/Clearlink.svg
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Clevy.svg b/src/images/icons/Clevy.svg
new file mode 100644
index 00000000..51cb8cdf
--- /dev/null
+++ b/src/images/icons/Clevy.svg
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Clickaine.svg b/src/images/icons/Clickaine.svg
new file mode 100644
index 00000000..7c3991d5
--- /dev/null
+++ b/src/images/icons/Clickaine.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Clickskeks.svg b/src/images/icons/Clickskeks.svg
new file mode 100644
index 00000000..ab249a79
--- /dev/null
+++ b/src/images/icons/Clickskeks.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ClientChatLive.svg b/src/images/icons/ClientChatLive.svg
new file mode 100644
index 00000000..464159cf
--- /dev/null
+++ b/src/images/icons/ClientChatLive.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CmonSite.svg b/src/images/icons/CmonSite.svg
new file mode 100644
index 00000000..e74aa3ad
--- /dev/null
+++ b/src/images/icons/CmonSite.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/CommerceVision.svg b/src/images/icons/CommerceVision.svg
new file mode 100644
index 00000000..c58f886d
--- /dev/null
+++ b/src/images/icons/CommerceVision.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Commercio.svg b/src/images/icons/Commercio.svg
new file mode 100644
index 00000000..ad8a4d9b
--- /dev/null
+++ b/src/images/icons/Commercio.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Community.svg b/src/images/icons/Community.svg
new file mode 100644
index 00000000..cfea08e0
--- /dev/null
+++ b/src/images/icons/Community.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Conduit.svg b/src/images/icons/Conduit.svg
new file mode 100644
index 00000000..8065a810
--- /dev/null
+++ b/src/images/icons/Conduit.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Contentder.svg b/src/images/icons/Contentder.svg
new file mode 100644
index 00000000..44ade771
--- /dev/null
+++ b/src/images/icons/Contentder.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Convead.svg b/src/images/icons/Convead.svg
new file mode 100644
index 00000000..e6c60c50
--- /dev/null
+++ b/src/images/icons/Convead.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Convermax.svg b/src/images/icons/Convermax.svg
new file mode 100644
index 00000000..b9dda62c
--- /dev/null
+++ b/src/images/icons/Convermax.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ConvertBox.svg b/src/images/icons/ConvertBox.svg
new file mode 100644
index 00000000..dc46a123
--- /dev/null
+++ b/src/images/icons/ConvertBox.svg
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Converzee.svg b/src/images/icons/Converzee.svg
new file mode 100644
index 00000000..e8f8e181
--- /dev/null
+++ b/src/images/icons/Converzee.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Convincely.svg b/src/images/icons/Convincely.svg
new file mode 100644
index 00000000..5b23f8db
--- /dev/null
+++ b/src/images/icons/Convincely.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Convrrt.svg b/src/images/icons/Convrrt.svg
new file mode 100644
index 00000000..4f3ae486
--- /dev/null
+++ b/src/images/icons/Convrrt.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Cookie Seal.svg b/src/images/icons/Cookie Seal.svg
index e8e7433f..9aabb5f6 100644
--- a/src/images/icons/Cookie Seal.svg
+++ b/src/images/icons/Cookie Seal.svg
@@ -1,20 +1,3 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/images/icons/CouchDB.png b/src/images/icons/CouchDB.png
deleted file mode 100644
index a0a44225..00000000
Binary files a/src/images/icons/CouchDB.png and /dev/null differ
diff --git a/src/images/icons/CouchDB.svg b/src/images/icons/CouchDB.svg
new file mode 100644
index 00000000..1bdc3a4c
--- /dev/null
+++ b/src/images/icons/CouchDB.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Creoline.svg b/src/images/icons/Creoline.svg
new file mode 100644
index 00000000..7ccb93c9
--- /dev/null
+++ b/src/images/icons/Creoline.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DSpace.svg b/src/images/icons/DSpace.svg
new file mode 100644
index 00000000..8b99b16d
--- /dev/null
+++ b/src/images/icons/DSpace.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DatHuis.svg b/src/images/icons/DatHuis.svg
new file mode 100644
index 00000000..18a7d6da
--- /dev/null
+++ b/src/images/icons/DatHuis.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Datacrush.svg b/src/images/icons/Datacrush.svg
new file mode 100644
index 00000000..a261bd44
--- /dev/null
+++ b/src/images/icons/Datacrush.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Datalitics.svg b/src/images/icons/Datalitics.svg
new file mode 100644
index 00000000..ee64c1d8
--- /dev/null
+++ b/src/images/icons/Datalitics.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Datarize.svg b/src/images/icons/Datarize.svg
new file mode 100644
index 00000000..d167ba88
--- /dev/null
+++ b/src/images/icons/Datarize.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Dataships.svg b/src/images/icons/Dataships.svg
new file mode 100644
index 00000000..a6ff3b17
--- /dev/null
+++ b/src/images/icons/Dataships.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DecapCMS.svg b/src/images/icons/DecapCMS.svg
new file mode 100644
index 00000000..e3ca1224
--- /dev/null
+++ b/src/images/icons/DecapCMS.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Deco.svg b/src/images/icons/Deco.svg
new file mode 100644
index 00000000..efb397ee
--- /dev/null
+++ b/src/images/icons/Deco.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DeepAR.svg b/src/images/icons/DeepAR.svg
new file mode 100644
index 00000000..288fb996
--- /dev/null
+++ b/src/images/icons/DeepAR.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DeepLawn.svg b/src/images/icons/DeepLawn.svg
new file mode 100644
index 00000000..46a816f9
--- /dev/null
+++ b/src/images/icons/DeepLawn.svg
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Delivra.svg b/src/images/icons/Delivra.svg
new file mode 100644
index 00000000..efa2698b
--- /dev/null
+++ b/src/images/icons/Delivra.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Dema.svg b/src/images/icons/Dema.svg
new file mode 100644
index 00000000..266ce032
--- /dev/null
+++ b/src/images/icons/Dema.svg
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Deriv.svg b/src/images/icons/Deriv.svg
new file mode 100644
index 00000000..f647af75
--- /dev/null
+++ b/src/images/icons/Deriv.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Destini.svg b/src/images/icons/Destini.svg
new file mode 100644
index 00000000..8db32bce
--- /dev/null
+++ b/src/images/icons/Destini.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Desty.svg b/src/images/icons/Desty.svg
new file mode 100644
index 00000000..6e2499ea
--- /dev/null
+++ b/src/images/icons/Desty.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DevRev.svg b/src/images/icons/DevRev.svg
new file mode 100644
index 00000000..b26f4b1c
--- /dev/null
+++ b/src/images/icons/DevRev.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DevelopingAzerbaijan.svg b/src/images/icons/DevelopingAzerbaijan.svg
new file mode 100644
index 00000000..df96dbcd
--- /dev/null
+++ b/src/images/icons/DevelopingAzerbaijan.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/images/icons/Dimml.svg b/src/images/icons/Dimml.svg
new file mode 100644
index 00000000..b04ba5e9
--- /dev/null
+++ b/src/images/icons/Dimml.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/DocsBotAI.svg b/src/images/icons/DocsBotAI.svg
new file mode 100644
index 00000000..4875d6e3
--- /dev/null
+++ b/src/images/icons/DocsBotAI.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Dover.svg b/src/images/icons/Dover.svg
new file mode 100644
index 00000000..da628c43
--- /dev/null
+++ b/src/images/icons/Dover.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Drata.svg b/src/images/icons/Drata.svg
new file mode 100644
index 00000000..924cfea6
--- /dev/null
+++ b/src/images/icons/Drata.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Dweet.svg b/src/images/icons/Dweet.svg
new file mode 100644
index 00000000..b60b6410
--- /dev/null
+++ b/src/images/icons/Dweet.svg
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EarlyParrot.svg b/src/images/icons/EarlyParrot.svg
new file mode 100644
index 00000000..15e13af0
--- /dev/null
+++ b/src/images/icons/EarlyParrot.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EaselJS.svg b/src/images/icons/EaselJS.svg
new file mode 100644
index 00000000..b5734bc5
--- /dev/null
+++ b/src/images/icons/EaselJS.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EasyPolls.svg b/src/images/icons/EasyPolls.svg
new file mode 100644
index 00000000..54673a8d
--- /dev/null
+++ b/src/images/icons/EasyPolls.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EasyWebinar.svg b/src/images/icons/EasyWebinar.svg
new file mode 100644
index 00000000..0c694564
--- /dev/null
+++ b/src/images/icons/EasyWebinar.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Easysize.svg b/src/images/icons/Easysize.svg
new file mode 100644
index 00000000..db9d44c4
--- /dev/null
+++ b/src/images/icons/Easysize.svg
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Eber.svg b/src/images/icons/Eber.svg
new file mode 100644
index 00000000..7a556935
--- /dev/null
+++ b/src/images/icons/Eber.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ecbeing.svg b/src/images/icons/Ecbeing.svg
new file mode 100644
index 00000000..7b15afba
--- /dev/null
+++ b/src/images/icons/Ecbeing.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Elenore.svg b/src/images/icons/Elenore.svg
new file mode 100644
index 00000000..7de927c2
--- /dev/null
+++ b/src/images/icons/Elenore.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Emojicom.svg b/src/images/icons/Emojicom.svg
new file mode 100644
index 00000000..ae7ff500
--- /dev/null
+++ b/src/images/icons/Emojicom.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Enjore.svg b/src/images/icons/Enjore.svg
new file mode 100644
index 00000000..bb0e4f8b
--- /dev/null
+++ b/src/images/icons/Enjore.svg
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Envoke.svg b/src/images/icons/Envoke.svg
new file mode 100644
index 00000000..c96af613
--- /dev/null
+++ b/src/images/icons/Envoke.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EspoCRM.svg b/src/images/icons/EspoCRM.svg
index 79d96f8c..b0d719e5 100644
--- a/src/images/icons/EspoCRM.svg
+++ b/src/images/icons/EspoCRM.svg
@@ -1,82 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Etermio.svg b/src/images/icons/Etermio.svg
new file mode 100644
index 00000000..6a38c6b4
--- /dev/null
+++ b/src/images/icons/Etermio.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Everviz.svg b/src/images/icons/Everviz.svg
new file mode 100644
index 00000000..393ca028
--- /dev/null
+++ b/src/images/icons/Everviz.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/EvolveMedia.svg b/src/images/icons/EvolveMedia.svg
new file mode 100644
index 00000000..a6498772
--- /dev/null
+++ b/src/images/icons/EvolveMedia.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ExoPlatform.svg b/src/images/icons/ExoPlatform.svg
new file mode 100644
index 00000000..6d7868a6
--- /dev/null
+++ b/src/images/icons/ExoPlatform.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FC2Analyzer.svg b/src/images/icons/FC2Analyzer.svg
new file mode 100644
index 00000000..50d32216
--- /dev/null
+++ b/src/images/icons/FC2Analyzer.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FMGSuite.svg b/src/images/icons/FMGSuite.svg
new file mode 100644
index 00000000..d9c30006
--- /dev/null
+++ b/src/images/icons/FMGSuite.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Famewall.svg b/src/images/icons/Famewall.svg
new file mode 100644
index 00000000..612c3c26
--- /dev/null
+++ b/src/images/icons/Famewall.svg
@@ -0,0 +1,318 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FarCry.svg b/src/images/icons/FarCry.svg
new file mode 100644
index 00000000..1e27259b
--- /dev/null
+++ b/src/images/icons/FarCry.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Fast Bundle.svg b/src/images/icons/Fast Bundle.svg
index cff43c59..1c4c7853 100644
--- a/src/images/icons/Fast Bundle.svg
+++ b/src/images/icons/Fast Bundle.svg
@@ -1,10 +1 @@
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/images/icons/FeatherX.svg b/src/images/icons/FeatherX.svg
index 85bf72c5..e468f21d 100644
--- a/src/images/icons/FeatherX.svg
+++ b/src/images/icons/FeatherX.svg
@@ -1,9 +1,305 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FiboSearch.svg b/src/images/icons/FiboSearch.svg
new file mode 100644
index 00000000..5e8864fc
--- /dev/null
+++ b/src/images/icons/FiboSearch.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Filament.svg b/src/images/icons/Filament.svg
new file mode 100644
index 00000000..34650d53
--- /dev/null
+++ b/src/images/icons/Filament.svg
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FluidPlayer.svg b/src/images/icons/FluidPlayer.svg
new file mode 100644
index 00000000..90f215ed
--- /dev/null
+++ b/src/images/icons/FluidPlayer.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Flurry.svg b/src/images/icons/Flurry.svg
new file mode 100644
index 00000000..e62c5696
--- /dev/null
+++ b/src/images/icons/Flurry.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Flyvi.svg b/src/images/icons/Flyvi.svg
new file mode 100644
index 00000000..cb837157
--- /dev/null
+++ b/src/images/icons/Flyvi.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Framework7.svg b/src/images/icons/Framework7.svg
new file mode 100644
index 00000000..f2a13592
--- /dev/null
+++ b/src/images/icons/Framework7.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Freemius.svg b/src/images/icons/Freemius.svg
new file mode 100644
index 00000000..1327b717
--- /dev/null
+++ b/src/images/icons/Freemius.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/FreshRelevance.svg b/src/images/icons/FreshRelevance.svg
new file mode 100644
index 00000000..34ab9255
--- /dev/null
+++ b/src/images/icons/FreshRelevance.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Funnelytics.svg b/src/images/icons/Funnelytics.svg
new file mode 100644
index 00000000..f0081436
--- /dev/null
+++ b/src/images/icons/Funnelytics.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Gastronaut.svg b/src/images/icons/Gastronaut.svg
new file mode 100644
index 00000000..deb715c5
--- /dev/null
+++ b/src/images/icons/Gastronaut.svg
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Gemius.png b/src/images/icons/Gemius.png
deleted file mode 100644
index 80fc2341..00000000
Binary files a/src/images/icons/Gemius.png and /dev/null differ
diff --git a/src/images/icons/Gemius.svg b/src/images/icons/Gemius.svg
new file mode 100644
index 00000000..7cfad045
--- /dev/null
+++ b/src/images/icons/Gemius.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/GenieeChat.svg b/src/images/icons/GenieeChat.svg
new file mode 100644
index 00000000..569d98ee
--- /dev/null
+++ b/src/images/icons/GenieeChat.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Genoo.svg b/src/images/icons/Genoo.svg
new file mode 100644
index 00000000..d05b9d09
--- /dev/null
+++ b/src/images/icons/Genoo.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/GetAuto.svg b/src/images/icons/GetAuto.svg
new file mode 100644
index 00000000..dd3ec705
--- /dev/null
+++ b/src/images/icons/GetAuto.svg
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/GitLab.svg b/src/images/icons/GitLab.svg
index 4e29ac86..4b8248af 100644
--- a/src/images/icons/GitLab.svg
+++ b/src/images/icons/GitLab.svg
@@ -1 +1,13 @@
-logo
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/GoSquared.svg b/src/images/icons/GoSquared.svg
new file mode 100644
index 00000000..a333b9c9
--- /dev/null
+++ b/src/images/icons/GoSquared.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/GoodEshop.svg b/src/images/icons/GoodEshop.svg
new file mode 100644
index 00000000..4f8f114b
--- /dev/null
+++ b/src/images/icons/GoodEshop.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Goshly.svg b/src/images/icons/Goshly.svg
new file mode 100644
index 00000000..1506fbe1
--- /dev/null
+++ b/src/images/icons/Goshly.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Graphly.svg b/src/images/icons/Graphly.svg
new file mode 100644
index 00000000..71e5190d
--- /dev/null
+++ b/src/images/icons/Graphly.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Gravito.svg b/src/images/icons/Gravito.svg
new file mode 100644
index 00000000..272df85d
--- /dev/null
+++ b/src/images/icons/Gravito.svg
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Gravity.svg b/src/images/icons/Gravity.svg
new file mode 100644
index 00000000..65ede83a
--- /dev/null
+++ b/src/images/icons/Gravity.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Guesty.svg b/src/images/icons/Guesty.svg
new file mode 100644
index 00000000..deb27c01
--- /dev/null
+++ b/src/images/icons/Guesty.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Guuru.svg b/src/images/icons/Guuru.svg
new file mode 100644
index 00000000..49d4282e
--- /dev/null
+++ b/src/images/icons/Guuru.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Haloscan.svg b/src/images/icons/Haloscan.svg
new file mode 100644
index 00000000..a174cf80
--- /dev/null
+++ b/src/images/icons/Haloscan.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Hanko.svg b/src/images/icons/Hanko.svg
new file mode 100644
index 00000000..bbc82788
--- /dev/null
+++ b/src/images/icons/Hanko.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/HappySync.svg b/src/images/icons/HappySync.svg
new file mode 100644
index 00000000..ae2711d9
--- /dev/null
+++ b/src/images/icons/HappySync.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Heeet.svg b/src/images/icons/Heeet.svg
new file mode 100644
index 00000000..20ca5181
--- /dev/null
+++ b/src/images/icons/Heeet.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/images/icons/HelixPay.svg b/src/images/icons/HelixPay.svg
new file mode 100644
index 00000000..ccc4721f
--- /dev/null
+++ b/src/images/icons/HelixPay.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/HeyLight.svg b/src/images/icons/HeyLight.svg
new file mode 100644
index 00000000..d14a7144
--- /dev/null
+++ b/src/images/icons/HeyLight.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/HikaShop.svg b/src/images/icons/HikaShop.svg
new file mode 100644
index 00000000..d3e445a6
--- /dev/null
+++ b/src/images/icons/HikaShop.svg
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/HolduixCMS.svg b/src/images/icons/HolduixCMS.svg
new file mode 100644
index 00000000..2b2a61c0
--- /dev/null
+++ b/src/images/icons/HolduixCMS.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/HollerBox.svg b/src/images/icons/HollerBox.svg
new file mode 100644
index 00000000..e3c891aa
--- /dev/null
+++ b/src/images/icons/HollerBox.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Hubtiger.svg b/src/images/icons/Hubtiger.svg
new file mode 100644
index 00000000..a4c7550f
--- /dev/null
+++ b/src/images/icons/Hubtiger.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Hull.svg b/src/images/icons/Hull.svg
new file mode 100644
index 00000000..6063b0d2
--- /dev/null
+++ b/src/images/icons/Hull.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Hypercloudhost.svg b/src/images/icons/Hypercloudhost.svg
new file mode 100644
index 00000000..9e187cc9
--- /dev/null
+++ b/src/images/icons/Hypercloudhost.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Hyperia.svg b/src/images/icons/Hyperia.svg
new file mode 100644
index 00000000..228f8325
--- /dev/null
+++ b/src/images/icons/Hyperia.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/IBM.svg b/src/images/icons/IBM.svg
index 7bf427bc..791e5371 100644
--- a/src/images/icons/IBM.svg
+++ b/src/images/icons/IBM.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Iconosquare.svg b/src/images/icons/Iconosquare.svg
new file mode 100644
index 00000000..2bb55dd8
--- /dev/null
+++ b/src/images/icons/Iconosquare.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ifdo.svg b/src/images/icons/Ifdo.svg
new file mode 100644
index 00000000..7dc13a3e
--- /dev/null
+++ b/src/images/icons/Ifdo.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ilias.svg b/src/images/icons/Ilias.svg
new file mode 100644
index 00000000..44400f7b
--- /dev/null
+++ b/src/images/icons/Ilias.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ImageKit.svg b/src/images/icons/ImageKit.svg
new file mode 100644
index 00000000..bec30284
--- /dev/null
+++ b/src/images/icons/ImageKit.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Imbox.svg b/src/images/icons/Imbox.svg
new file mode 100644
index 00000000..7dbbe632
--- /dev/null
+++ b/src/images/icons/Imbox.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Immerss.svg b/src/images/icons/Immerss.svg
new file mode 100644
index 00000000..982857c7
--- /dev/null
+++ b/src/images/icons/Immerss.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Inspectlet.svg b/src/images/icons/Inspectlet.svg
new file mode 100644
index 00000000..ace87eeb
--- /dev/null
+++ b/src/images/icons/Inspectlet.svg
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Intice.svg b/src/images/icons/Intice.svg
new file mode 100644
index 00000000..9e5fb8db
--- /dev/null
+++ b/src/images/icons/Intice.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/InvisionCommunity.svg b/src/images/icons/InvisionCommunity.svg
new file mode 100644
index 00000000..08a1ed02
--- /dev/null
+++ b/src/images/icons/InvisionCommunity.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Iress.svg b/src/images/icons/Iress.svg
new file mode 100644
index 00000000..53488ae3
--- /dev/null
+++ b/src/images/icons/Iress.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/JetEngine.svg b/src/images/icons/JetEngine.svg
new file mode 100644
index 00000000..ca9c9270
--- /dev/null
+++ b/src/images/icons/JetEngine.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/KUKUI.svg b/src/images/icons/KUKUI.svg
new file mode 100644
index 00000000..72e819b8
--- /dev/null
+++ b/src/images/icons/KUKUI.svg
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Keepeek.svg b/src/images/icons/Keepeek.svg
new file mode 100644
index 00000000..8e8b7a8a
--- /dev/null
+++ b/src/images/icons/Keepeek.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Kenlo.svg b/src/images/icons/Kenlo.svg
new file mode 100644
index 00000000..1050760a
--- /dev/null
+++ b/src/images/icons/Kenlo.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Kleer.svg b/src/images/icons/Kleer.svg
new file mode 100644
index 00000000..fa37705a
--- /dev/null
+++ b/src/images/icons/Kleer.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Klip.svg b/src/images/icons/Klip.svg
new file mode 100644
index 00000000..86237d87
--- /dev/null
+++ b/src/images/icons/Klip.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/KonfidencyReviews.svg b/src/images/icons/KonfidencyReviews.svg
new file mode 100644
index 00000000..b1f84ff8
--- /dev/null
+++ b/src/images/icons/KonfidencyReviews.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Kooomo.svg b/src/images/icons/Kooomo.svg
index 2d82975d..2689516f 100644
--- a/src/images/icons/Kooomo.svg
+++ b/src/images/icons/Kooomo.svg
@@ -1,9 +1,10 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Kueez.svg b/src/images/icons/Kueez.svg
new file mode 100644
index 00000000..a29a2075
--- /dev/null
+++ b/src/images/icons/Kueez.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Kuroco.svg b/src/images/icons/Kuroco.svg
new file mode 100644
index 00000000..e58671c2
--- /dev/null
+++ b/src/images/icons/Kuroco.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/KuronekoServerCDN.svg b/src/images/icons/KuronekoServerCDN.svg
new file mode 100644
index 00000000..762af3ab
--- /dev/null
+++ b/src/images/icons/KuronekoServerCDN.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Kustomer.svg b/src/images/icons/Kustomer.svg
index 5ac89be4..827aad0a 100644
--- a/src/images/icons/Kustomer.svg
+++ b/src/images/icons/Kustomer.svg
@@ -1 +1,14 @@
- Kustomer_Logo Created with Sketch.
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/LEADIN.svg b/src/images/icons/LEADIN.svg
new file mode 100644
index 00000000..1c57055a
--- /dev/null
+++ b/src/images/icons/LEADIN.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LPQV.svg b/src/images/icons/LPQV.svg
new file mode 100644
index 00000000..1ae020b8
--- /dev/null
+++ b/src/images/icons/LPQV.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LTheme.svg b/src/images/icons/LTheme.svg
new file mode 100644
index 00000000..be713d91
--- /dev/null
+++ b/src/images/icons/LTheme.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LaunchNotes.svg b/src/images/icons/LaunchNotes.svg
new file mode 100644
index 00000000..b4dbf6b6
--- /dev/null
+++ b/src/images/icons/LaunchNotes.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Leadbit.svg b/src/images/icons/Leadbit.svg
new file mode 100644
index 00000000..e11b1aa5
--- /dev/null
+++ b/src/images/icons/Leadbit.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Leadteh.svg b/src/images/icons/Leadteh.svg
new file mode 100644
index 00000000..2e729c41
--- /dev/null
+++ b/src/images/icons/Leadteh.svg
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LeanData.svg b/src/images/icons/LeanData.svg
new file mode 100644
index 00000000..b3039dea
--- /dev/null
+++ b/src/images/icons/LeanData.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LearnUpon.svg b/src/images/icons/LearnUpon.svg
new file mode 100644
index 00000000..35295722
--- /dev/null
+++ b/src/images/icons/LearnUpon.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LearnyBox.svg b/src/images/icons/LearnyBox.svg
new file mode 100644
index 00000000..38ce15b0
--- /dev/null
+++ b/src/images/icons/LearnyBox.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ligna.svg b/src/images/icons/Ligna.svg
new file mode 100644
index 00000000..6ebccaa9
--- /dev/null
+++ b/src/images/icons/Ligna.svg
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Liine.svg b/src/images/icons/Liine.svg
new file mode 100644
index 00000000..80dcef57
--- /dev/null
+++ b/src/images/icons/Liine.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Lily.svg b/src/images/icons/Lily.svg
new file mode 100644
index 00000000..050a8e2c
--- /dev/null
+++ b/src/images/icons/Lily.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Linda.svg b/src/images/icons/Linda.svg
new file mode 100644
index 00000000..b4d43c88
--- /dev/null
+++ b/src/images/icons/Linda.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LiteSpeed.svg b/src/images/icons/LiteSpeed.svg
index 7c841b8c..36ea6f73 100644
--- a/src/images/icons/LiteSpeed.svg
+++ b/src/images/icons/LiteSpeed.svg
@@ -1,101 +1,10 @@
-
-
-
-image/svg+xml
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/LiveBy.svg b/src/images/icons/LiveBy.svg
new file mode 100644
index 00000000..f0b6ef9a
--- /dev/null
+++ b/src/images/icons/LiveBy.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LiveTex.svg b/src/images/icons/LiveTex.svg
new file mode 100644
index 00000000..06354c92
--- /dev/null
+++ b/src/images/icons/LiveTex.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Lumino.svg b/src/images/icons/Lumino.svg
new file mode 100644
index 00000000..4616ae26
--- /dev/null
+++ b/src/images/icons/Lumino.svg
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/LuveeduCloud.svg b/src/images/icons/LuveeduCloud.svg
new file mode 100644
index 00000000..619e309b
--- /dev/null
+++ b/src/images/icons/LuveeduCloud.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MSAAQ.svg b/src/images/icons/MSAAQ.svg
new file mode 100644
index 00000000..df40f043
--- /dev/null
+++ b/src/images/icons/MSAAQ.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MadKudu.svg b/src/images/icons/MadKudu.svg
new file mode 100644
index 00000000..d459472c
--- /dev/null
+++ b/src/images/icons/MadKudu.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MageMail.svg b/src/images/icons/MageMail.svg
new file mode 100644
index 00000000..1f6f6bf4
--- /dev/null
+++ b/src/images/icons/MageMail.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MagicUI.svg b/src/images/icons/MagicUI.svg
new file mode 100644
index 00000000..c5bb0989
--- /dev/null
+++ b/src/images/icons/MagicUI.svg
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Maker.svg b/src/images/icons/Maker.svg
new file mode 100644
index 00000000..7dc336f0
--- /dev/null
+++ b/src/images/icons/Maker.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MarketHero.svg b/src/images/icons/MarketHero.svg
new file mode 100644
index 00000000..b8970af7
--- /dev/null
+++ b/src/images/icons/MarketHero.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Marsello.svg b/src/images/icons/Marsello.svg
new file mode 100644
index 00000000..2b8ebe21
--- /dev/null
+++ b/src/images/icons/Marsello.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Masteriyo.svg b/src/images/icons/Masteriyo.svg
new file mode 100644
index 00000000..738d7e17
--- /dev/null
+++ b/src/images/icons/Masteriyo.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Matchi.svg b/src/images/icons/Matchi.svg
new file mode 100644
index 00000000..183949ed
--- /dev/null
+++ b/src/images/icons/Matchi.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mava.svg b/src/images/icons/Mava.svg
new file mode 100644
index 00000000..5ef9872a
--- /dev/null
+++ b/src/images/icons/Mava.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Maxemail.svg b/src/images/icons/Maxemail.svg
old mode 100755
new mode 100644
diff --git a/src/images/icons/Mazrica.svg b/src/images/icons/Mazrica.svg
new file mode 100644
index 00000000..4f0518f5
--- /dev/null
+++ b/src/images/icons/Mazrica.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Medium.svg b/src/images/icons/Medium.svg
old mode 100755
new mode 100644
diff --git a/src/images/icons/MeetupExpress.svg b/src/images/icons/MeetupExpress.svg
new file mode 100644
index 00000000..222badc6
--- /dev/null
+++ b/src/images/icons/MeetupExpress.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mercer.svg b/src/images/icons/Mercer.svg
new file mode 100644
index 00000000..82845bd8
--- /dev/null
+++ b/src/images/icons/Mercer.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Meta.svg b/src/images/icons/Meta.svg
new file mode 100644
index 00000000..7e3c26a8
--- /dev/null
+++ b/src/images/icons/Meta.svg
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Miappi.svg b/src/images/icons/Miappi.svg
new file mode 100644
index 00000000..09b30304
--- /dev/null
+++ b/src/images/icons/Miappi.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mintox.svg b/src/images/icons/Mintox.svg
new file mode 100644
index 00000000..e799a959
--- /dev/null
+++ b/src/images/icons/Mintox.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mirador.svg b/src/images/icons/Mirador.svg
new file mode 100644
index 00000000..bac0deb9
--- /dev/null
+++ b/src/images/icons/Mirador.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/images/icons/MissionSuite.svg b/src/images/icons/MissionSuite.svg
new file mode 100644
index 00000000..cbbd2611
--- /dev/null
+++ b/src/images/icons/MissionSuite.svg
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Modulify.svg b/src/images/icons/Modulify.svg
new file mode 100644
index 00000000..0107c399
--- /dev/null
+++ b/src/images/icons/Modulify.svg
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mokini.svg b/src/images/icons/Mokini.svg
new file mode 100644
index 00000000..22baeec6
--- /dev/null
+++ b/src/images/icons/Mokini.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/MolinAI.svg b/src/images/icons/MolinAI.svg
new file mode 100644
index 00000000..e2420e3b
--- /dev/null
+++ b/src/images/icons/MolinAI.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Monocle.svg b/src/images/icons/Monocle.svg
new file mode 100644
index 00000000..799f2a77
--- /dev/null
+++ b/src/images/icons/Monocle.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Moovin.svg b/src/images/icons/Moovin.svg
new file mode 100644
index 00000000..a26d8d87
--- /dev/null
+++ b/src/images/icons/Moovin.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Mottle.svg b/src/images/icons/Mottle.svg
new file mode 100644
index 00000000..09984807
--- /dev/null
+++ b/src/images/icons/Mottle.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/MoverBase.svg b/src/images/icons/MoverBase.svg
new file mode 100644
index 00000000..2997725d
--- /dev/null
+++ b/src/images/icons/MoverBase.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Myli.svg b/src/images/icons/Myli.svg
new file mode 100644
index 00000000..950fbde0
--- /dev/null
+++ b/src/images/icons/Myli.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Navegg.png b/src/images/icons/Navegg.png
deleted file mode 100644
index 037dc61f..00000000
Binary files a/src/images/icons/Navegg.png and /dev/null differ
diff --git a/src/images/icons/Navegg.svg b/src/images/icons/Navegg.svg
new file mode 100644
index 00000000..3df38de6
--- /dev/null
+++ b/src/images/icons/Navegg.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/NebulaSites.svg b/src/images/icons/NebulaSites.svg
new file mode 100644
index 00000000..c5b42379
--- /dev/null
+++ b/src/images/icons/NebulaSites.svg
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/NeexaAI.svg b/src/images/icons/NeexaAI.svg
new file mode 100644
index 00000000..81eed991
--- /dev/null
+++ b/src/images/icons/NeexaAI.svg
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/NewUI.svg b/src/images/icons/NewUI.svg
new file mode 100644
index 00000000..68a53f03
--- /dev/null
+++ b/src/images/icons/NewUI.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Nexxt.svg b/src/images/icons/Nexxt.svg
new file mode 100644
index 00000000..64c7ffbf
--- /dev/null
+++ b/src/images/icons/Nexxt.svg
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Nimbata.svg b/src/images/icons/Nimbata.svg
new file mode 100644
index 00000000..ebe96010
--- /dev/null
+++ b/src/images/icons/Nimbata.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Novel.svg b/src/images/icons/Novel.svg
new file mode 100644
index 00000000..d973d90b
--- /dev/null
+++ b/src/images/icons/Novel.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/NurtureBoss.svg b/src/images/icons/NurtureBoss.svg
new file mode 100644
index 00000000..e590d3c2
--- /dev/null
+++ b/src/images/icons/NurtureBoss.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Oat.svg b/src/images/icons/Oat.svg
new file mode 100644
index 00000000..6f960ed4
--- /dev/null
+++ b/src/images/icons/Oat.svg
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Oddcast.svg b/src/images/icons/Oddcast.svg
new file mode 100644
index 00000000..036cf8db
--- /dev/null
+++ b/src/images/icons/Oddcast.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Oleoshop.svg b/src/images/icons/Oleoshop.svg
new file mode 100644
index 00000000..2544beeb
--- /dev/null
+++ b/src/images/icons/Oleoshop.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Omeda.svg b/src/images/icons/Omeda.svg
new file mode 100644
index 00000000..88fd8104
--- /dev/null
+++ b/src/images/icons/Omeda.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Omnikick.svg b/src/images/icons/Omnikick.svg
new file mode 100644
index 00000000..79905550
--- /dev/null
+++ b/src/images/icons/Omnikick.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/OnsenUI.svg b/src/images/icons/OnsenUI.svg
new file mode 100644
index 00000000..137a3c9c
--- /dev/null
+++ b/src/images/icons/OnsenUI.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/OpenPanel.svg b/src/images/icons/OpenPanel.svg
new file mode 100644
index 00000000..293b9151
--- /dev/null
+++ b/src/images/icons/OpenPanel.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Opentracker.svg b/src/images/icons/Opentracker.svg
new file mode 100644
index 00000000..912f349a
--- /dev/null
+++ b/src/images/icons/Opentracker.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/OtterText.svg b/src/images/icons/OtterText.svg
new file mode 100644
index 00000000..91c74f49
--- /dev/null
+++ b/src/images/icons/OtterText.svg
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ova.svg b/src/images/icons/Ova.svg
new file mode 100644
index 00000000..b7716961
--- /dev/null
+++ b/src/images/icons/Ova.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/OverBlog.svg b/src/images/icons/OverBlog.svg
new file mode 100644
index 00000000..e1e42833
--- /dev/null
+++ b/src/images/icons/OverBlog.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/OxyShop.svg b/src/images/icons/OxyShop.svg
new file mode 100644
index 00000000..f9669123
--- /dev/null
+++ b/src/images/icons/OxyShop.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PandaCSS.svg b/src/images/icons/PandaCSS.svg
index 27d033a6..be9459f3 100644
--- a/src/images/icons/PandaCSS.svg
+++ b/src/images/icons/PandaCSS.svg
@@ -1,4 +1,4 @@
-
-
+
+
diff --git a/src/images/icons/Passle.svg b/src/images/icons/Passle.svg
new file mode 100644
index 00000000..5ab3c99a
--- /dev/null
+++ b/src/images/icons/Passle.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Passport.svg b/src/images/icons/Passport.svg
new file mode 100644
index 00000000..1e5e68e8
--- /dev/null
+++ b/src/images/icons/Passport.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PearCommerce.svg b/src/images/icons/PearCommerce.svg
new file mode 100644
index 00000000..ce5e085b
--- /dev/null
+++ b/src/images/icons/PearCommerce.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Peddle.svg b/src/images/icons/Peddle.svg
new file mode 100644
index 00000000..aa4e112f
--- /dev/null
+++ b/src/images/icons/Peddle.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Peel.svg b/src/images/icons/Peel.svg
new file mode 100644
index 00000000..858a122d
--- /dev/null
+++ b/src/images/icons/Peel.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Phenom.svg b/src/images/icons/Phenom.svg
new file mode 100644
index 00000000..1ae3b378
--- /dev/null
+++ b/src/images/icons/Phenom.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PhoenixCart.svg b/src/images/icons/PhoenixCart.svg
new file mode 100644
index 00000000..0457219a
--- /dev/null
+++ b/src/images/icons/PhoenixCart.svg
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PiAds.svg b/src/images/icons/PiAds.svg
new file mode 100644
index 00000000..48524761
--- /dev/null
+++ b/src/images/icons/PiAds.svg
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Pickzen.svg b/src/images/icons/Pickzen.svg
new file mode 100644
index 00000000..d64c6368
--- /dev/null
+++ b/src/images/icons/Pickzen.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Planzer.svg b/src/images/icons/Planzer.svg
new file mode 100644
index 00000000..12f2dba1
--- /dev/null
+++ b/src/images/icons/Planzer.svg
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Platformly.svg b/src/images/icons/Platformly.svg
new file mode 100644
index 00000000..f08dbf3f
--- /dev/null
+++ b/src/images/icons/Platformly.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Plattar.svg b/src/images/icons/Plattar.svg
new file mode 100644
index 00000000..ac2b9036
--- /dev/null
+++ b/src/images/icons/Plattar.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Podio.svg b/src/images/icons/Podio.svg
new file mode 100644
index 00000000..9a5a70c3
--- /dev/null
+++ b/src/images/icons/Podio.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PollMaker.svg b/src/images/icons/PollMaker.svg
new file mode 100644
index 00000000..8c3b310a
--- /dev/null
+++ b/src/images/icons/PollMaker.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Poppins.svg b/src/images/icons/Poppins.svg
new file mode 100644
index 00000000..dbc49b01
--- /dev/null
+++ b/src/images/icons/Poppins.svg
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Poptin.svg b/src/images/icons/Poptin.svg
new file mode 100644
index 00000000..d20923dd
--- /dev/null
+++ b/src/images/icons/Poptin.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Postach.svg b/src/images/icons/Postach.svg
new file mode 100644
index 00000000..45e938cd
--- /dev/null
+++ b/src/images/icons/Postach.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Powa.svg b/src/images/icons/Powa.svg
new file mode 100644
index 00000000..caf7df09
--- /dev/null
+++ b/src/images/icons/Powa.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PowerCRM.svg b/src/images/icons/PowerCRM.svg
new file mode 100644
index 00000000..7bb6bf93
--- /dev/null
+++ b/src/images/icons/PowerCRM.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Practo.svg b/src/images/icons/Practo.svg
new file mode 100644
index 00000000..c2334eb9
--- /dev/null
+++ b/src/images/icons/Practo.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Pressero.svg b/src/images/icons/Pressero.svg
new file mode 100644
index 00000000..538b8a7a
--- /dev/null
+++ b/src/images/icons/Pressero.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PrimaSoftware.svg b/src/images/icons/PrimaSoftware.svg
new file mode 100644
index 00000000..a5d3387a
--- /dev/null
+++ b/src/images/icons/PrimaSoftware.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/PrimeAI.svg b/src/images/icons/PrimeAI.svg
new file mode 100644
index 00000000..b837a2f8
--- /dev/null
+++ b/src/images/icons/PrimeAI.svg
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ProdPad.svg b/src/images/icons/ProdPad.svg
new file mode 100644
index 00000000..37b4caa5
--- /dev/null
+++ b/src/images/icons/ProdPad.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Promo.svg b/src/images/icons/Promo.svg
new file mode 100644
index 00000000..6e5890bc
--- /dev/null
+++ b/src/images/icons/Promo.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PropertyShell.svg b/src/images/icons/PropertyShell.svg
new file mode 100644
index 00000000..c8ec8e0e
--- /dev/null
+++ b/src/images/icons/PropertyShell.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PubNub.svg b/src/images/icons/PubNub.svg
new file mode 100644
index 00000000..0d3a5fe9
--- /dev/null
+++ b/src/images/icons/PubNub.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Pubble.svg b/src/images/icons/Pubble.svg
new file mode 100644
index 00000000..e4f6d1f0
--- /dev/null
+++ b/src/images/icons/Pubble.svg
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Pulse.svg b/src/images/icons/Pulse.svg
new file mode 100644
index 00000000..551b8a29
--- /dev/null
+++ b/src/images/icons/Pulse.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PushAlert.svg b/src/images/icons/PushAlert.svg
new file mode 100644
index 00000000..249b5899
--- /dev/null
+++ b/src/images/icons/PushAlert.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/PushWoosh.svg b/src/images/icons/PushWoosh.svg
new file mode 100644
index 00000000..22d2e50d
--- /dev/null
+++ b/src/images/icons/PushWoosh.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Pushnami.svg b/src/images/icons/Pushnami.svg
old mode 100755
new mode 100644
diff --git a/src/images/icons/Q1Media.svg b/src/images/icons/Q1Media.svg
new file mode 100644
index 00000000..1a739fe2
--- /dev/null
+++ b/src/images/icons/Q1Media.svg
@@ -0,0 +1,1941 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/QForm.svg b/src/images/icons/QForm.svg
new file mode 100644
index 00000000..7e5cdbfd
--- /dev/null
+++ b/src/images/icons/QForm.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Qooqie.svg b/src/images/icons/Qooqie.svg
new file mode 100644
index 00000000..203d2b08
--- /dev/null
+++ b/src/images/icons/Qooqie.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Qualitelis.svg b/src/images/icons/Qualitelis.svg
new file mode 100644
index 00000000..43abb308
--- /dev/null
+++ b/src/images/icons/Qualitelis.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Quant.svg b/src/images/icons/Quant.svg
new file mode 100644
index 00000000..ab5eac80
--- /dev/null
+++ b/src/images/icons/Quant.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Quarto.svg b/src/images/icons/Quarto.svg
new file mode 100644
index 00000000..b81ef372
--- /dev/null
+++ b/src/images/icons/Quarto.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Quform.svg b/src/images/icons/Quform.svg
new file mode 100644
index 00000000..41109b63
--- /dev/null
+++ b/src/images/icons/Quform.svg
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/QuickCEP.svg b/src/images/icons/QuickCEP.svg
new file mode 100644
index 00000000..e3d1e5b7
--- /dev/null
+++ b/src/images/icons/QuickCEP.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Qumra.svg b/src/images/icons/Qumra.svg
new file mode 100644
index 00000000..dc292878
--- /dev/null
+++ b/src/images/icons/Qumra.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/QuoteMedia.svg b/src/images/icons/QuoteMedia.svg
new file mode 100644
index 00000000..2cdfd993
--- /dev/null
+++ b/src/images/icons/QuoteMedia.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RMZ.svg b/src/images/icons/RMZ.svg
new file mode 100644
index 00000000..a06a6a31
--- /dev/null
+++ b/src/images/icons/RMZ.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Raaft.svg b/src/images/icons/Raaft.svg
new file mode 100644
index 00000000..e536d6e5
--- /dev/null
+++ b/src/images/icons/Raaft.svg
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Rake.svg b/src/images/icons/Rake.svg
new file mode 100644
index 00000000..844aaf7b
--- /dev/null
+++ b/src/images/icons/Rake.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ramper.svg b/src/images/icons/Ramper.svg
new file mode 100644
index 00000000..d6e49bb2
--- /dev/null
+++ b/src/images/icons/Ramper.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Rasayel.svg b/src/images/icons/Rasayel.svg
new file mode 100644
index 00000000..b4ebe037
--- /dev/null
+++ b/src/images/icons/Rasayel.svg
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Reaktion.svg b/src/images/icons/Reaktion.svg
new file mode 100644
index 00000000..50a66508
--- /dev/null
+++ b/src/images/icons/Reaktion.svg
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RealNex.svg b/src/images/icons/RealNex.svg
new file mode 100644
index 00000000..1d04163f
--- /dev/null
+++ b/src/images/icons/RealNex.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Recop.svg b/src/images/icons/Recop.svg
new file mode 100644
index 00000000..387a5e0e
--- /dev/null
+++ b/src/images/icons/Recop.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Redicom.svg b/src/images/icons/Redicom.svg
new file mode 100644
index 00000000..9eb3fc79
--- /dev/null
+++ b/src/images/icons/Redicom.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Reditus.svg b/src/images/icons/Reditus.svg
new file mode 100644
index 00000000..dd30c634
--- /dev/null
+++ b/src/images/icons/Reditus.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Reform.svg b/src/images/icons/Reform.svg
new file mode 100644
index 00000000..ba2129e9
--- /dev/null
+++ b/src/images/icons/Reform.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Rela.svg b/src/images/icons/Rela.svg
new file mode 100644
index 00000000..4d24b4ac
--- /dev/null
+++ b/src/images/icons/Rela.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Relap.svg b/src/images/icons/Relap.svg
new file mode 100644
index 00000000..8172adac
--- /dev/null
+++ b/src/images/icons/Relap.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ReservaINK.svg b/src/images/icons/ReservaINK.svg
new file mode 100644
index 00000000..c6a3e5d0
--- /dev/null
+++ b/src/images/icons/ReservaINK.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Responsa.svg b/src/images/icons/Responsa.svg
new file mode 100644
index 00000000..07fd96c5
--- /dev/null
+++ b/src/images/icons/Responsa.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RetrinaBuilder.svg b/src/images/icons/RetrinaBuilder.svg
new file mode 100644
index 00000000..564054cd
--- /dev/null
+++ b/src/images/icons/RetrinaBuilder.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RevBid.svg b/src/images/icons/RevBid.svg
new file mode 100644
index 00000000..eb5560ef
--- /dev/null
+++ b/src/images/icons/RevBid.svg
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ReviewPro.svg b/src/images/icons/ReviewPro.svg
new file mode 100644
index 00000000..5f8dc5f7
--- /dev/null
+++ b/src/images/icons/ReviewPro.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Rewix.svg b/src/images/icons/Rewix.svg
new file mode 100644
index 00000000..26c7e6f2
--- /dev/null
+++ b/src/images/icons/Rewix.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RightMessage.svg b/src/images/icons/RightMessage.svg
new file mode 100644
index 00000000..bff766a9
--- /dev/null
+++ b/src/images/icons/RightMessage.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ringba.svg b/src/images/icons/Ringba.svg
new file mode 100644
index 00000000..6f0a15d5
--- /dev/null
+++ b/src/images/icons/Ringba.svg
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ringostat.svg b/src/images/icons/Ringostat.svg
new file mode 100644
index 00000000..8ad72620
--- /dev/null
+++ b/src/images/icons/Ringostat.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RiteKit.svg b/src/images/icons/RiteKit.svg
new file mode 100644
index 00000000..c3d6bac7
--- /dev/null
+++ b/src/images/icons/RiteKit.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Robixcm.png b/src/images/icons/Robixcm.png
new file mode 100644
index 00000000..40cf679d
Binary files /dev/null and b/src/images/icons/Robixcm.png differ
diff --git a/src/images/icons/Robly.svg b/src/images/icons/Robly.svg
new file mode 100644
index 00000000..0ec83f91
--- /dev/null
+++ b/src/images/icons/Robly.svg
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Robofy.svg b/src/images/icons/Robofy.svg
new file mode 100644
index 00000000..3bfa20ae
--- /dev/null
+++ b/src/images/icons/Robofy.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Rockee.svg b/src/images/icons/Rockee.svg
new file mode 100644
index 00000000..0ede6e4e
--- /dev/null
+++ b/src/images/icons/Rockee.svg
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/RubyChat.svg b/src/images/icons/RubyChat.svg
new file mode 100644
index 00000000..e7ecaf65
--- /dev/null
+++ b/src/images/icons/RubyChat.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/S&PGlobalMobility.svg b/src/images/icons/S&PGlobalMobility.svg
new file mode 100644
index 00000000..3ce19793
--- /dev/null
+++ b/src/images/icons/S&PGlobalMobility.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SEOManager.svg b/src/images/icons/SEOManager.svg
new file mode 100644
index 00000000..00be5041
--- /dev/null
+++ b/src/images/icons/SEOManager.svg
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SEOPress.svg b/src/images/icons/SEOPress.svg
new file mode 100644
index 00000000..5c47c701
--- /dev/null
+++ b/src/images/icons/SEOPress.svg
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SOPlanning.svg b/src/images/icons/SOPlanning.svg
new file mode 100644
index 00000000..31cff372
--- /dev/null
+++ b/src/images/icons/SOPlanning.svg
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SOTACRM.svg b/src/images/icons/SOTACRM.svg
new file mode 100644
index 00000000..8fc65816
--- /dev/null
+++ b/src/images/icons/SOTACRM.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SPREAD.svg b/src/images/icons/SPREAD.svg
new file mode 100644
index 00000000..031e4fd9
--- /dev/null
+++ b/src/images/icons/SPREAD.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SafeBuy.svg b/src/images/icons/SafeBuy.svg
new file mode 100644
index 00000000..5b68cdf2
--- /dev/null
+++ b/src/images/icons/SafeBuy.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Saffire.svg b/src/images/icons/Saffire.svg
new file mode 100644
index 00000000..9536d7a8
--- /dev/null
+++ b/src/images/icons/Saffire.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SalesCandy.svg b/src/images/icons/SalesCandy.svg
new file mode 100644
index 00000000..2a69dc67
--- /dev/null
+++ b/src/images/icons/SalesCandy.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SamsungFood.svg b/src/images/icons/SamsungFood.svg
new file mode 100644
index 00000000..b592ba8d
--- /dev/null
+++ b/src/images/icons/SamsungFood.svg
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SavvyCal.svg b/src/images/icons/SavvyCal.svg
new file mode 100644
index 00000000..6544cab9
--- /dev/null
+++ b/src/images/icons/SavvyCal.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SberCRM.svg b/src/images/icons/SberCRM.svg
new file mode 100644
index 00000000..9f782f6e
--- /dev/null
+++ b/src/images/icons/SberCRM.svg
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ScoreApp.svg b/src/images/icons/ScoreApp.svg
new file mode 100644
index 00000000..cd54d426
--- /dev/null
+++ b/src/images/icons/ScoreApp.svg
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Screets.svg b/src/images/icons/Screets.svg
new file mode 100644
index 00000000..430bdb5f
--- /dev/null
+++ b/src/images/icons/Screets.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Seated.svg b/src/images/icons/Seated.svg
new file mode 100644
index 00000000..1fc2ef0b
--- /dev/null
+++ b/src/images/icons/Seated.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sellwild.svg b/src/images/icons/Sellwild.svg
new file mode 100644
index 00000000..40574d3e
--- /dev/null
+++ b/src/images/icons/Sellwild.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Senja.svg b/src/images/icons/Senja.svg
new file mode 100644
index 00000000..b77920ac
--- /dev/null
+++ b/src/images/icons/Senja.svg
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SensaiMetrics.svg b/src/images/icons/SensaiMetrics.svg
new file mode 100644
index 00000000..6b4e0a6a
--- /dev/null
+++ b/src/images/icons/SensaiMetrics.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sentifi.svg b/src/images/icons/Sentifi.svg
new file mode 100644
index 00000000..6cb5d6cd
--- /dev/null
+++ b/src/images/icons/Sentifi.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sharpay.svg b/src/images/icons/Sharpay.svg
new file mode 100644
index 00000000..d73b1df7
--- /dev/null
+++ b/src/images/icons/Sharpay.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SharperMMS.svg b/src/images/icons/SharperMMS.svg
new file mode 100644
index 00000000..6b6f5041
--- /dev/null
+++ b/src/images/icons/SharperMMS.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Shipup.svg b/src/images/icons/Shipup.svg
new file mode 100644
index 00000000..af32c58b
--- /dev/null
+++ b/src/images/icons/Shipup.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ShopRoller.svg b/src/images/icons/ShopRoller.svg
new file mode 100644
index 00000000..6f637121
--- /dev/null
+++ b/src/images/icons/ShopRoller.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ShopVOX.svg b/src/images/icons/ShopVOX.svg
new file mode 100644
index 00000000..2faf671c
--- /dev/null
+++ b/src/images/icons/ShopVOX.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ShopX.svg b/src/images/icons/ShopX.svg
new file mode 100644
index 00000000..7bc4a1a4
--- /dev/null
+++ b/src/images/icons/ShopX.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Shopix.svg b/src/images/icons/Shopix.svg
new file mode 100644
index 00000000..1bf94df1
--- /dev/null
+++ b/src/images/icons/Shopix.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Shopmaker.svg b/src/images/icons/Shopmaker.svg
new file mode 100644
index 00000000..319b4c0e
--- /dev/null
+++ b/src/images/icons/Shopmaker.svg
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ShopperApproved.svg b/src/images/icons/ShopperApproved.svg
new file mode 100644
index 00000000..1098818b
--- /dev/null
+++ b/src/images/icons/ShopperApproved.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Shoprocket.svg b/src/images/icons/Shoprocket.svg
new file mode 100644
index 00000000..78aac42f
--- /dev/null
+++ b/src/images/icons/Shoprocket.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Shoptrader.svg b/src/images/icons/Shoptrader.svg
new file mode 100644
index 00000000..ce1bf7fe
--- /dev/null
+++ b/src/images/icons/Shoptrader.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ShoutCMS.svg b/src/images/icons/ShoutCMS.svg
new file mode 100644
index 00000000..87d4abda
--- /dev/null
+++ b/src/images/icons/ShoutCMS.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Signalayer.svg b/src/images/icons/Signalayer.svg
new file mode 100644
index 00000000..ccec6ccd
--- /dev/null
+++ b/src/images/icons/Signalayer.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Silex.svg b/src/images/icons/Silex.svg
new file mode 100644
index 00000000..94c17adc
--- /dev/null
+++ b/src/images/icons/Silex.svg
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Simbla.svg b/src/images/icons/Simbla.svg
new file mode 100644
index 00000000..e25fe7c9
--- /dev/null
+++ b/src/images/icons/Simbla.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Siter.svg b/src/images/icons/Siter.svg
new file mode 100644
index 00000000..fd562777
--- /dev/null
+++ b/src/images/icons/Siter.svg
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sitoo.svg b/src/images/icons/Sitoo.svg
new file mode 100644
index 00000000..2624f7f4
--- /dev/null
+++ b/src/images/icons/Sitoo.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sizekick.svg b/src/images/icons/Sizekick.svg
new file mode 100644
index 00000000..1478ee1d
--- /dev/null
+++ b/src/images/icons/Sizekick.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Skeep.svg b/src/images/icons/Skeep.svg
new file mode 100644
index 00000000..3255f110
--- /dev/null
+++ b/src/images/icons/Skeep.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Skitter.svg b/src/images/icons/Skitter.svg
new file mode 100644
index 00000000..4b59fe07
--- /dev/null
+++ b/src/images/icons/Skitter.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SkyGlue.svg b/src/images/icons/SkyGlue.svg
new file mode 100644
index 00000000..88736a2a
--- /dev/null
+++ b/src/images/icons/SkyGlue.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Slingshot.svg b/src/images/icons/Slingshot.svg
new file mode 100644
index 00000000..96cf93fd
--- /dev/null
+++ b/src/images/icons/Slingshot.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Snapps.svg b/src/images/icons/Snapps.svg
new file mode 100644
index 00000000..ccb47e6f
--- /dev/null
+++ b/src/images/icons/Snapps.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SniperCRM.svg b/src/images/icons/SniperCRM.svg
new file mode 100644
index 00000000..9c1051e2
--- /dev/null
+++ b/src/images/icons/SniperCRM.svg
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Soldsie.svg b/src/images/icons/Soldsie.svg
new file mode 100644
index 00000000..1bdd74d2
--- /dev/null
+++ b/src/images/icons/Soldsie.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sonar.svg b/src/images/icons/Sonar.svg
new file mode 100644
index 00000000..38550e8f
--- /dev/null
+++ b/src/images/icons/Sonar.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/sonar.svg b/src/images/icons/SonarQube.svg
similarity index 100%
rename from src/images/icons/sonar.svg
rename to src/images/icons/SonarQube.svg
diff --git a/src/images/icons/Sophi.svg b/src/images/icons/Sophi.svg
new file mode 100644
index 00000000..38560f6b
--- /dev/null
+++ b/src/images/icons/Sophi.svg
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SpeakPipe.svg b/src/images/icons/SpeakPipe.svg
new file mode 100644
index 00000000..d87db558
--- /dev/null
+++ b/src/images/icons/SpeakPipe.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SpeedyCache.svg b/src/images/icons/SpeedyCache.svg
new file mode 100644
index 00000000..0f79cc04
--- /dev/null
+++ b/src/images/icons/SpeedyCache.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/SpexoAddons.svg b/src/images/icons/SpexoAddons.svg
new file mode 100644
index 00000000..9030809f
--- /dev/null
+++ b/src/images/icons/SpexoAddons.svg
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SplutterAI.svg b/src/images/icons/SplutterAI.svg
new file mode 100644
index 00000000..6da55382
--- /dev/null
+++ b/src/images/icons/SplutterAI.svg
@@ -0,0 +1,1297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Spotii.svg b/src/images/icons/Spotii.svg
index a4feaa40..f41b82b7 100644
--- a/src/images/icons/Spotii.svg
+++ b/src/images/icons/Spotii.svg
@@ -1,9 +1,6 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/images/icons/Spreadr.svg b/src/images/icons/Spreadr.svg
new file mode 100644
index 00000000..1e054fc1
--- /dev/null
+++ b/src/images/icons/Spreadr.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Staffbase.svg b/src/images/icons/Staffbase.svg
new file mode 100644
index 00000000..7e392c5b
--- /dev/null
+++ b/src/images/icons/Staffbase.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Starlight.svg b/src/images/icons/Starlight.svg
new file mode 100644
index 00000000..da208e94
--- /dev/null
+++ b/src/images/icons/Starlight.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/StartiApp.svg b/src/images/icons/StartiApp.svg
new file mode 100644
index 00000000..1b1af3f7
--- /dev/null
+++ b/src/images/icons/StartiApp.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Stellantis.svg b/src/images/icons/Stellantis.svg
new file mode 100644
index 00000000..3d66f6b2
--- /dev/null
+++ b/src/images/icons/Stellantis.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Strava.svg b/src/images/icons/Strava.svg
new file mode 100644
index 00000000..8c607911
--- /dev/null
+++ b/src/images/icons/Strava.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Styla.svg b/src/images/icons/Styla.svg
new file mode 100644
index 00000000..ce0cc738
--- /dev/null
+++ b/src/images/icons/Styla.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sugar.svg b/src/images/icons/Sugar.svg
new file mode 100644
index 00000000..1958e088
--- /dev/null
+++ b/src/images/icons/Sugar.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SugarWOD.svg b/src/images/icons/SugarWOD.svg
new file mode 100644
index 00000000..4de92bd1
--- /dev/null
+++ b/src/images/icons/SugarWOD.svg
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sugester.svg b/src/images/icons/Sugester.svg
new file mode 100644
index 00000000..e52111b0
--- /dev/null
+++ b/src/images/icons/Sugester.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SuiteCRM.svg b/src/images/icons/SuiteCRM.svg
new file mode 100644
index 00000000..a620c51d
--- /dev/null
+++ b/src/images/icons/SuiteCRM.svg
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SumUp.svg b/src/images/icons/SumUp.svg
new file mode 100644
index 00000000..3f96b2cd
--- /dev/null
+++ b/src/images/icons/SumUp.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Sunshop.svg b/src/images/icons/Sunshop.svg
new file mode 100644
index 00000000..1d467f80
--- /dev/null
+++ b/src/images/icons/Sunshop.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/images/icons/SuperHote.svg b/src/images/icons/SuperHote.svg
new file mode 100644
index 00000000..3781d71b
--- /dev/null
+++ b/src/images/icons/SuperHote.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Superblog.svg b/src/images/icons/Superblog.svg
new file mode 100644
index 00000000..fc3c2988
--- /dev/null
+++ b/src/images/icons/Superblog.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Survale.svg b/src/images/icons/Survale.svg
new file mode 100644
index 00000000..8288dc24
--- /dev/null
+++ b/src/images/icons/Survale.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/SweetAnalytics.svg b/src/images/icons/SweetAnalytics.svg
new file mode 100644
index 00000000..902f490f
--- /dev/null
+++ b/src/images/icons/SweetAnalytics.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Swup.svg b/src/images/icons/Swup.svg
index bdc0e31e..98306472 100644
--- a/src/images/icons/Swup.svg
+++ b/src/images/icons/Swup.svg
@@ -1,14 +1,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Symbolset.svg b/src/images/icons/Symbolset.svg
new file mode 100644
index 00000000..6626484a
--- /dev/null
+++ b/src/images/icons/Symbolset.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Syncee.svg b/src/images/icons/Syncee.svg
new file mode 100644
index 00000000..ebc82285
--- /dev/null
+++ b/src/images/icons/Syncee.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Synctrack.svg b/src/images/icons/Synctrack.svg
new file mode 100644
index 00000000..31e519a0
--- /dev/null
+++ b/src/images/icons/Synctrack.svg
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Synerise.svg b/src/images/icons/Synerise.svg
index 81c4f03a..42bb764a 100644
--- a/src/images/icons/Synerise.svg
+++ b/src/images/icons/Synerise.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/Synology DiskStation.svg b/src/images/icons/Synology DiskStation.svg
index 80d9e379..777c80f3 100644
--- a/src/images/icons/Synology DiskStation.svg
+++ b/src/images/icons/Synology DiskStation.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/SystemsAccel.svg b/src/images/icons/SystemsAccel.svg
new file mode 100644
index 00000000..6f99aa12
--- /dev/null
+++ b/src/images/icons/SystemsAccel.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TIEIT.svg b/src/images/icons/TIEIT.svg
new file mode 100644
index 00000000..3287e680
--- /dev/null
+++ b/src/images/icons/TIEIT.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tagtoo.svg b/src/images/icons/Tagtoo.svg
new file mode 100644
index 00000000..4320309b
--- /dev/null
+++ b/src/images/icons/Tagtoo.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Talex.svg b/src/images/icons/Talex.svg
new file mode 100644
index 00000000..05c3ee54
--- /dev/null
+++ b/src/images/icons/Talex.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TalkJS.svg b/src/images/icons/TalkJS.svg
new file mode 100644
index 00000000..a7a6f9d4
--- /dev/null
+++ b/src/images/icons/TalkJS.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TalkMe.svg b/src/images/icons/TalkMe.svg
new file mode 100644
index 00000000..e3d906cb
--- /dev/null
+++ b/src/images/icons/TalkMe.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TargetBay.svg b/src/images/icons/TargetBay.svg
new file mode 100644
index 00000000..c48d61a0
--- /dev/null
+++ b/src/images/icons/TargetBay.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TechTarget.svg b/src/images/icons/TechTarget.svg
new file mode 100644
index 00000000..678b7952
--- /dev/null
+++ b/src/images/icons/TechTarget.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tekion.svg b/src/images/icons/Tekion.svg
new file mode 100644
index 00000000..c6938292
--- /dev/null
+++ b/src/images/icons/Tekion.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tend.svg b/src/images/icons/Tend.svg
new file mode 100644
index 00000000..99b17139
--- /dev/null
+++ b/src/images/icons/Tend.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tendenci.svg b/src/images/icons/Tendenci.svg
new file mode 100644
index 00000000..4554837e
--- /dev/null
+++ b/src/images/icons/Tendenci.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TerMed.svg b/src/images/icons/TerMed.svg
new file mode 100644
index 00000000..e27e3b5e
--- /dev/null
+++ b/src/images/icons/TerMed.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Terminalfour.svg b/src/images/icons/Terminalfour.svg
new file mode 100644
index 00000000..d421fa58
--- /dev/null
+++ b/src/images/icons/Terminalfour.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Terminus.svg b/src/images/icons/Terminus.svg
new file mode 100644
index 00000000..82a86f4e
--- /dev/null
+++ b/src/images/icons/Terminus.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Testflow.svg b/src/images/icons/Testflow.svg
new file mode 100644
index 00000000..daa0955f
--- /dev/null
+++ b/src/images/icons/Testflow.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TestimonialRobot.svg b/src/images/icons/TestimonialRobot.svg
new file mode 100644
index 00000000..9950e922
--- /dev/null
+++ b/src/images/icons/TestimonialRobot.svg
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Textline.svg b/src/images/icons/Textline.svg
new file mode 100644
index 00000000..4dd02b66
--- /dev/null
+++ b/src/images/icons/Textline.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TheMonetyzer.svg b/src/images/icons/TheMonetyzer.svg
new file mode 100644
index 00000000..025ae352
--- /dev/null
+++ b/src/images/icons/TheMonetyzer.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Theatre.js.svg b/src/images/icons/Theatre.js.svg
index f53fe299..14f6e296 100644
--- a/src/images/icons/Theatre.js.svg
+++ b/src/images/icons/Theatre.js.svg
@@ -1,2 +1,17 @@
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/ThemezHut.png b/src/images/icons/ThemezHut.png
deleted file mode 100644
index 2f75314f..00000000
Binary files a/src/images/icons/ThemezHut.png and /dev/null differ
diff --git a/src/images/icons/ThemezHut.svg b/src/images/icons/ThemezHut.svg
new file mode 100644
index 00000000..3ae6548b
--- /dev/null
+++ b/src/images/icons/ThemezHut.svg
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Thrinacia.svg b/src/images/icons/Thrinacia.svg
new file mode 100644
index 00000000..a83f222e
--- /dev/null
+++ b/src/images/icons/Thrinacia.svg
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TikShop.svg b/src/images/icons/TikShop.svg
new file mode 100644
index 00000000..e576a853
--- /dev/null
+++ b/src/images/icons/TikShop.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tix.svg b/src/images/icons/Tix.svg
new file mode 100644
index 00000000..c76ea764
--- /dev/null
+++ b/src/images/icons/Tix.svg
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TogetherJS.svg b/src/images/icons/TogetherJS.svg
new file mode 100644
index 00000000..e976a5a0
--- /dev/null
+++ b/src/images/icons/TogetherJS.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tomi.svg b/src/images/icons/Tomi.svg
new file mode 100644
index 00000000..946f4842
--- /dev/null
+++ b/src/images/icons/Tomi.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tontine.svg b/src/images/icons/Tontine.svg
new file mode 100644
index 00000000..7e6f8a82
--- /dev/null
+++ b/src/images/icons/Tontine.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Toolbx.svg b/src/images/icons/Toolbx.svg
new file mode 100644
index 00000000..92ff4580
--- /dev/null
+++ b/src/images/icons/Toolbx.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tooltip.svg b/src/images/icons/Tooltip.svg
new file mode 100644
index 00000000..e511503c
--- /dev/null
+++ b/src/images/icons/Tooltip.svg
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TopProducer.svg b/src/images/icons/TopProducer.svg
new file mode 100644
index 00000000..7079a3b5
--- /dev/null
+++ b/src/images/icons/TopProducer.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Track123.svg b/src/images/icons/Track123.svg
index 8db020f5..55171a2e 100644
--- a/src/images/icons/Track123.svg
+++ b/src/images/icons/Track123.svg
@@ -1,11 +1,9 @@
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
diff --git a/src/images/icons/Trackboxx.svg b/src/images/icons/Trackboxx.svg
new file mode 100644
index 00000000..2c97f9f1
--- /dev/null
+++ b/src/images/icons/Trackboxx.svg
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Trak.svg b/src/images/icons/Trak.svg
new file mode 100644
index 00000000..2d734598
--- /dev/null
+++ b/src/images/icons/Trak.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TranslatePress.svg b/src/images/icons/TranslatePress.svg
new file mode 100644
index 00000000..4c7929b5
--- /dev/null
+++ b/src/images/icons/TranslatePress.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Tremor.svg b/src/images/icons/Tremor.svg
new file mode 100644
index 00000000..0eb2b5c5
--- /dev/null
+++ b/src/images/icons/Tremor.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Triptease.svg b/src/images/icons/Triptease.svg
new file mode 100644
index 00000000..af8c8e7b
--- /dev/null
+++ b/src/images/icons/Triptease.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Trovit.svg b/src/images/icons/Trovit.svg
new file mode 100644
index 00000000..3ee38103
--- /dev/null
+++ b/src/images/icons/Trovit.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/images/icons/Trumpia.svg b/src/images/icons/Trumpia.svg
new file mode 100644
index 00000000..8bc33517
--- /dev/null
+++ b/src/images/icons/Trumpia.svg
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TrustPulse.svg b/src/images/icons/TrustPulse.svg
new file mode 100644
index 00000000..bd2ce230
--- /dev/null
+++ b/src/images/icons/TrustPulse.svg
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/TutorLMS.svg b/src/images/icons/TutorLMS.svg
new file mode 100644
index 00000000..93f47c11
--- /dev/null
+++ b/src/images/icons/TutorLMS.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Twitter.svg b/src/images/icons/Twitter.svg
index dbd04420..04658bba 100644
--- a/src/images/icons/Twitter.svg
+++ b/src/images/icons/Twitter.svg
@@ -1 +1,3 @@
-
\ No newline at end of file
+
+
+
diff --git a/src/images/icons/Typeflo.svg b/src/images/icons/Typeflo.svg
new file mode 100644
index 00000000..9b8f6055
--- /dev/null
+++ b/src/images/icons/Typeflo.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/UIAvenue.svg b/src/images/icons/UIAvenue.svg
new file mode 100644
index 00000000..a962c35b
--- /dev/null
+++ b/src/images/icons/UIAvenue.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/UMAI.svg b/src/images/icons/UMAI.svg
new file mode 100644
index 00000000..9842bbb6
--- /dev/null
+++ b/src/images/icons/UMAI.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/UnitoHub.svg b/src/images/icons/UnitoHub.svg
new file mode 100644
index 00000000..3f0cfc75
--- /dev/null
+++ b/src/images/icons/UnitoHub.svg
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/UpScale.svg b/src/images/icons/UpScale.svg
new file mode 100644
index 00000000..5afc46c4
--- /dev/null
+++ b/src/images/icons/UpScale.svg
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Uplisting.svg b/src/images/icons/Uplisting.svg
new file mode 100644
index 00000000..c30508d6
--- /dev/null
+++ b/src/images/icons/Uplisting.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Upscribe.svg b/src/images/icons/Upscribe.svg
new file mode 100644
index 00000000..d25a79e3
--- /dev/null
+++ b/src/images/icons/Upscribe.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/UpsellPlus.svg b/src/images/icons/UpsellPlus.svg
new file mode 100644
index 00000000..f5cd8c4c
--- /dev/null
+++ b/src/images/icons/UpsellPlus.svg
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Upsy.svg b/src/images/icons/Upsy.svg
new file mode 100644
index 00000000..1a5a9ac0
--- /dev/null
+++ b/src/images/icons/Upsy.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/VBMedia.svg b/src/images/icons/VBMedia.svg
new file mode 100644
index 00000000..a107cebc
--- /dev/null
+++ b/src/images/icons/VBMedia.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vaven.svg b/src/images/icons/Vaven.svg
new file mode 100644
index 00000000..46f4823b
--- /dev/null
+++ b/src/images/icons/Vaven.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vendaecia.svg b/src/images/icons/Vendaecia.svg
new file mode 100644
index 00000000..ee99c36b
--- /dev/null
+++ b/src/images/icons/Vendaecia.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/VentasxMayor.svg b/src/images/icons/VentasxMayor.svg
new file mode 100644
index 00000000..71a0e395
--- /dev/null
+++ b/src/images/icons/VentasxMayor.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Veonr.svg b/src/images/icons/Veonr.svg
new file mode 100644
index 00000000..7493cc27
--- /dev/null
+++ b/src/images/icons/Veonr.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/VeraSafe.svg b/src/images/icons/VeraSafe.svg
new file mode 100644
index 00000000..482e19bb
--- /dev/null
+++ b/src/images/icons/VeraSafe.svg
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vidjet.svg b/src/images/icons/Vidjet.svg
new file mode 100644
index 00000000..6c98ed0d
--- /dev/null
+++ b/src/images/icons/Vidjet.svg
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vimos.svg b/src/images/icons/Vimos.svg
new file mode 100644
index 00000000..7b089fe7
--- /dev/null
+++ b/src/images/icons/Vimos.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vincere.svg b/src/images/icons/Vincere.svg
new file mode 100644
index 00000000..7ba5bbd3
--- /dev/null
+++ b/src/images/icons/Vincere.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Viskan.svg b/src/images/icons/Viskan.svg
new file mode 100644
index 00000000..5499cb1b
--- /dev/null
+++ b/src/images/icons/Viskan.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/VocalReferences.svg b/src/images/icons/VocalReferences.svg
new file mode 100644
index 00000000..5c4b01d5
--- /dev/null
+++ b/src/images/icons/VocalReferences.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Vouched.svg b/src/images/icons/Vouched.svg
new file mode 100644
index 00000000..01f1287f
--- /dev/null
+++ b/src/images/icons/Vouched.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WOMO.svg b/src/images/icons/WOMO.svg
new file mode 100644
index 00000000..3be7b514
--- /dev/null
+++ b/src/images/icons/WOMO.svg
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WeBlocks.svg b/src/images/icons/WeBlocks.svg
new file mode 100644
index 00000000..07ae4b6c
--- /dev/null
+++ b/src/images/icons/WeBlocks.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WebCEO.svg b/src/images/icons/WebCEO.svg
new file mode 100644
index 00000000..c2da12a2
--- /dev/null
+++ b/src/images/icons/WebCEO.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WebQnA.svg b/src/images/icons/WebQnA.svg
new file mode 100644
index 00000000..a1ca4e86
--- /dev/null
+++ b/src/images/icons/WebQnA.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WebWave.svg b/src/images/icons/WebWave.svg
index 418602ef..d6eca496 100644
--- a/src/images/icons/WebWave.svg
+++ b/src/images/icons/WebWave.svg
@@ -1,18 +1,6 @@
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/images/icons/Webinaris.svg b/src/images/icons/Webinaris.svg
new file mode 100644
index 00000000..ad2045c0
--- /dev/null
+++ b/src/images/icons/Webinaris.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Webready.svg b/src/images/icons/Webready.svg
new file mode 100644
index 00000000..9e13f6c1
--- /dev/null
+++ b/src/images/icons/Webready.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/WheelSales.svg b/src/images/icons/WheelSales.svg
new file mode 100644
index 00000000..a3c9fce7
--- /dev/null
+++ b/src/images/icons/WheelSales.svg
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Wisetracker.svg b/src/images/icons/Wisetracker.svg
new file mode 100644
index 00000000..f545351e
--- /dev/null
+++ b/src/images/icons/Wisetracker.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Wolf CMS.png b/src/images/icons/Wolf CMS.png
index 67815a97..781b92e2 100644
Binary files a/src/images/icons/Wolf CMS.png and b/src/images/icons/Wolf CMS.png differ
diff --git a/src/images/icons/Wootric.svg b/src/images/icons/Wootric.svg
new file mode 100644
index 00000000..ae30e263
--- /dev/null
+++ b/src/images/icons/Wootric.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Xsolla.svg b/src/images/icons/Xsolla.svg
new file mode 100644
index 00000000..7a7c0785
--- /dev/null
+++ b/src/images/icons/Xsolla.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Xtremepush.svg b/src/images/icons/Xtremepush.svg
old mode 100755
new mode 100644
diff --git a/src/images/icons/YachtSys.svg b/src/images/icons/YachtSys.svg
new file mode 100644
index 00000000..04f11944
--- /dev/null
+++ b/src/images/icons/YachtSys.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Yupop.svg b/src/images/icons/Yupop.svg
new file mode 100644
index 00000000..d6b0c1c4
--- /dev/null
+++ b/src/images/icons/Yupop.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Zenbooker.svg b/src/images/icons/Zenbooker.svg
new file mode 100644
index 00000000..8208fc0d
--- /dev/null
+++ b/src/images/icons/Zenbooker.svg
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Zenrez.svg b/src/images/icons/Zenrez.svg
new file mode 100644
index 00000000..af476d1f
--- /dev/null
+++ b/src/images/icons/Zenrez.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Zentap.svg b/src/images/icons/Zentap.svg
new file mode 100644
index 00000000..c33a2090
--- /dev/null
+++ b/src/images/icons/Zentap.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Zenzzen.svg b/src/images/icons/Zenzzen.svg
new file mode 100644
index 00000000..dde60382
--- /dev/null
+++ b/src/images/icons/Zenzzen.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/ZetaProducer.svg b/src/images/icons/ZetaProducer.svg
new file mode 100644
index 00000000..0acedd4d
--- /dev/null
+++ b/src/images/icons/ZetaProducer.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Zevi.svg b/src/images/icons/Zevi.svg
new file mode 100644
index 00000000..e003ab59
--- /dev/null
+++ b/src/images/icons/Zevi.svg
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/Ziadah.svg b/src/images/icons/Ziadah.svg
new file mode 100644
index 00000000..7b5f5e1f
--- /dev/null
+++ b/src/images/icons/Ziadah.svg
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/adCAPTCHA.svg b/src/images/icons/adCAPTCHA.svg
new file mode 100644
index 00000000..c9b27486
--- /dev/null
+++ b/src/images/icons/adCAPTCHA.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/akinon.png b/src/images/icons/akinon.png
deleted file mode 100644
index 18a47843..00000000
Binary files a/src/images/icons/akinon.png and /dev/null differ
diff --git a/src/images/icons/demandbase.svg b/src/images/icons/demandbase.svg
index 1389b30e..4a196c8b 100644
--- a/src/images/icons/demandbase.svg
+++ b/src/images/icons/demandbase.svg
@@ -1,10 +1,16 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/ePublishing.svg b/src/images/icons/ePublishing.svg
new file mode 100644
index 00000000..a3d3008f
--- /dev/null
+++ b/src/images/icons/ePublishing.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/iCIMS.svg b/src/images/icons/iCIMS.svg
new file mode 100644
index 00000000..49b30163
--- /dev/null
+++ b/src/images/icons/iCIMS.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/iSET.svg b/src/images/icons/iSET.svg
new file mode 100644
index 00000000..1dfd8c20
--- /dev/null
+++ b/src/images/icons/iSET.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/inspectlet.png b/src/images/icons/inspectlet.png
deleted file mode 100644
index 96cd2155..00000000
Binary files a/src/images/icons/inspectlet.png and /dev/null differ
diff --git a/src/images/icons/miniCal.svg b/src/images/icons/miniCal.svg
new file mode 100644
index 00000000..dc6ad989
--- /dev/null
+++ b/src/images/icons/miniCal.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/p5.js.svg b/src/images/icons/p5.js.svg
index 8aa73b81..49949696 100644
--- a/src/images/icons/p5.js.svg
+++ b/src/images/icons/p5.js.svg
@@ -1,17 +1,3 @@
-
-
-
-
-
-
-
+
+
diff --git a/src/images/icons/punBB.png b/src/images/icons/punBB.png
deleted file mode 100644
index f45aeea7..00000000
Binary files a/src/images/icons/punBB.png and /dev/null differ
diff --git a/src/images/icons/punBB.svg b/src/images/icons/punBB.svg
new file mode 100644
index 00000000..96d42987
--- /dev/null
+++ b/src/images/icons/punBB.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/scrollreveal.svg b/src/images/icons/scrollreveal.svg
index 8e0dd8e8..9e2ea012 100644
--- a/src/images/icons/scrollreveal.svg
+++ b/src/images/icons/scrollreveal.svg
@@ -1,16 +1,14 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/typecho.svg b/src/images/icons/typecho.svg
index e43dcb1f..658bb5bc 100644
--- a/src/images/icons/typecho.svg
+++ b/src/images/icons/typecho.svg
@@ -1 +1,3 @@
-typecho-logo
\ No newline at end of file
+
+
+
diff --git a/src/images/icons/vChat.svg b/src/images/icons/vChat.svg
new file mode 100644
index 00000000..8863ade0
--- /dev/null
+++ b/src/images/icons/vChat.svg
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/vinSUITE.svg b/src/images/icons/vinSUITE.svg
new file mode 100644
index 00000000..e3fac92a
--- /dev/null
+++ b/src/images/icons/vinSUITE.svg
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/images/icons/vue.svg b/src/images/icons/vue.svg
index 71c1cfb9..82823fc2 100644
--- a/src/images/icons/vue.svg
+++ b/src/images/icons/vue.svg
@@ -1,4 +1,12 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/icons/webflow.svg b/src/images/icons/webflow.svg
index 99a3ac24..60f2ee2d 100644
--- a/src/images/icons/webflow.svg
+++ b/src/images/icons/webflow.svg
@@ -1,4 +1,4 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/technologies/_.json b/src/technologies/_.json
index f2027864..cc94312c 100644
--- a/src/technologies/_.json
+++ b/src/technologies/_.json
@@ -141,7 +141,9 @@
],
"description": "34SP.com specialises in website hosting, discount domain names, low cost VPS servers and dedicated servers.",
"dns": {
- "SOA": "ns(?:\\d+)?\\.34sp\\.com"
+ "SOA": [
+ "ns(?:\\d+)?\\.34sp\\.com"
+ ]
},
"icon": "34SP.com.svg",
"pricing": [
@@ -178,10 +180,10 @@
6
],
"description": "42stores is a French SaaS ecommerce solution that was established in 2008. It offers a range of features such as monitoring, customer support, and regular updates. The platform is known for its flexibility and modularity, making it possible to integrate with various ERP systems.",
- "icon": "42stores.svg",
"headers": {
"Powered-By": "^42stores$"
},
+ "icon": "42stores.svg",
"pricing": [
"poa",
"recurring"
@@ -257,6 +259,24 @@
],
"website": "https://www.5centscdn.net"
},
+ "6Valley eCommerce CMS": {
+ "cats": [
+ 1,
+ 6
+ ],
+ "cookies": {
+ "6valley_session": ""
+ },
+ "description": "6Valley eCommerce CMS is a multi-vendor platform designed to facilitate business launches by providing tools for managing vendors, products, and transactions within an ecommerce ecosystem.",
+ "icon": "6ValleyEcommerceCMS.svg",
+ "pricing": [
+ "onetime"
+ ],
+ "scripts": [
+ "6valley_cookie_consent"
+ ],
+ "website": "https://6valley.app"
+ },
"6sense": {
"cats": [
32,
@@ -295,6 +315,19 @@
"saas": true,
"website": "https://www.7shifts.com"
},
+ "7moor": {
+ "cats": [
+ 32,
+ 53
+ ],
+ "description": "7moor is an integrated customer service marketing solution that combines communication, customer support, and marketing tools.",
+ "icon": "7moor.svg",
+ "js": {
+ "moor7Source": ""
+ },
+ "saas": true,
+ "website": "https://www.7moor.com"
+ },
"8base": {
"cats": [
3,
diff --git a/src/technologies/a.json b/src/technologies/a.json
index d45b6ed6..de983485 100644
--- a/src/technologies/a.json
+++ b/src/technologies/a.json
@@ -1,8 +1,10 @@
{
"A-Frame": {
"cats": [
- 25
+ 25,
+ 105
],
+ "description": "A-Frame is an open-source web framework that simplifies building cross-platform virtual reality (VR) experiences using HTML and JavaScript.",
"html": [
"]*>"
],
@@ -11,8 +13,10 @@
"Three.js"
],
"js": {
- "AFRAME.version": "^(.+)$\\;version:\\1"
+ "AFRAME.version": "^(.+)$\\;version:\\1",
+ "aframeStats": ""
},
+ "oss": true,
"scriptSrc": [
"/?([\\d.]+)?/aframe(?:\\.min)?\\.js\\;version:\\1"
],
@@ -73,6 +77,25 @@
],
"website": "https://www.abtasty.com"
},
+ "ABLyft": {
+ "cats": [
+ 74
+ ],
+ "description": "ABlyft is an A/B-Testing Platform made for developers.",
+ "icon": "ABlyft.svg",
+ "js": {
+ "ablyft.get": "",
+ "ablyftClickListener": "",
+ "ablyftEventQueueInterv": "",
+ "ablyftStopQueue": ""
+ },
+ "pricing": [
+ "freemium",
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://ablyft.com"
+ },
"ABOUT YOU Commerce Suite": {
"cats": [
6
@@ -223,7 +246,9 @@
],
"description": "ALL-INKL is a German-based web hosting provider that promises to offer high-performance services for fair prices.",
"dns": {
- "SOA": "\\.kasserver\\.com"
+ "SOA": [
+ "\\.kasserver\\.com"
+ ]
},
"icon": "ALL-INKL.svg",
"pricing": [
@@ -242,11 +267,6 @@
" ([\\d.]+) \\;version:\\1",
"onclick=\"bodyClick\\(event\\);\" onload=\"verifyVersion\\('([\\d.]+)'\\);\">\\;version:\\1"
@@ -1746,6 +1818,7 @@
"implies": [
"PHP"
],
+ "oss": true,
"website": "https://www.adminer.org"
},
"Admiral": {
@@ -1913,7 +1986,11 @@
"cats": [
18
],
+ "cookies": {
+ "CFGLOBALS": ""
+ },
"cpe": "cpe:2.3:a:adobe:coldfusion:*:*:*:*:*:*:*:*",
+ "description": "Adobe ColdFusion is a server-side scripting platform for building web applications and APIs, using a language called CFML (ColdFusion Markup Language).",
"headers": {
"Cookie": "CFTOKEN="
},
@@ -1968,6 +2045,9 @@
],
"cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*",
"description": "Adobe Experience Manager (AEM) is a content management solution for building websites, mobile apps and forms.",
+ "dom": [
+ "div[class*='parbase'], div[data-component-path*='jcr:'], div[class*='aem-Grid']"
+ ],
"html": [
"]+data-component-path=\"[^\"+]jcr:",
@@ -1987,12 +2067,9 @@
"/etc\\.clientlibs/"
],
"scripts": [
- "aem-(?:GridColumn|apps/)"
+ "aem-(?:GridColumn|apps/)|AEMMode"
],
- "website": "https://www.adobe.com/marketing/experience-manager.html",
- "dom": [
- "div[class*='parbase'], div[data-component-path*='jcr:'], div[class*='aem-Grid']"
- ]
+ "website": "https://www.adobe.com/marketing/experience-manager.html"
},
"Adobe Experience Manager Franklin": {
"cats": [
@@ -2000,10 +2077,13 @@
],
"cpe": "cpe:2.3:a:adobe:experience_manager:*:*:*:*:*:*:*:*",
"description": "Adobe Experience Manager Franklin, also known as Project Helix or Composability, is a new way to publish AEM pages using Google Drive or Microsoft Office via Sharepoint. Instead of components, Franklin uses blocks to build pages. Blocks are pieces of a document that will be transformed into web page content.",
- "icon": "Adobe Experience Manager Franklin.svg",
"excludes": [
"Adobe Experience Manager"
],
+ "icon": "Adobe Experience Manager Franklin.svg",
+ "js": {
+ "hlx.RUM_MANUAL_ENHANCE": ""
+ },
"scriptSrc": [
"^.+/scripts/lib-franklin\\.js$"
],
@@ -2054,6 +2134,9 @@
17
],
"description": "Adobe Fonts is a web-based service providing access to a vast library of high-quality fonts for web and print design.",
+ "dom": [
+ "link[href*='use.typekit.net'], link[href*='use.typekit.com']"
+ ],
"html": [
"
]*href=\"[^\"]+use\\.typekit\\.(?:net|com)"
],
@@ -2176,16 +2259,16 @@
"adonis-session": "",
"adonis-session-values": ""
},
+ "description": "AdonisJS is a Node.js web application framework that follows the MVC pattern, simplifying web development with features like ORM, authentication, and WebSockets.",
+ "dom": [
+ "link[href*='adonisjs.com/'][rel='canonical']"
+ ],
"icon": "AdonisJS.svg",
"implies": [
"Node.js"
],
- "website": "https://adonisjs.com",
"oss": true,
- "dom": [
- "link[href*='adonisjs.com/'][rel='canonical']"
- ],
- "description": "AdonisJS is a Node.js web application framework that follows the MVC pattern, simplifying web development with features like ORM, authentication, and WebSockets."
+ "website": "https://adonisjs.com"
},
"Adoric": {
"cats": [
@@ -2506,6 +2589,9 @@
"X-Powered-By": "Afosto SaaS BV\\;version:2.0"
},
"icon": "Afosto.svg",
+ "scripts": [
+ "\\.afosto\\.nl/"
+ ],
"website": "https://afosto.com"
},
"AfterBuy": {
@@ -2595,6 +2681,9 @@
"afterpay-products\\.min\\.js",
"js\\.stripe\\.com/v3/fingerprinted/js/elements-afterpay-clearpay-message-.+\\.js"
],
+ "scripts": [
+ "AFTERPAY"
+ ],
"website": "https://www.afterpay.com/"
},
"Age Gate": {
@@ -2618,6 +2707,41 @@
],
"website": "https://wordpress.org/plugins/age-gate"
},
+ "AgentFire": {
+ "cats": [
+ 32
+ ],
+ "description": "AgentFire is a platform designed for the real estate industry, offering tools and features that help agents capitalize on digital opportunities for marketing, lead generation, and client engagement.",
+ "icon": "AgentFire.svg",
+ "js": {
+ "AgentFire.Api": "",
+ "AgentFire_Oauth2": "",
+ "AgentFire_Settings": ""
+ },
+ "pricing": [
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://agentfire.com"
+ },
+ "Agile CRM": {
+ "cats": [
+ 53
+ ],
+ "description": "Agile CRM is a software for Customer Relationship Management (CRM) that provides sales and marketing automation features for businesses.",
+ "icon": "AgileCRM.svg",
+ "js": {
+ "AgileCRMTracker": "",
+ "Agile_API": ""
+ },
+ "pricing": [
+ "freemium",
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://www.agilecrm.com"
+ },
"Agoda": {
"cats": [
104
@@ -2845,22 +2969,38 @@
],
"website": "https://aircall.io"
},
+ "Airdata": {
+ "cats": [
+ 104
+ ],
+ "description": "Airdata is a ticket booking system for agents in Vietnam, offering unique features to maximize benefits for businesses in managing and selling flight tickets.",
+ "icon": "Airdata.svg",
+ "js": {
+ "BOOKING_BASE_API_URL": "api\\.airdata\\.vn"
+ },
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://airdata.vn"
+ },
"Airee": {
"cats": [
31,
88
],
+ "description": "Airee offers scalable web hosting solutions tailored for internet shops and websites, with enhanced performance, DDoS protection, high availability, and detailed speed and security analytics.",
"headers": {
"Server": "^Airee"
},
"icon": "Airee.svg",
- "website": "https://xn--80aqc2a.xn--p1ai",
- "description": "Airee offers scalable web hosting solutions tailored for internet shops and websites, with enhanced performance, DDoS protection, high availability, and detailed speed and security analytics.",
- "saas": true,
"pricing": [
"recurring",
"mid"
- ]
+ ],
+ "saas": true,
+ "website": "https://xn--80aqc2a.xn--p1ai"
},
"Airform": {
"cats": [
@@ -3018,6 +3158,9 @@
"akaas_AB-Testing": ""
},
"description": "Akamai mPulse is a real user monitoring (RUM) solution that enables companies to monitor, find, and fix website and application performance issues.",
+ "dom": [
+ "script#boomr-if-as, script#boomr-scr-as, link[href*='s.go-mpulse.net/boomerang/'][rel='preload']"
+ ],
"html": [
""
],
@@ -3032,15 +3175,13 @@
"poa"
],
"saas": true,
- "website": "https://developer.akamai.com/akamai-mpulse-real-user-monitoring-solution",
- "dom": [
- "script#boomr-if-as, script#boomr-scr-as, link[href*='s.go-mpulse.net/boomerang/'][rel='preload']"
- ]
+ "website": "https://developer.akamai.com/akamai-mpulse-real-user-monitoring-solution"
},
"Akaunting": {
"cats": [
55
],
+ "cpe": "cpe:2.3:a:akaunting:akaunting:*:*:*:*:*:*:*:*",
"description": "Akaunting is a free and online accounting software.",
"headers": {
"X-Akaunting": "^Free Accounting Software$"
@@ -3053,10 +3194,34 @@
"implies": [
"Laravel"
],
- "cpe": "cpe:2.3:a:akaunting:akaunting:*:*:*:*:*:*:*:*",
"oss": true,
"website": "https://akaunting.com"
},
+ "Akavita": {
+ "cats": [
+ 10,
+ 36
+ ],
+ "description": "Akavita is a Russian-based service offering analytics and advertising solutions.",
+ "icon": "Akavita.svg",
+ "saas": true,
+ "scriptSrc": [
+ "adlik\\.akavita\\.com/"
+ ],
+ "website": "https://akavita.com"
+ },
+ "Akero": {
+ "cats": [
+ 32
+ ],
+ "description": "Akero is a platform that provides marketing and admissions technology designed for educational institutions.",
+ "icon": "Akero.svg",
+ "saas": true,
+ "scripts": [
+ "\\.akerolabs\\.com"
+ ],
+ "website": "https://akerolabs.com"
+ },
"Akilli Ticaret": {
"cats": [
6
@@ -3084,13 +3249,16 @@
6
],
"description": "Akinon is a cloud-based headless commerce platform with an integrated application suite including omnichannel and marketplace capabilities, mobile and in-store solutions, and an OMS.",
- "icon": "akinon.png",
+ "icon": "Akinon.svg",
"pricing": [
"poa"
],
"scriptSrc": [
"cdn-mgsm\\.akinon\\.net/"
],
+ "scripts": [
+ "\\.akinoncloud\\.com"
+ ],
"website": "https://www.akinon.com/"
},
"Akismet": {
@@ -3308,6 +3476,9 @@
"payg"
],
"saas": true,
+ "scripts": [
+ "algoliasearch"
+ ],
"website": "https://www.algolia.com"
},
"Algolia DocSearch": {
@@ -3315,6 +3486,9 @@
5
],
"description": "Algolia DocSearch is a search widget specifically designed for documentation websites.",
+ "dom": [
+ "link[href*='.algolia.net'][rel='preconnect']"
+ ],
"icon": "DocSearch.svg",
"implies": [
"Algolia"
@@ -3328,10 +3502,7 @@
"recurring"
],
"saas": true,
- "website": "https://docsearch.algolia.com",
- "dom": [
- "link[href*='.algolia.net'][rel='preconnect']"
- ]
+ "website": "https://docsearch.algolia.com"
},
"Ali Reviews": {
"cats": [
@@ -3435,10 +3606,16 @@
],
"cpe": "cpe:2.3:a:aioseo:all_in_one_seo:*:*:*:*:*:wordpress:*:*",
"description": "All in One SEO plugin optimizes WordPress website and its content for search engines.",
+ "dom": [
+ "script.aioseo-schema"
+ ],
"html": [
""
],
- "icon": "inspectlet.png",
+ "icon": "Inspectlet.svg",
"js": {
"__insp": "",
"__inspld": ""
@@ -1620,6 +1739,24 @@
],
"website": "https://intershop.com"
},
+ "Intice": {
+ "cats": [
+ 32
+ ],
+ "description": "Intice is a lead conversion tool designed for the automotive industry, streamlining customer engagement and improving the conversion process from inquiries to sales.",
+ "icon": "Intice.svg",
+ "js": {
+ "intice": "",
+ "inticeAllEvents": "",
+ "inticeIMP": "",
+ "inticeLeadmakerAnalytics": ""
+ },
+ "saas": true,
+ "scriptSrc": [
+ "tools\\.inticeinc\\.com"
+ ],
+ "website": "https://intice.com"
+ },
"Invenio": {
"cats": [
50
@@ -1632,8 +1769,8 @@
"(?:Powered by|System)\\s+(?:CERN )?
(?:CDS )?Invenio \\s*v?([\\d\\.]+)?\\;version:\\1"
],
"icon": "Invenio.svg",
- "website": "https://invenio-software.org",
- "oss": true
+ "oss": true,
+ "website": "https://invenio-software.org"
},
"Inventrue": {
"cats": [
@@ -1671,6 +1808,23 @@
],
"website": "https://www.inveon.com"
},
+ "Invision Community": {
+ "cats": [
+ 1
+ ],
+ "description": "Invision Community is a scalable and customizable platform designed to build and grow online communities.",
+ "icon": "InvisionCommunity.svg",
+ "pricing": [
+ "mid",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "\\.invisioncic\\.com/"
+ ],
+ "website": "https://invisioncommunity.com"
+ },
"Invision Power Board": {
"cats": [
2
@@ -1700,6 +1854,9 @@
"scriptSrc": [
"jscripts/ips_"
],
+ "scripts": [
+ "ipb_url_filter_option"
+ ],
"website": "https://invisioncommunity.com"
},
"Invitario": {
@@ -1763,6 +1920,18 @@
"oss": true,
"website": "https://ionicons.com"
},
+ "Iress": {
+ "cats": [
+ 55
+ ],
+ "description": "Iress is a platform that provides software solutions for the financial services industry.",
+ "icon": "Iress.svg",
+ "js": {
+ "IRESSWebToolbox": ""
+ },
+ "saas": true,
+ "website": "https://www.iress.com"
+ },
"IrisLMS": {
"cats": [
21
@@ -1786,6 +1955,11 @@
"
]*href=\"https://www\\.irroba\\.com\\.br"
],
"icon": "irroba.svg",
+ "meta": {
+ "copyright": "^IRROBA E-COMMERCE$",
+ "generator": "^IRROBA E-COMMERCE$",
+ "webmaster": "^IRROBA E-COMMERCE$"
+ },
"website": "https://www.irroba.com.br/"
},
"Isotope": {
@@ -1811,12 +1985,12 @@
15
],
"description": "Isso is a lightweight commenting server written in Python and JavaScript, referred to as \"Ich schrei sonst\" in German.",
- "js": {
- "Isso.fetchComments": ""
- },
"implies": [
"Python"
],
+ "js": {
+ "Isso.fetchComments": ""
+ },
"oss": true,
"website": "https://github.com/posativ/isso/"
},
@@ -2011,6 +2185,18 @@
],
"website": "https://www.iadvize.com"
},
+ "iCIMS": {
+ "cats": [
+ 101
+ ],
+ "description": "iCIMS is a talent acquisition and internal mobility platform that delivers solutions to build, retain, and scale your workforce.",
+ "icon": "iCIMS.svg",
+ "saas": true,
+ "scripts": [
+ "icims\\.com"
+ ],
+ "website": "https://www.icims.com"
+ },
"iEXExchanger": {
"cats": [
1
@@ -2073,6 +2259,22 @@
},
"website": "https://ipresta.ir"
},
+ "iSET": {
+ "cats": [
+ 6
+ ],
+ "description": "iSET is an ecommerce platform providing tools to start, grow, and scale online stores.",
+ "icon": "iSET.svg",
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "scripts": [
+ "cdn\\.iset\\.io/"
+ ],
+ "website": "https://www.iset.com.br"
+ },
"iScripts": {
"cats": [
1
@@ -2146,8 +2348,12 @@
],
"description": "idCloudHost is a local web service provider based in Indonesia that offer a wide range of services including domain name registration and cloud hosting.",
"dns": {
- "NS": "ns\\d+\\.cloudhost\\.id",
- "SOA": "ns\\d+\\.cloudhost\\.id"
+ "NS": [
+ "ns\\d+\\.cloudhost\\.id"
+ ],
+ "SOA": [
+ "ns\\d+\\.cloudhost\\.id"
+ ]
},
"icon": "idCloudHost.svg",
"website": "https://idcloudhost.com"
@@ -2158,6 +2364,9 @@
],
"cpe": "cpe:2.3:a:ikiwiki:ikiwiki:*:*:*:*:*:*:*:*",
"description": "ikiwiki is a free and open-source wiki application.",
+ "dom": [
+ "link[rel='alternate'][type='application/x-wiki'][title='Edit this page'][href*='/ikiwiki.cgi']"
+ ],
"html": [
" ]+name=\"JTLSHOP| a[href='https://jenkins.io/']"
+ ],
"headers": {
"X-Jenkins": "([\\d.]+)\\;version:\\1"
},
@@ -437,6 +446,27 @@
],
"website": "https://www.getjenny.com"
},
+ "JetEngine": {
+ "cats": [
+ 87
+ ],
+ "description": "JetEngine is a content plugin for WordPress that allows users to create custom post types, taxonomies, and meta boxes, offering flexibility in building complex websites without requiring coding skills.",
+ "icon": "JetEngine.svg",
+ "pricing": [
+ "freemium",
+ "low",
+ "recurring",
+ "onetime"
+ ],
+ "requires": [
+ "WordPress"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "/wp-content/plugins/jet-engine/"
+ ],
+ "website": "https://crocoblock.com/plugins/jetengine"
+ },
"Jetpack": {
"cats": [
87
@@ -493,6 +523,7 @@
"cats": [
22
],
+ "description": "Jetty is an open-source web server and servlet container known for its scalability and efficiency, supporting protocols like HTTP and WebSocket for various applications from development tools to cloud services.",
"headers": {
"Server": "Jetty(?:\\(([\\d\\.]*\\d+))?\\;version:\\1"
},
@@ -500,9 +531,8 @@
"implies": [
"Java"
],
- "website": "https://www.eclipse.org/jetty",
"oss": true,
- "description": "Jetty is an open-source web server and servlet container known for its scalability and efficiency, supporting protocols like HTTP and WebSocket for various applications from development tools to cloud services."
+ "website": "https://www.eclipse.org/jetty"
},
"Jibres": {
"cats": [
@@ -603,11 +633,11 @@
"cpe": "cpe:2.3:a:jitsi:jitsi:*:*:*:*:*:*:*:*",
"description": "Jitsi is a free and open-source multiplatform voice (VoIP), videoconferencing and instant messaging applications for the web platform.",
"icon": "Jitsi.svg",
+ "oss": true,
"scriptSrc": [
"lib-jitsi-meet.*\\.js"
],
- "website": "https://jitsi.org",
- "oss": true
+ "website": "https://jitsi.org"
},
"Jive": {
"cats": [
@@ -783,6 +813,9 @@
"generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1"
},
"oss": true,
+ "scriptSrc": [
+ "(?:^|/)(feed/com_|components/com_)"
+ ],
"url": [
"option=com_"
],
@@ -1115,6 +1148,7 @@
12,
59
],
+ "description": "jComponent is a platform offering open-source web components and icons for easy integration into web projects.",
"icon": "jComponent.svg",
"implies": [
"jQuery"
@@ -1122,9 +1156,8 @@
"js": {
"MAIN.version": "(.*)\\;version:\\1"
},
- "website": "https://componentator.com",
"oss": true,
- "description": "jComponent is a platform offering open-source web components and icons for easy integration into web projects."
+ "website": "https://componentator.com"
},
"jPlayer": {
"cats": [
@@ -1171,7 +1204,8 @@
"icon": "jQuery.svg",
"js": {
"$.fn.jquery": "([\\d.]+)\\;version:\\1",
- "jQuery.fn.jquery": "([\\d.]+)\\;version:\\1"
+ "jQuery.fn.jquery": "([\\d.]+)\\;version:\\1",
+ "jQuery.prototype.jquery": "([\\d.]+)\\;version:\\1"
},
"scriptSrc": [
"jquery",
@@ -1223,7 +1257,7 @@
"jQuery"
],
"js": {
- "jQuery.migrateVersion": "((?:\\d+\\.){1,2}\\d+)\\;version:\\1",
+ "jQuery.migrateVersion": "([\\d.]+)\\;version:\\1",
"jQuery.migrateWarnings": "",
"jqueryMigrate": ""
},
diff --git a/src/technologies/k.json b/src/technologies/k.json
index f30a9b1e..92ea08e0 100644
--- a/src/technologies/k.json
+++ b/src/technologies/k.json
@@ -18,6 +18,7 @@
"cats": [
19
],
+ "description": "K2 is a content management extension for Joomla, developed by JoomlaWorks, that enhances Joomla's capabilities by providing features like rich content forms, nested categories, tags, comments, and more.",
"html": [
"",
@@ -2051,11 +2304,7 @@
" ]+\\blocalfocus\\b"
],
@@ -2174,19 +2427,15 @@
"Angular",
"D3"
],
- "website": "https://www.localfocus.nl/en/",
- "saas": true,
- "dom": [
- "iframe[src*='//localfocus2.appspot.com/']"
- ],
"js": {
"LFlegacyManipulate": ""
},
- "description": "LocalFocus is a data visualization platform that allows users to create interactive maps, charts, and infographics from various data sources.",
"pricing": [
"mid",
"recurring"
- ]
+ ],
+ "saas": true,
+ "website": "https://www.localfocus.nl/en/"
},
"Localised": {
"cats": [
@@ -2256,6 +2505,7 @@
"cats": [
1
],
+ "description": "LocomotiveCMS is a Ruby on Rails-based content management system (CMS) known for its flexibility and developer-friendly approach to building and managing websites.",
"html": [
" ]*/sites/[a-z\\d]{24}/theme/stylesheets"
],
@@ -2264,9 +2514,8 @@
"Ruby on Rails",
"MongoDB"
],
- "website": "https://www.locomotivecms.com",
"oss": true,
- "description": "LocomotiveCMS is a Ruby on Rails-based content management system (CMS) known for its flexibility and developer-friendly approach to building and managing websites."
+ "website": "https://www.locomotivecms.com"
},
"Lodash": {
"cats": [
@@ -2314,7 +2563,7 @@
],
"saas": true,
"scriptSrc": [
- "websites-static\\.lodgify\\.com/"
+ "\\.lodgify\\.com/"
],
"website": "https://www.lodgify.com"
},
@@ -2422,13 +2671,13 @@
"description": "Loglib is a Open Source and Privacy-First web analytics that aims to provide simple yet can be powerful based on your needs.",
"icon": "Loglib.svg",
"js": {
- "lli": "",
- "llc": ""
+ "llc": "",
+ "lli": ""
},
+ "oss": true,
"pricing": [
"freemium"
],
- "oss": true,
"saas": true,
"website": "https://www.loglib.io"
},
@@ -2450,6 +2699,7 @@
"cats": [
6
],
+ "description": "Loja Integrada is an all-in-one platform for building and managing online stores, tailored for the Brazilian market.",
"headers": {
"X-Powered-By": "vtex-integrated-store"
},
@@ -2457,14 +2707,13 @@
"js": {
"LOJA_ID": ""
},
- "website": "https://lojaintegrada.com.br",
- "saas": true,
- "description": "Loja Integrada is an all-in-one platform for building and managing online stores, tailored for the Brazilian market.",
"pricing": [
"freemium",
"low",
"recurring"
- ]
+ ],
+ "saas": true,
+ "website": "https://lojaintegrada.com.br"
},
"Loja Mestre": {
"cats": [
@@ -2529,7 +2778,9 @@
103
],
"dns": {
- "TXT": "loom-verification"
+ "TXT": [
+ "loom-verification"
+ ]
},
"icon": "Loom.svg",
"pricing": [
@@ -2814,8 +3065,8 @@
"implies": [
"Java"
],
- "website": "https://lucene.apache.org/core/",
- "oss": true
+ "oss": true,
+ "website": "https://lucene.apache.org/core/"
},
"Lucide": {
"cats": [
@@ -2859,7 +3110,8 @@
],
"icon": "Luigisbox.svg",
"js": {
- "Luigis": ""
+ "Luigis": "",
+ "LuigisBox": ""
},
"website": "https://www.luigisbox.com"
},
@@ -2878,6 +3130,21 @@
"oss": true,
"website": "https://lume.land"
},
+ "Lumino": {
+ "cats": [
+ 10
+ ],
+ "description": "Lumino is a data platform that helps Shopify brands optimize marketing, conversions, and user experience by leveraging data.",
+ "icon": "Lumino.svg",
+ "requires": [
+ "Shopify"
+ ],
+ "saas": true,
+ "scripts": [
+ "api\\.getlumino\\.ai"
+ ],
+ "website": "https://getlumino.ai"
+ },
"Lumio": {
"cats": [
10
@@ -2985,6 +3252,22 @@
],
"website": "https://lunrjs.com/"
},
+ "Luveedu Cloud": {
+ "cats": [
+ 88
+ ],
+ "description": "Luveedu Cloud is a domain and web hosting platform.",
+ "icon": "LuveeduCloud.svg",
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "cdn\\.luveedu\\.com/"
+ ],
+ "website": "https://cloud.luveedu.com"
+ },
"Lychee": {
"cats": [
7
diff --git a/src/technologies/m.json b/src/technologies/m.json
index bdc06fa8..57f5e052 100644
--- a/src/technologies/m.json
+++ b/src/technologies/m.json
@@ -211,6 +211,10 @@
],
"cpe": "cpe:2.3:a:modx:modx_revolution:*:*:*:*:*:*:*:*",
"description": "MODX (originally MODx) is an open source content management system and web application framework for publishing content on the World Wide Web and intranets.",
+ "dom": [
+ "form[id*='ajaxSearch_form']",
+ "input[id*='ajaxSearch_input']"
+ ],
"headers": {
"X-Powered-By": "^MODX"
},
@@ -274,6 +278,22 @@
],
"website": "https://www.mrw.es"
},
+ "MSAAQ": {
+ "cats": [
+ 6
+ ],
+ "description": "MSAAQ is a platform that allows users to create, sell, and manage their products or services from a single location.",
+ "icon": "MSAAQ.svg",
+ "meta": {
+ "generator": "msaaq\\.com"
+ },
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://msaaq.com"
+ },
"MSHOP": {
"cats": [
6
@@ -355,12 +375,12 @@
"cats": [
18
],
+ "cpe": "cpe:2.3:a:go-macaron:macaron:*:*:*:*:*:*:*:*",
"description": "Macaron is a high productive and modular web framework in Go.",
"icon": "Macaron.svg",
"implies": [
"Go"
],
- "cpe": "cpe:2.3:a:go-macaron:macaron:*:*:*:*:*:*:*:*",
"website": "https://go-macaron.com"
},
"MachoThemes NewsMag": {
@@ -416,6 +436,21 @@
"saas": true,
"website": "https://www.madcapsoftware.com"
},
+ "MadKudu": {
+ "cats": [
+ 32
+ ],
+ "description": "MadKudu is a platform that enhances sales and marketing systems by providing actionable predictive analytics, enabling businesses to optimize strategies with data-driven insights.",
+ "dom": [
+ "link[href*='cdn.madkudu.com']"
+ ],
+ "icon": "MadKudu.svg",
+ "saas": true,
+ "scriptSrc": [
+ "cdn\\.madkudu\\.com"
+ ],
+ "website": "https://www.madkudu.com"
+ },
"Magazord": {
"cats": [
6
@@ -431,6 +466,23 @@
"saas": true,
"website": "https://www.magazord.com.br"
},
+ "MageMail": {
+ "cats": [
+ 75
+ ],
+ "description": "MageMail is a triggered email application for Magento that helps online retailers enhance customer engagement and increase revenue.",
+ "icon": "MageMail.svg",
+ "js": {
+ "Mage.Cookies": "",
+ "MageMailData.capture_email": "",
+ "MageRewards": ""
+ },
+ "requires": [
+ "Magento"
+ ],
+ "saas": true,
+ "website": "https://magemail.co"
+ },
"MageWorx Search Autocomplete": {
"cats": [
29
@@ -508,6 +560,19 @@
"oss": true,
"website": "https://github.com/magewirephp/magewire"
},
+ "Magic UI": {
+ "cats": [
+ 66
+ ],
+ "description": "Magic UI is a UI library featuring open-source animated components built with React, TypeScript, Tailwind CSS, and Framer Motion.",
+ "dom": [
+ "iframe[src*='.magicui.design']",
+ "a[href*='magicui.design'] > video[src*='cdn.magicui.design']"
+ ],
+ "icon": "MagicUI.svg",
+ "oss": true,
+ "website": "https://magicui.design/"
+ },
"Magisto": {
"cats": [
14
@@ -989,6 +1054,24 @@
},
"website": "https://www.makeshop.co.kr"
},
+ "Maker": {
+ "cats": [
+ 6
+ ],
+ "description": "Maker is a platform that enables the creation, management, and optimization of ecommerce content without requiring coding knowledge.",
+ "icon": "Maker.svg",
+ "js": {
+ "MakerEmbeds.run": "",
+ "MakerEnhance": "",
+ "MakerEnhanceEmbed": "",
+ "MakerExperiment": ""
+ },
+ "pricing": [
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://www.maker.co"
+ },
"Malomo": {
"cats": [
107
@@ -1450,6 +1533,18 @@
],
"website": "https://marker.io"
},
+ "MarketHero": {
+ "cats": [
+ 32
+ ],
+ "description": "Market Hero is a platform that automates ROI calculations for ecommerce businesses, streamlining financial performance tracking and providing data-driven insights.",
+ "icon": "MarketHero.svg",
+ "saas": true,
+ "scripts": [
+ "tracking\\.markethero\\.io"
+ ],
+ "website": "https://markethero.io"
+ },
"MarketPlan": {
"cats": [
10,
@@ -1598,6 +1693,26 @@
],
"website": "https://www.marsx.dev"
},
+ "Marsello": {
+ "cats": [
+ 84
+ ],
+ "cookies": {
+ "marselloExitPopup": ""
+ },
+ "description": "Marsello is an omnichannel loyalty platform that integrates with sales channels, enhancing customer engagement and retention by providing a unified experience across various points of sale.",
+ "icon": "Marsello.svg",
+ "pricing": [
+ "mid",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "scripts": [
+ "app\\.marsello\\.com"
+ ],
+ "website": "https://www.marsello.com"
+ },
"Massflow": {
"cats": [
10
@@ -1659,6 +1774,29 @@
"icon": "Mastercard.svg",
"website": "https://www.mastercard.com"
},
+ "Masteriyo": {
+ "cats": [
+ 21
+ ],
+ "description": "Masteriyo is a course creation and monetization tool for WordPress.",
+ "dom": [
+ "style[id*='masteriyo-public-inline-css']"
+ ],
+ "icon": "Masteriyo.svg",
+ "js": {
+ "_MASTERIYO_WISHLIST_ADDON_": ""
+ },
+ "pricing": [
+ "freemium",
+ "low",
+ "recurring",
+ "onetime"
+ ],
+ "requires": [
+ "WordPress"
+ ],
+ "website": "https://masteriyo.com"
+ },
"MasterkinG32 Framework": {
"cats": [
18
@@ -1680,11 +1818,11 @@
"cookies": {
"_mastodon_session": ""
},
+ "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
"description": "Mastodon is a free and open-source self-hosted social networking service.",
"headers": {
"Server": "^Mastodon$"
},
- "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
"icon": "Mastodon.svg",
"website": "https://joinmastodon.org"
},
@@ -1704,6 +1842,18 @@
],
"website": "https://mapp.sa"
},
+ "Matchi": {
+ "cats": [
+ 72
+ ],
+ "description": "Matchi is a platform for racket sports enthusiasts to search, book, and play tennis, badminton, table tennis, squash, or padel.",
+ "icon": "Matchi.svg",
+ "saas": true,
+ "scriptSrc": [
+ "\\.matchi\\.com/"
+ ],
+ "website": "https://www.matchi.se"
+ },
"Material Design Lite": {
"cats": [
66
@@ -1740,6 +1890,7 @@
"cats": [
25
],
+ "cpe": "cpe:2.3:a:mathjax:mathjax:*:*:*:*:*:*:*:*",
"description": "MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup.",
"icon": "MathJax.svg",
"js": {
@@ -1749,7 +1900,6 @@
"scriptSrc": [
"([\\d.]+)?/mathjax\\.js\\;version:\\1"
],
- "cpe": "cpe:2.3:a:mathjax:mathjax:*:*:*:*:*:*:*:*",
"website": "https://www.mathjax.org"
},
"Matjrah": {
@@ -1780,7 +1930,9 @@
"icon": "Matomo.svg",
"js": {
"Matomo": "",
- "Piwik": ""
+ "Piwik": "",
+ "matomoSitesIDS": "",
+ "matomoTrackPage": ""
},
"meta": {
"apple-itunes-app": "app-id=737216887",
@@ -1832,15 +1984,15 @@
],
"description": "Matter.js is a JavaScript 2D rigid body physics engine for the web.",
"icon": "MatterJs.svg",
+ "js": {
+ "Matter.version": "^(.+)$\\;version:\\1"
+ },
"oss": true,
+ "saas": true,
"scriptSrc": [
"matter(?:-wrap)?(?:\\/demo\\/js\\/lib(?:\\/matter-tools\\/jquery)?(?:\\/decomp)?)?(?:\\/?-?((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1"
],
- "website": "https://brm.io/matter-js",
- "saas": true,
- "js": {
- "Matter.version": "^(.+)$\\;version:\\1"
- }
+ "website": "https://brm.io/matter-js"
},
"Mattermost": {
"cats": [
@@ -1863,8 +2015,6 @@
"mm_user": "",
"webpackChunkmattermost_webapp": ""
},
- "website": "https://about.mattermost.com",
- "saas": true,
"meta": {
"application-name": "^Mattermost$"
},
@@ -1873,7 +2023,9 @@
"low",
"recurring",
"poa"
- ]
+ ],
+ "saas": true,
+ "website": "https://about.mattermost.com"
},
"Mautic": {
"cats": [
@@ -1892,6 +2044,25 @@
],
"website": "https://www.mautic.org/"
},
+ "Mava": {
+ "cats": [
+ 52
+ ],
+ "description": "Mava is an AI-driven customer support platform that scales customer support and success by connecting to private, group, and community channels.",
+ "icon": "Mava.svg",
+ "js": {
+ "Mava.identify": "",
+ "MavaWebChatToggle": ""
+ },
+ "pricing": [
+ "freemium",
+ "mid",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://www.mava.app"
+ },
"Mavo": {
"cats": [
59
@@ -1969,6 +2140,7 @@
"cats": [
1
],
+ "description": "MaxSite CMS is a PHP-based content management system from Ukraine.",
"icon": "MaxSite CMS.svg",
"implies": [
"PHP"
@@ -1976,9 +2148,8 @@
"meta": {
"generator": "MaxSite CMS"
},
- "website": "https://max-3000.com",
"oss": true,
- "description": "MaxSite CMS is a PHP-based content management system from Ukraine."
+ "website": "https://max-3000.com"
},
"Maxemail": {
"cats": [
@@ -2008,6 +2179,18 @@
"oss": true,
"website": "https://cms.maxencedev.fr"
},
+ "Mazrica": {
+ "cats": [
+ 53
+ ],
+ "description": "Mazrica is a sales support tool that leverages organizational knowledge, using AI algorithms to analyze accumulated sales data and evaluate success and failure cases.",
+ "icon": "Mazrica.svg",
+ "saas": true,
+ "scriptSrc": [
+ "\\.mazrica\\.com/"
+ ],
+ "website": "https://mazrica.com"
+ },
"Measured": {
"cats": [
10
@@ -2157,6 +2340,9 @@
"cats": [
6
],
+ "cookies": {
+ "medusa.sid": ""
+ },
"description": "Medusa is an open-source ecommerce platform that enables users to create online stores.",
"dom": [
"div.content-container > a[href*='www.medusajs.com'], a[href*='mailto:hello@medusajs.com']"
@@ -2190,6 +2376,21 @@
],
"website": "https://bookmenow.info"
},
+ "Meetup Express": {
+ "cats": [
+ 72
+ ],
+ "cookies": {
+ "meetup_express_quick_appointment_session": ""
+ },
+ "description": "Meetup Express is an appointment scheduling system designed to simplify booking and managing meetings.",
+ "icon": "MeetupExpress.svg",
+ "pricing": [
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://meetupexpress.com"
+ },
"Megagroup CMS.S3": {
"cats": [
1
@@ -2229,6 +2430,9 @@
"recurring"
],
"saas": true,
+ "scripts": [
+ "\\.meilisearch\\.com"
+ ],
"website": "https://www.meilisearch.com"
},
"Meks Simple Flickr Widget": {
@@ -2342,6 +2546,24 @@
"saas": true,
"website": "https://www.mendix.com"
},
+ "Mentad": {
+ "cats": [
+ 32
+ ],
+ "description": "Mentad is a predictive marketing platform to acquire new customers.",
+ "js": {
+ "mentad_website_id": ""
+ },
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "scripts": [
+ "mentad_website_id"
+ ],
+ "website": "https://www.mentad.com"
+ },
"Mention Me": {
"cats": [
94
@@ -2401,6 +2623,9 @@
"_mshops_ga_gid": ""
},
"description": "Mercado Shops is an all-in-one ecommerce platform.",
+ "dom": [
+ "link[href*='.mercadolibre.com']"
+ ],
"icon": "Mercado Shops.svg",
"pricing": [
"payg"
@@ -2409,10 +2634,19 @@
"scriptSrc": [
"frontend-assets/mshops-web-home/vendor"
],
- "website": "https://www.mercadoshops.com",
- "dom": [
- "link[href*='.mercadolibre.com']"
- ]
+ "website": "https://www.mercadoshops.com"
+ },
+ "Mercer": {
+ "cats": [
+ 101
+ ],
+ "description": "Mercer is a platform that supports companies in transforming talent, health, retirement, and investment strategies to enhance overall performance and outcomes.",
+ "icon": "Mercer.svg",
+ "saas": true,
+ "scriptSrc": [
+ "career-analytics\\.mercer\\.com/"
+ ],
+ "website": "https://www.mercer.com"
},
"Merit": {
"cats": [
@@ -2492,6 +2726,10 @@
12,
18
],
+ "description": "Meteor is a JavaScript-based platform used for developing web and mobile applications with a unified language across all layers of the application stack.",
+ "dom": [
+ "link.__meteor-css__"
+ ],
"html": [
" ]+__meteor-css__"
],
@@ -2504,12 +2742,8 @@
"Meteor": "",
"Meteor.release": "^METEOR@([\\d.]+)\\;version:\\1"
},
- "website": "https://www.meteor.com",
"oss": true,
- "dom": [
- "link.__meteor-css__"
- ],
- "description": "Meteor is a JavaScript-based platform used for developing web and mobile applications with a unified language across all layers of the application stack."
+ "website": "https://www.meteor.com"
},
"Methode": {
"cats": [
@@ -2532,19 +2766,19 @@
"cats": [
67
],
- "icon": "metomic.svg",
- "scriptSrc": [
- "metomic\\.js"
- ],
- "website": "https://metomic.io",
- "saas": true,
+ "description": "Metomic is a platform that helps businesses manage and comply with data privacy regulations, offering tools for consent management, data governance, and compliance with data privacy laws such as GDPR and CCPA.",
"dom": [
"link[href*='.metomic.io']"
],
- "description": "Metomic is a platform that helps businesses manage and comply with data privacy regulations, offering tools for consent management, data governance, and compliance with data privacy laws such as GDPR and CCPA.",
+ "icon": "metomic.svg",
"pricing": [
"poa"
- ]
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "metomic\\.js"
+ ],
+ "website": "https://metomic.io"
},
"MetricsCube": {
"cats": [
@@ -2637,10 +2871,10 @@
87
],
"description": "Set a custom profile image for a user using the standard WordPress media upload tool.",
- "icon": "Metronet Profile Picture.png",
"dom": [
"link[href*='/wp-content/plugins/metronet-profile-picture/']"
],
+ "icon": "Metronet Profile Picture.png",
"oss": true,
"requires": [
"WordPress"
@@ -2691,7 +2925,7 @@
},
"Mginex": {
"cats": [
- 108
+ 6
],
"description": "Mginex is an online store website creation platform.",
"icon": "Mginex.svg",
@@ -2704,6 +2938,25 @@
],
"website": "https://mginex.com"
},
+ "Miappi": {
+ "cats": [
+ 96
+ ],
+ "description": "Miappi is a user-generated content platform designed to build trust and boost sales for brands.",
+ "dom": [
+ "script[data-src*='web.miappi.com']"
+ ],
+ "icon": "Miappi.svg",
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "web\\.miappi\\.com/"
+ ],
+ "website": "https://miappi.com"
+ },
"MichiJS": {
"cats": [
47
@@ -3009,6 +3262,7 @@
"cats": [
1
],
+ "cpe": "cpe:2.3:a:microweber:microweber:*:*:*:*:*:*:*:*",
"description": "Open Source drag and drop style hosted CMS system.",
"dom": [
"meta[content='Microweber']"
@@ -3022,7 +3276,6 @@
"scriptSrc": [
"[Mm]icroweber(?:\\/includes)?(?:\\/api)?(?:\\/libs)?[\\w\\.\\/-]{0,45}(?:\\.min)?\\.js"
],
- "cpe": "cpe:2.3:a:microweber:microweber:*:*:*:*:*:*:*:*",
"website": "https://microweber.com"
},
"Miestro": {
@@ -3251,6 +3504,35 @@
"saas": true,
"website": "https://mintlify.com"
},
+ "Mintox": {
+ "cats": [
+ 53
+ ],
+ "description": "Mintox is a business software designed to streamline operations and enhance efficiency.",
+ "icon": "Mintox.svg",
+ "js": {
+ "MintoxJS": "",
+ "mintoxPaging": "",
+ "mintoxTrim": ""
+ },
+ "meta": {
+ "author": "^Mintox"
+ },
+ "saas": true,
+ "website": "https://www.mintox.com"
+ },
+ "Mirador": {
+ "cats": [
+ 95
+ ],
+ "description": "Mirador is a platform designed to enhance customer acquisition, streamline digital loan applications, and enable intelligent product routing and digitization.",
+ "icon": "Mirador.svg",
+ "saas": true,
+ "scriptSrc": [
+ "\\.miradorfin\\.com"
+ ],
+ "website": "https://www.miradortech.com"
+ },
"Mirai": {
"cats": [
53
@@ -3287,10 +3569,32 @@
"\\.askmiso\\.com/"
]
},
+ "MissionSuite": {
+ "cats": [
+ 32,
+ 53
+ ],
+ "description": "Mission Suite is an all-in-one marketing software solution which combines CRM, email marketing, marketing automation, and inbound marketing tools.",
+ "icon": "MissionSuite.svg",
+ "pricing": [
+ "mid",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "app\\.themissionsuite\\.com"
+ ],
+ "scripts": [
+ "app\\.themissionsuite\\.com"
+ ],
+ "website": "https://www.themissionsuite.com"
+ },
"Misskey": {
"cats": [
2
],
+ "cpe": "cpe:2.3:a:misskey:misskey:*:*:*:*:*:*:*:*",
"description": "Misskey is a distributed microblogging platform.",
"html": [
""
@@ -3299,7 +3603,6 @@
"meta": {
"application-name": "Misskey"
},
- "cpe": "cpe:2.3:a:misskey:misskey:*:*:*:*:*:*:*:*",
"website": "https://join.misskey.page/"
},
"Mithril": {
@@ -3334,7 +3637,9 @@
],
"description": "Mittwald is a web hosting agency, established in 2003 in Espelkamp, Germany",
"dns": {
- "SOA": "ns\\d+\\.agenturserver\\.(?:de|co|it)"
+ "SOA": [
+ "ns\\d+\\.agenturserver\\.(?:de|co|it)"
+ ]
},
"icon": "Mittwald.svg",
"pricing": [
@@ -3661,16 +3966,28 @@
"Webpack"
],
"scripts": [
- "data-webpack\\;confidence:50",
"Container initialization failed as it has already been initialized with a different share scope"
],
"website": "https://webpack.js.org/concepts/module-federation/"
},
+ "Modulify": {
+ "cats": [
+ 51
+ ],
+ "description": "Modulify is a platform that enables the creation and deployment of scalable websites.",
+ "dom": [
+ "html[data-wf-domain^='mdlfy-']"
+ ],
+ "icon": "Modulify.svg",
+ "saas": true,
+ "website": "https://modulify.ai"
+ },
"Moguta.CMS": {
"cats": [
1,
6
],
+ "description": "Moguta is a Russian-based ecommerce platform that provides tools and solutions for creating and managing online stores.",
"html": [
" ]+href=[\"'][^\"]+mg-(?:core|plugins|templates)/"
],
@@ -3678,17 +3995,16 @@
"implies": [
"PHP"
],
- "scriptSrc": [
- "mg-(?:core|plugins|templates)/"
- ],
- "website": "https://moguta.ru",
- "saas": true,
- "description": "Moguta is a Russian-based ecommerce platform that provides tools and solutions for creating and managing online stores.",
"pricing": [
"recurring",
"onetime",
"low"
- ]
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "mg-(?:core|plugins|templates)/"
+ ],
+ "website": "https://moguta.ru"
},
"MoinMoin": {
"cats": [
@@ -3734,6 +4050,8 @@
"cats": [
18
],
+ "cpe": "cpe:2.3:a:mojolicious:mojolicious:*:*:*:*:*:*:*:*",
+ "description": "Mojolicious is a Perl-based web framework designed for building web applications and APIs.",
"headers": {
"server": "^mojolicious",
"x-powered-by": "mojolicious"
@@ -3742,10 +4060,24 @@
"implies": [
"Perl"
],
- "cpe": "cpe:2.3:a:mojolicious:mojolicious:*:*:*:*:*:*:*:*",
- "website": "https://mojolicio.us",
"oss": true,
- "description": "Mojolicious is a Perl-based web framework designed for building web applications and APIs."
+ "website": "https://mojolicio.us"
+ },
+ "Mokini": {
+ "cats": [
+ 32
+ ],
+ "description": "Mokini is a marketing automation platform designed for ecommerce businesses with customizable templates, user segmentation, and scheduling.",
+ "icon": "Mokini.svg",
+ "js": {
+ "mokiniSettings": ""
+ },
+ "pricing": [
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://www.mokini.com"
},
"Mokka": {
"cats": [
@@ -3760,6 +4092,27 @@
],
"website": "https://mokka.ro"
},
+ "Molin AI": {
+ "cats": [
+ 53
+ ],
+ "description": "Molin AI is a multilingual tool that reduces support volume by 70%, recommends relevant products to shoppers, and uses up-to-date information from client websites to enhance store revenue.",
+ "icon": "MolinAI.svg",
+ "js": {
+ "__INIT_MOLIN_SHOP_AI": "",
+ "__INIT_MOLIN_SHOP_AI_OPTIONS": ""
+ },
+ "pricing": [
+ "freemium",
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "\\.molin\\.ai/"
+ ],
+ "website": "https://molin.ai"
+ },
"Mollie": {
"cats": [
41
@@ -3812,6 +4165,7 @@
"cats": [
59
],
+ "description": "Moment Timezone is a library built upon Moment.js, extending its capabilities to handle time zones in JavaScript. It allows developers to parse, manipulate, and display dates and times in various time zones, providing comprehensive support for time zone conversions and adjustments in web applications.",
"icon": "Moment Timezone.svg",
"implies": [
"Moment.js"
@@ -3819,8 +4173,7 @@
"scriptSrc": [
"moment-timezone(?:-data)?(?:\\.min)?\\.js"
],
- "website": "https://momentjs.com/timezone/",
- "description": "Moment Timezone is a library built upon Moment.js, extending its capabilities to handle time zones in JavaScript. It allows developers to parse, manipulate, and display dates and times in various time zones, providing comprehensive support for time zone conversions and adjustments in web applications."
+ "website": "https://momentjs.com/timezone/"
},
"Moment.js": {
"cats": [
@@ -3892,12 +4245,12 @@
"cats": [
6
],
+ "description": "Mondo Media is a German digital agency that specializes in web design, development, digital marketing, and ecommerce solutions tailored to businesses and organizations.",
"icon": "Mondo Media.svg",
"meta": {
"generator": "Mondo Shop"
},
- "website": "https://mondo-media.de",
- "description": "Mondo Media is a German digital agency that specializes in web design, development, digital marketing, and ecommerce solutions tailored to businesses and organizations."
+ "website": "https://mondo-media.de"
},
"Moneris": {
"cats": [
@@ -4019,18 +4372,19 @@
18
],
"cpe": "cpe:2.3:a:mono:mono:*:*:*:*:*:*:*:*",
+ "description": "Mono is an open-source platform that enables developers to create and run .NET applications across different operating systems, facilitating cross-platform compatibility.",
"headers": {
"X-Powered-By": "Mono"
},
"icon": "Mono.svg",
- "website": "https://mono-project.com",
"oss": true,
- "description": "Mono is an open-source platform that enables developers to create and run .NET applications across different operating systems, facilitating cross-platform compatibility."
+ "website": "https://mono-project.com"
},
"Mono.net": {
"cats": [
51
],
+ "description": "Mono.net is a website builder platform designed for businesses to create and manage their own websites with hosting and online presence tools.",
"icon": "Mono.net.svg",
"implies": [
"Matomo Analytics"
@@ -4041,8 +4395,23 @@
"scriptSrc": [
"monotracker(?:\\.min)?\\.js"
],
- "website": "https://www.mono.net/en",
- "description": "Mono.net is a website builder platform designed for businesses to create and manage their own websites with hosting and online presence tools."
+ "website": "https://www.mono.net/en"
+ },
+ "Monocle": {
+ "cats": [
+ 32
+ ],
+ "description": "Monocle is an AI-powered platform that optimizes incentives to boost profits while maintaining brand equity and margins.",
+ "icon": "Monocle.svg",
+ "js": {
+ "monocle.config": "",
+ "monocle_popup_id_variants": ""
+ },
+ "saas": true,
+ "scriptSrc": [
+ "\\.usemonocle\\.com/"
+ ],
+ "website": "https://www.usemonocle.com"
},
"Monsido": {
"cats": [
@@ -4114,17 +4483,17 @@
12
],
"cpe": "cpe:2.3:a:mootools:mootools:*:*:*:*:*:*:*:*",
+ "description": "MooTools is a JavaScript framework that enhances web application development with utilities for DOM manipulation, animations, and AJAX interactions.",
"icon": "MooTools.svg",
"js": {
"MooTools": "",
"MooTools.version": "^(.+)$\\;version:\\1"
},
+ "oss": true,
"scriptSrc": [
"mootools.*\\.js"
],
- "website": "https://mootools.net",
- "oss": true,
- "description": "MooTools is a JavaScript framework that enhances web application development with utilities for DOM manipulation, animations, and AJAX interactions."
+ "website": "https://mootools.net"
},
"Moodle": {
"cats": [
@@ -4182,6 +4551,22 @@
"saas": true,
"website": "https://www.mooveagency.com/wordpress/gdpr-cookie-compliance-plugin"
},
+ "Moovin": {
+ "cats": [
+ 6
+ ],
+ "description": "Moovin is an ecommerce platform.",
+ "icon": "Moovin.svg",
+ "pricing": [
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "\\.moovin\\.(com|store)"
+ ],
+ "website": "https://moovin.com.br"
+ },
"Mopinion": {
"cats": [
13
@@ -4297,6 +4682,9 @@
1
],
"cpe": "cpe:2.3:a:motocms:motocms:*:*:*:*:*:*:*:*",
+ "dom": [
+ "link[href*='/mt-content/assets/styles.css']"
+ ],
"html": [
" ]*href=\"[^>]*\\/mt-content\\/[^>]*\\.css"
],
@@ -4311,6 +4699,25 @@
],
"website": "https://motocms.com"
},
+ "Mottle": {
+ "cats": [
+ 52
+ ],
+ "description": "Mottle is a custom chatbot creation tool that allows users to build expressive ChatGPT-like chatbots using their own data.",
+ "dom": [
+ "link[href*='embed.mottle.com/']"
+ ],
+ "icon": "Mottle.svg",
+ "js": {
+ "Mottle": ""
+ },
+ "pricing": [
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://mottle.com"
+ },
"Mottor": {
"cats": [
51
@@ -4395,17 +4802,34 @@
"saas": true,
"website": "https://moveo.ai"
},
+ "MoverBase": {
+ "cats": [
+ 19
+ ],
+ "description": "MoverBase is a software solution that includes features designed to support the management of a moving company.",
+ "icon": "MoverBase.svg",
+ "pricing": [
+ "freemium",
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "lead\\.moverbase\\.com/"
+ ],
+ "website": "https://www.moverbase.com"
+ },
"Moxie": {
"cats": [
5,
68
],
"description": "Pollyfills for XHR2 and File API",
- "website": "https://github.com/moxiecode/moxie",
"oss": true,
"scriptSrc": [
"moxie(?:\\.min)?\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1"
- ]
+ ],
+ "website": "https://github.com/moxiecode/moxie"
},
"Mozard Suite": {
"cats": [
@@ -4441,6 +4865,20 @@
],
"website": "https://mudblazor.com/"
},
+ "Mul-Pay": {
+ "cats": [
+ 41
+ ],
+ "description": "Mul-Pay is a payment gateway platform from Japan.",
+ "js": {
+ "Multipayment.config": ""
+ },
+ "saas": true,
+ "scriptSrc": [
+ "static\\.mul-pay\\.jp/"
+ ],
+ "website": "https://static.mul-pay.jp"
+ },
"Mulberry": {
"cats": [
5
@@ -4611,17 +5049,17 @@
"cats": [
6
],
+ "description": "MyCashFlow is an ecommerce platform based in Finland that provides tools and services for businesses to create, manage, and optimize online stores.",
"headers": {
"X-MCF-ID": ""
},
"icon": "mycashflow.svg",
- "website": "https://www.mycashflow.fi",
- "description": "MyCashFlow is an ecommerce platform based in Finland that provides tools and services for businesses to create, manage, and optimize online stores.",
- "saas": true,
"pricing": [
"mid",
"recurring"
- ]
+ ],
+ "saas": true,
+ "website": "https://www.mycashflow.fi"
},
"MyFonts": {
"cats": [
@@ -4778,6 +5216,21 @@
},
"website": "https://myhkw.cn"
},
+ "Myli": {
+ "cats": [
+ 90
+ ],
+ "description": "Myli is a platform enhancing customer experience, streamlining reputation management, and facilitating consumer acquisition.",
+ "icon": "Myli.svg",
+ "js": {
+ "myli_push.geolocate": ""
+ },
+ "saas": true,
+ "scriptSrc": [
+ "cdn-app\\.myli\\.io/"
+ ],
+ "website": "https://www.myli.io"
+ },
"Mynetcap": {
"cats": [
1
@@ -4958,20 +5411,39 @@
"payg"
],
"saas": true,
+ "scripts": [
+ "microCMS:"
+ ],
"website": "https://microcms.io",
"xhr": [
"\\.microcms\\.io"
]
},
+ "miniCal": {
+ "cats": [
+ 1
+ ],
+ "description": "miniCal is an open-source property management system.",
+ "icon": "miniCal.svg",
+ "js": {
+ "miniCal.projectUrl": "app\\.minical\\.io"
+ },
+ "oss": true,
+ "pricing": [
+ "freemium",
+ "poa"
+ ],
+ "website": "https://www.minical.io"
+ },
"mini_httpd": {
"cats": [
22
],
+ "cpe": "cpe:2.3:a:acme:mini_httpd:*:*:*:*:*:*:*:*",
"headers": {
"Server": "mini_httpd(?:/([\\d.]+))?\\;version:\\1"
},
"icon": "mini_httpd.png",
- "cpe": "cpe:2.3:a:acme:mini_httpd:*:*:*:*:*:*:*:*",
"website": "https://acme.com/software/mini_httpd"
},
"mirrAR": {
diff --git a/src/technologies/n.json b/src/technologies/n.json
index 876b42c0..58e3c0ef 100644
--- a/src/technologies/n.json
+++ b/src/technologies/n.json
@@ -338,7 +338,7 @@
"cats": [
10
],
- "icon": "Navegg.png",
+ "icon": "Navegg.svg",
"scriptSrc": [
"tag\\.navdmp\\.com"
],
@@ -452,6 +452,41 @@
],
"website": "https://neatab.com"
},
+ "Nebula Sites": {
+ "cats": [
+ 51,
+ 88
+ ],
+ "description": "Nebula Sites is a platform that allows users to create, host, and manage websites.",
+ "dom": [
+ "link[ns^='Nebula Sites']"
+ ],
+ "icon": "NebulaSites.svg",
+ "pricing": [
+ "freemium",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://nebulasites.org"
+ },
+ "Neexa": {
+ "cats": [
+ 52
+ ],
+ "description": "Neexa is an AI-powered inquiry and sales agent designed to handle customer queries.",
+ "icon": "NeexaAI.svg",
+ "js": {
+ "neexa_xgmx_cc_wpq_ms": ""
+ },
+ "pricing": [
+ "freemium",
+ "mid",
+ "recurring"
+ ],
+ "saas": true,
+ "website": "https://neexa.ai"
+ },
"Nelio Testing": {
"cats": [
74
@@ -511,13 +546,13 @@
"implies": [
"Neos Flow"
],
+ "scriptSrc": [
+ "/Neos\\.Neos/"
+ ],
"url": [
"/neos/"
],
- "website": "https://neos.io",
- "scriptSrc": [
- "/Neos\\.Neos/"
- ]
+ "website": "https://neos.io"
},
"Neos Flow": {
"cats": [
@@ -567,14 +602,14 @@
"cookies": {
"NS_VER": "^([\\d\\.]+)$\\;version:\\1"
},
- "icon": "NetSuite.svg",
- "website": "https://netsuite.com",
"description": "NetSuite is a cloud-based enterprise resource planning (ERP) software suite that provides a comprehensive set of business management applications, including financial management, CRM, ecommerce, and more.",
- "saas": true,
+ "icon": "NetSuite.svg",
"pricing": [
"onetime",
"high"
- ]
+ ],
+ "saas": true,
+ "website": "https://netsuite.com"
},
"Netcore Cloud": {
"cats": [
@@ -722,6 +757,9 @@
"cookies": {
"nette-browser": ""
},
+ "dom": [
+ "input[data-nette-rules], div[id^='snippet-'], input[id^='frm-']"
+ ],
"headers": {
"X-Powered-By": "^Nette Framework"
},
@@ -738,10 +776,7 @@
"Nette": "",
"Nette.version": "^(.+)$\\;version:\\1"
},
- "website": "https://nette.org",
- "dom": [
- "input[data-nette-rules], div[id^='snippet-'], input[id^='frm-']"
- ]
+ "website": "https://nette.org"
},
"Network for Good": {
"cats": [
@@ -808,6 +843,18 @@
"saas": true,
"website": "https://newrelic.com"
},
+ "New UI": {
+ "cats": [
+ 66
+ ],
+ "description": "New UI is a framework designed for developing user interfaces for SaaS applications and websites.",
+ "icon": "NewUI.svg",
+ "saas": true,
+ "scripts": [
+ "data-new-ui-theme"
+ ],
+ "website": "https://new-ui.com/"
+ },
"NewStore": {
"cats": [
19
@@ -967,8 +1014,7 @@
"icon": "Next.js.svg",
"implies": [
"React",
- "Webpack",
- "Node.js"
+ "Webpack"
],
"js": {
"__NEXT_DATA__": "",
@@ -1022,16 +1068,16 @@
"--nextui-(?:colors-accents1|colors-text|space-0|fonts-sans|fonts-mono)"
],
"description": "NextUI allows you to make beautiful, modern, and fast websites/applications regardless of your design experience, created with React.js and Stitches, based on React Aria and inspired by Vuesax.",
+ "dom": [
+ "link[href*='nextui.org'][rel='canonical']"
+ ],
"icon": "NextUI.svg",
"implies": [
"React",
"Stitches"
],
"oss": true,
- "website": "https://nextui.org/",
- "dom": [
- "link[href*='nextui.org'][rel='canonical']"
- ]
+ "website": "https://nextui.org/"
},
"Nextcloud": {
"cats": [
@@ -1140,6 +1186,21 @@
"icon": "NexusPIPE.png",
"website": "https://nexuspipe.com"
},
+ "Nexxt": {
+ "cats": [
+ 101
+ ],
+ "description": "Nexxt is a job finder-based system designed to help users search for employment opportunities by matching skills and preferences with job listings across various industries.",
+ "icon": "Nexxt.svg",
+ "js": {
+ "_bydWto.host": "\\.nexxt\\.com"
+ },
+ "saas": true,
+ "scriptSrc": [
+ "\\.nexxt\\.com/"
+ ],
+ "website": "https://www.nexxt.com"
+ },
"Nginx": {
"cats": [
22,
@@ -1227,6 +1288,24 @@
"saas": true,
"website": "https://www.gonift.com"
},
+ "Nimbata": {
+ "cats": [
+ 10
+ ],
+ "description": "Nimbata is a call tracking and conversion attribution platform designed to help marketing professionals, teams, and agencies make informed decisions to improve campaign performance.",
+ "icon": "Nimbata.svg",
+ "pricing": [
+ "freemium",
+ "low",
+ "recurring",
+ "payg"
+ ],
+ "saas": true,
+ "scriptSrc": [
+ "\\.dni\\.nimbata\\.com/"
+ ],
+ "website": "https://www.nimbata.com"
+ },
"Ninja Forms": {
"cats": [
87,
@@ -1329,11 +1408,11 @@
],
"cpe": "cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*",
"description": "Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser.",
- "icon": "Node.js.svg",
- "website": "https://nodejs.org",
"dom": [
"div.appVersion i.icon-nodejs"
- ]
+ ],
+ "icon": "Node.js.svg",
+ "website": "https://nodejs.org"
},
"NodeBB": {
"cats": [
@@ -1634,6 +1713,26 @@
],
"website": "https://notix.co"
},
+ "Novel": {
+ "cats": [
+ 6
+ ],
+ "description": "Novel is a platform that allows users to drop NFTs and set up token-gated products, content, and discounts within minutes.",
+ "icon": "Novel.svg",
+ "js": {
+ "__NOVEL_STOREFRONT_SCRIPT_HAS_RUN__": "",
+ "__novel_cache__": "",
+ "fetchNovelSession": "",
+ "fetchNovelStorefrontData": ""
+ },
+ "pricing": [
+ "mid",
+ "recurring",
+ "poa"
+ ],
+ "saas": true,
+ "website": "https://www.novel.com"
+ },
"Nrdevo": {
"cats": [
1
@@ -1731,6 +1830,18 @@
],
"website": "https://www.nuqlium.com"
},
+ "Nurture Boss": {
+ "cats": [
+ 32
+ ],
+ "description": "Nurture Boss is an AI platform for engaging with prospects and residents, automating the leasing process from lead to renewal.",
+ "icon": "NurtureBoss.svg",
+ "saas": true,
+ "scriptSrc": [
+ "widget\\.nurtureboss\\.io/"
+ ],
+ "website": "https://nurtureboss.io"
+ },
"Nuvemshop": {
"cats": [
6
@@ -1751,6 +1862,24 @@
"saas": true,
"website": "https://www.nuvemshop.com.br"
},
+ "Nuxt UI": {
+ "cats": [
+ 66
+ ],
+ "description": "Nuxt UI is a customizable UI library designed for Nuxt.",
+ "dom": [
+ "style[id*='nuxt-ui-']"
+ ],
+ "icon": "Nuxt.js.svg",
+ "pricing": [
+ "onetime"
+ ],
+ "requires": [
+ "Nuxt.js"
+ ],
+ "saas": true,
+ "website": "https://ui.nuxt.com"
+ },
"Nuxt.js": {
"cats": [
12,
@@ -1758,14 +1887,16 @@
57
],
"description": "Nuxt is a Vue framework for developing modern web applications.",
+ "dom": [
+ "div[id^='__nuxt']"
+ ],
"html": [
"]*id=\"__nuxt\"",
"