diff --git a/.dockerignore b/.dockerignore
index 86dd99838646..b336b08e34a8 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -3,5 +3,7 @@ node_modules/
npm-debug.log
# Build files
-icons/*.js
/index.js
+/icons.js
+/icons.mjs
+/icons.d.ts
diff --git a/.gitattributes b/.gitattributes
index 2714ea0c1a33..8f884e86ec78 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4,7 +4,6 @@
*.svg text
# Don't diff machine generated files
-package-lock.json -diff
slugs.md -diff
# Don't export/archive these files
diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md
deleted file mode 100644
index 4ef6382507dc..000000000000
--- a/.github/ISSUE_TEMPLATE/documentation.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-name: Documentation
-about: Report problems and suggest ideas for the documentation
-labels: docs
----
-
-
-
-
-### Kind of issue
- - [ ] Improvement
- - [ ] Mistake
- - [ ] Other, namely:
-
-### Description
-
-
-
diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml
new file mode 100644
index 000000000000..790d0ed49dc6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/documentation.yml
@@ -0,0 +1,47 @@
+name: Documentation
+description: Report problems and suggest ideas for the documentation
+labels: [docs]
+
+body:
+ - type: markdown
+ attributes:
+ value: >-
+ Before opening a new issue, make sure it isn't covered by an existing issue.
+ Please search for [issues with the `docs` label][docs-issues] (including
+ closed issues) before you continue.
+
+
+ [docs-issues]: https://github.com/simple-icons/simple-icons/issues?q=is%3Aissue+label%3Adocs
+
+ - type: dropdown
+ attributes:
+ label: Kind of Issue
+ description: >-
+ If your issue type is not here, select "other" and explain in the
+ "Description" field below.
+ options: [Improvement, Mistake, Other]
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Description
+ description: |
+ Include as much detail as possible, for example:
+ - A (perma)link to the docs in question
+ - Suggestions for how to change the docs
+ placeholder: "Example: The documentation doesn't cover my use case of the NPM package..."
+ validations:
+ required: true
+
+ - type: dropdown
+ attributes:
+ label: Contributing
+ description: >-
+ This is an open source project and we welcome contributions. Do you want to
+ work on this issue?
+ options:
+ - 'Yes'
+ - 'No'
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/icon_removal.yml b/.github/ISSUE_TEMPLATE/icon_removal.yml
new file mode 100644
index 000000000000..d798cb4ec390
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/icon_removal.yml
@@ -0,0 +1,34 @@
+name: Icon removal
+description: Report an icon for removal
+labels: [removal request]
+
+body:
+ - type: markdown
+ attributes:
+ value: >-
+ Before opening a new issue, make sure it isn't covered by an existing issue.
+ Please search for [issues with the `removal request` or `breaking change` label][removal-issues]
+ (including closed issues) before you continue. If you find one for the brand
+ you're reporting then leave a comment on it or add a reaction.
+
+
+ [removal-issues]: https://github.com/simple-icons/simple-icons/issues?q=is%3Aissue+label%3A%22removal+request%22%2C%22breaking+change%22
+
+ - type: input
+ attributes:
+ label: Brand Name
+ placeholder: 'Example: Simple Icons'
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Reason for Removal
+ description: |
+ - If the brand no longer exists, include a link supporting that claim.
+ - If the brand should be removed for another reason, explain why.
+ placeholder: >-
+ Example: [this blogpost](https://example.com) announced the brand has been
+ discontinued...
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/icon_request.md b/.github/ISSUE_TEMPLATE/icon_request.md
deleted file mode 100644
index dbef385eddeb..000000000000
--- a/.github/ISSUE_TEMPLATE/icon_request.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-name: Icon request
-about: Request a new icon for Simple Icons
-labels: new icon
----
-
-
-**Brand Name:**
-**Website:**
-**Alexa rank:**
-
-
-**Official resources for icon and color:**
-
-
-
diff --git a/.github/ISSUE_TEMPLATE/icon_request.yml b/.github/ISSUE_TEMPLATE/icon_request.yml
new file mode 100644
index 000000000000..df29ded6e133
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/icon_request.yml
@@ -0,0 +1,90 @@
+name: Icon request
+description: Request a new icon for Simple Icons
+labels: [new icon]
+
+body:
+ - type: markdown
+ attributes:
+ value: >-
+ We won't add non-brand icons or anything related to illegal services. If in
+ doubt, open an issue and we'll have a look. For more details see the
+ [Contributing Guidelines].
+
+
+ Before opening a new issue, make sure it isn't covered by an existing issue.
+ Please search for [issues with the `new icon` label][new-icon-issues]
+ (including closed issues) before you continue. If you find one for the brand
+ you're requesting then leave a comment on it or add a reaction.
+
+
+ [contributing guidelines]: https://github.com/simple-icons/simple-icons/blob/develop/CONTRIBUTING.md
+
+ [new-icon-issues]: https://github.com/simple-icons/simple-icons/issues?q=is%3Aissue+label%3A%22new+icon%22
+
+ - type: input
+ attributes:
+ label: Brand Name
+ placeholder: 'Example: Simple Icons'
+ validations:
+ required: true
+
+ - type: input
+ attributes:
+ label: Website
+ description: >-
+ For non-web brands you can add a relevant link. You can put "None" if you don't
+ think there's a website.
+ placeholder: 'Example: https://simpleicons.org'
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Popularity Metric
+ description: >-
+ Provide either a [Similarweb rank], which must range from 0-500,000 to qualify
+ or the number of GitHub stars, which must be above 5,000 to qualify. If
+ Similarweb does not have a rank for your brand or these numbers do not meet
+ our requirements, you can still open the issue. In this case, please provide
+ any information regarding the brand's popularity you think is relevant.
+
+
+ [Similarweb rank]: https://www.similarweb.com
+ placeholder: 'Example: The Similarweb rank is 261,758. See https://www.similarweb.com/website/simpleicons.org'
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Official Resources for Icon and Color
+ description: >-
+ Media kits, brand guidelines, SVG files, etc. You can set
+ this to "None" if you are unable to find any resources.
+ placeholder: |
+ Example:
+ svg: https://github.com/simple-icons/simple-icons/blob/develop/icons/simpleicons.svg
+ color: `#111111`, from the website header
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Additional Comments
+ description: |
+ Is there anything else we should know about the brand? Remember that not everyone knows the brand as well as you do. For example:
+ - Are there multiple options for the logo and/or color?
+ - Is the icon released under a license?
+ - If you think the brand might not be accepted, why do you think it should be considered?
+ placeholder: 'Example: There are two variants of this icon...'
+
+ - type: dropdown
+ attributes:
+ label: Contributing
+ description: >-
+ This is an open source project and we welcome contributions. Do you want to
+ add this icon?
+ options:
+ - 'Yes'
+ - 'No'
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/icon_update.md b/.github/ISSUE_TEMPLATE/icon_update.md
deleted file mode 100644
index 938efff4888b..000000000000
--- a/.github/ISSUE_TEMPLATE/icon_update.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-name: Icon update
-about: Help us improve by reporting outdated icons
-labels: icon outdated
----
-
-
-
-
-
-**Brand Name:**
-**Official resources for icon and color:**
-
diff --git a/.github/ISSUE_TEMPLATE/icon_update.yml b/.github/ISSUE_TEMPLATE/icon_update.yml
new file mode 100644
index 000000000000..f0a4885595c8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/icon_update.yml
@@ -0,0 +1,56 @@
+name: Icon update
+description: Help us improve by reporting outdated icons
+labels: [icon outdated]
+
+body:
+ - type: markdown
+ attributes:
+ value: >-
+ Before opening a new issue, make sure it isn't covered by an existing issue.
+ Please search for [issues with the `icon outdated` label][icon-outdated-issues]
+ (including closed issues) before you continue. If you find one for the brand
+ you're reporting then leave a comment on it or add a reaction.
+
+
+ [icon-outdated-issues]: https://github.com/simple-icons/simple-icons/issues?q=is%3Aissue+label%3A%22icon+outdated%22
+
+ - type: input
+ attributes:
+ label: Brand Name
+ placeholder: 'Example: Simple Icons'
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Official Resources for Icon and Color
+ description: >-
+ Media kits, brand guidelines, SVG files, etc. You can set
+ this to "None" if you are unable to find any resources.
+ placeholder: |
+ Example:
+ svg: https://github.com/simple-icons/simple-icons/blob/develop/icons/simpleicons.svg
+ color: `#111111`, from the website header
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Additional Comments
+ description: |
+ Is there anything else we should know about the brand? Remember that not everyone knows the brand as well as you do. For example:
+ - Are there multiple options for the logo and/or color?
+ - Is the icon released under a license?
+ placeholder: 'Example: There are two variants of this icon...'
+
+ - type: dropdown
+ attributes:
+ label: Contributing
+ description: >-
+ This is an open source project and we welcome contributions. Do you want to
+ update this icon?
+ options:
+ - 'Yes'
+ - 'No'
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/package.md b/.github/ISSUE_TEMPLATE/package.md
deleted file mode 100644
index 927ad7102410..000000000000
--- a/.github/ISSUE_TEMPLATE/package.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-name: Packages
-about: Report problems and suggest ideas for the packages
-labels: package
----
-
-
-
-
-### Kind of issue
- - [ ] Improvement
- - [ ] Bug
- - [ ] Other, namely:
-
-### This issue concerns
- - [ ] The NPM Package
- - [ ] The Packagist Package
-
-### Description
-
-
-
diff --git a/.github/ISSUE_TEMPLATE/package.yml b/.github/ISSUE_TEMPLATE/package.yml
new file mode 100644
index 000000000000..1127ed314526
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/package.yml
@@ -0,0 +1,64 @@
+name: Packages
+description: Report problems and suggest ideas for the packages
+labels: [package]
+
+body:
+ - type: markdown
+ attributes:
+ value: >-
+ Before opening a new issue, make sure it isn't covered by an existing issue.
+ Please search for [issues with the `package` label][package-issues] (including
+ closed issues) before you continue.
+
+
+ [package-issues]: https://github.com/simple-icons/simple-icons/issues?q=is%3Aissue+label%3Apackage
+
+ - type: dropdown
+ attributes:
+ label: Kind of Issue
+ description: >-
+ If your issue type is not here, select "other" and explain in the
+ "Description" field below.
+ options: [Bug, Feature, Performance, Other]
+ validations:
+ required: true
+
+ - type: dropdown
+ attributes:
+ label: This issue concerns the...
+ options: [NPM package, Packagist package]
+ multiple: true
+ validations:
+ required: true
+
+ - type: input
+ attributes:
+ label: Package Version
+ placeholder: 'Example: 5.11.0'
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Other Software
+ description: >-
+ The software that you are using the package with (Node.js & NPM, PHP & Packagist,
+ Browser(s), other) and their versions. You can put "None" if you are unsure.
+ placeholder: |
+ Example:
+ Node.js v16
+ Chrome 92.0.4515.159 (Official Build) (64-bit)
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Description
+ description: |
+ Anything relevant, for example:
+ - For bugs: "Steps to reproduce" and "Expected behavior"
+ - For feature requests: An example of a use case
+ - For performance: An example where performance is poor
+ placeholder: 'Example: The NPM package does not work for my use case...'
+ validations:
+ required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b42ce3bb1394..10a31e3065e8 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -6,9 +6,10 @@ Consider adding a preview image of your submission using:
https://petershaggynoble.github.io/SI-Sandbox/preview/
-->
-**Issue:**
-**Alexa rank:**
-
diff --git a/.github/renovate.json5 b/.github/renovate.json5
index 577c6f3c5d6e..97fefba592c0 100644
--- a/.github/renovate.json5
+++ b/.github/renovate.json5
@@ -1,30 +1,23 @@
{
extends: [
- "config:base",
+ 'config:base',
// Make sure we get a single PR combining all updates
- "group:all",
+ 'group:all',
],
- lockFileMaintenance: {
- extends: [
- // Make sure we get a single PR combining all updates
- "group:all",
- ],
-
- // Explicitly enable lockfile maintenance
- enabled: true,
-
- // This schedule should be the same as the general schedule!
- schedule: "on the 2nd and 4th day instance on sunday after 11pm",
- },
+ // Disable dependency dashboard
+ dependencyDashboard: false,
// Use our labelling system
- labels: ["dependencies"],
+ labels: ['dependencies'],
// Schedule the PRs to interleave with our release schedule
- schedule: "on the 2nd and 4th day instance on sunday after 11pm",
+ schedule: 'on the 2nd and 4th day instance on sunday after 11pm',
// We generally always want the major version
separateMajorMinor: false,
+
+ // We manually update digest dependencies (eg. hashes in Github actions)
+ digest: { enabled: false },
}
diff --git a/.github/workflows/add-labels-priority.yml b/.github/workflows/add-labels-priority.yml
new file mode 100644
index 000000000000..bc34ec72ee0c
--- /dev/null
+++ b/.github/workflows/add-labels-priority.yml
@@ -0,0 +1,95 @@
+name: Add Pull Request Labels and Assign to Project
+on:
+ pull_request_target:
+ types: [opened, closed]
+
+jobs:
+ triage:
+ runs-on: ubuntu-latest
+ if: github.event.action == 'opened'
+ steps:
+ - uses: ericcornelissen/labeler@label-based-on-status
+ with:
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+
+ assign-to-project:
+ runs-on: ubuntu-latest
+ name: Assign to Project
+ if: github.event.action == 'opened'
+ needs: triage
+ env:
+ MY_GITHUB_TOKEN: ${{ secrets.AUTO_ASSIGN_WORKFLOW_TOKEN }}
+ steps:
+ - id: get-labels
+ name: Get labels
+ run: |
+ labels="$(curl --retry 5 -s https://api.github.com/repos/simple-icons/simple-icons/pulls/${{ github.event.pull_request.number }} | jq '.labels[].name' | tr '\n' ',' | sed -e 's/"//g' -e 's/,$//')"
+ echo "::set-output name=labels::$labels"
+
+ - id: get-si-members
+ name: Get simple-icons members
+ run: |
+ members="$(curl --retry 5 -s https://api.github.com/orgs/simple-icons/members | jq .[].login | tr '\n' ',' | sed -e 's/"//g' -e 's/,$//')"
+ echo "::set-output name=members::$members"
+
+ - id: get-linked-issues
+ name: Get linked issue numbers
+ uses: mondeja/pr-linked-issues-action@v2
+ with:
+ # Lazy linked issues. If one of the lines of the pull request body
+ # matches one of the next contents, the matching issue number will
+ # be added to `issues` output:
+ add_links_by_content: |
+ **Issue:** #{issue_number}
+ **Issue**: #{issue_number}
+ **Close:** #{issue_number}
+ **Close**: #{issue_number}
+ **Closes:** #{issue_number}
+ **Closes**: #{issue_number}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - id: priority-1
+ name: Assign `icon outdated` pull requests to "Priority 1"
+ uses: srggrs/assign-one-project-github-action@1.3.1
+ if: contains(steps.get-labels.outputs.labels, 'icon outdated')
+ with:
+ project: https://github.com/orgs/simple-icons/projects/2
+ column_name: Priority 1
+
+ - id: priority-2
+ name: Assign `new icon` pull requests to "Priority 2"
+ uses: srggrs/assign-one-project-github-action@1.3.1
+ # the PR has the `new icon` label along with a linked issue and
+ # the opener is not a member of simple-icons organization
+ if: |
+ contains(steps.get-labels.outputs.labels, 'new icon') &&
+ join(steps.get-linked-issues.outputs.issues) != '' &&
+ contains(steps.get-si-members.outputs.members, github.event.actor.login) == false
+ with:
+ project: https://github.com/orgs/simple-icons/projects/2
+ column_name: Priority 2
+
+ - name: Assign pull requests to "Unprioritised"
+ uses: srggrs/assign-one-project-github-action@1.3.1
+ if: |
+ steps.priority-1.conclusion == 'skipped' &&
+ steps.priority-2.conclusion == 'skipped'
+ with:
+ project: https://github.com/orgs/simple-icons/projects/2
+ column_name: Unprioritised
+
+ unassign-from-project:
+ runs-on: ubuntu-latest
+ name: Unassign from Project
+ if: |
+ github.event.action != 'opened' &&
+ github.event.pull_request.merged == false
+ env:
+ MY_GITHUB_TOKEN: ${{ secrets.AUTO_ASSIGN_WORKFLOW_TOKEN }}
+ steps:
+ - name: Assign closed pull requests to "Completed or Abandoned"
+ uses: srggrs/assign-one-project-github-action@1.3.1
+ with:
+ project: https://github.com/orgs/simple-icons/projects/2
+ column_name: Completed or Abandoned
diff --git a/.github/workflows/add-labels.yml b/.github/workflows/add-labels.yml
deleted file mode 100644
index 4a2fc7434fb5..000000000000
--- a/.github/workflows/add-labels.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-name: Add Pull Request Labels
-on:
- pull_request_target:
- types: [opened]
-
-jobs:
- triage:
- runs-on: ubuntu-latest
- steps:
- - uses: ericcornelissen/labeler@label-based-on-status
- with:
- repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 0788b6f48f68..47721297d252 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -1,9 +1,11 @@
name: Create Release Pull Request
on:
+ # THIS WORKFLOW SHOULD NEVER BE TRIGGERED ON A PUSH EVENT. IF TRIGGERED ON A
+ # PUSH EVENT IT MAY CREATE AN ENDLESS STREAM OF 'version bump' COMMITS.
workflow_dispatch:
schedule:
# "At 00:00 on Sunday" (https://crontab.guru/once-a-week)
- - cron: "0 0 * * 0"
+ - cron: '0 0 * * 0'
# This Workflow can be triggered manually through the GitHub UI or API. For the
# API use the following request:
@@ -16,34 +18,41 @@ on:
jobs:
release-pr:
runs-on: ubuntu-latest
+ if: github.event_name != 'push'
outputs:
did-create-pr: ${{ steps.release.outputs.did-create-pr }}
new-version: ${{ steps.release.outputs.new-version }}
steps:
- - uses: simple-icons/release-action@master
+ - uses: simple-icons/release-action@5edfadcb9d0fcced712defd84c26d8fd3913beb9
id: release
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
version-bump:
runs-on: ubuntu-latest
needs: release-pr
- if: needs.release-pr.outputs.did-create-pr == 'true'
+ if: |
+ github.event_name != 'push' &&
+ needs.release-pr.outputs.did-create-pr == 'true'
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
+ # Ensure the commit can be pushed regardless of branch protections (must belong to an admin of this repo)
+ token: ${{ secrets.RELEASE_TOKEN }}
# Ensure we are checked out on the develop branch
ref: develop
- name: Bump version
run: node ./scripts/release/bump-version.js "${{ needs.release-pr.outputs.new-version }}"
- name: Update major version in CDN URLs
run: node ./scripts/release/update-cdn-urls.js
+ - name: Update SVGs count milestone
+ run: node ./scripts/release/update-svgs-count.js
- name: Update slugs table
run: node ./scripts/release/update-slugs-table.js
- name: Commit version bump
- uses: stefanzweifel/git-auto-commit-action@v4.11.0
+ uses: stefanzweifel/git-auto-commit-action@v4.14.1
with:
commit_message: version bump
- commit_user_name: "github-actions[bot]"
- commit_user_email: "github-actions[bot]@users.noreply.github.com"
- commit_author: "github-actions[bot] "
+ commit_user_name: 'github-actions[bot]'
+ commit_user_email: 'github-actions[bot]@users.noreply.github.com'
+ commit_author: 'github-actions[bot] '
diff --git a/.github/workflows/merge-release.yml b/.github/workflows/merge-release.yml
index 29e654f975b5..cf7db3b53232 100644
--- a/.github/workflows/merge-release.yml
+++ b/.github/workflows/merge-release.yml
@@ -8,6 +8,6 @@ jobs:
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'release')
steps:
- - uses: simple-icons/release-action@master
+ - uses: simple-icons/release-action@v1
with:
repo-token: ${{ secrets.RELEASE_TOKEN }}
diff --git a/.github/workflows/potential-duplicates.yml b/.github/workflows/potential-duplicates.yml
new file mode 100644
index 000000000000..544cc0ddd1b2
--- /dev/null
+++ b/.github/workflows/potential-duplicates.yml
@@ -0,0 +1,37 @@
+name: Potential Duplicates
+on:
+ issues:
+ types: [opened, edited]
+
+jobs:
+ run:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: wow-actions/potential-duplicates@v1
+ with:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ label: potential duplicate
+ exclude: |
+ adding
+ add
+ creating
+ create
+ icons
+ icon
+ logos
+ logo
+ missing
+ miss
+ needing
+ need
+ please
+ requesting
+ request
+ project
+ state: all
+ threshold: 0.7
+ comment: |
+ This issue is potentially a duplicate of one of the following issues:
+ {{#issues}}
+ - #{{ number }} ({{ accuracy }}%)
+ {{/issues}}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index c241fb324f4a..b17c0024d621 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -10,32 +10,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
- - name: Use Node.js 12.x
- uses: actions/setup-node@v2
+ uses: actions/checkout@v3
+ - name: Use Node.js 16.x
+ uses: actions/setup-node@v3
with:
- node-version: 12.x
+ node-version: 16.x
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
- - name: Cache Jest
- uses: actions/cache@v2
- with:
- path: .cache/jest
- key: ${{ runner.os }}-jest-${{ hashFiles('package-lock.json') }}-${{ github.run_number }}
- restore-keys: |
- ${{ runner.os }}-jest-${{ hashFiles('package-lock.json') }}-
- ${{ runner.os }}-jest-
- name: Install dependencies
- run: npm ci
- - name: Build NodeJS package
- run: npm run build
+ run: npm i
- name: Run linters
run: npm run lint
+ - name: Build NodeJS package
+ run: npm run build
- name: Run tests
run: npm run test
npm:
@@ -44,20 +36,25 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
- - name: Use Node.js 12.x
- uses: actions/setup-node@v2
+ uses: actions/checkout@v3
+ - name: Use Node.js 16.x
+ uses: actions/setup-node@v3
with:
- node-version: 12.x
+ node-version: 16.x
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
+ - name: Remove dark theme images from README
+ uses: mondeja/strip-gh-theme-links@v3
+ with:
+ files: README.md
+ strict: true
- name: Install dependencies
- run: npm ci
+ run: npm i
- name: Deploy to NPM
uses: JS-DevTools/npm-publish@v1
with:
@@ -68,38 +65,43 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Get commit message (for release title and body)
id: commit
uses: kceb/git-message-action@v1
- - name: Get release title and body
- id: release
- run: |
- RELEASE_TITLE=$(echo "${{ steps.commit.outputs.git-message }}" | head -n 1)
- echo "::set-output name=title::$RELEASE_TITLE"
- RELEASE_BODY=$(echo "${{ steps.commit.outputs.git-message }}" | tail -n $(expr $(echo "${{ steps.commit.outputs.git-message }}" | wc -l) - 1))
- RELEASE_BODY="${RELEASE_BODY//'%'/'%25'}"
- RELEASE_BODY="${RELEASE_BODY//$'\n'/'%0A'}"
- RELEASE_BODY="${RELEASE_BODY//$'\r'/'%0D'}"
- echo "::set-output name=body::$RELEASE_BODY"
- name: Get release version
id: get-version
run: |
export PACKAGE_VERSION=$(cat package.json | grep 'version' | sed 's/[ \",:]//g' | sed 's/version//')
echo "::set-output name=version::$PACKAGE_VERSION"
- - name: Create and push git tag
- uses: actions-ecosystem/action-push-tag@v1
+ - name: Remove dark theme images from README
+ uses: mondeja/strip-gh-theme-links@v3
with:
- tag: ${{ steps.get-version.outputs.version }}
- message: ${{ steps.commit.outputs.git-message }}
+ files: README.md
+ strict: true
+ - name: Configure GIT credentials
+ run: |
+ git config user.name "${GITHUB_ACTOR}"
+ git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
+ # Commit that will only be included in the tag
+ - name: Commit dark theme images strip
+ run: |
+ git add README.md
+ git commit -m 'Strip README dark theme image links'
+ - name: Create and push git tag
+ run: |
+ set -e
+ tag="${{ steps.get-version.outputs.version }}"
+ git tag -a "${tag}" -m "${{ steps.commit.outputs.git-message }}"
+ git push origin "${tag}"
- name: Create release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.get-version.outputs.version }}
- release_name: ${{ steps.release.outputs.title }}
- body: ${{ steps.release.outputs.body }}
+ release_name: ${{ steps.commit.outputs.title }}
+ body: ${{ steps.commit.outputs.body }}
font:
name: Trigger simple-icons-font release
needs: npm
diff --git a/.github/workflows/remove-labels.yml b/.github/workflows/remove-labels.yml
index d1b8bdf18463..2b265b86a206 100644
--- a/.github/workflows/remove-labels.yml
+++ b/.github/workflows/remove-labels.yml
@@ -13,7 +13,7 @@ jobs:
if: github.event.pull_request.merged
runs-on: ubuntu-latest
steps:
- - uses: mondeja/remove-labels-gh-action@v1.0.0
+ - uses: mondeja/remove-labels-gh-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
@@ -30,7 +30,7 @@ jobs:
if: github.event_name == 'pull_request_target' && (! github.event.pull_request.merged)
runs-on: ubuntu-latest
steps:
- - uses: mondeja/remove-labels-gh-action@v1.0.0
+ - uses: mondeja/remove-labels-gh-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
@@ -41,10 +41,11 @@ jobs:
if: github.event.issue.state == 'closed'
runs-on: ubuntu-latest
steps:
- - uses: mondeja/remove-labels-gh-action@v1.0.0
+ - uses: mondeja/remove-labels-gh-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
in discussion
pending
tracking
+ help wanted
diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml
index dfc600cee984..2ebe97c4b0dc 100644
--- a/.github/workflows/verify.yml
+++ b/.github/workflows/verify.yml
@@ -7,20 +7,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
- - name: Use Node.js 12.x
- uses: actions/setup-node@v2
+ uses: actions/checkout@v3
+ - name: Use Node.js 16.x
+ uses: actions/setup-node@v3
with:
- node-version: 12.x
+ node-version: 16.x
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
- run: npm ci
+ run: npm i
- name: Build NodeJS package
run: npm run build
lint:
@@ -28,48 +28,58 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
- - name: Use Node.js 12.x
- uses: actions/setup-node@v2
+ uses: actions/checkout@v3
+ - name: Use Node.js 16.x
+ uses: actions/setup-node@v3
with:
- node-version: 12.x
+ node-version: 16.x
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
- run: npm ci
+ run: npm i
- name: Run linter
run: npm run lint
+ - name: Verify file permissions
+ run: |
+ CHECK_DIRS="icons/ _data/"
+ echo "Searching the following directories for executable files:"
+ echo "${CHECK_DIRS}"
+ echo ""
+ EXE_FILES=$(find ${CHECK_DIRS} -type f -executable)
+ if test -n "${EXE_FILES-}"
+ then
+ echo "Some files were detected to have their executable bit set."
+ echo "To fix this, you can use 'chmod -x PATH/TO/FILE' on the following files:"
+ echo ""
+ echo "${EXE_FILES}"
+ exit 1
+ else
+ echo "All clear."
+ exit 0
+ fi
test:
name: Test package
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
- - name: Use Node.js 12.x
- uses: actions/setup-node@v2
+ uses: actions/checkout@v3
+ - name: Use Node.js 16.x
+ uses: actions/setup-node@v3
with:
- node-version: 12.x
+ node-version: 16.x
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
- - name: Cache Jest
- uses: actions/cache@v2
- with:
- path: .cache/jest
- key: ${{ runner.os }}-jest-${{ hashFiles('package-lock.json') }}-${{ github.run_number }}
- restore-keys: |
- ${{ runner.os }}-jest-${{ hashFiles('package-lock.json') }}-
- ${{ runner.os }}-jest-
- name: Install dependencies
- run: npm ci
+ run: npm i
- name: Run tests
run: npm run test
diff --git a/.gitignore b/.gitignore
index 90b510e0db05..c2287035c54a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,15 +1,14 @@
# Files generated by build script
/index.js
+/icons.js
+/icons.mjs
+/icons.d.ts
# Ignore all files in the icons folder
icons/*
# Except SVG files
!icons/*.svg
-# Caches
-.cache/
-
-
### NodeJS ###
# Logs
logs
@@ -18,6 +17,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
+yarn.lock
# Dependency directories
node_modules/
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 000000000000..77a5cc0e3d6c
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,7 @@
+#!/bin/sh
+. "$(dirname $0)/_/husky.sh"
+
+git stash -q --keep-index
+npm run format
+git add .
+git stash pop -q
diff --git a/.jsonschema.json b/.jsonschema.json
index e70bd219524f..e6134f20950f 100644
--- a/.jsonschema.json
+++ b/.jsonschema.json
@@ -55,22 +55,6 @@
"license": {
"description": "The license for the icon",
"oneOf": [
- {
- "type": "object",
- "required": ["type", "url"],
- "properties": {
- "type": {
- "description": "The license name or 'custom'",
- "type": "string",
- "enum": ["custom"]
- },
- "url": {
- "description": "The URL to the license text by the brand",
- "$ref": "#/definitions/url"
- }
- },
- "additionalProperties": false
- },
{
"type": "object",
"required": ["type"],
@@ -166,6 +150,22 @@
}
},
"additionalProperties": false
+ },
+ {
+ "type": "object",
+ "required": ["type", "url"],
+ "properties": {
+ "type": {
+ "description": "The license name or 'custom'",
+ "type": "string",
+ "enum": ["custom"]
+ },
+ "url": {
+ "description": "The URL to the license text by the brand",
+ "$ref": "#/definitions/url"
+ }
+ },
+ "additionalProperties": false
}
]
}
@@ -235,7 +235,6 @@
"pattern": "^https?://[^\\s]+$"
}
},
-
"type": "object",
"properties": {
"icons": {
@@ -243,5 +242,7 @@
"type": "array",
"items": { "$ref": "#/definitions/brand" }
}
- }
+ },
+ "additionalProperties": false,
+ "required": ["icons"]
}
diff --git a/.npmignore b/.npmignore
index c267f88e0ff8..122b9f89e2a9 100644
--- a/.npmignore
+++ b/.npmignore
@@ -7,4 +7,9 @@
!DISCLAIMER.md
!README.md
!LICENSE.md
+!VERSIONING.md
!index.js
+!index.d.ts
+!icons.js
+!icons.mjs
+!icons.d.ts
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 000000000000..43c97e719a5a
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+package-lock=false
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 000000000000..ace5b4f18541
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,16 @@
+# We prefer our own custom formatting for MarkDown files.
+# See the following thread for the discussion:
+# https://github.com/simple-icons/simple-icons-font/pull/73
+*.md
+
+# We use our own formatting for the data files.
+_data/simple-icons.json
+
+# JavaScript templates are invalid JavaScript so cannot be formatted.
+scripts/build/templates/*.js
+
+# Generated JavaScript files don't need to be formatted
+index.js
+icons.js
+icons.mjs
+icons.d.ts
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 000000000000..6e778b4fb9c5
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,4 @@
+{
+ "trailingComma": "all",
+ "singleQuote": true
+}
diff --git a/.svglint-ignored.json b/.svglint-ignored.json
index 21ce081a41a9..1a8e3c3ec006 100644
--- a/.svglint-ignored.json
+++ b/.svglint-ignored.json
@@ -1,34 +1,11 @@
{
"icon-centered": {
- "M.8 0H23v6H1V0zm0 9H18v6H.7V9zm0 9H23v6H1v-6z": "Koding",
"M22.915 8.321c-.642-.997-1.542-1.879-2.672-2.624-2.185-1.436-5.056-2.227-8.084-2.227-1.012 0-2.009.088-2.976.262a9.84 9.84 0 0 0-2.046-1.509C4.378.848 1.947 1.361.719 1.802a.59.59 0 0 0-.229.964c.866.894 2.299 2.66 1.946 4.267C1.067 8.431.324 10.117.324 11.872c0 1.789.742 3.475 2.112 4.873.352 1.607-1.081 3.374-1.947 4.268a.589.589 0 0 0 .229.963c1.228.442 3.659.955 6.418-.421a9.892 9.892 0 0 0 2.046-1.509c.968.174 1.964.262 2.976.262 3.029 0 5.9-.79 8.084-2.226 1.131-.744 2.031-1.626 2.672-2.624.715-1.11 1.077-2.306 1.077-3.552.001-1.279-.361-2.473-1.076-3.585zm-10.881 9.916c-1.309 0-2.558-.169-3.696-.474l-.832.8A7.609 7.609 0 0 1 5.972 19.7a6.033 6.033 0 0 1-2.17.613c.041-.073.078-.147.117-.221.833-1.531 1.059-2.907.674-4.128-1.363-1.071-2.181-2.442-2.181-3.935 0-3.427 4.308-6.206 9.621-6.206 5.313 0 9.622 2.779 9.622 6.206.001 3.429-4.307 6.208-9.621 6.208zM8.85 12.01c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.563 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.565 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407z": "Rocket.Chat"
},
- "icon-precision": {
- "M 7.401726,2.3422378 C 5.1778223,3.3264335 3.7866995,4.9257515 3.0012356,6.0897522 2.1495278,7.3578505 1.8183081,8.4082905 1.8183081,8.4177535 v 0.01893 c -0.2460489,0.700293 -0.473171,1.7980495 -0.473171,1.8075135 -0.2649758,1.343805 -0.1419513,2.592977 -0.1419513,2.611904 0.00946,0.08517 0.018927,0.170341 0.02839,0.246049 0.02839,-0.33122 0.066244,-0.671903 0.1324879,-1.012586 0.018927,-0.132488 0.3690734,-2.015709 1.6939522,-3.5109295 0.1419513,-0.217658 1.6750254,-2.2333668 4.4951247,-2.2333668 0.6056589,0 1.239708,0.094634 1.8737572,0.2839026 h 0.018927 c 0.037854,0.00946 0.8706352,0.3122929 1.1734642,0.4637076 0.283903,0.1419513 0.785464,0.3596099 0.794927,0.3596099 h 0.01893 c 2.716002,1.3248787 5.06293,1.7507327 5.081857,1.7601967 0.671903,0.113561 1.277562,0.170341 1.816977,0.170341 1.078829,0 1.85483,-0.236585 2.261757,-0.69083 C 20.924954,8.3231195 20.8871,7.9161923 20.8871,7.9161923 V 7.8783387 C 20.906027,6.894143 20.101636,5.8342399 19.42027,5.1244834 18.663196,4.3295561 17.887196,3.7806777 17.877732,3.7806777 15.833634,2.2665305 13.647583,1.4999934 11.357436,1.4999934 9.0105075,1.5094568 7.4206529,2.3327744 7.401726,2.3422378 Z m 7.419322,2.6592211 c 0.283902,0 0.511024,0.2271221 0.511024,0.5110247 0,0.2839026 -0.227122,0.5110247 -0.511024,0.5110247 -0.283903,0 -0.511025,-0.2271221 -0.511025,-0.5110247 0,-0.2839026 0.227122,-0.5110247 0.511025,-0.5110247 z M 8.2155802,3.0614578 c 0.075707,0 0.1230244,0.018927 0.1419513,0.018927 L 11.584558,4.0835071 11.461533,4.3390195 9.9189959,3.8563851 8.2818241,3.3453604 c -0.00946,0 -0.00946,0 -0.018927,-0.00946 -0.00946,0 -0.02839,-0.00946 -0.047317,-0.00946 -0.018927,0 -0.047317,0 -0.066244,0.00946 -0.293366,0.075707 -1.0977567,0.35961 -1.3343422,0.7854639 -0.066244,0.1230245 -0.075707,0.2460489 -0.037854,0.3785368 0,0.00946 0.1703416,0.539415 0.5961955,1.0882934 L 9.5120688,5.4840933 10.941045,5.4178494 10.799094,5.7112154 7.2503113,5.881557 C 6.7203598,5.2380444 6.5121645,4.5945318 6.5121645,4.5945318 6.1809448,3.5535556 8.0830923,3.0709212 8.0830923,3.0709212 c 0.037854,0 0.094634,-0.00946 0.1324879,-0.00946 z M 19.439197,18.808589 c 2.176586,-0.946342 3.104002,-2.583514 3.104002,-2.583514 2.034635,-2.772782 1.343805,-5.696979 1.343805,-5.696979 -1.296488,2.8201 -2.479416,3.5961 -2.479416,3.5961 3.189173,-4.8547345 0.01893,-7.7883948 0.01893,-7.7883948 1.296489,2.7633183 -0.425854,6.1322968 -0.425854,6.1322968 -1.447903,3.047221 -3.501465,4.135514 -3.501465,4.135514 2.290147,0.425854 3.974636,-1.116683 3.974636,-1.116683 -3.283807,3.548782 -6.842053,3.378441 -6.842053,3.378441 1.495221,1.675025 3.738051,1.533074 3.738051,1.533074 -2.93366,0.690829 -5.687515,-0.283903 -7.949273,-2.167124 -0.4258537,-0.350146 -0.8327808,-0.728683 -1.2113177,-1.13561 0,0 -0.3406831,-0.35961 -0.4069271,-0.454244 l -0.00946,-0.0095 c -0.047317,1.750733 1.7791228,3.378441 1.7791228,3.378441 -2.2901475,-0.946342 -3.3405871,-2.999904 -3.3405871,-2.999904 0,0 -1.5425375,-2.630831 -0.4258539,-5.630735 1.1072201,-2.9620505 4.409953,-3.6244898 4.495124,-3.6434166 0.01893,0.00946 0.02839,0.018927 0.04732,0.018927 -0.01893,-0.00946 -0.02839,-0.018927 -0.04732,-0.02839 0,0 -0.511024,-0.2176586 -0.80439,-0.3596099 C 10.202899,7.2253627 9.3511906,6.9130698 9.3511906,6.9130698 8.707678,6.7238014 8.1020191,6.6386306 7.5531408,6.6386306 c -2.791709,0 -4.277466,2.1103429 -4.277466,2.1103429 -1.3154154,1.4762935 -1.6277083,3.3879045 -1.6277083,3.3879045 -0.3690734,1.82644 0.02839,3.747514 0.02839,3.747514 0,0 0.037854,0.151415 0.047317,0.217659 0.3028294,0.71922 0.6908297,1.428976 1.1450738,2.100879 2.4604893,3.671807 6.4540526,4.939906 6.4540526,4.939906 5.9146381,2.006245 9.9555191,-0.946342 9.9555191,-0.946342 3.719124,-2.555124 4.466734,-5.507711 4.466734,-5.507711 -3.009368,2.337465 -4.305856,2.119806 -4.305856,2.119806 z M 1.5060152,15.534246 Z M 1.3072834,14.947514 c 0,0 -0.2365855,-0.71922 -0.35960995,-1.816977 v 0.03785 c 0,-0.01893 0,-0.03785 -0.009463,-0.06624 -0.009463,-0.07571 -0.0189268,-0.160878 -0.0283903,-0.236586 0,0 -0.13248788,-1.287025 0.15141475,-2.697075 0,0 0.00946,-0.03785 0.018927,-0.09463 0.037854,-0.1798055 0.075707,-0.3690735 0.1230245,-0.5488785 0,-0.0095 0,-0.01893 0.00946,-0.02839 0.085171,-0.369073 0.2081952,-0.813854 0.3312197,-1.173464 0,0 1.305952,-4.2869294 5.7253693,-6.2458574 0,0 1.5236106,-0.8043907 3.8232216,-0.8611712 0,0 -0.312293,-0.30282945 -0.511025,-0.43531735 C 9.5026054,0.06155355 7.8938239,-0.17503195 6.9190916,0.83755405 6.6257256,1.1403834 6.3796767,1.4716032 6.1052375,1.7744326 5.7929446,2.1151157 5.4144078,2.3990183 4.9790905,2.5598965 4.6005536,2.7018478 4.2220168,2.6734575 3.8340166,2.7397015 3.436553,2.8059454 3.0296259,2.9478967 2.7078696,3.2034091 2.357723,3.4873117 2.2157717,3.8658485 2.1779181,4.3011658 2.1400644,4.6418489 2.1495278,4.9919955 2.130601,5.3326786 2.0832839,6.3358012 1.7615276,6.6197038 1.0423076,7.1780456 0.7394782,7.4051676 0.48396585,7.7079971 0.29469744,8.0297534 c -0.56780521,1.0031221 0.34068313,2.0440986 0.38800023,3.0566846 0.009463,0.208195 -0.009463,0.416391 -0.0851708,0.615122 -0.0757074,0.217659 -0.22712208,0.35961 -0.35014655,0.539415 -0.17034156,0.236586 -0.2839026,0.520489 -0.2365855,0.813855 0.0473171,0.293366 0.19873182,0.567805 0.34068313,0.823317 0.27443918,0.454244 0.61512232,0.861171 0.97473225,1.249172 0.018927,0.01893 0.037854,0.03785 0.056781,0.06624 0,-0.0095 -0.00946,-0.01893 -0.00946,-0.02839 l 0.02839,0.08517 c -0.02839,-0.104098 -0.05678,-0.198732 -0.094634,-0.302829 z M 0.90035634,11.550146 Z m 0.17034156,2.422635 c 0,0.01893 0.00946,0.03785 0.00946,0.04732 0,0.0095 0,0.01893 0.00946,0.03785 -0.00946,-0.02839 -0.00946,-0.05678 -0.018927,-0.08517 z": "ReactiveX"
- },
"icon-size": {
- "M20.7 15.404l-1.894-4.967h1.411l1.39 3.582 1.379-3.582h.96l-1.92 4.967zM16.298 9.6V8.48h1.34V9.6zm0 5.808v-4.971h1.34v4.967zm-6.965-.003l2.146-3.3L9.43 8.707h1.627l1.364 2.254L13.9 8.707h1.12l-2.046 3.156 2.126 3.537h-1.622l-1.45-2.4-1.557 2.4H9.333zm-3.346 0v-4.968h1.338v.937c.344-.7.875-1.051 1.585-1.051a1.401 1.401 0 01.248.026v1.194a1.6 1.6 0 00-.53-.102c-.537 0-.968.267-1.303.8v3.164zm-3.028-.536q-.664.65-1.437.65a1.473 1.473 0 01-1.06-.398 1.376 1.376 0 01-.406-1.03 1.45 1.45 0 01.659-1.271q.657-.447 1.884-.448h.355v-.453q0-.772-.88-.772a3.305 3.305 0 00-1.587.443v-.922a5.016 5.016 0 011.808-.345q1.953 0 1.951 1.55v2.206c0 .39.123.58.376.58a.8.8 0 00.174-.02l.032.751a2.745 2.745 0 01-.751.13c-.552 0-.902-.216-1.06-.65h-.054zm0-.72v-1.01h-.32c-.866 0-1.297.274-1.297.815a.64.64 0 00.64.648c.329.004.647-.15.977-.453z": "arXiv",
"M22.915 8.321c-.642-.997-1.542-1.879-2.672-2.624-2.185-1.436-5.056-2.227-8.084-2.227-1.012 0-2.009.088-2.976.262a9.84 9.84 0 0 0-2.046-1.509C4.378.848 1.947 1.361.719 1.802a.59.59 0 0 0-.229.964c.866.894 2.299 2.66 1.946 4.267C1.067 8.431.324 10.117.324 11.872c0 1.789.742 3.475 2.112 4.873.352 1.607-1.081 3.374-1.947 4.268a.589.589 0 0 0 .229.963c1.228.442 3.659.955 6.418-.421a9.892 9.892 0 0 0 2.046-1.509c.968.174 1.964.262 2.976.262 3.029 0 5.9-.79 8.084-2.226 1.131-.744 2.031-1.626 2.672-2.624.715-1.11 1.077-2.306 1.077-3.552.001-1.279-.361-2.473-1.076-3.585zm-10.881 9.916c-1.309 0-2.558-.169-3.696-.474l-.832.8A7.609 7.609 0 0 1 5.972 19.7a6.033 6.033 0 0 1-2.17.613c.041-.073.078-.147.117-.221.833-1.531 1.059-2.907.674-4.128-1.363-1.071-2.181-2.442-2.181-3.935 0-3.427 4.308-6.206 9.621-6.206 5.313 0 9.622 2.779 9.622 6.206.001 3.429-4.307 6.208-9.621 6.208zM8.85 12.01c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.563 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.565 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407z": "Rocket.Chat"
},
"ineffective-segments": {
- "M16.433 12.329A16.188 16.188 0 0 1 22.118.009L17.684 0a16.2 16.2 0 0 0-4.776 11.374V24h3.525zm-8.869 0A16.174 16.174 0 0 0 1.882.009L6.319 0a16.238 16.238 0 0 1 4.773 11.374V24H7.564zm0 0Z": "Guangzhou Metro",
- "M5.66 9.553V5.2542a6.7943 6.7943 0 00-4.0537 11.0861C3.9847 15.1881 5.648 12.5846 5.66 9.553zm1.1323 4.1148c-.4231 1.7523-1.6874 3.2496-3.2626 4.2448a6.7603 6.7603 0 003.2616.8332 6.7723 6.7723 0 003.2626-.8332c-1.5753-.9952-2.8386-2.4935-3.2616-4.2448zm5.185-6.1031a6.7903 6.7903 0 00-4.0528-2.3105V9.52c0 3.0446 1.6663 5.663 4.0517 6.8183a6.7673 6.7673 0 01-1.6073-4.3868 6.7553 6.7553 0 011.6083-4.3868zm0 0c1.0031 1.1832 1.6552 2.7145 1.6552 4.3878 0 1.6733-.652 3.2026-1.6553 4.3878l-.001-.001.001.001c2.3785-1.1512 4.0878-3.7557 4.0998-6.7873V5.2542a6.9013 6.9013 0 00-4.0998 2.3105zM18.3413 9.52c0 3.0456 1.6663 5.663 4.0528 6.8193a6.7933 6.7933 0 00-4.0528-11.084zm-1.1322 4.1478c-.423 1.7523-1.6873 3.2496-3.2626 4.2448a6.7603 6.7603 0 003.2616.8332 6.7723 6.7723 0 003.2626-.8332c-1.5743-.9952-2.8385-2.4935-3.2616-4.2448z": "Renren",
- "M11.3437.0066c-.292.01-.586.028-.881.06-10.092 1.088-6.4994 16.6226-5.9704 18.1375-3.9647-8.4243-1.6329-13.7038.118-15.4917.049-.05-.004-.136-.05-.095C.6046 5.8241.2506 9.4498.2506 9.4498c-.684 3.9517 3.1578 7.8334 4.2457 8.7653C1.5295 16.2152.6556 14.7794.1146 12.7985c-.016-.06-.118-.08-.113 0 .081 1.064.185 2.4898 1.005 4.1737.7519.9729 2.8147 1.2469 3.4897 1.2459h.003l-.003-.006C5.3792 14.9634 7.17 9.2928 9.9908 5.473 12.7185 1.9356 14.8204.8237 15.3933.5687c.048-.023.025-.077-.03-.114-.128-.082-1.9788-.513-4.0196-.448zM4.4983 18.2191c.7149 1.2099 2.9297 4.5456 6.9754 5.6995 1.3818.277 5.6175-.02 8.6012-3.0108.054-.053.007-.175-.106-.099-1.9698 1.344-8.1393 2.6818-15.4706-2.5897zm0 0l-.003.002c-1.053.447-2.2199.28-2.7298.044-.065-.031-.125-.02-.09.044.748 1.2639 1.1659 1.6998 2.1098 2.5448.051.053.104.04.08-.064-.01-.046-.189-1.342.63-2.5648-.105.822-.206 3.1047.6919 3.7107 1.0579.7219 2.1468 1.4138 4.0836 1.8288.076.018.145-.071.071-.11-3.1657-1.5458-3.9116-3.4737-4.8445-5.4325zM17.612 1.3985c-.226.026-.462.215-1.0159.552C9.9728 6.36 5.0582 17.0342 4.4982 18.215c0 0 11.0691-2.3898 17.8545-9.2892 1.06-1.085 1.138-.85.64-2.0538-.239-.597-.866-1.8129-1.9499-3.0358-.8539-.9549-1.9698-1.7028-2.4658-2.0098-.52-.316-.7379-.454-.9649-.428zM4.4983 18.2151c1.3628.78 16.1146 7.0634 18.9573-2.7248.665-2.2838.576-4.6746.468-4.9636-.022-.062-.073-.034-.076-.014-.35.516-1.8279 2.4198-5.7795 4.4947C13.8265 17.1182 7.84 17.913 4.4993 18.215z": "Sat.1",
- "M12 1.25l6.75 6.637V2L12 1.25zm0 0l-6.05 7h12.1l-6.05-7zm0 0L5.25 2v5.887L12 1.25zM5.25 2L0 9l4.416-.68L5.25 2zM0 9l11.959 13.703.008-.014L4.443 9H0zm18.75-7l.834 6.32L24 9l-5.25-7zM24 9h-4.506l-7.523 13.69.029.06L24 9zM12 22.75l-.031-.057-.008.012.039.045zM5.436 9l6.533 13.686L18.564 9H5.436Z": "Sketch",
- "M7.66 11.398v.742c0 .105-.11.105-.11.105h-.847s-.11 0-.11.11v4.03c0 .11-.105.11-.105.11h-.855c-.106 0-.106-.11-.106-.11v-4.03s0-.11-.109-.11h-.844c-.105 0-.105-.105-.105-.105v-.742c0-.106.105-.106.105-.106H7.66v.106m15.458-7.52H12.301c-.68 0-.836.16-.836.816v2.414c0 .493 0 .493-.492.493H.813C.137 7.6 0 7.737 0 8.425v5.41c0 1.754 0 3.508.023 5.266 0 .922.102 1.02 1.04 1.02H9.89c.664 0 1.32.01 1.984-.01.48-.006.669-.202.669-.682v-2.56c0-.468 0-.468.469-.468h10.195c.633 0 .793-.152.793-.78V4.736c0-.7-.164-.86-.883-.86zm-11.64 14.625c0 .5-.013.5-.525.5-3.148 0-6.293 0-9.445.008-.32 0-.43-.078-.43-.418.016-3.16.008-6.324 0-9.48-.008-.34.086-.446.442-.446 3.187.012 6.363.008 9.55.008.117 0 .23.015.4.023 0 .18 0 .32.01.442-.003 3.113-.003 6.242-.003 9.363zm7.69-5.844c0 .102-.104.102-.104.102h-2.57c-.106 0-.106-.102-.106-.102v-.72c0-.1.105-.1.105-.1h.617s.102 0 .102-.102V8.659s0-.101-.102-.101h-.515c-.102 0-.102-.102-.102-.102v-.82c0-.106.102-.106.102-.106h2.367c.102 0 .102.106.102.106v.715c0 .105-.102.105-.102.105h-.516s-.101 0-.101.102v3.074s0 .105.1.105h.618c.106 0 .106.102.106.102zm0 0": "TuneIn"
- },
- "collinear-segments": {
- "M4.35 7.79s-.247-.4-.537-.228c-.14.084-.374.318-.653.658l.257.484a6.28 6.28 0 0 1 .517-.653c-.079.09-.246.298-.484.662.334-.023.666-.064.996-.123.099-.549-.096-.8-.096-.8zm-.386.228l.022-.024-.022.024zM.91 14.02a45.295 45.295 0 0 0-.774 2.33.198.198 0 0 1-.136.132c.23-.76.458-1.476.687-2.124-.143-.033-.346.007-.594.11.17-.13.339-.242.5-.252-.051-.011-.183-.057-.36-.22.169.063.316.094.422.072-.022-.282-.174-.57-.374-.86-.001-.002.28.161.383.33l.002-.023c.017-.22.048-.438.093-.654v-.002c.034-.174.076-.348.127-.522l.066-.223c.028-.087.06-.176.093-.27.11-.301.235-.596.375-.884l.036-.072c.128-.257.264-.511.408-.76.076-.133.154-.262.231-.39.007-.007.011-.017.017-.026L2.11 9.71l.008-.013c.236-.38.488-.75.754-1.108a8.36 8.36 0 0 1 .229-.296l.058-.072.256.482a10.46 10.46 0 0 0-.268.404c-.172.276-.335.559-.487.846l-.217.414-.222-.439.22.44-.007.015c-.044.09-.09.18-.133.27a6.9 6.9 0 0 0-.077.16l-.206.444a42.824 42.824 0 0 0-.57 1.344l-.18.457a6.523 6.523 0 0 1-.04.103c-.044.121-.091.239-.134.357v.004l-.033.088-.141.381-.01.029zm3.235-4.623a4.98 4.98 0 0 1-.334.562c-.106.149-.216.25-.457.363l.022-.004c.002-.002.003-.002.006-.002.125-.023.28-.074.37-.127a.184.184 0 0 0 .036-.024.846.846 0 0 1-.02.089c-.006.025-.016.054-.026.085l-.012.033-.036.092a2.985 2.985 0 0 1-.102.226c-.008.019-.018.038-.028.057l-.024.039a.85.85 0 0 1-.084.116l-.04.044a1.2 1.2 0 0 1-.113.101 1.231 1.231 0 0 1-.27.151l.017-.002.064-.011c.129-.031.251-.085.361-.16-.138.275-.326.497-.628.612l.052-.007.05-.011a.998.998 0 0 0 .254-.087 6.74 6.74 0 0 1-.18.492c-.071.174-.145.33-.225.47a2.577 2.577 0 0 1-.35.487c-.276.298-.705.54-1.027.58l.016.003c.366.076.745-.047.996-.324a2.685 2.685 0 0 1-.106.187c-.148.24-.318.386-.654.537.23.013.35-.041.448-.165a1.414 1.414 0 0 1-.052.1c-.215.356-.634.478-1.117.456a.54.54 0 0 1 .174.37c-.074-.134-.152-.251-.251-.297l.116-.334a.523.523 0 0 1 .02-.054v-.006l.132-.37a.837.837 0 0 0 .026-.07l.003-.01.17-.454.007-.022.168-.435c.061-.159.124-.312.184-.46.123-.301.25-.6.382-.897.052-.116.101-.228.152-.336l.05-.108.097-.205c.028-.063.059-.122.088-.183l.027-.058c.002-.002.003-.006.002-.011l.006-.001c.074-.15.143-.291.213-.423.15-.29.309-.576.474-.857l.013-.023c.088-.148.171-.28.246-.396.333-.023.665-.064.995-.12-.011.052-.022.107-.038.165a2.966 2.966 0 0 1-.075.225 4.142 4.142 0 0 1-.187.413h-.001zm2.351.674v4.596c0 .28-.041.527-.125.732a1.337 1.337 0 0 1-.35.512 1.37 1.37 0 0 1-.531.3c-.203.063-.43.095-.674.095a2.728 2.728 0 0 1-.659-.074.063.063 0 0 1-.046-.06v-.842a.063.063 0 0 1 .076-.062c.077.018.162.033.25.045.162.024.376.03.54-.01a.48.48 0 0 0 .332-.29.826.826 0 0 0 .052-.313v-4.63c0-.035.027-.063.062-.063h1.01c.036 0 .063.028.063.063zm8.588 1.44a1.352 1.352 0 0 0-.518-.334 1.887 1.887 0 0 0-.675-.114c-.254 0-.49.041-.702.125-.208.082-.395.21-.545.377a1.75 1.75 0 0 0-.35.619 2.704 2.704 0 0 0-.123.859c0 .32.044.606.135.848.092.24.222.443.386.603.164.157.364.276.59.355a2.3 2.3 0 0 0 .742.118c.143 0 .267-.005.377-.015a2.33 2.33 0 0 0 .61-.13c.095-.033.187-.074.273-.12a.06.06 0 0 0 .033-.055v-.77a.063.063 0 0 0-.09-.055 2.505 2.505 0 0 1-.827.265c-.102.01-.204.015-.307.014a.907.907 0 0 1-.332-.055.703.703 0 0 1-.243-.162.797.797 0 0 1-.155-.263 1.168 1.168 0 0 1-.058-.295h2.157a.063.063 0 0 0 .063-.062v-.483a2.126 2.126 0 0 0-.114-.725 1.462 1.462 0 0 0-.327-.544zm-1.758 1.029c.022-.216.081-.377.176-.478a.518.518 0 0 1 .395-.167.55.55 0 0 1 .246.052c.07.033.13.083.176.144a.647.647 0 0 1 .105.22c.02.071.033.148.038.229h-1.136zm10.673-1.387v.934a.062.062 0 0 1-.077.06.727.727 0 0 0-.254-.027l-.08-.004c-.121 0-.233.016-.337.047a.636.636 0 0 0-.253.145.672.672 0 0 0-.163.264c-.039.11-.059.248-.059.411v1.856a.063.063 0 0 1-.063.063h-.994a.063.063 0 0 1-.063-.063v-3.645c0-.035.028-.063.063-.063h.753c.028 0 .053.02.06.046l.124.462c.04-.067.085-.13.133-.191a.932.932 0 0 1 .487-.338 1.14 1.14 0 0 1 .434-.044c.033 0 .065 0 .096.006a.76.76 0 0 1 .084.011.279.279 0 0 1 .066.011.061.061 0 0 1 .044.059h-.001zm-5.956 2.794a.06.06 0 0 1 .027.05v.741a.06.06 0 0 1-.033.055 1.524 1.524 0 0 1-.364.125c-.304.068-.62.066-.924-.008a.91.91 0 0 1-.381-.207 1.036 1.036 0 0 1-.256-.397 1.819 1.819 0 0 1-.088-.608V12h-.414a.063.063 0 0 1-.062-.062v-.42a.06.06 0 0 1 .03-.053l.529-.323.28-.75a.062.062 0 0 1 .058-.04h.636c.035 0 .062.028.062.063v.714h.825c.034 0 .063.028.063.062v.747a.063.063 0 0 1-.063.063h-.825v1.695c0 .124.029.214.085.268a.315.315 0 0 0 .231.084c.094 0 .181-.011.263-.03.089-.022.177-.05.264-.08a.062.062 0 0 1 .057.007v.001zm-6.105-3.876v4.77a.063.063 0 0 1-.062.061h-.943a.063.063 0 0 1-.063-.063v-2.45l.014-.473.01-.242.008-.187-1.018 3.37a.062.062 0 0 1-.06.044h-.93a.063.063 0 0 1-.06-.044l-.929-3.32a24.947 24.947 0 0 1 .033.88c.003.074.005.142.005.204v2.218a.063.063 0 0 1-.063.063h-.903a.063.063 0 0 1-.063-.063V10.07c0-.034.027-.063.062-.063h1.376c.03 0 .053.02.061.047l.981 3.473 1.046-3.474a.063.063 0 0 1 .06-.044h1.376c.034 0 .062.027.062.061zm9.135 1.44a1.351 1.351 0 0 0-.517-.334 1.886 1.886 0 0 0-.676-.114c-.253 0-.49.041-.701.125-.208.082-.395.21-.545.377a1.75 1.75 0 0 0-.35.619c-.087.278-.13.568-.124.859 0 .32.046.606.135.848.093.24.223.443.387.603.164.157.364.276.59.355a2.3 2.3 0 0 0 .742.118c.143 0 .266-.005.376-.015a2.306 2.306 0 0 0 .884-.25.06.06 0 0 0 .033-.055v-.77a.063.063 0 0 0-.09-.055 2.5 2.5 0 0 1-.828.265c-.101.01-.204.015-.306.014a.905.905 0 0 1-.332-.055.7.7 0 0 1-.242-.162.799.799 0 0 1-.157-.263 1.165 1.165 0 0 1-.057-.295h2.157a.063.063 0 0 0 .063-.062v-.483a2.126 2.126 0 0 0-.114-.725 1.464 1.464 0 0 0-.328-.544zm-.765.58a.65.65 0 0 1 .106.22c.02.071.033.148.038.229h-1.137c.022-.216.082-.377.177-.478a.518.518 0 0 1 .395-.167.55.55 0 0 1 .246.052.48.48 0 0 1 .175.144zM6.26 7.63h-.137L5.41 9.336h.179l.218-.534h.769l.22.534h.18l-.714-1.708H6.26zm-.419 1.04l.352-.844.341.844h-.693zm1.483.035h.555c.292 0 .489-.262.489-.54 0-.265-.211-.536-.503-.536h-.708v1.708h.166v-.632zm0-.926h.532c.187 0 .346.172.346.386 0 .207-.13.392-.332.392h-.546v-.778zm1.129 1.558l.218-.534h.767l.22.534h.184l-.714-1.708H8.99l-.715 1.708h.177zm.606-1.51l.342.843H8.71l.352-.844H9.06zm.778.643c0-.41.297-.85.81-.85a.672.672 0 0 1 .631.372l-.135.081a.538.538 0 0 0-.504-.303c-.408 0-.632.365-.632.709 0 .376.276.718.639.718a.58.58 0 0 0 .526-.318l.14.073c-.111.256-.414.397-.676.397-.468 0-.799-.447-.799-.88zm1.875.867h-.165V7.629h.165v.76h1.011v-.76h.169v1.708h-.169v-.799h-1.01v.799zm2.71 0h-1.145V7.629h1.124v.15h-.959v.616h.836v.142h-.837v.65h.982v.15z": "Apache JMeter",
- "M10.365 0h.002zc-.007.004-.002.066.018.143.19.787.395 1.67.395 1.7 0 .023-.242.247-.538.5-.296.253-.628.552-.735.663l-.175.182h-.247c-1.53-.004-3.06.014-4.588-.01-.578-.01-.855.407-.855.85.007 6.384.007 12.766.007 19.15 0 .542.283.822.828.822h15.06c.542 0 .825-.28.825-.825V4.025c0-.56-.276-.838-.83-.838-1.632 0-3.264.002-4.896-.006h-.208l-.546-.532c-.94-.915-1.62-1.455-2.762-2.18A17.17 17.17 0 0 0 10.366 0zm.955 1.35c.03-.004.232.125.47.3a16.989 16.989 0 0 1 2.497 2.31h.002c.465.52.903 1.057 1.268 1.6.357.53.935 1.546.935 1.64 0 .03.017.052.037.052.02 0 .083-.168.14-.374.127-.45.126-.448.388.403.38 1.238.51 2.106.51 3.38 0 .992-.047 1.402-.23 2.12-.053.205-.066.318-.035.318.026 0 .184-.038.352-.086.167-.048.31-.08.318-.073.028.027-.394.753-.692 1.19-1.246 1.828-2.718 2.91-4.358 3.206-.917.165-1.763.1-2.61-.198-.45-.158-.813-.348-1.398-.733-1.25-.82-2.206-2.292-2.68-4.12-.214-.82-.378-2.076-.378-2.895V9l.277.415c.403.603.89 1.217.93 1.172.006-.01-.104-.224-.247-.478-.302-.536-.303-.53-.08-1.39.362-1.406 1.112-2.862 2.108-4.098.143-.178.395-.43.614-.663.603-.644 1.29-1.32 1.342-1.27.01.01-.01.126-.045.257-.134.492-.33 1.332-.313 1.348.004.004.126-.216.197-.336.072-.124.096-.15.203-.344.21-.38.39-.7.395-.706.006-.007.132.112.28.264.222.225.27.256.25.167-.014-.06-.123-.522-.245-1.028-.12-.506-.215-.938-.207-.96 0-.002.002-.003.004-.003zm4.08 2.59h3.71c.372 0 .49.114.49.482v13.9c0 .36-.12.457-.558.457H6.42c-.52 0-1.04.002-1.56 0-.33-.003-.453-.126-.453-.448V4.41c0-.343.12-.467.46-.467 1.17-.002 2.342 0 3.513 0 .048 0 .097.005.116.006h.1l-.007.006-.138.165c-.948 1.143-1.77 2.63-2.157 3.912-.053.176-.102.32-.11.32-.006 0-.207-.29-.443-.64-.237-.352-.448-.652-.47-.665-.074-.046-.01 3.277.075 3.897.305 2.222 1.053 3.926 2.292 5.214.62.646 1.705 1.31 2.633 1.612 1.36.444 2.87.33 4.27-.32 1.37-.638 2.723-1.993 3.706-3.713.366-.642.934-1.742.91-1.766-.01-.01-.255.05-.542.132a5.99 5.99 0 0 1-.533.14 1.427 1.427 0 0 1 .033-.292c.09-.534.103-1.682.027-2.396-.134-1.262-.344-2.09-.93-3.663-.467-1.258-.473-1.274-.5-1.274-.014 0-.092.238-.173.528-.082.29-.154.526-.16.526a.831.831 0 0 1-.114-.165 21.09 21.09 0 0 0-.972-1.34l-.174-.21h-.004.047c.083-.005.158-.013.234-.013zm-3.6.71l-.032.234c-.027.2-.205.86-.31 1.157-.048.132.26-.17.433-.426.08-.115.152-.21.165-.21.014 0 .17.147.35.327.18.18.333.32.34.313.03-.03-.21-.515-.377-.76a3.624 3.624 0 0 0-.37-.445zM9.32 6.584l-.132.125c-.178.17-.485.64-.63.96-.15.332-.33.85-.328.94 0 .04.072-.06.158-.222.155-.29.603-.872.67-.872.02 0 .06.053.09.12.06.132.36.552.378.53a1.875 1.875 0 0 0-.045-.32c-.03-.17-.07-.465-.085-.66a6.93 6.93 0 0 0-.053-.476zm5.453.008c-.02 0-.038.113-.04.252 0 .24-.097 1.002-.157 1.242-.026.107-.023.107.088-.02.063-.074.166-.22.23-.33.065-.11.123-.207.132-.217.054-.063.71.816.786 1.052.017.052.04.083.053.07.03-.03-.188-.687-.323-.975-.197-.42-.664-1.074-.768-1.074zm-2.63 1.1h.002zc-.04.006-.274.505-.348.746-.083.27-.182.978-.18 1.296v.307l.108-.41c.095-.368.25-.758.365-.926.035-.05.087-.023.274.145.127.114.267.227.31.25.085.045.11 0 .042-.072-.057-.06-.392-.855-.47-1.117-.035-.12-.08-.217-.1-.22zM9.56 10.917c-.725.02-1.372.593-1.573 1.445-.088.374-.082.66.022 1.062.2.792.655 1.322 1.36 1.59.098.038.3.058.55.05.34-.007.433-.027.65-.138.51-.258.868-.8.965-1.463.043-.298.04-.41-.022-.72-.187-.95-.812-1.636-1.64-1.8-.104-.02-.21-.03-.313-.026zm5.087 0c-.03 0-.06.002-.09.004-.847.058-1.65.858-1.808 1.882-.143.93.33 1.89 1.073 2.183.344.135.928.112 1.277-.05.814-.38 1.355-1.432 1.222-2.373-.12-.854-.656-1.474-1.402-1.62a1.393 1.393 0 0 0-.273-.024zm-.515 2.06c.38.012.612.473.366.792-.096.12-.338.2-.51.16-.51-.11-.456-.88.066-.948a.51.51 0 0 1 .078-.004zm-3.968.01c.2 0 .24.02.354.146.192.215.165.6-.05.714-.19.1-.332.12-.467.065-.33-.14-.424-.52-.192-.78.113-.126.155-.144.356-.144zM8.65 19.543c.25 0 .498.002.746.008.49.01.683.22.683.712v1.162h-.003v1.14c-.003.416-.192.633-.608.646a25.8 25.8 0 0 1-1.622 0c-.416-.015-.603-.228-.608-.648-.005-.775-.006-1.55 0-2.324.004-.466.206-.676.666-.687.25-.005.497-.008.745-.008zm6.23 0c.29.002.577.01.865.026.348.02.53.23.534.58.013.817.016 1.636.004 2.454-.005.39-.21.59-.608.604-.54.02-1.08.02-1.62 0-.428-.015-.606-.23-.61-.666v-1.16h-.003c0-.39-.004-.775 0-1.164.004-.418.166-.636.573-.656.288-.013.576-.02.865-.017zm-2.744.002c.29 0 .583.003.88.003v.632h-1.452c-.31 0-.333.023-.333.34 0 .6.006 1.2-.003 1.8-.003.2.075.275.27.272.424-.007.847 0 1.272 0h.267l.003.603c-.05.007-.098.02-.146.02-.527.002-1.054.005-1.58 0-.516-.005-.716-.21-.716-.722v-2.24c0-.476.197-.692.67-.703.29-.006.577-.007.868-.006zm6.29.006c.358 0 .72.005 1.086.005v.622h-1.794c-.26 0-.286.027-.286.292.006.727-.102.634.64.64.298.003.6-.003.898.003.433.01.632.206.64.633.004.278.005.557-.004.834-.013.383-.193.607-.572.62-.736.023-1.474.006-2.226.006v-.616h.244c.557 0 1.113-.003 1.668.002.186.002.272-.072.264-.26a5.38 5.38 0 0 1 0-.44c.007-.188-.078-.258-.266-.254-.4.01-.804.006-1.206.002-.533-.006-.722-.203-.722-.737 0-.242-.003-.483.004-.724.012-.387.19-.608.568-.62.353-.01.707-.01 1.065-.01zm-12.84.02c.41-.003.82.006 1.237.006v.586c-.08.005-.156.014-.232.014-.438.002-.877.005-1.315 0-.175-.002-.25.072-.25.25.006.638.008 1.274 0 1.91 0 .196.083.257.265.256.438-.005.877-.002 1.316-.002h.223v.608c-.65 0-1.284.02-1.917-.008-.342-.014-.51-.227-.514-.568-.01-.826-.01-1.653 0-2.48.003-.318.157-.544.448-.557.25-.014.51-.01.737-.016zm9.806.607c-.357.007-.715.005-1.072 0-.177 0-.248.08-.246.255.004.643.004 1.285 0 1.927 0 .16.07.23.22.23.38.003.76 0 1.138 0 .17 0 .228-.083.224-.248-.008-.32 0-.642-.005-.963 0-.316-.007-.63 0-.944h.004c.005-.19-.077-.26-.262-.258zm-7.282.003c-.168-.002-.237.076-.235.24.005.322 0 .644 0 .965 0 .32.006.64-.004.962h.002c-.004.17.067.245.23.245H9.22c.158 0 .235-.068.234-.24-.006-.642-.004-1.283 0-1.926 0-.16-.056-.248-.228-.246-.373.005-.745.003-1.117 0z": "Cocos",
- "M12.005.001C7.29-.064 2.744 2.962.957 7.317c-.885 1.953-1 4.116-.946 6.225.01 2.666-.02 5.335.015 7.999.113 1.542 1.654 2.614 3.134 2.44 3.257-.02 6.514.044 9.77-.034 4.79-.303 9.155-3.796 10.527-8.39 1.4-4.345.03-9.413-3.39-12.443A11.968 11.967 0 0012.005.001zm3.52 2.842c.406-.01.807.032 1.197.117.557.286.945.826.902 1.383-.058.75-.587 1.247-1.38 1.246a2.95 2.95 0 00-.72-.09c-1.725-.053-3.167 1.61-2.97 3.305.024.796-.044 1.601.033 2.392.333.457.987.18 1.475.256.276 0 .562.007.85.008a.134.134 0 00.042.008 1.29 1.29 0 011.29 1.295 1.29 1.29 0 01-1.298 1.295.14.14 0 00-.06.013c-.777.003-1.553 0-2.33.002-.066 1.616.197 3.276-.31 4.84-.865 2.706-3.97 4.337-6.685 3.62-.537-.284-.91-.79-.868-1.334.062-.796.656-1.308 1.532-1.24.075.006.113.012.168.02.716.14 1.477.034 2.107-.391 1.127-.645 1.502-1.977 1.396-3.193-.02-.687.043-1.384-.033-2.066-.333-.456-.984-.18-1.472-.256h-.8a.137.137 0 00-.066-.015 1.29 1.29 0 01-1.298-1.295c0-.72.574-1.29 1.29-1.295a.136.136 0 00.063-.016h2.316c.06-1.507-.159-3.046.213-4.523.648-2.376 2.952-4.12 5.415-4.086zm.705.052l.13.024zm1.224.28c1.444.543 2.636 1.706 3.25 3.12a81.141 81.136 0 01-2.903-2.592 1.762 1.762 0 00-.346-.527zm.45.935a86.96 86.954 0 002.966 2.596c-.014-.044-.033-.087-.049-.13.166.448.265.918.301 1.402a77.847 77.842 0 01-3.39-2.975l.015-.033c.088-.182.143-.386.16-.606a1.393 1.393 0 000-.197c0-.019-.002-.038-.004-.057zm.02.196c-.058.516-.058.516 0 0zm-.314.894a85.347 85.341 0 003.53 3.06c0 .071.015.14.013.21a4.94 4.94 0 01-.06.814A78.528 78.523 0 0117.011 5.7a1.56 1.56 0 00.6-.5zm.526 1.83c.898.8 1.856 1.623 2.918 2.485a5.215 5.215 0 01-.242.863 74.032 74.027 0 01-2.307-1.963l.002.055c0 .076-.004.152-.01.226.703.612 1.44 1.237 2.24 1.885-.109.26-.234.512-.38.752a73.605 73.6 0 01-2.06-1.752 3.13 3.13 0 00-.16-2.55zm.068 2.758c.644.56 1.32 1.131 2.043 1.72a5.868 5.867 0 01-.5.651 74.24 74.235 0 01-1.99-1.705c.185-.2.332-.425.447-.666zm-.603.816a82.545 82.54 0 002.005 1.71c-.19.2-.392.385-.607.556a75.858 75.853 0 01-2.043-1.77c.203-.108.396-.247.572-.425.027-.022.047-.047.073-.07zm-.86.594a84.37 84.365 0 002.088 1.8c-.23.17-.48.311-.734.444a79.06 79.054 0 01-2.256-2.005c-.024.002-.05.001-.074.003l-.026-.015a3.506 3.506 0 001.002-.227zm-10.046.248l-.02.014h-.013l.004.004a1.573 1.573 0 00-.51.55l-.45-.427a5.38 5.38 0 01.99-.14zm-.994.14l-.127.032.127-.03zm-.27.075l.622.592a1.55 1.55 0 00.008 1.045c-.468-.444-.94-.893-1.432-1.348.26-.118.529-.21.803-.289zm-1.03.4c.72.674 1.425 1.347 2.134 2.03a2.68 2.68 0 00-.826.242c-.64-.61-1.3-1.23-1.998-1.865a5.98 5.98 0 01.69-.406zm12.022.204c.473.42.958.846 1.474 1.285a5.37 5.37 0 01-.908.342l-.617-.498a1.55 1.55 0 00.05-1.13zm-12.901.345a140.01 140.01 0 011.958 1.844 3.158 3.158 0 00-1.527 2.332A98.329 98.323 0 001.777 14.8a5.574 5.573 0 00-.091.22c.777.698 1.522 1.391 2.252 2.087.002.284.042.57.14.848.053.19.13.366.22.533a107.243 107.236 0 00-2.86-2.635c.027-.108.04-.217.074-.323.137-.518.366-.998.65-1.44.69.621 1.35 1.241 2.002 1.86a2.98 2.98 0 01.107-.232 99.457 99.45 0 00-1.986-1.819c.15-.214.31-.42.49-.613A109.76 109.76 0 014.7 15.088c.054-.06.11-.122.168-.178a98.104 98.104 0 00-1.94-1.79 5.82 5.82 0 01.592-.509zm12.719.153l-.027.265zm1.733.754l-.05.023.05-.023zm-1.72.091l.44.354c-.287.06-.582.096-.88.103h-.016a1.56 1.56 0 00.457-.457zM1.386 16.101c1.32 1.189 2.532 2.357 3.78 3.559l.175.166c-.237.107-.44.266-.594.465A125.942 125.935 0 001.3 17.076a5.176 5.176 0 01.086-.976zm-.07 1.29A154.286 154.276 0 014.61 20.5c-.11.2-.18.428-.2.677a1.406 1.406 0 000 .166c-.92-.884-1.856-1.78-2.88-2.71a5.65 5.65 0 01-.215-1.243zm.378 1.714c.943.876 1.852 1.748 2.778 2.64l.02.02c.07.195.186.372.327.532-1.445-.56-2.562-1.767-3.125-3.192zm3.352.264c.179.14.374.26.58.358l-.025.005-.018-.015a3.014 3.014 0 01-.537-.348zm1.047 3.252l.15.025zm.228.04s.09.007.274.025a33.671 33.669 0 00-.274-.026z": "Fedora",
- "M15.91 0C12.79 0 9.69 0 6.6.03c0 .05-.06.05-.09.08a10.5 10.5 0 0 0-3.66 2.57c-.84.87-1.52 1.9-2.06 3-.2.38-.38.79-.55 1.2-.02.08-.05.2-.13.25v6.22c.05.08.05.2.08.3a8.66 8.66 0 0 0 3.42 4.83c.03.03.05.09.11.06-.03-.03-.03-.06-.06-.08-.24-.36-.46-.69-.67-1.04a9.1 9.1 0 0 1-1.28-5.57 10.09 10.09 0 0 1 1.71-4.53 23.07 23.07 0 0 1 3.64-4.18A13.05 13.05 0 0 1 10.32.98 8.82 8.82 0 0 1 14.74.2c.7.06 1.39.17 2.07.27L17 .5c.08.03.13.03.21.03-.38-.16-.76-.33-1.14-.44-.05-.02-.1-.02-.16-.08zm-1.66.66c-.43.02-.84.05-1.27.13-.74.14-1.44.36-2.15.58a7.47 7.47 0 0 0-1.44.62c-.02 0-.08 0-.08.06h.05a28.12 28.12 0 0 1 3.05-.33c.51-.03 1.06 0 1.57.08.76.11 1.47.39 2.12.77a10.8 10.8 0 0 1 4.4 4.7 15.14 15.14 0 0 1 1.38 5.43c.06.65.06 1.34.03 2.02l-.08 1.14c-.03.33-.08.66-.14.99a6.1 6.1 0 0 1-.27 1.17 11.7 11.7 0 0 1-1.55 2.73c-.49.66-1.05 1.26-1.6 1.86-.08.08-.13.13-.19.22.06 0 .06-.03.08-.03a16.74 16.74 0 0 0 2.31-1.61 10.87 10.87 0 0 0 3.2-4.45l.17-.41h.03v5.87c0 .02 0-9.17.02-15 0 .02 0 .05-.02.07l-.03-.09a10.75 10.75 0 0 0-1.52-2.73 9.7 9.7 0 0 0-3.12-2.64A9.76 9.76 0 0 0 14.25.66zm9.63 6.54l.01-.02V1.75 7.2zm-13-3.33c-.4-.04-.8.09-1.19.42a2.33 2.33 0 0 0-.62.9c-.33.8-.38 1.58-.22 2.4.11.63.4 1.18.92 1.58.52.44 1.12.5 1.66.2.33-.2.57-.44.76-.77.33-.57.46-1.2.46-1.85 0-.3-.02-.58-.08-.88a2.8 2.8 0 0 0-.62-1.4 1.69 1.69 0 0 0-1.08-.6zM16 5.15a2.38 2.38 0 0 0-1.72.83c-.3.27-.46.63-.65.98a3.04 3.04 0 0 0-.38 1.53c0 .38.05.74.21 1.1.28.65.8 1 1.44 1 .47 0 .85-.16 1.2-.43a3.75 3.75 0 0 0 1.5-2.57c.05-.46 0-.93-.17-1.4-.16-.4-.4-.75-.82-.92a1.61 1.61 0 0 0-.6-.12zM6.38 7.56c-.44.03-.84.2-1.11.6-.36.5-.47 1.07-.5 1.64-.02.6.12 1.15.39 1.67.22.43.51.82.92 1.1.52.34 1.17.34 1.63.02.27-.2.46-.47.6-.77.27-.63.32-1.3.16-1.99a3.3 3.3 0 0 0-1.06-1.86c-.3-.24-.62-.4-1.03-.4zm11.86 2.64a1.84 1.84 0 0 0-.9.2 3.5 3.5 0 0 0-1.81 1.97 2.44 2.44 0 0 0-.11 1.58c.14.5.4.85.9.99.19.05.4.08.6.08.32 0 .54-.03.8-.17.53-.24.93-.6 1.28-1.03a2.9 2.9 0 0 0 .63-2.46 1.3 1.3 0 0 0-1.09-1.12 1.87 1.87 0 0 0-.3-.04zm-7.11 1.65c-.08 0-.22 0-.35.03a3.58 3.58 0 0 0-1.5.4c-.6.34-1.1.77-1.57 1.26a10.07 10.07 0 0 0-1.39 1.83c-.21.38-.35.8-.32 1.23.03.25.03.47.14.68.3.39.7.66 1.19.77.46.08.92.03 1.38-.03.52-.05 1-.1 1.5-.08.78.05 1.5.3 2.12.79.24.2.46.41.73.6.51.36 1.06.52 1.68.38.52-.1.87-.43.98-.95.1-.44.08-.85.02-1.29a9.46 9.46 0 0 0-.37-1.5 9.95 9.95 0 0 0-1-2.26c-.3-.5-.66-.93-1.15-1.26a3.68 3.68 0 0 0-2.09-.6zM.11 14.64v2.13c.1.13.16.3.22.46a12.8 12.8 0 0 0 2.41 4.18 9.6 9.6 0 0 0 3.83 2.56c.03 0 .05.03.08.03h8.01c.03-.03.03-.03.05-.03a8.68 8.68 0 0 0 1.99-.9 11.4 11.4 0 0 0 4.26-4.8c.43-1.01.65-2.08.7-3.2a.4.4 0 0 0 0-.24c-.02.02-.05.05-.05.08l-.22.7a8.29 8.29 0 0 1-1.87 3.2 8.08 8.08 0 0 1-2.85 1.91c-.95.39-1.95.55-2.99.6-.76.03-1.49 0-2.22-.05a24.34 24.34 0 0 1-3.1-.44 15.48 15.48 0 0 1-3.75-1.36 10.15 10.15 0 0 1-3.3-2.76 7.5 7.5 0 0 1-1.2-2.07z": "Furry Network",
- "M19.229 4.18l-4.066 2.327V1.826L11.993 0 8.827 1.83v4.677L4.78 4.17 1.606 6v3.664L5.657 12l-4.054 2.343V18l3.165 1.831 4.044-2.338v4.681L11.983 24l3.174-1.831v-4.676l4.052 2.327 3.173-1.829v-3.646L18.339 12l4.058-2.336V6l-3.164-1.82h-.004zm.373 3.429V5.715l1.639.942v1.905l-1.636-.953h-.003zm1.638 9.286l-6.075-3.504 1.65-.945L21.239 15v1.896l.001-.001zm-6.827-3.95L12.763 12l6.452-3.726 1.641.944-6.446 3.727h.003zM3.134 9.219l1.641-.944L11.228 12l-1.639.945-6.455-3.726zm5.69 4.17l-6.075 3.508V15l4.435-2.555 1.641.945v-.001zM2.749 8.564V6.66l1.64-.945v1.898l-1.64.951zm9.627 0V1.55l1.641.937V7.61l-1.641.953v.001zm-2.402-.96V2.493l1.64-.944v7.004l-1.64-.949zm8.866-1.889v1.898l-6.456 3.734V9.442l6.456-3.727zm-7.228 3.724v1.897L5.153 7.609V5.715l6.46 3.721-.001.003zm-2.403 6.513l-4.435 2.555-1.64-.944 6.074-3.508v1.897zm.765-2.343l1.64-.945v7.453l-1.64.959v-7.467zm3.656 8.115l-1.639.954-1.64-.951 1.64-.946 1.639.946v-.003zm.394-.657l-1.648-.95v-7.441l1.648.944v7.458-.011zm6.831-3.504l-1.641.944-4.425-2.555v-1.897l6.075 3.508h-.009z": "Matternet",
- "M21.039 0a2.959 2.959 0 00-2.65 4.274l-6.447 6.447a2.96 2.96 0 101.335 1.336l6.447-6.447A2.959 2.959 0 1021.04 0zM10.628 2.745c-.072 0-.143.003-.214.004-.072.002-.143.002-.215.005-.447.018-.893.064-1.335.138l-.03.005-.185.033-.105.02a7.718 7.718 0 00-.289.062l-.032.008a10.69 10.69 0 00-2.55.95l-.155.089c-.063.034-.125.07-.187.105-.046.027-.093.051-.14.079H5.19l-.01.005-.036.02v.002l.111.184 3.15 5.23a4.168 4.168 0 01.38-.202 4.294 4.294 0 011.628-.413c.071-.004.143-.008.214-.008zm.428.01v6.333c.325.034.647.103.96.209l4.66-4.66c-.173-.12-.348-.237-.528-.347l-.026-.015c-.056-.035-.112-.067-.168-.1l-.098-.056-.099-.055a12.735 12.735 0 00-.171-.092l-.027-.014a10.628 10.628 0 00-1.425-.617c-.69-.241-1.403-.41-2.128-.505l-.089-.012-.09-.01a6.56 6.56 0 00-.17-.019l-.049-.004-.204-.017a6.44 6.44 0 00-.255-.015c-.031-.003-.062-.003-.093-.004zM4.782 4.498a9.92 9.92 0 00-1.36 1.062l4.461 4.461.018.018c.049-.04.098-.078.149-.116l-.011-.018zm-1.67 1.36c-.05.05-.098.103-.147.154l-.149.155c-.33.357-.63.73-.902 1.118l-.039.056a10.588 10.588 0 00-.216.326 10.6 10.6 0 00-1.65 5.276l-.006.215-.003.214h6.317c0-.072.007-.143.01-.214.005-.072.006-.144.013-.215.081-.822.399-1.625.952-2.3.045-.055.096-.106.144-.16.048-.052.093-.107.144-.158zm16.255 1.464l-4.663 4.663c.106.312.175.634.21.959h6.332l-.004-.094a11.579 11.579 0 00-.032-.456l-.005-.052a13.044 13.044 0 00-.026-.241v-.009l-.033-.24v-.009a10.618 10.618 0 00-.327-1.493l-.003-.01a15.839 15.839 0 00-.07-.228l-.01-.03a14.111 14.111 0 00-.069-.204l-.02-.055a5.65 5.65 0 00-.153-.405 7.84 7.84 0 00-.093-.227 16.67 16.67 0 00-.063-.144l-.037-.081a13.776 13.776 0 00-.08-.171l-.024-.052-.096-.194-.014-.027a11.2 11.2 0 00-.112-.212l-.004-.008a10.615 10.615 0 00-.604-.98zm-4.43 6.05c0 .071-.006.142-.01.214-.003.072-.005.143-.012.214a4.29 4.29 0 01-.952 2.301c-.045.055-.096.107-.144.16-.048.053-.093.108-.144.159l4.467 4.467c.051-.051.099-.104.148-.155.05-.052.1-.103.148-.155.331-.358.633-.733.905-1.122l.032-.046.098-.144.085-.13.04-.063a10.597 10.597 0 001.647-5.272c.003-.071.004-.143.006-.214.001-.071.004-.143.004-.214zM.01 13.8l.004.093.01.179.005.076.017.206.005.046c.007.076.015.153.024.228l.003.022a9.605 9.605 0 00.033.248c.072.505.182 1.005.327 1.497l.002.006c.022.077.047.154.071.23l.004.014.005.014a15.737 15.737 0 00.153.439l.03.08.059.148a7.702 7.702 0 00.093.228l.062.14.038.084.078.169.027.054a10.677 10.677 0 00.225.441l.025.043 5.408-3.258.02-.012a4.314 4.314 0 01-.395-1.414h-.025zm.505 2.846l-.206.058.002.005zm6.425-1.052l-5.415 3.262c.083.139.17.273.259.406l.008.014.004.005.008.014h.001c.007.012.014.022.022.032l.001.002v.001a10.634 10.634 0 00.298.417l.006.008a9.963 9.963 0 00.29.368l.033.04c.043.052.086.103.13.153l.057.065.112.127.064.069.029.031.083.09.035.035c.049.051.098.103.149.153L7.58 16.42a3.86 3.86 0 01-.285-.321 4.422 4.422 0 01-.356-.505zm6.416 1.111c-.05.04-.1.079-.15.116l.011.018 3.257 5.407c.151-.099.3-.2.446-.307.315-.232.62-.484.914-.756l-4.46-4.46zm-5.457.003l-.015.015-4.46 4.46a8.966 8.966 0 00.195.176c.022.02.043.04.065.058l.152.13a10.622 10.622 0 00.215.174l.023.017.191.148.008.005c.268.2.547.389.834.564l.03.018.164.097.101.057a5.458 5.458 0 00.27.148c.008.004.016.01.025.013.162.085.327.164.493.24l.158-.385 2.243-5.448.009-.02a4.328 4.328 0 01-.701-.467zm4.951.353c-.061.037-.124.07-.187.104a4.318 4.318 0 01-3.271.336c-.069-.02-.135-.047-.203-.071-.067-.024-.136-.044-.202-.072l-2.242 5.444-.088.213-.075.183v.001l.017.007a.137.137 0 00.019.007l.005.003c.052.021.106.04.159.06.067.027.133.053.2.077l.102.04c.702.247 1.43.42 2.168.518l.087.012.09.01.172.019a7.173 7.173 0 00.252.022c.023.001.048.001.071.003l.184.011.112.005a7.06 7.06 0 00.358.007h.05a10.667 10.667 0 001.793-.15l.185-.034.105-.02.109-.023.18-.04.032-.008a10.684 10.684 0 002.55-.95c.052-.028.104-.06.156-.089.063-.034.125-.07.187-.105.043-.024.087-.047.13-.073h.001l.002-.002.002-.001.002-.001.007-.004.042-.025-.11-.183-.11-.184zm3.262 5.414l-.042.025.042-.024zm-.05.029h-.001.002zm-.005.004h-.002z": "OpenAPI Initiative",
- "M12.726 0L3.453 3.461v17.425L12.792 24l7.754-1.034-.002-.598V1.183zm-.742.991l-.02 21.948-7.988-2.527L3.95 3.964zm1.349.114l6.4.869v20.189l-6.404.796zm.33.366l.007 21.139 5.748-.727V2.228zm-2.152.263L8.251 2.91v4.924l3.279-.422zm-3.61 1.353L4.264 4.274v4.023l3.66-.408zm2.11.015a.738.738 0 01.51.22c.531.502.583 1.41.44 2.076-.128.596-.537 1.477-1.278 1.411-.132-.012-.395-.079-.469-.207L9.212 6.6l.078-.205c.285.122.546.211.839.04.283-.166.471-.503.578-.803.211-.588.211-1.382-.171-1.9-.465-.63-1.126-.3-1.442.288a3.036 3.036 0 00-.25.937 2.14 2.14 0 00.017.441c.02.168.107.341.086.511-.006.052-.037.085-.095.095-.345-.58-.157-1.508.102-2.081.185-.41.615-.824 1.057-.82zM6.427 4.105l-.394 1.098.397-.213-1.151 2.655-.002-.002.502-1.908-.324.155.446-1.634zm3.416.201a.28.28 0 01.106.018c.424.162.294.884.11 1.167-.097.151-.262.157-.424.157v.003c-.066-.24.238-.404.306-.588.04-.108-.002-.199-.045-.29-.102-.053-.186-.022-.223.083a1.341 1.341 0 01-.26.457 1.078 1.078 0 01.136-.846.376.376 0 01.294-.16zm-.138.148c-.04 0-.073.052-.073.114 0 .063.033.114.073.114.04 0 .072-.052.072-.114 0-.064-.033-.114-.072-.114zm.282 0c-.04 0-.072.052-.072.114 0 .063.033.114.072.114.04 0 .073-.052.073-.114 0-.064-.033-.114-.073-.114zm-.46.264c-.04 0-.072.053-.072.115 0 .063.033.114.073.114.04 0 .072-.053.072-.114 0-.064-.033-.115-.072-.115zm.573.06c-.04 0-.072.053-.072.115 0 .063.033.114.072.114.04 0 .073-.053.073-.114 0-.064-.033-.115-.073-.115zm-.396.339h.002c.01.014.01.028.004.041-.195.44-.387.881-.583 1.324-.018-.008-.029-.008-.035-.014a1.234 1.234 0 01-.161-.271c-.019-.038.002-.075.025-.106l.677-.904a.227.227 0 01.07-.07zm.305.015c-.04 0-.072.053-.072.114 0 .064.033.115.072.115.041 0 .073-.053.073-.115 0-.063-.033-.114-.073-.114zm-.18.223c-.04 0-.073.052-.073.114 0 .064.033.114.073.114.04 0 .072-.052.072-.114 0-.064-.033-.114-.072-.114zm4.285.295l4.992.156.002.401-4.994-.06zm-2.64 2.3l-3.225.4-.006 6.944 3.206.1zm-3.561.434l-3.628.339.025 6.341 3.594.207zm8.936.54c.33.004.648.287.832.782l1.367.008.033 1.279-1.406.06c-.227 1.04-1.36.943-1.618.058l-1.908.064-.004-1.405 1.846-.068c.229-.542.548-.783.858-.778zm.018.41a.64 1.072 0 00-.64 1.07.64 1.072 0 00.64 1.073.64 1.072 0 00.64-1.072.64 1.072 0 00-.64-1.072zm-11.359.332l.368.319 1.617-.058.01.128-1.67.062-.41-.353zm-.246.215a.173.173 0 01.015.346.173.173 0 01-.163-.101l-.467.02-.006-.128.467-.02a.175.175 0 01.154-.117zm4.985.265c.054.108-.002.307.111.333.153.036.174.075.211.218.017.064-.008.095.058.132.072.041.157.029.159.126.002.133-.056.114-.157.114-.037 0-.05.07-.052.097-.008.098.009.118.104.145.122.035.1.068.1.18 0 .056.011.025-.063.04-.118.022-.145.006-.139.14.009.161.277.03.2.26-.032.1-.195.023-.195.11 0 .11-.023.16.111.17.132.01.124.188.008.228-.07.025-.095-.002-.12.082-.024.085-.022.174-.053.26-.126.092-.24-.036-.24.173 0 .056-.012.097-.022.15-.019.104-.046.015-.12.038-.02-.025 0-.163 0-.196 0-.098-.033-.12-.145-.112-.006.12-.004.248-.1.335-.06-.04-.083-.1-.088-.168-.006-.134.004-.138-.134-.171a.865.865 0 00-.03.3c-.108.054-.125-.112-.125-.178 0-.056.023-.118-.047-.139-.07-.018-.095.017-.097.08-.004.127-.01.183-.11.253-.04-.111-.006-.304-.136-.34-.145-.036-.163-.142-.165-.28-.003-.151-.184-.007-.184-.17 0-.016-.013-.101 0-.114.06-.043.12.025.175.002.027-.074.037-.186-.043-.205-.083-.018-.161-.028-.143-.124.023-.118.002-.111.13-.12.098-.006.062-.107.065-.173-.129-.06-.182.016-.182-.154 0-.115-.009-.105.107-.105.1 0 .07-.035.07-.13 0-.106-.19-.013-.198-.158-.004-.062.02-.116.08-.138.106-.042.118-.048.123-.162.006-.165.115-.184.247-.25l-.002-.002c-.002-.106 0-.207.066-.294.124.004.102.2.104.296.212.105.1-.224.21-.317.157-.016-.012.331.143.327.101-.002.08-.05.078-.138-.002-.081.009-.162.079-.213.17.064.016.376.231.326 0-.132-.02-.293.12-.364zm-2.987.13a.172.172 0 01.178.168.172.172 0 01-.168.178.172.172 0 01-.16-.097l-.523.015a.171.171 0 01-.329-.067.172.172 0 01.167-.178v-.002a.175.175 0 01.168.116l.508-.014a.174.174 0 01.159-.118zm-1.206.253l1.475 2.15-.11.068-1.448-2.092-1.322.081-.004-.124zm1.501.157l-.008.186-.136.197a.173.173 0 01-.023.192v-.002a.173.173 0 01-.244.017.171.171 0 01-.016-.242.172.172 0 01.186-.05zM6.858 11a.168.168 0 01.144.073c.041.06.041.135.004.193l.527.786.002.203-.634-.917a.169.169 0 01-.18-.068l-.002.002a.173.173 0 01.043-.24.171.171 0 01.096-.032zm-.856.071a.173.173 0 01.014.346.173.173 0 01-.163-.102l-1.181.06-.006-.128 1.181-.06a.175.175 0 01.155-.116zm.361.683l.393.49a.166.166 0 01.085-.022c.095 0 .173.078.173.173a.175.175 0 01-.173.174.175.175 0 01-.174-.174c0-.016.004-.033.008-.05l-.361-.46-1.626.04-.004-.13zm-1.117.436h.002c.059.001.11.032.138.077l.992.027.39.474a.166.166 0 01.085-.023c.095 0 .174.079.174.174a.175.175 0 01-.174.174.175.175 0 01-.174-.174.21.21 0 01.009-.05l-.36-.445-.919-.027a.164.164 0 01-.159.124.166.166 0 01-.002-.33h-.002zm-.447.205c.06 0 .104.014.15.085.136.213.264.432.394.65.064.107.13.215.196.32.095.153.12.166.302.178.13.009.262.009.394.009.137 0 .133-.114.263-.102.111.106.111.242 0 .348-.124.008-.11-.12-.203-.12H5.9c-.197 0-.256.043-.358-.116l-.694-1.109h-.171V12.4c.048 0 .088-.004.123-.004zm1.5.34a.172.172 0 01.178.167.172.172 0 01-.167.178.172.172 0 01-.161-.097l-.459.01a.172.172 0 01-.328-.066.172.172 0 01.167-.178v-.002a.175.175 0 01.167.116l.444-.01a.174.174 0 01.16-.118zm.965.181a.171.171 0 11-.023.34l-.516.76-.136.001.543-.827a.172.172 0 01.132-.274zm-2.437.013a.166.166 0 010 .331.166.166 0 010-.331zm.364.563c.045 0 .089.017.123.051a.171.171 0 010 .245.17.17 0 01-.244 0 .198.198 0 01-.03-.042l-.147-.006-.163.228-.095-.09.2-.266.192.006a.181.181 0 01.043-.075.168.168 0 01.121-.05zm2.157.136c.06.001.129.013.17.013.006.058.01.11-.03.161-.071.002-.14-.029-.21-.035l-.123.17c.024.053.103.003.117.074-.02.085-.184.01-.24.019-.028-.09.174-.317.226-.39a.204.204 0 01.09-.012zm8.472.317v7.742l-1.452.174-.004-7.838zM4.337 15.563l-.004 2.125 1.692.231.01-2.234zm1.948.128v4.864l2.927.882v-5.554zm3.313.224l.013 5.745.2.062c.15-.515.42-.316.438.14l.386.115c.004-.543.473-.348.395.117l.357.133-.012-6.188-.263-.017c.058.571-.512.565-.421-.027l-.42-.027c.067.549-.508.534-.419-.035zm-4.614.235l.276.607.17-.31.396.897-1.292-.2v.002-.003zm.71.013c.091 0 .163.072.163.163a.162.162 0 01-.163.164.162.162 0 01-.163-.164c0-.09.072-.163.163-.163zm4.103.498l1.402.147v1.382l-1.402-.205zm-2.24.019c.178.012.347.048.484.178.308.294-.238.863.008 1.208.221-.213.217-.478.384-.703.166.213.31.641.283.912-.142.172-.256.27-.597.294.01.076-.037.149-.016.238.182.194.382.163.622.149.033.17-.139.695-.267.821-.26-.118-.394-.37-.539-.602a.64.64 0 00-.132.126c.035.267.372.606.328.842a.636.636 0 01-.365.07c-.128-.018-.18-.088-.21-.225-.069-.303.065-.677-.19-.894-.125.246-.09.518-.123.785-.2-.05-.345-.45-.384-.621.035-.205.142-.356.266-.515.058-.075.077-.15.04-.236-.015-.033-.013-.075-.042-.102-.18.031-.287.17-.41.29-.14-.145-.108-.69.003-.85a.601.601 0 01.467.12c.11-.108.116-.213.019-.325-.075-.085-.304-.184-.345-.271-.033-.13.21-.57.357-.563.161.238.256.507.31.788.056.023.105.044.17.031.032-.32-.04-.626-.141-.926.01-.01.016-.019.02-.019zm-3.23 1.305v2.12l1.708.417.019-2.284zm5.472.245l1.4.225v1.395l-1.4-.3zm-4.6.3l.014 1.398-.337-.432-.301-.066v-.598l.283.041zm.398.095a.08.08 0 01.013.002c.037.085.08.172.105.265.103.393.103.773-.118 1.144l-.002-.002c-.04-.077-.029-.135-.002-.203.064-.168.122-.34.11-.521a1.544 1.544 0 00-.096-.464 4.151 4.151 0 01-.068-.186c.015-.022.03-.037.058-.035zm-.143.145c.02.001.028.014.034.027.043.088.074.177.093.275.02.113.01.225.018.337.006.072-.016.143-.027.211a.267.267 0 01-.134.197v.002h-.002l.002-.002c-.006-.067.019-.127.033-.187.02-.09.052-.182.064-.273.017-.116-.02-.227-.05-.34l-.045-.154c-.008-.033-.014-.064.004-.093h.01zm-.123.162c.011 0 .021.002.033.005a.96.96 0 01.074.424c-.002.056-.023.106-.035.158-.01.039-.037.062-.07.08-.027-.027-.019-.051-.013-.078.017-.077.033-.151.035-.23.005-.12-.033-.232-.06-.35h-.002a.1.1 0 01.038-.009zm4.468.835l1.396.318v1.383l-1.396-.385z": "PCGamingWiki",
- "M11.558 1.034C5.174 1.034 0 6.21 0 12.592c0 1.258.201 2.47.574 3.597l.002-.007a12.415 12.415 0 01.53-1.787l.011-.03c.085-.222.179-.442.277-.66l.084-.181c.08-.171.165-.34.253-.507.036-.068.07-.136.108-.203.02-.038.044-.073.064-.11.094-.166.19-.332.29-.493l.075-.114c.125-.195.256-.386.393-.573l.035-.05c.144-.193.295-.38.451-.563l.1-.118c.155-.177.315-.35.481-.517l.099-.097a10.321 10.321 0 01.546-.503c.74-2.48 3.005-4.285 5.686-4.285 1.079 0 2.152.31 3.071.873a6.017 6.017 0 012.211 2.407l.007.015.04.074v.003l.004.002a9.925 9.925 0 011.567 1.198c.04.037.081.071.12.109.002 0 .006.005.007.006l-.002-.006-.001-.004v-.003l.042-.084c.377-2.384 1.43-4.102 2.67-4.102.934 0 1.762.975 2.276 2.476l.005.016.001.002c.145.158.287.331.424.521l.007.01.021.067-.02-.078c-1.542-4.569-5.863-7.857-10.952-7.857zM9.927 5.477C7.586 5.52 5.34 7.132 4.574 9.365l-.012.034a10.14 10.14 0 011.315-.895c2.806-1.656 6.479-1.646 9.278.016-.895-1.653-2.631-2.819-4.5-3.004a5.14 5.14 0 00-.728-.039zm9.834.5a1.36 1.36 0 00-.39.067c-1.265.562-1.719 2.073-2.031 3.303l-.016.072c.365-.62.808-1.215 1.396-1.642.835-.687 2.105-.655 2.916.053.308.326.141.008.031-.22-.342-.75-1.025-1.653-1.906-1.634zM21.67 7.98zm-9.32.335l-1.07 3.27-.002.005-.006.002-4.498 1.112h-.009l4.456 1.087c.105.11.227.205.36.28h.002c.042.024.085.045.129.065l.01.005c.041.018.083.033.126.047l.021.008c.04.013.08.023.12.032l.033.008a1.677 1.677 0 00.318.033 1.546 1.546 0 001.43-.948c.08-.186.123-.39.123-.604v-.011l-.001-.012c-.001-.054-.004-.107-.01-.16l-.001-.002a1.506 1.506 0 00-.026-.153l-.001-.004a1.511 1.511 0 00-.096-.288v-.003a1.521 1.521 0 00-.348-.49v-.003zm3.148.626c.048 1.008.036 2.046-.1 3.057-.17 2.018-1.19 3.798-1.972 5.616l-.03.08-.035.086c1.51-1.522 3.17-3.04 3.969-5.082.383-.636.118-1.342-.115-1.976-.17-.877-1.069-1.278-1.717-1.781zm6.172.572l-.588 2.688a1.764 1.764 0 00-.047.2c-.002.02-.007.04-.01.06a1.76 1.76 0 00-.016.222l-.002.031h.003c0 .628.297 1.136.663 1.137a.41.41 0 00.182-.045l.027-.015a.537.537 0 00.07-.047c.013-.01.024-.022.036-.033a.752.752 0 00.137-.168l.03-.054a1.23 1.23 0 00.052-.108l.017-.04c.02-.053.038-.108.053-.166l.002-.002.001-.003.404-.451-.407-.456v.001l-.02-.063zm-4.381.856c.69 1.716.85 3.707.091 5.43-.49 1.368-1.587 2.463-1.874 3.905.73.115 1.468.176 2.21.186 2.166.029 4.332-.42 6.284-1.365-2.04-2.869-4.121-5.755-6.711-8.156zm-4.948.977a.583.583 0 110 1.166.583.583 0 010-1.166zm9.352.37c.138 0 .249.19.249.426s-.111.426-.249.426c-.137 0-.248-.19-.248-.426 0-.235.11-.426.248-.426zm-4.044.184c-.016.112-.033.209-.05.29l-.006.023c-.01.05-.022.094-.033.128-.48 1.417-1.275 2.52-2.36 3.697-.147.16-.301.32-.459.484a58.883 58.883 0 01-1.196 1.205c-.112.11-.259.261-.425.436-.103.287-.22.61-.318.95-.044-.016-.086-.031-.131-.049-2.108-.815-3.519-1.904-3.519-1.904s1.086 1.414 2.915 2.74c.177.129.351.24.522.339-.075 1.194.452 2.34 2.83 2.682a4.81 4.81 0 001.228.008l-.01-.029a.062.062 0 00-.004-.01s-.167-.133-.379-.377a3.842 3.842 0 01-.584-.897 3.382 3.382 0 01-.266-.862 3.176 3.176 0 01-.006-.972c.017-.12.04-.241.072-.366.093-.374.255-.772.507-1.192l.002-.003.241-.404c1.103-1.86 1.797-3.275 1.506-5.441a8.943 8.943 0 00-.078-.476zm4.668.576l.001.008-.001-.008zm.013.203l.003.036v.01c0 .013-.003.025-.003.038 0-.014.003-.028.003-.043 0-.014-.002-.026-.003-.04zm-.012.275v.001l-.002.01-.002.014.004-.025zm1.353 5.928c-2.553 1.138-5.44 1.44-8.192 1.007-.14 1.108.384 2.218 1.214 2.93l.012.01c2.703-.433 4.975-2.168 6.966-3.946z": "PrestaShop",
- "M20.156.083c3.033.525 3.893 2.598 3.829 4.77L24 4.822 22.635 22.71 4.89 23.926h.016C3.433 23.864.15 23.729 0 19.139l1.645-3 2.819 6.586.503 1.172 2.805-9.144-.03.007.016-.03 9.255 2.956-1.396-5.431-.99-3.9 8.82-.569-.615-.51L16.5 2.114 20.159.073l-.003.01zM0 19.089v.026-.029.003zM5.13 5.073c3.561-3.533 8.157-5.621 9.922-3.84 1.762 1.777-.105 6.105-3.673 9.636-3.563 3.532-8.103 5.734-9.864 3.957-1.766-1.777.045-6.217 3.612-9.75l.003-.003z": "Ruby",
- "M24 18.185v2.274h-4.89v-2.274H24zm-24-.106h11.505v2.274H0v-2.279.005zm12.89 0h4.89v2.274h-4.89v-2.279.005zm6.221-3.607H24v2.274h-4.89l.001-2.274zM0 14.367h11.505v2.274H0v-2.274zm12.89 0h4.89v2.274h-4.89v-2.274zm6.221-3.346H24v2.273h-4.89l.001-2.273zM0 10.916h11.505v2.271H0v-2.271zm12.89 0h4.89v2.271h-4.89v-2.271zm6.22-3.609H24v2.279h-4.89V7.307zM0 7.206h11.505V9.48H0V7.201v.005zm12.89 0h4.89V9.48h-4.89V7.201v.005zm6.221-3.556H24v2.276h-4.89v-2.28l.001.004zM0 3.541h11.505v2.274H0V3.541zm12.89 0h4.89v2.274h-4.89V3.541z": "Server Fault",
- "M24 12V11.66l-.03-.24a5.48 5.48 0 0 0-4.88-4.89l-.24-.01h-.05l-.27-.01a5.45 5.45 0 0 0-3.88 1.6L12.8 9.97l1.35 1.36 1.35-1.35h-.01l.5-.51a3.55 3.55 0 0 1 2.53-1.05h.2l.16.01a3.58 3.58 0 0 1 3.2 3.19V12.35a3.58 3.58 0 0 1-2 2.84l-.03.02-.1.04-.07.03-.06.03-.11.04h-.03a3.58 3.58 0 0 1-3.69-.84l-.5-.5-3.37-3.36-5.38-5.39-1.35 1.35L0 12l1.35 1.35 5.39 5.39 1.34-1.35 3.37-3.37-1.34-1.35-3.37 3.37L2.7 12l4.04-4.04 2.02 2.02 5.39 5.39.5.5a5.46 5.46 0 0 0 5.65 1.3l.05-.01.16-.07.1-.04.11-.04.16-.07.05-.03a5.47 5.47 0 0 0 3.04-4.35v-.01l.02-.24v-.04V12H24z": "Showpad",
- "M17.803 5.24a3.161 3.161 0 0 0-1.647.5c-.245.185-.54.52-.518 1.165.022.32.031.294.112.58.232.433.458.622.826.94.06.047.079.06.133.099.275.258.553.556.79.823.207.256.432.54.604.825.229.392.263.369.546.928.287.645.398 1.392.226 2.068a4.62 4.62 0 0 1-.88 1.646l.347 1.137.303-1.115.463.003.298 1.114.34-1.112h.466l-.554 1.662c.3-.39.528-.74.763-1.197l.409.07c.036-.093.079-.155.145-.183.04-.018.063-.032.19-.032.1-.001.216.016.253.095.013.035.028.064.023.183a3.68 3.68 0 0 1-.436.104c-.302.059-.427.105-.521.192a.44.44 0 0 0-.152.355c0 .11.02.184.07.26.079.122.19.197.344.23.1.022.302.018.393-.008a.86.86 0 0 0 .27-.138l.07-.053.056.173h.482l-.015-.03a1.143 1.143 0 0 1-.075-.22c-.012-.054-.014-.132-.015-.548 0-.401-.003-.497-.014-.552-.022-.112-.04-.16-.102-.216a.46.46 0 0 0-.257-.14 1.74 1.74 0 0 0-.494-.025c-.216.018-.42.11-.49.22 0 .002 0 .002-.002.003.734-1.491 1.002-3.19.274-4.696-.42-.92-1.036-1.522-1.751-2.102.71.009 1.367.094 2.033.02.167-.012.3-.02.455-.056a.624.624 0 0 1 .318-.073c.335-.116.376-.214.379-.292-.021-.181-.335-.323-.487-.393l-.96.202c-.057-.04-.835-.292-.83-.595.003-.122.13-.138.16-.433l.001-.263-.058-.298c-.063-.082-.425-.313-.626-.421-.241-.12-.386-.19-.562-.235a3.181 3.181 0 0 0-1.096-.171zm-6.332.657c-1.667-.01-3.283.509-4.457 1.83-.55.579-1.06 1.274-1.458 1.923.396.083.697.186 1.165.32.438.097.78.378 1.082.488l.09-.048c-1.001-.5-.685-.4-.284-.266.723.654 1.823.52 2.545 1.162l.243.14c.113-.04-.322-.275-.248-.282l.063.004c-.022-.001-.862-.533-.795-.53-.085-.145-.267-.225-.358-.308.227.073.587.375.732.428l.074-.063c.033-.029.005.135.141.165l.1-.165c.017-.026.087.146.131.157.03.008.004-.061.074-.111-.123-.079-.14-.075-.26-.138-.154-.029-.183-.042-.459-.238.29-.024.326.09.46.15.44.126.9.28 1.274.562l.033-.04c.017-.02.546.385.51.35l.065-.083c.012-.015.132.172.142.161l.06-.067c.252.226.276.377.528.551.16.075.54.373.79.528.505.45.711.64-.029.077-.166-.093-.617-.525-.528-.161.166.125.671.372.446.387.008.004.039.076.375.265.143.081.447.298.447.298l.014-.025.176.16c-.012-.012-.127-.013-.188-.022-.282-.22-.27-.194-.296-.193-.211.236.208.156.032.3.154.084.302.212.417.327.012.122.13.19.264.317s.285.315.389.41c.846-.389 1.315-.976 1.551-1.524.295-.756.245-1.02.086-1.586-.178-.557-.711-1.153-1.183-1.527-.25-.223-.495-.368-.878-.655-.69-.751-.954-1.401-1.019-1.966-.076-.516.06-.998.168-1.315-.7-.07-1.452-.15-2.065-.145a7.912 7.912 0 0 0-.162-.002zM5.556 9.65c-.08-.014-.157-.028-.229-.03a.338.338 0 0 0-.252.089c.13.015.26.03.398.074zm-.083.133l-.08.126c.219.023.314.015.515.04.19.05.542.15.71.207.016.013.088-.033.05-.054-.39-.174-.815-.208-1.195-.319zm-.08.126h-.169l.14.045zm-.028.045l-.031.065c.216.031.986.29 1.045.297.043.005.063-.048.025-.065-.134-.052-.317-.096-.508-.154a5.804 5.804 0 0 0-.531-.143zm-.031.065c-.21-.043-.326-.098-.578-.169-.258-.106-1.13-.252-.557.03.042.098-.506-.041-.341-.095-.06.002-.98-.273-.721-.092-.392-.14-.308-.129-.365.069-.2-.123-.331-.165-.466-.166-.08 0-.163.015-.262.037-.348-.063-.124-.019-.166.143.114.124.781.278.922.31.322.069 1.115.315 1.085.254-.282-.164.146.009.267.068.144.088.58.079.55.225a.353.353 0 0 1 .21.077c.123-.215.245-.432.422-.69zm-.528-.254c.067.07.14.053.232.078.066-.006.292-.018.336-.013-.017-.004-.23-.063-.568-.065zm-.408.075c.095.002.427.224.194.138-.243-.065-.326-.128-.21-.135a.034.034 0 0 1 .016-.003zm-2.675.011c-.034-.003-.056.08.119.104.054.008-.078-.093-.12-.104zm.22.07c-.03.021.03.068.363.128.274.05-.301-.129-.362-.128zm2.878.03c.04 0 .237.123.165.115-.236-.028-.255-.116-.165-.115zm-2.507.19c.229.144.31.17.052.134.147.097.48.15.348.306.055.027.201-.006.224.047.023.053.016.063-.101.13-.08.05-.49-.063-.683-.09-.22-.057-.376-.06-.594-.09-.468-.046-.003.087-.672.046-.545-.032-.193.11-.244.122-.1.137-.284-.069-.313-.044-.044.057-.01.187-.287.006L0 10.862c.397-.01.522.146.597-.035.17.013.3.096.354.133.054.037-.134.11-.016.095.101-.112.172.067.24.057.044 0 .12-.082.17-.088.021.006.079.098.13.093.043-.004.129-.07.149-.057.389.066.488.097.556.176.252-.012.55.164.963.209.981.336-.904-.193-1.462-.16-.188.017-.872-.13-.538.058.288.127.482.255.624.159.048-.026.894.356.338.019.12.017.227-.01.326.045.303.163.47.058.565.134.277.156.474.111.698.135.126.022.411.06.476.104.114.023.067.014.212.038l.102-.267c-.671-.075-.693-.112-1.543-.368l.014-.056c.209.068.343.1.52.127l.012-.094c.09.022.47.105.489.091-.215-.094-.2-.044-.163-.114.11-.033.557.165.613.139.156-.005.123.003.162.007.154-.415.171-.38.276-.654a2.276 2.276 0 0 1-.245-.109c-.089.042.196.142-.306-.008-.147-.1-.125-.145-.153-.002-.054-.037-.089-.005-.339-.193-.351-.122-1.261-.338-1.507-.336zm2.274 1.301l-.104.268c.212.02.167.005.303-.01.135-.014.471.118.621.191.088.057.095.074.363.167.147.025.574.242.876.316.036-.01.363.114.526.15.102.04.193.093.28.157.147.061.207.087.38.11.164.071-.018.024.201.117.24.123.358.242.442.267.104-.053.34-.12.38-.13-.172-.04-.438-.242-.817-.388-.623-.15-1.137-.55-1.71-.804l-.419-.113c-.038.003-.043.021-.044.05.394.123.534.162.677.235.182.16.322.185.351.221-.325-.097-.295-.085-.59-.174-.237-.078-.274-.133-.58-.227-.158-.049-.356-.166-.536-.233a2.167 2.167 0 0 0-.6-.17zm-.206.535C3.678 13.9 3.315 14.845 1.76 15.86c-.364.229-.778.4-1.21.427v2.467c1.51.002 3.019.001 4.528.006-.276-2.279 1.124-4.583 3.202-5.505-.38-.288-.39-.202-.451-.172-.248-.181-1.15-.677-1.16-.688-.1-.011-.36-.125-.398-.075-.025.055.13.072.187.084.225.041 1.242.664 1.32.792-.448.025-.81-.41-1.181-.505l.008-.118c-.236-.12-.415-.122-.481-.166-.08.146-1.016-.346-1.17-.341-.23.033-.213-.036-.572-.089zm.938-1.331c-.017 0-.007.01.056.041.053.019.515.205.256.143-.168.117.425.013.244.116-.398-.111.547.306.308.07-.093-.147-.131-.088-.193-.12-.183-.093-.297-.127-.414-.178-.03-.009-.216-.07-.257-.072zm.257.072l-.016-.006.016.006zm-4.575-.052c.13 0 .266.01.313.014.366-.045.425.12.107.088-.03-.002-.108-.073-.233.049-.074-.009-.126-.086-.212-.104.071.1.293.142-.131.088-.258-.114-.06-.137.156-.135zm.741.033c.05-.002.111.017.128.077-.257-.015-.21-.074-.128-.077zm8.753.28l-.003.001c-.122.08.05.232.385.348-.099-.138-.042-.143-.195-.193.067.172-.15-.155-.187-.156zm-5.734.12c-.23.14.486.301.387.255-.042-.173.399.174.217-.043-.26-.058-.11-.103-.203-.096-.158.066-.295-.098-.401-.115zm-2.067.017c.005 0 .01.002.016.005.023.014.052.05.093.072.01.037-.029.04-.069.029-.04-.01-.081-.033-.078-.045.011-.047.023-.062.038-.062zm.845.09c.016 0 .048.025.095.102-.097-.004-.126-.1-.095-.101zm7.412.046c-.084.073.188.295.27.145-.136-.126.054.123-.27-.145zm-3.99.003c-.277.065-.275.007.053.197.3.138-.003.095-.126.012.004.03.25.217.22.19.118.083.454.215.32.042.12-.15-.193-.162-.194-.184a.867.867 0 0 1-.28-.183c-.185.014.119-.06.007-.074zm-.007.074h.004c-.004-.002-.005-.002-.004 0zm.28.183c.028.007.048.003.055-.017-.04.007-.055.013-.055.017zm.28 2.852v.485h-.192v.242h.192l.008 1.018c.008.224.129.388.334.447.17.028.32.013.478-.028l-.004-.264a.733.733 0 0 1-.245.058c-.17-.01-.23-.035-.275-.203l-.005-1.03.53.002v-.242h-.527v-.485zm4.614.436a.7.7 0 0 0-.459.179l-.056.045v-.175h-.293v1.689h.293v-1.259l.064-.047a.9.9 0 0 1 .258-.136.571.571 0 0 1 .236 0c.06.017.11.058.138.113.047.092.05.125.054.754l.004.575h.292l-.003-.625c-.003-.606-.004-.628-.022-.7-.05-.205-.167-.34-.344-.393a.725.725 0 0 0-.162-.02zm11.251.002a.751.751 0 0 0-.306.068.896.896 0 0 0-.228.168l-.034.039v-.237h-.444v1.715h.477l-.003-.893c-.01-.438.226-.504.398-.511.195.006.274.14.28.332-.002.358.001.715.004 1.072H24l-.003-.65c-.003-.591-.005-.656-.018-.71a.462.462 0 0 0-.286-.337.778.778 0 0 0-.313-.056zm-13.111 0a.901.901 0 0 0-.198.02c-.3.082-.498.337-.54.699-.016.131-.006.355.02.468.04.173.1.284.214.399a.524.524 0 0 0 .147.114.794.794 0 0 0 .234.077c.08.013.265.004.345-.015a.678.678 0 0 0 .44-.35c.076-.15.097-.247.103-.475a1.144 1.144 0 0 0-.048-.432.694.694 0 0 0-.717-.505zm3.394.001a.67.67 0 0 0-.477.196.688.688 0 0 0-.176.266c-.073.18-.093.425-.053.662.05.3.21.497.444.56a.845.845 0 0 0 .446-.02c.091-.04.154-.093.225-.148l-.002.135a1.05 1.05 0 0 1-.018.182c-.027.11-.072.184-.163.23a.537.537 0 0 1-.297.055c-.196-.004-.364-.073-.488-.116l-.004.307c.1.024.21.047.295.057.185.023.381.012.514-.03.256-.06.425-.299.448-.67v-1.62h-.266l-.014.07-.077-.042c-.156-.074-.264-.073-.337-.074zm-7.03.003a.79.79 0 0 0-.213.025c-.193.057-.337.192-.38.357a.647.647 0 0 0-.013.137c0 .15.038.247.13.333.09.085.186.118.471.177.202.042.28.078.313.177.02.175.002.215-.107.283a.726.726 0 0 1-.242.042c-.15.014-.372-.071-.554-.218H6.02v.32c.11.056.23.098.355.128.1.026.382.015.452-.008.149-.048.3-.15.358-.261a.453.453 0 0 0 .06-.254c-.001-.257-.122-.39-.418-.459l-.216-.05a.583.583 0 0 1-.23-.095c-.045-.041-.069-.136-.052-.206.015-.06.05-.098.108-.133.177-.108.498-.048.722.13h.023v-.308a1.34 1.34 0 0 0-.337-.105 2.395 2.395 0 0 0-.21-.012zm2.676.042a.678.678 0 0 0-.395.175l-.093.08.001-.253H8.54l.004 1.686.285.002-.004-1.199a.915.915 0 0 1 .251-.162c.148-.053.195-.04.363-.023v-.305h-.13zm.965.204c.051 0 .103.007.154.022.14.044.237.162.283.343.025.1.032.37.013.482-.038.219-.14.361-.296.413a.447.447 0 0 1-.43-.08c-.113-.106-.163-.247-.171-.486-.01-.277.04-.463.155-.578a.421.421 0 0 1 .292-.116zm3.42.008h.042a.802.802 0 0 1 .336.098v.918l-.05.035a.803.803 0 0 1-.24.11.619.619 0 0 1-.28 0c-.118-.038-.19-.122-.232-.276a1.28 1.28 0 0 1-.03-.335c.016-.214.066-.34.174-.442a.374.374 0 0 1 .28-.108zm3.96.105c-1.014.897-1.887 1.096-2.407 1.228.247.696.34 1.51.289 2.245 1.596-.265 3.04-.904 4.076-2.083l-.43-.001-.31-1.098-.299 1.098-.46.001zm3.78.58c.007.002.007.028.004.129-.005.156-.019.204-.078.27a.455.455 0 0 1-.2.114c-.111.028-.212.005-.283-.065-.112-.112-.073-.274.079-.33.045-.017.08-.026.329-.083a3.467 3.467 0 0 0 .149-.035z": "strongSwan"
+ "M12 1.25l6.75 6.637V2L12 1.25zm0 0l-6.05 7h12.1l-6.05-7zm0 0L5.25 2v5.887L12 1.25zM5.25 2L0 9l4.416-.68L5.25 2zM0 9l11.959 13.703.008-.014L4.443 9H0zm18.75-7l.834 6.32L24 9l-5.25-7zM24 9h-4.506l-7.523 13.69.029.06L24 9zM12 22.75l-.031-.057-.008.012.039.045zM5.436 9l6.533 13.686L18.564 9H5.436Z": "Sketch"
}
}
diff --git a/.svglintrc.js b/.svglintrc.js
deleted file mode 100644
index 6d5651447d56..000000000000
--- a/.svglintrc.js
+++ /dev/null
@@ -1,575 +0,0 @@
-const fs = require('fs');
-
-const data = require("./_data/simple-icons.json");
-const { htmlFriendlyToTitle } = require("./scripts/utils.js");
-const svgpath = require("svgpath");
-const svgPathBbox = require("svg-path-bbox");
-const parsePath = require("svg-path-segments");
-
-const svgRegexp = /^
-
-
-
+
+
+
+
+
+
+
## Usage
@@ -26,20 +28,20 @@ Icons can be downloaded as SVGs directly from [our website](https://simpleicons.
Icons can be served from a CDN such as [JSDelivr](https://www.jsdelivr.com/package/npm/simple-icons) or [Unpkg](https://unpkg.com/browse/simple-icons/). Simply use the `simple-icons` npm package and specify a version in the URL like the following:
```html
-
-
+
+
```
Where `[ICON SLUG]` is replaced by the [slug] of the icon you want to use, for example:
```html
-
-
+
+
```
These examples use the latest major version. This means you won't receive any updates following the next major release. You can use `@latest` instead to receive updates indefinitely. However, this will result in a `404` error if the icon is removed.
-### Node Usage
+### Node Usage
The icons are also available through our npm package. To install, simply run:
@@ -47,34 +49,22 @@ The icons are also available through our npm package. To install, simply run:
npm install simple-icons
```
-The API can then be used as follows, where `[ICON SLUG]` is replaced by a [slug]:
-
-```javascript
-const simpleIcons = require('simple-icons');
-
-// Get a specific icon by its slug as:
-// simpleIcons.Get('[ICON SLUG]');
-
-// For example:
-const icon = simpleIcons.Get('simpleicons');
-
-```
-
-Alternatively you can import the needed icons individually, where `[ICON SLUG]` is replaced by a [slug].
-This is useful if you are e.g. compiling your code with [webpack](https://webpack.js.org/) and therefore have to be mindful of your package size:
-
+All icons are imported from a single file, where `[ICON SLUG]` is replaced by a capitalized [slug]. We highly recommend using a bundler that can tree shake such as [webpack](https://webpack.js.org/) to remove the unused icon code:
```javascript
// Import a specific icon by its slug as:
-// require('simple-icons/icons/[ICON SLUG]');
+// import { si[ICON SLUG] } from 'simple-icons/icons'
// For example:
-const icon = require('simple-icons/icons/simpleicons');
+// use import/esm to allow tree shaking
+import { siSimpleicons } from 'simple-icons/icons';
+// or with require/cjs
+const { siSimpleicons } = require('simple-icons/icons');
```
-Either method will return an icon object:
+It will return an icon object:
```javascript
-console.log(icon);
+console.log(siSimpleicons);
/*
{
@@ -96,27 +86,11 @@ NOTE: the `license` entry will be `undefined` if we do not yet have license data
*/
```
-Lastly, the `simpleIcons` object is also enumerable.
-This is useful if you want to do a computation on every icon:
+#### TypeScript Usage
-```javascript
-const simpleIcons = require('simple-icons');
+Type definitions are bundled with the package.
-for (const iconSlug in simpleIcons) {
- const icon = simpleIcons.Get(iconSlug);
- // do stuff
-}
-```
-
-#### TypeScript Usage
-
-There are also TypeScript type definitions for the Node package. To use them, simply run:
-
-```shell
-npm install @types/simple-icons
-```
-
-### PHP Usage
+### PHP Usage
The icons are also available through our Packagist package. To install, simply run:
@@ -138,21 +112,39 @@ echo file_get_contents('path/to/package/icons/simpleicons.svg');
?>
```
-## Third Party Extensions
+## Third-Party Extensions
| Extension | Author |
-| :--- | :--- |
-| [Drupal module](https://www.drupal.org/project/simple_icons) | [Phil Wolstenholme](https://www.drupal.org/u/phil-wolstenholme) |
-| [Flutter package](https://pub.dev/packages/simple_icons) | [@jlnrrg](https://jlnrrg.github.io/) |
-| [Hexo plugin](https://github.com/nidbCN/hexo-simpleIcons) | [@nidbCN](https://github.com/nidbCN/) |
-| [Home Assistant plugin](https://github.com/vigonotion/hass-simpleicons) | [@vigonotion](https://github.com/vigonotion/) |
-| [Jetpack Compose library](https://github.com/DevSrSouza/compose-icons) | [@devsrsouza](https://github.com/devsrsouza/) |
-| [Kirby plugin](https://github.com/runxel/kirby3-simpleicons) | [@runxel](https://github.com/runxel) |
-| [Laravel Package](https://github.com/ublabs/blade-simple-icons) | [@adrian-ub](https://github.com/adrian-ub) |
-| [Python package](https://github.com/sachinraja/simpleicons) | [@sachinraja](https://github.com/sachinraja) |
-| [React package](https://github.com/icons-pack/react-simple-icons) | [@wootsbot](https://github.com/wootsbot) |
-| [Svelte package](https://github.com/icons-pack/svelte-simple-icons) | [@wootsbot](https://github.com/wootsbot) |
-| [Vue package](https://github.com/mainvest/vue-simple-icons) | [@noahlitvin](https://github.com/noahlitvin) |
-| [WordPress plugin](https://wordpress.org/plugins/simple-icons/) | [@tjtaylo](https://github.com/tjtaylo) |
+| :-- | :-- |
+| [Angular Module](https://github.com/avmaisak/ngx-simple-icons) | [@avmaisak](https://github.com/avmaisak) |
+| [Blazor Nuget](https://github.com/TimeWarpEngineering/timewarp-simple-icons) | [@TimeWarpEngineering](https://github.com/TimeWarpEngineering) |
+| [Blender add-on](https://github.com/mondeja/simple-icons-blender) | [@mondeja](https://github.com/mondeja) |
+| [Drawio library](https://github.com/mondeja/simple-icons-drawio) | [@mondeja](https://github.com/mondeja) |
+| [Drupal module](https://www.drupal.org/project/simple_icons) | [Phil Wolstenholme](https://www.drupal.org/u/phil-wolstenholme) |
+| [Flutter package](https://pub.dev/packages/simple_icons) | [@jlnrrg](https://jlnrrg.github.io/) |
+| [Hexo plugin](https://github.com/nidbCN/hexo-simpleIcons) | [@nidbCN](https://github.com/nidbCN/) |
+| [Home Assistant plugin](https://github.com/vigonotion/hass-simpleicons) | [@vigonotion](https://github.com/vigonotion/) |
+| [Hugo module](https://github.com/foo-dogsquared/hugo-mod-simple-icons) | [@foo-dogsquared](https://github.com/foo-dogsquared) |
+| [Java library](https://github.com/silentsoft/simpleicons4j) | [@silentsoft](https://github.com/silentsoft) |
+| [Jetpack Compose library](https://github.com/DevSrSouza/compose-icons) | [@devsrsouza](https://github.com/devsrsouza/) |
+| [Kirby plugin](https://github.com/runxel/kirby3-simpleicons) | [@runxel](https://github.com/runxel) |
+| [LaTeX package](https://github.com/ineshbose/simple-icons-latex) | [@ineshbose](https://github.com/ineshbose) |
+| [Laravel Package](https://github.com/ublabs/blade-simple-icons) | [@adrian-ub](https://github.com/adrian-ub) |
+| [Python package](https://github.com/sachinraja/simple-icons-py) | [@sachinraja](https://github.com/sachinraja) |
+| [React package](https://github.com/icons-pack/react-simple-icons) | [@wootsbot](https://github.com/wootsbot) |
+| [Stream Deck icon pack](https://github.com/mackenly/simple-icons-stream-deck) | [@mackenly](https://github.com/mackenly) |
+| [Svelte package](https://github.com/icons-pack/svelte-simple-icons) | [@wootsbot](https://github.com/wootsbot) |
+| [Vue 3 package](https://github.com/wyatt-herkamp/vue3-simple-icons) | [@wyatt-herkamp](https://github.com/wyatt-herkamp) |
+| [Vue package](https://github.com/mainvest/vue-simple-icons) | [@noahlitvin](https://github.com/noahlitvin) |
+| [WordPress plugin](https://wordpress.org/plugins/simple-icons/) | [@tjtaylo](https://github.com/tjtaylo) |
+
[slug]: ./slugs.md
+
+## Contribute
+
+[![Good first issues open](https://img.shields.io/github/issues/simple-icons/simple-icons/good%20first%20issue?label=good%20first%20issues&logo=git&logoColor=white)](https://github.com/simple-icons/simple-icons/labels/good%20first%20issue)
+
+Information describing how to contribute can be found here:
+
+https://github.com/simple-icons/simple-icons/blob/develop/CONTRIBUTING.md
diff --git a/VERSIONING.md b/VERSIONING.md
new file mode 100644
index 000000000000..98d9a1291363
--- /dev/null
+++ b/VERSIONING.md
@@ -0,0 +1,26 @@
+# Versioning
+
+We use [Semantic Versioning](https://semver.org/) to version Simple Icons. In short, this means that version numbers are structured as `MAJOR.MINOR.PATCH`. For example, version `3.1.4` is major version `3`, minor version `1`, and patch `4`. Increasing each of these numbers implies certain kinds of changes.
+
+For Simple Icons, given a change to the version number you can expect the following kinds of changes:
+
+| Version number increase | Kinds of changes |
+| :---- | :---- |
+| _Major_ | Removed icons; Renamed icons; Breaking API changes |
+| _Minor_ | New icons; API changes |
+| _Patch_ | Updated SVGs; Updated metadata |
+
+## Release Schedule
+
+_Minor_ releases and _patches_ are scheduled on a weekly basis and are generally released on a Sunday.
+
+_Major_ releases are scheduled on a half-year basis, mainly to remove old SVGs. That is, approximately every 6 months a normal Sunday release is a _major_ release instead of a _minor_ release or _patch_.
+
+## Deprecation
+
+For approximately 3 months after a _major_ release, the _major_ release preceding it will be supported. After 3 months, the previous _major_ release is deprecated and will no longer be supported.
+
+Support of a _major_ version entails the following:
+
+- SVGs and metadata of brands will be updated on request. This excludes brands that were removed in the new _major_ release.
+- Bugs in the npm library will be updated if reported.
diff --git a/_data/simple-icons.json b/_data/simple-icons.json
index 0b39148e1ce8..5f82795d07f5 100644
--- a/_data/simple-icons.json
+++ b/_data/simple-icons.json
@@ -3,7 +3,12 @@
{
"title": ".NET",
"hex": "512BD4",
- "source": "https://github.com/dotnet/brand/"
+ "source": "https://github.com/dotnet/brand/tree/defe0408e765b48223a434a0d9a94213edc062f8"
+ },
+ {
+ "title": "/e/",
+ "hex": "000000",
+ "source": "https://gitlab.e.foundation/e/cloud/my-spot/-/blob/4e5430a17ba4ce77d4cb188222e47924f032b197/searx/static/themes/eelo/img/logo.svg"
},
{
"title": "1001Tracklists",
@@ -25,6 +30,11 @@
"hex": "000000",
"source": "https://www.42.fr/"
},
+ {
+ "title": "4chan",
+ "hex": "006600",
+ "source": "https://www.4chan.org/"
+ },
{
"title": "4D",
"hex": "004088",
@@ -45,6 +55,11 @@
"hex": "FF9E0F",
"source": "https://new.abb.com/products/robotics/en/robotstudio/downloads"
},
+ {
+ "title": "Abbott",
+ "hex": "008FC7",
+ "source": "https://commons.wikimedia.org/wiki/File:Logo_Abbott_Laboratories.svg"
+ },
{
"title": "Abbvie",
"hex": "071D49",
@@ -207,8 +222,15 @@
},
{
"title": "AdonisJS",
- "hex": "220052",
- "source": "https://adonisjs.com/"
+ "hex": "5A45FF",
+ "source": "https://adonisjs.com/",
+ "guidelines": "https://www.notion.so/adonisjs/Welcome-to-the-AdonisJS-Brand-Assets-Guidelines-a042a6d0be7640c6bc78eb32e1bbaaa1"
+ },
+ {
+ "title": "Adyen",
+ "hex": "0ABF53",
+ "source": "https://www.adyen.com/press-and-media/presskit",
+ "guidelines": "https://www.adyen.com/press-and-media/presskit"
},
{
"title": "Aer Lingus",
@@ -265,6 +287,16 @@
"hex": "000000",
"source": "https://commons.wikimedia.org/wiki/File:AI_Dungeon_Logo.png"
},
+ {
+ "title": "AIB",
+ "hex": "7F2B7B",
+ "source": "https://aib.ie/",
+ "aliases": {
+ "aka": [
+ "Allied Irish Banks"
+ ]
+ }
+ },
{
"title": "AIOHTTP",
"hex": "2C5BB4",
@@ -305,6 +337,11 @@
"hex": "00205B",
"source": "https://brand.airbus.com/brand-elements/logo.html"
},
+ {
+ "title": "Airbyte",
+ "hex": "615EFF",
+ "source": "https://airbyte.com/"
+ },
{
"title": "Aircall",
"hex": "00B388",
@@ -325,16 +362,41 @@
"hex": "18BFFF",
"source": "https://airtable.com/press"
},
+ {
+ "title": "Ajv",
+ "hex": "23C8D2",
+ "source": "https://github.com/ajv-validator/ajv/blob/95b15b683dfb60f63c5129b0426629b968d53af8/docs/.vuepress/public/img/ajv.svg"
+ },
{
"title": "Alacritty",
"hex": "F46D01",
"source": "https://github.com/alacritty/alacritty/blob/6d8db6b9dfadd6164c4be7a053f25db8ef6b7998/extra/logo/alacritty-simple.svg"
},
+ {
+ "title": "Albert Heijn",
+ "hex": "04ACE6",
+ "source": "https://www.ah.nl/"
+ },
+ {
+ "title": "Aldi Nord",
+ "hex": "2490D7",
+ "source": "https://commons.wikimedia.org/wiki/File:Aldi_Nord_201x_logo.svg"
+ },
+ {
+ "title": "Aldi Süd",
+ "hex": "00005F",
+ "source": "https://www.aldi-sued.de"
+ },
{
"title": "Alfa Romeo",
"hex": "981E32",
"source": "http://www.fcaci.com/x/Alfa"
},
+ {
+ "title": "Alfred",
+ "hex": "5C1F87",
+ "source": "https://www.alfredapp.com/"
+ },
{
"title": "Algolia",
"hex": "5468FF",
@@ -365,6 +427,11 @@
"hex": "006643",
"source": "https://www.alitalia.com/it_it/fly-alitalia/in-flight/ulisse-magazine.html"
},
+ {
+ "title": "Allegro",
+ "hex": "FF5A00",
+ "source": "https://allegro.pl/"
+ },
{
"title": "AlliedModders",
"hex": "1578D3",
@@ -398,22 +465,95 @@
{
"title": "Amazon",
"hex": "FF9900",
- "source": "https://worldvectorlogo.com/logo/amazon-icon"
+ "source": "https://worldvectorlogo.com/logo/amazon-icon",
+ "guidelines": "https://worldvectorlogo.com/terms-of-use"
},
{
"title": "Amazon Alexa",
"hex": "00CAFF",
"source": "https://developer.amazon.com/docs/alexa-voice-service/logo-and-brand.html"
},
+ {
+ "title": "Amazon API Gateway",
+ "hex": "FF4F8B",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "AWS API Gateway"
+ ]
+ }
+ },
{
"title": "Amazon AWS",
"hex": "232F3E",
- "source": "https://upload.wikimedia.org/wikipedia/commons/9/93/Amazon_Web_Services_Logo.svg"
+ "source": "https://upload.wikimedia.org/wikipedia/commons/9/93/Amazon_Web_Services_Logo.svg",
+ "aliases": {
+ "aka": [
+ "AWS"
+ ]
+ }
+ },
+ {
+ "title": "Amazon CloudWatch",
+ "hex": "FF4F8B",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "AWS CloudWatch"
+ ]
+ }
},
{
"title": "Amazon DynamoDB",
"hex": "4053D6",
- "source": "https://aws.amazon.com/architecture/icons/"
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "AWS DynamoDB"
+ ]
+ }
+ },
+ {
+ "title": "Amazon EC2",
+ "hex": "FF9900",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "Amazon Elastic Compute Cloud",
+ "AWS EC2",
+ "AWS Elastic Compute Cloud"
+ ]
+ }
+ },
+ {
+ "title": "Amazon ECS",
+ "hex": "FF9900",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "Amazon Elastic Container Service",
+ "AWS ECS",
+ "AWS Elastic Container Service"
+ ]
+ }
+ },
+ {
+ "title": "Amazon EKS",
+ "hex": "FF9900",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "Amazon Elastic Kubernetes Service",
+ "AWS EKS",
+ "AWS Elastic Kubernetes Service"
+ ]
+ }
},
{
"title": "Amazon Fire TV",
@@ -423,7 +563,8 @@
{
"title": "Amazon Lumberyard",
"hex": "66459B",
- "source": "https://aws.amazon.com/lumberyard/support"
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/"
},
{
"title": "Amazon Pay",
@@ -435,10 +576,40 @@
"hex": "00A8E1",
"source": "https://www.amazon.com/b?node=17277626011"
},
+ {
+ "title": "Amazon RDS",
+ "hex": "527FFF",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "AWS RDS"
+ ]
+ }
+ },
{
"title": "Amazon S3",
"hex": "569A31",
- "source": "https://aws.amazon.com/architecture/icons/"
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "AWS S3"
+ ]
+ }
+ },
+ {
+ "title": "Amazon SQS",
+ "hex": "FF4F8B",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/",
+ "aliases": {
+ "aka": [
+ "Amazon Simple Queue Service",
+ "AWS SQS",
+ "AWS Simple Queue Service"
+ ]
+ }
},
{
"title": "AMD",
@@ -455,6 +626,11 @@
"hex": "2E77BC",
"source": "https://commons.wikimedia.org/wiki/File:American_Express_logo.svg"
},
+ {
+ "title": "AMG",
+ "hex": "000000",
+ "source": "https://www.mercedes-amg.com/etc/clientlibs/amg/amg.base/assets/images/svg/amg-logo.svg"
+ },
{
"title": "AMP",
"hex": "005AF0",
@@ -545,6 +721,11 @@
"hex": "0170FE",
"source": "https://ant.design/components/icon/"
},
+ {
+ "title": "Anta",
+ "hex": "D70010",
+ "source": "https://www.anta.com/"
+ },
{
"title": "Antena 3",
"hex": "FF7328",
@@ -591,6 +772,11 @@
"hex": "E8E8E8",
"source": "https://cordova.apache.org/artwork/"
},
+ {
+ "title": "Apache CouchDB",
+ "hex": "E42528",
+ "source": "https://apache.org/logos/#couchdb"
+ },
{
"title": "Apache Druid",
"hex": "29F1FB",
@@ -611,6 +797,11 @@
"hex": "4298B8",
"source": "https://groovy-lang.org/"
},
+ {
+ "title": "Apache Hadoop",
+ "hex": "66CCFF",
+ "source": "https://apache.org/logos/#hadoop"
+ },
{
"title": "Apache Hive",
"hex": "FDEE21",
@@ -696,6 +887,12 @@
"hex": "0D96F6",
"source": "https://developer.apple.com/app-store/"
},
+ {
+ "title": "Appian",
+ "hex": "2322F0",
+ "source": "https://appian.com",
+ "guidelines": "https://assets.appian.com/uploads/assets/Appian_BrandGuidelines_Newsroom.pdf"
+ },
{
"title": "Apple",
"hex": "000000",
@@ -736,6 +933,17 @@
"hex": "00B3E0",
"source": "https://commons.wikimedia.org/wiki/File:Appveyor_logo.svg"
},
+ {
+ "title": "Appwrite",
+ "hex": "F02E65",
+ "source": "https://github.com/appwrite/appwrite/blob/c961382fb7a59ce908b4982a572e02e6e0feacd5/public/images/appwrite.svg"
+ },
+ {
+ "title": "Aqua",
+ "hex": "1904DA",
+ "source": "https://www.aquasec.com/brand/",
+ "guidelines": "https://www.aquasec.com/brand/"
+ },
{
"title": "ARAL",
"hex": "0063CB",
@@ -773,6 +981,16 @@
"hex": "00979D",
"source": "https://cdn.arduino.cc/projecthub/img/Arduino-logo.svg"
},
+ {
+ "title": "Argo",
+ "hex": "EF7B4D",
+ "source": "https://cncf-branding.netlify.app/projects/argo/"
+ },
+ {
+ "title": "Argos",
+ "hex": "DA291C",
+ "source": "https://www.argos.co.uk/"
+ },
{
"title": "ARK Ecosystem",
"hex": "C9292C",
@@ -783,6 +1001,17 @@
"hex": "49B48A",
"source": "https://www.arlo.com/"
},
+ {
+ "title": "Arm",
+ "hex": "0091BD",
+ "source": "https://www.arm.com/",
+ "guidelines": "https://www.arm.com/company/policies/trademarks/guidelines-corporate-logo"
+ },
+ {
+ "title": "Artifact Hub",
+ "hex": "417598",
+ "source": "https://raw.githubusercontent.com/artifacthub/hub/87a1fed/web/public/static/media/logo/artifacthub-brand-white.svg"
+ },
{
"title": "Artix Linux",
"hex": "10A0CC",
@@ -811,7 +1040,12 @@
{
"title": "asciinema",
"hex": "D40000",
- "source": "https://github.com/asciinema/asciinema-logo"
+ "source": "https://github.com/asciinema/asciinema-logo/tree/1c743621830c0d8c92fd0076b4f15f75b4cf79f4"
+ },
+ {
+ "title": "ASDA",
+ "hex": "68A51C",
+ "source": "https://www.asda.com/"
},
{
"title": "Aseprite",
@@ -834,6 +1068,19 @@
"hex": "007AAC",
"source": "https://www.assemblyscript.org/"
},
+ {
+ "title": "Aston Martin",
+ "hex": "000000",
+ "source": "https://www.astonmartin.com/"
+ },
+ {
+ "title": "Astro",
+ "hex": "FF5D01",
+ "source": "https://github.com/withastro/astro/blob/09144e8e88fbb79a75a2283aca8bf6eba6dc45f0/assets/brand/logo-white.svg",
+ "license": {
+ "type": "MIT"
+ }
+ },
{
"title": "ASUS",
"hex": "000000",
@@ -859,6 +1106,11 @@
"hex": "66595C",
"source": "https://commons.wikimedia.org/wiki/File:Atom_editor_logo.svg"
},
+ {
+ "title": "Auchan",
+ "hex": "D6180B",
+ "source": "https://www.auchan.fr/"
+ },
{
"title": "Audacity",
"hex": "0000CC",
@@ -919,6 +1171,22 @@
"hex": "3499CD",
"source": "https://automattic.com/press/brand-materials/"
},
+ {
+ "title": "Autoprefixer",
+ "hex": "DD3735",
+ "source": "https://github.com/postcss/autoprefixer/blob/1341747bc8142a147342f55eea5ed4286a3ca318/logo.svg"
+ },
+ {
+ "title": "avajs",
+ "hex": "4B4B77",
+ "source": "https://github.com/avajs/ava/blob/6f8e30c94626238a5b26deadac319089fa43d333/media/logo.svg"
+ },
+ {
+ "title": "Avast",
+ "hex": "FF7800",
+ "source": "https://www.avast.com/",
+ "guidelines": "https://press.avast.com/media-materials"
+ },
{
"title": "Awesome Lists",
"hex": "FC60A8",
@@ -932,7 +1200,20 @@
{
"title": "AWS Amplify",
"hex": "FF9900",
- "source": "https://docs.amplify.aws/"
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/"
+ },
+ {
+ "title": "AWS Fargate",
+ "hex": "FF9900",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/"
+ },
+ {
+ "title": "AWS Lambda",
+ "hex": "FF9900",
+ "source": "https://aws.amazon.com/architecture/icons/",
+ "guidelines": "https://aws.amazon.com/architecture/icons/"
},
{
"title": "Azure Artifacts",
@@ -969,6 +1250,20 @@
"hex": "F9DC3E",
"source": "https://github.com/babel/website/blob/93330158b6ecca1ab88d3be8dbf661f5c2da6c76/website/static/img/babel-black.svg"
},
+ {
+ "title": "Backbone.js",
+ "hex": "0071B5",
+ "source": "https://upload.wikimedia.org/wikipedia/commons/2/20/Backbone.js_logo.svg",
+ "license": {
+ "type": "MIT",
+ "url": "https://github.com/jashkenas/backbone/blob/master/LICENSE"
+ }
+ },
+ {
+ "title": "Backendless",
+ "hex": "FFFFFF",
+ "source": "https://backendless.com/"
+ },
{
"title": "Badgr",
"hex": "282C4C",
@@ -996,7 +1291,7 @@
},
{
"title": "BandLab",
- "hex": "DC3710",
+ "hex": "F12C18",
"source": "https://blog.bandlab.com/press/"
},
{
@@ -1076,6 +1371,11 @@
"hex": "004A9D",
"source": "https://zh.wikipedia.org/wiki/File:Beijing_Subway_Logo.svg"
},
+ {
+ "title": "BEM",
+ "hex": "000000",
+ "source": "https://en.bem.info/"
+ },
{
"title": "Bentley",
"hex": "333333",
@@ -1117,6 +1417,11 @@
"hex": "F0B90B",
"source": "https://binance.com/"
},
+ {
+ "title": "Bio Link",
+ "hex": "000000",
+ "source": "https://bio.link/"
+ },
{
"title": "Bit",
"hex": "73398D",
@@ -1223,6 +1528,11 @@
"hex": "0066B1",
"source": "https://www.bmw.de/"
},
+ {
+ "title": "Boehringer Ingelheim",
+ "hex": "003366",
+ "source": "https://cd.boehringer-ingelheim.com"
+ },
{
"title": "Boeing",
"hex": "1D439C",
@@ -1238,6 +1548,11 @@
"hex": "64BC4B",
"source": "https://bookmeter.com/"
},
+ {
+ "title": "BookMyShow",
+ "hex": "C4242B",
+ "source": "https://in.bookmyshow.com/"
+ },
{
"title": "BookStack",
"hex": "0288D1",
@@ -1248,11 +1563,21 @@
"hex": "F7901E",
"source": "https://www.boostmobile.com/"
},
+ {
+ "title": "Boots",
+ "hex": "05054B",
+ "source": "https://www.boots-uk.com/css/images/Boots_logo.svg"
+ },
{
"title": "Bootstrap",
"hex": "7952B3",
"source": "http://getbootstrap.com/about"
},
+ {
+ "title": "BorgBackup",
+ "hex": "00DD00",
+ "source": "https://www.borgbackup.org/"
+ },
{
"title": "Bosch",
"hex": "EA0016",
@@ -1263,6 +1588,11 @@
"hex": "000000",
"source": "https://developer.bose.com/sites/default/files/Bose%20AR%20Design%20Guidelines%20v1.0.pdf"
},
+ {
+ "title": "boulanger",
+ "hex": "FD5300",
+ "source": "https://www.boulanger.com/"
+ },
{
"title": "Bower",
"hex": "EF5734",
@@ -1273,6 +1603,11 @@
"hex": "0061D5",
"source": "https://www.box.com/en-gb/about-us/press"
},
+ {
+ "title": "Boxy SVG",
+ "hex": "3584E3",
+ "source": "https://boxy-svg.com/ideas/7/redesign-the-app-icon#comment-1875"
+ },
{
"title": "Brandfolder",
"hex": "40D1F5",
@@ -1308,6 +1643,11 @@
"hex": "1A86FD",
"source": "https://buddy.works/about"
},
+ {
+ "title": "Budibase",
+ "hex": "000000",
+ "source": "https://github.com/Budibase/budibase/blob/6137ffd9a278ecb3e4dbb42af804c9652741699e/packages/builder/assets/bb-emblem.svg"
+ },
{
"title": "Buefy",
"hex": "7957D5",
@@ -1338,16 +1678,34 @@
"hex": "14CC80",
"source": "https://buildkite.com/brand-assets"
},
+ {
+ "title": "Bukalapak",
+ "hex": "E31E52",
+ "source": "https://assets.bukalapak.com/sigil/bukalapak-logo-icon.svg",
+ "guidelines": "https://brand.bukalapak.design/brand-elements#logo-overview"
+ },
{
"title": "Bulma",
"hex": "00D1B2",
- "source": "https://github.com/jgthms/bulma/"
+ "source": "https://github.com/jgthms/bulma/tree/b0ed28b0e63fdfe54ef802ad155c889241fb6ae1"
},
{
"title": "bunq",
"hex": "3394D7",
"source": "https://www.bunq.com/press/"
},
+ {
+ "title": "Burger King",
+ "hex": "D62300",
+ "source": "https://www.bk.com/",
+ "guidelines": "https://www.bk.com/trademarks"
+ },
+ {
+ "title": "Burton",
+ "hex": "000000",
+ "source": "https://brand.burton.com/logo/",
+ "guidelines": "https://brand.burton.com/logo/"
+ },
{
"title": "Buy Me A Coffee",
"hex": "FFDD00",
@@ -1358,6 +1716,11 @@
"hex": "EE3322",
"source": "https://www.buzzfeed.com/press/assets"
},
+ {
+ "title": "Byju's",
+ "hex": "813588",
+ "source": "https://byjus.com/byjus-the-learning-app/"
+ },
{
"title": "byte",
"hex": "551DEF",
@@ -1381,13 +1744,19 @@
{
"title": "C++",
"hex": "00599C",
- "source": "https://github.com/isocpp/logos"
+ "source": "https://github.com/isocpp/logos/tree/64ef037049f87ac74875dbe72695e59118b52186"
},
{
"title": "Cachet",
"hex": "7ED321",
"source": "https://cachethq.io/press"
},
+ {
+ "title": "Caffeine",
+ "hex": "0000FF",
+ "source": "https://www.caffeine.tv/",
+ "guidelines": "https://www.caffeine.tv/newsroom.html"
+ },
{
"title": "Cairo Metro",
"hex": "C10C0C",
@@ -1406,7 +1775,11 @@
{
"title": "Canonical",
"hex": "77216F",
- "source": "https://design.ubuntu.com/downloads/"
+ "source": "https://design.ubuntu.com/downloads/",
+ "guidelines": "https://design.ubuntu.com/brand/canonical-logo/",
+ "license": {
+ "type": "CC-BY-SA-3.0"
+ }
},
{
"title": "Canva",
@@ -1423,6 +1796,11 @@
"hex": "FF9C42",
"source": "https://www.carthrottle.com/"
},
+ {
+ "title": "Carrefour",
+ "hex": "004E9F",
+ "source": "https://upload.wikimedia.org/wikipedia/commons/5/5b/Carrefour_logo.svg"
+ },
{
"title": "Carto",
"hex": "EB1510",
@@ -1533,6 +1911,11 @@
"hex": "F09820",
"source": "https://www.chef.io/"
},
+ {
+ "title": "Chemex",
+ "hex": "4D2B1A",
+ "source": "https://vtlogo.com/chemex-coffeemaker-vector-logo-svg/"
+ },
{
"title": "Chevrolet",
"hex": "CD9834",
@@ -1553,6 +1936,16 @@
"hex": "80B5E3",
"source": "https://chocolatey.org/media-kit"
},
+ {
+ "title": "Chromecast",
+ "hex": "999999",
+ "source": "https://www.google.com/intl/en_us/chromecast/built-in/",
+ "aliases": {
+ "aka": [
+ "Google Cast"
+ ]
+ }
+ },
{
"title": "Chrysler",
"hex": "000000",
@@ -1563,6 +1956,11 @@
"hex": "CF103E",
"source": "https://www.chupachups.co.uk/"
},
+ {
+ "title": "Cilium",
+ "hex": "F8C517",
+ "source": "https://github.com/cilium/cilium/blob/774a91f0e7497d9c9085234005ec81f1065c3783/Documentation/images/logo-solo.svg"
+ },
{
"title": "Cinema 4D",
"hex": "011A6A",
@@ -1603,6 +2001,12 @@
"hex": "81C459",
"source": "https://civicrm.org/trademark"
},
+ {
+ "title": "Civo",
+ "hex": "239DFF",
+ "source": "https://www.civo.com/brand-assets",
+ "guidelines": "https://www.civo.com/brand-assets"
+ },
{
"title": "CKEditor 4",
"hex": "0287D0",
@@ -1613,6 +2017,11 @@
"hex": "000000",
"source": "https://www.claris.com/"
},
+ {
+ "title": "ClickHouse",
+ "hex": "FFCC01",
+ "source": "https://github.com/ClickHouse/ClickHouse/blob/12bd453a43819176d25ecf247033f6cb1af54beb/website/images/logo-clickhouse.svg"
+ },
{
"title": "ClickUp",
"hex": "7B68EE",
@@ -1668,7 +2077,14 @@
{
"title": "Cloudflare",
"hex": "F38020",
- "source": "https://www.cloudflare.com/logo/"
+ "source": "https://www.cloudflare.com/logo/",
+ "guidelines": "https://www.cloudflare.com/trademark/"
+ },
+ {
+ "title": "Cloudflare Pages",
+ "hex": "F38020",
+ "source": "https://pages.cloudflare.com/",
+ "guidelines": "https://www.cloudflare.com/trademark/"
},
{
"title": "Cloudsmith",
@@ -1696,6 +2112,12 @@
"hex": "064F8C",
"source": "https://www.kitware.com/platforms/"
},
+ {
+ "title": "CNCF",
+ "hex": "231F20",
+ "source": "https://github.com/cncf/artwork/blob/master/examples/other.md#cncf-logos",
+ "guidelines": "https://www.cncf.io/brand-guidelines/"
+ },
{
"title": "CNN",
"hex": "CC0000",
@@ -1706,6 +2128,11 @@
"hex": "00B1E7",
"source": "http://www.co-operative.coop/corporate/press/logos/"
},
+ {
+ "title": "Cockpit",
+ "hex": "0066CC",
+ "source": "https://github.com/cockpit-project/cockpit-project.github.io/blob/b851b3477d90017961ac9b252401c9a6cb6239f1/images/site/cockpit-logo.svg"
+ },
{
"title": "Cockroach Labs",
"hex": "6933FF",
@@ -1714,7 +2141,7 @@
{
"title": "CocoaPods",
"hex": "EE3322",
- "source": "https://github.com/CocoaPods/shared_resources",
+ "source": "https://github.com/CocoaPods/shared_resources/tree/3125baf19976bd240c86459645f45b68d2facd10",
"license": {
"type": "CC-BY-NC-4.0"
}
@@ -1739,6 +2166,12 @@
"hex": "000000",
"source": "https://codeclimate.com/github/codeclimate/python-test-reporter/badges/"
},
+ {
+ "title": "Code Review",
+ "hex": "485A62",
+ "source": "https://codereview.stackexchange.com/",
+ "guidelines": "https://stackoverflow.com/legal/trademark-guidance"
+ },
{
"title": "Codeberg",
"hex": "2185D0",
@@ -1791,7 +2224,7 @@
},
{
"title": "CodeNewbie",
- "hex": "6BD80B",
+ "hex": "9013FE",
"source": "https://community.codenewbie.org/"
},
{
@@ -1812,7 +2245,7 @@
{
"title": "Coderwall",
"hex": "3E8DCC",
- "source": "https://github.com/twolfson/coderwall-svg"
+ "source": "https://github.com/twolfson/coderwall-svg/tree/e87fb90eab5e401210a174f9418b5af0a246758e"
},
{
"title": "CodeSandbox",
@@ -1827,7 +2260,7 @@
{
"title": "Codewars",
"hex": "B1361E",
- "source": "https://github.com/codewars/branding"
+ "source": "https://github.com/codewars/branding/tree/1ff0d44db52ac4a5e3a1c43277dc35f228eb6983"
},
{
"title": "Coding Ninjas",
@@ -1854,16 +2287,32 @@
"hex": "1A4CA1",
"source": "https://www.cognizant.com/"
},
+ {
+ "title": "Coil",
+ "hex": "000000",
+ "source": "https://coil.com/press/brand-guidelines",
+ "guidelines": "https://coil.com/press/brand-guidelines"
+ },
{
"title": "Coinbase",
"hex": "0052FF",
"source": "https://www.coinbase.com/press"
},
+ {
+ "title": "CoinMarketCap",
+ "hex": "17181B",
+ "source": "https://www.coinmarketcap.com/"
+ },
{
"title": "Commerzbank",
"hex": "FFCC33",
"source": "https://commons.wikimedia.org/wiki/Category:Commerzbank_logos"
},
+ {
+ "title": "commitlint",
+ "hex": "000000",
+ "source": "https://github.com/conventional-changelog/commitlint/blob/0b177635472214faac5a5800ced970bf4d2e6012/docs/assets/icon.svg"
+ },
{
"title": "Common Workflow Language",
"hex": "B5314C",
@@ -1874,6 +2323,16 @@
"hex": "885630",
"source": "https://getcomposer.org/"
},
+ {
+ "title": "Comsol",
+ "hex": "368CCB",
+ "source": "https://cdn.comsol.com/company/comsol-brand-guide-November2019.pdf"
+ },
+ {
+ "title": "Conan",
+ "hex": "6699CB",
+ "source": "https://conan.io/"
+ },
{
"title": "Concourse",
"hex": "3398DC",
@@ -1882,7 +2341,7 @@
{
"title": "Conda-Forge",
"hex": "000000",
- "source": "https://github.com/conda-forge/conda-forge.github.io/"
+ "source": "https://github.com/conda-forge/conda-forge.github.io/tree/0fc7dac2b989f3601dcc1be8a9f92c5b617c291e"
},
{
"title": "Conekta",
@@ -1911,11 +2370,24 @@
"hex": "000000",
"source": "https://en.wikipedia.org/wiki/Contactless_payment"
},
+ {
+ "title": "containerd",
+ "hex": "575757",
+ "source": "https://cncf-branding.netlify.app/projects/containerd/"
+ },
{
"title": "Contentful",
"hex": "2478CC",
"source": "https://press.contentful.com/media_kits"
},
+ {
+ "title": "Conventional Commits",
+ "hex": "FE5196",
+ "source": "https://www.conventionalcommits.org",
+ "license": {
+ "type": "MIT"
+ }
+ },
{
"title": "Convertio",
"hex": "FF3333",
@@ -1926,6 +2398,11 @@
"hex": "D4AA00",
"source": "https://github.com/cookiecutter/cookiecutter/blob/52dd18513bbab7f0fbfcb2938c9644d9092247cf/logo/cookiecutter-logo.svg"
},
+ {
+ "title": "Cora",
+ "hex": "E61845",
+ "source": "https://www.cora.fr/"
+ },
{
"title": "Corona Engine",
"hex": "F96F29",
@@ -1978,16 +2455,36 @@
"hex": "E5422B",
"source": "https://craftcms.com/brand-resources"
},
+ {
+ "title": "CrateDB",
+ "hex": "009DC7",
+ "source": "https://github.com/crate/crate-docs-theme/blob/cbd734b3617489ca937f35e30f37f3f6c1870e1f/src/crate/theme/rtd/crate/static/images/crate-logo.svg"
+ },
+ {
+ "title": "Create React App",
+ "hex": "09D3AC",
+ "source": "https://github.com/facebook/create-react-app/blob/9d0369b1fe3260e620b08effcf85f1edefc5d1ea/docusaurus/website/static/img/logo.svg"
+ },
{
"title": "Creative Commons",
"hex": "EF9421",
"source": "https://creativecommons.org/"
},
+ {
+ "title": "Credly",
+ "hex": "FF6B00",
+ "source": "https://cdn.credly.com/assets/structure/logo-78b59f8114817c758ca965ed8f1a58a76a39b6fd70d031f771a9bbc581fcde65.svg"
+ },
{
"title": "Crehana",
"hex": "4B22F4",
"source": "https://www.crehana.com/"
},
+ {
+ "title": "Critical Role",
+ "hex": "000000",
+ "source": "https://critrole.com/"
+ },
{
"title": "Crowdin",
"hex": "2E3340",
@@ -2018,6 +2515,11 @@
"hex": "000000",
"source": "https://crystal-lang.org/media/"
},
+ {
+ "title": "CSS Modules",
+ "hex": "000000",
+ "source": "https://github.com/css-modules/logos/blob/32e4717062e4328ed861fa92d5d9cfd47859362f/css-modules-logo.svg"
+ },
{
"title": "CSS Wizardry",
"hex": "F43059",
@@ -2058,6 +2560,11 @@
"hex": "F7DF1E",
"source": "https://github.com/cytoscape/cytoscape.js/blob/97c27700feefe2f7b79fca248763049e9a0b38c6/documentation/img/cytoscape-logo.svg"
},
+ {
+ "title": "D-EDGE",
+ "hex": "432975",
+ "source": "https://github.com/d-edge/JoinUs/blob/main/d-edge.svg"
+ },
{
"title": "D-Wave Systems",
"hex": "008CD7",
@@ -2066,7 +2573,7 @@
{
"title": "D3.js",
"hex": "F9A03C",
- "source": "https://github.com/d3/d3-logo"
+ "source": "https://github.com/d3/d3-logo/tree/6d9c471aa852033501d00ca63fe73d9f8be82d1d"
},
{
"title": "Dacia",
@@ -2099,6 +2606,11 @@
"hex": "0175C2",
"source": "https://github.com/dart-lang/site-shared/tree/master/src/_assets/image/dart/logo"
},
+ {
+ "title": "Darty",
+ "hex": "EB1B23",
+ "source": "https://www.darty.com/"
+ },
{
"title": "Das Erste",
"hex": "001A4B",
@@ -2115,6 +2627,11 @@
"hex": "0E353D",
"source": "https://brandfolder.com/dashlane/brandkitpartners"
},
+ {
+ "title": "Dask",
+ "hex": "FDA061",
+ "source": "https://github.com/dask/dask/blob/fc911b6d481e602f7549eecb180c3f7622260001/docs/source/images/dask_icon.svg"
+ },
{
"title": "Dassault Systèmes",
"hex": "005386",
@@ -2130,6 +2647,11 @@
"hex": "945DD6",
"source": "https://static.iterative.ai/logo/dvc.svg"
},
+ {
+ "title": "data.ai",
+ "hex": "000000",
+ "source": "https://www.data.ai/en/about/press/"
+ },
{
"title": "Databricks",
"hex": "FF3621",
@@ -2147,6 +2669,17 @@
"source": "https://www.datadoghq.com/about/resources",
"guidelines": "https://www.datadoghq.com/about/resources/"
},
+ {
+ "title": "DataGrip",
+ "hex": "000000",
+ "source": "https://www.jetbrains.com/company/brand/logos/",
+ "guidelines": "https://www.jetbrains.com/company/brand/"
+ },
+ {
+ "title": "Dataiku",
+ "hex": "2AB1AC",
+ "source": "https://www.dataiku.com/company/media-kit/"
+ },
{
"title": "DataStax",
"hex": "3A3A42",
@@ -2249,7 +2782,10 @@
{
"title": "Deno",
"hex": "000000",
- "source": "https://github.com/denoland/deno_website2/blob/892750b99cc260f8b1b2a4bcea59eab9101dd67c/public/logo.svg"
+ "source": "https://github.com/denoland/dotland/blob/f1ba74327b401b47de678f30d768ff9bf54494b6/public/logo.svg",
+ "license": {
+ "type": "MIT"
+ }
},
{
"title": "Dependabot",
@@ -2281,6 +2817,11 @@
"hex": "0A0A0A",
"source": "https://dev.to/"
},
+ {
+ "title": "DevExpress",
+ "hex": "FF7200",
+ "source": "https://www.devexpress.com/aboutus/"
+ },
{
"title": "DeviantArt",
"hex": "05CC47",
@@ -2356,8 +2897,8 @@
{
"title": "Discord",
"hex": "5865F2",
- "source": "https://discord.com/brand-new/branding",
- "guidelines": "https://discord.com/brand-new/branding"
+ "source": "https://discord.com/branding",
+ "guidelines": "https://discord.com/branding"
},
{
"title": "Discourse",
@@ -2377,23 +2918,38 @@
{
"title": "Disroot",
"hex": "50162D",
- "source": "https://git.fosscommunity.in/disroot/assests/blob/master/d.svg"
+ "source": "https://disroot.org/en"
},
{
"title": "Django",
"hex": "092E20",
"source": "https://www.djangoproject.com/community/logos/"
},
+ {
+ "title": "Dlib",
+ "hex": "008000",
+ "source": "https://github.com/davisking/dlib/blob/8a2c7442074339ac9ffceff6ef5a49e0114222b9/docs/docs/dlib-logo-and-icons.svg"
+ },
{
"title": "DLNA",
"hex": "48A842",
"source": "https://upload.wikimedia.org/wikipedia/de/e/eb/Digital_Living_Network_Alliance_logo.svg"
},
+ {
+ "title": "dm",
+ "hex": "002878",
+ "source": "https://www.dm.de/"
+ },
{
"title": "Docker",
"hex": "2496ED",
"source": "https://www.docker.com/company/newsroom/media-resources"
},
+ {
+ "title": "Docs.rs",
+ "hex": "000000",
+ "source": "https://docs.rs/"
+ },
{
"title": "DocuSign",
"hex": "FFCC22",
@@ -2417,7 +2973,30 @@
{
"title": "Douban",
"hex": "007722",
- "source": "https://zh.wikipedia.org/wiki/Douban"
+ "source": "https://zh.wikipedia.org/wiki/Douban",
+ "license": {
+ "type": "custom",
+ "url": "https://www.douban.com/about/legal#info_data"
+ }
+ },
+ {
+ "title": "Douban Read",
+ "hex": "389EAC",
+ "source": "https://read.douban.com",
+ "license": {
+ "type": "custom",
+ "url": "https://www.douban.com/about/legal#info_data"
+ }
+ },
+ {
+ "title": "DPD",
+ "hex": "DC0032",
+ "source": "https://www.dpd.com/"
+ },
+ {
+ "title": "Dragonframe",
+ "hex": "D4911E",
+ "source": "https://dragonframe.com/"
},
{
"title": "Draugiem.lv",
@@ -2432,7 +3011,7 @@
{
"title": "Drone",
"hex": "212121",
- "source": "https://github.com/drone/brand"
+ "source": "https://github.com/drone/brand/tree/f3ba7a1ad3c35abfe9571ea9c3ea93dff9912955"
},
{
"title": "Drooble",
@@ -2459,11 +3038,27 @@
"hex": "F01A30",
"source": "https://about.d.tube/mediakit.html"
},
+ {
+ "title": "DuckDB",
+ "hex": "FFF000",
+ "source": "https://duckdb.org/"
+ },
{
"title": "DuckDuckGo",
"hex": "DE5833",
"source": "https://duckduckgo.com/"
},
+ {
+ "title": "Dungeons & Dragons",
+ "hex": "ED1C24",
+ "source": "https://dnd.wizards.com/articles/features/basicrules",
+ "guidelines": "https://dnd.wizards.com/articles/features/fan-site-kit",
+ "aliases": {
+ "aka": [
+ "D&D"
+ ]
+ }
+ },
{
"title": "Dunked",
"hex": "2DA9D7",
@@ -2474,6 +3069,12 @@
"hex": "58CC02",
"source": "https://www.duolingo.com/"
},
+ {
+ "title": "DVC",
+ "hex": "13ADC7",
+ "source": "https://iterative.ai/brand/",
+ "guidelines": "https://iterative.ai/brand/"
+ },
{
"title": "dwm",
"hex": "1177AA",
@@ -2489,6 +3090,11 @@
"hex": "1496FF",
"source": "https://www.dynatrace.com/company/press-kit/"
},
+ {
+ "title": "E.Leclerc",
+ "hex": "0066CC",
+ "source": "https://www.e.leclerc/assets/images/sue-logo.svg"
+ },
{
"title": "EA",
"hex": "000000",
@@ -2534,6 +3140,11 @@
"hex": "782A90",
"source": "https://github.com/vert-x3/.github/blob/1ad6612d87f35665e50a00fc32eb9c542556385d/workflow-templates/vertx-favicon.svg"
},
+ {
+ "title": "EDEKA",
+ "hex": "1B66B3",
+ "source": "https://www.edeka.de/"
+ },
{
"title": "EditorConfig",
"hex": "FEFEFE",
@@ -2589,6 +3200,11 @@
"hex": "47848F",
"source": "https://www.electronjs.org/"
},
+ {
+ "title": "electron-builder",
+ "hex": "FFFFFF",
+ "source": "https://www.electron.build/"
+ },
{
"title": "Element",
"hex": "0DBD8B",
@@ -2599,6 +3215,12 @@
"hex": "64BAFF",
"source": "https://elementary.io/brand"
},
+ {
+ "title": "Elementor",
+ "hex": "92003B",
+ "source": "https://elementor.com/logos/",
+ "guidelines": "https://elementor.com/logos/"
+ },
{
"title": "Eleventy",
"hex": "000000",
@@ -2660,6 +3282,11 @@
"hex": "0D47A1",
"source": "https://www.enpass.io/press/"
},
+ {
+ "title": "EnterpriseDB",
+ "hex": "FF3E00",
+ "source": "https://www.enterprisedb.com/"
+ },
{
"title": "Envato",
"hex": "81B441",
@@ -2681,11 +3308,21 @@
"hex": "003399",
"source": "https://global.epson.com/IR/library/"
},
+ {
+ "title": "Equinix Metal",
+ "hex": "ED2224",
+ "source": "https://metal.equinix.com/"
+ },
{
"title": "Erlang",
"hex": "A90533",
"source": "https://github.com/erlang/erlide_eclipse/blob/99d1d61fde8e32ef1630ca0e1b05a6822b3d6489/meta/media/erlang-logo.svg"
},
+ {
+ "title": "esbuild",
+ "hex": "FFCF00",
+ "source": "https://github.com/evanw/esbuild/blob/ac542f913908d7326b65eb2e01f0559ed135a40e/images/logo.svg"
+ },
{
"title": "ESEA",
"hex": "0E9648",
@@ -2712,6 +3349,11 @@
"hex": "E7352C",
"source": "https://www.espressif.com/"
},
+ {
+ "title": "etcd",
+ "hex": "419EDA",
+ "source": "https://cncf-branding.netlify.app/projects/etcd/"
+ },
{
"title": "Ethereum",
"hex": "3C3C3D",
@@ -2735,7 +3377,7 @@
{
"title": "Event Store",
"hex": "5AB552",
- "source": "https://github.com/eventstore/brand"
+ "source": "https://github.com/EventStore/Brand/tree/319d6f8dadc2881062917ea5a6dafa675775ea85"
},
{
"title": "Eventbrite",
@@ -2756,6 +3398,17 @@
"type": "CC-BY-3.0"
}
},
+ {
+ "title": "Exordo",
+ "hex": "DAA449",
+ "source": "https://www.exordo.com/"
+ },
+ {
+ "title": "Exoscale",
+ "hex": "DA291C",
+ "source": "https://www.exoscale.com/press/",
+ "guidelines": "https://www.exoscale.com/press/"
+ },
{
"title": "Expensify",
"hex": "0185FF",
@@ -2798,6 +3451,11 @@
"hex": "00BAFF",
"source": "https://vip.f-secure.com/en/marketing/logos"
},
+ {
+ "title": "F1",
+ "hex": "E10600",
+ "source": "https://www.formula1.com/"
+ },
{
"title": "Facebook",
"hex": "1877F2",
@@ -2840,8 +3498,8 @@
},
{
"title": "Fandom",
- "hex": "00D6D6",
- "source": "https://fandomdesignsystem.com/identity/assets"
+ "hex": "FA005A",
+ "source": "https://fandomdesignsystem.com/"
},
{
"title": "FARFETCH",
@@ -2873,6 +3531,11 @@
"hex": "9187FF",
"source": "https://usefathom.com/brand"
},
+ {
+ "title": "Fauna",
+ "hex": "3A1AB6",
+ "source": "https://fauna.com/"
+ },
{
"title": "Favro",
"hex": "512DA8",
@@ -2890,12 +3553,12 @@
},
{
"title": "Fedora",
- "hex": "294172",
- "source": "https://fedoraproject.org/wiki/Logo/UsageGuidelines",
- "guidelines": "https://fedoraproject.org/wiki/Logo/UsageGuidelines",
+ "hex": "51A2DA",
+ "source": "https://docs.fedoraproject.org/en-US/project/brand/",
+ "guidelines": "https://fedoraproject.org/wiki/Legal:Trademark_guidelines",
"license": {
"type": "custom",
- "url": "https://fedoraproject.org/wiki/Legal:Trademark_guidelines"
+ "url": "https://docs.fedoraproject.org/en-US/project/brand/"
}
},
{
@@ -2938,7 +3601,8 @@
{
"title": "Figma",
"hex": "F24E1E",
- "source": "https://brand.figma.com/icon.html"
+ "source": "https://www.figma.com/using-the-figma-brand/",
+ "guidelines": "https://www.figma.com/using-the-figma-brand/"
},
{
"title": "figshare",
@@ -2997,6 +3661,11 @@
"hex": "CA0404",
"source": "https://www.fite.tv/"
},
+ {
+ "title": "FiveM",
+ "hex": "F40552",
+ "source": "https://fivem.net/"
+ },
{
"title": "Fiverr",
"hex": "1DBF73",
@@ -3011,11 +3680,22 @@
"url": "https://github.com/pallets/flask/blob/master/artwork/LICENSE.rst"
}
},
+ {
+ "title": "Flat",
+ "hex": "3481FE",
+ "source": "https://github.com/netless-io/flat/blob/525b2247f36e96ae2f9e6a39b4fe0967152305f2/desktop/renderer-app/src/assets/image/logo.svg"
+ },
{
"title": "Flathub",
"hex": "4A86CF",
"source": "https://flathub.org/"
},
+ {
+ "title": "Flatpak",
+ "hex": "4A90D9",
+ "source": "https://flatpak.org/press",
+ "guidelines": "https://flatpak.org/press"
+ },
{
"title": "Flattr",
"hex": "000000",
@@ -3046,6 +3726,11 @@
"hex": "4285F4",
"source": "https://flood.io/"
},
+ {
+ "title": "Fluent Bit",
+ "hex": "49BDA5",
+ "source": "https://github.com/fluent/fluent-bit/blob/cdb35721d06242d66a729656282831ccd1589ca2/snap/fluent-bit.svg"
+ },
{
"title": "Fluentd",
"hex": "0E83C8",
@@ -3060,6 +3745,11 @@
"source": "https://flutter.dev/brand",
"guidelines": "https://flutter.dev/brand"
},
+ {
+ "title": "Flyway",
+ "hex": "CC0200",
+ "source": "https://github.com/flyway/flywaydb.org/blob/8a7923cb9ead016442d4c5caf2e8ba5a9bfad5cf/assets/logo/flyway-logo.png"
+ },
{
"title": "FMOD",
"hex": "000000",
@@ -3076,10 +3766,15 @@
"hex": "77B829",
"source": "https://python-visualization.github.io/folium/"
},
+ {
+ "title": "Fonoma",
+ "hex": "02B78F",
+ "source": "https://en.fonoma.com/"
+ },
{
"title": "Font Awesome",
- "hex": "339AF0",
- "source": "https://fontawesome.com/icons/font-awesome"
+ "hex": "528DD7",
+ "source": "https://fontawesome.com/v5.15/icons/font-awesome-flag"
},
{
"title": "FontBase",
@@ -3152,6 +3847,16 @@
"hex": "0055FF",
"source": "https://framer.com"
},
+ {
+ "title": "Framework7",
+ "hex": "EE350F",
+ "source": "https://github.com/framework7io/framework7-website/blob/2a1e32290c795c2070ffc7019ba7276614e00de0/public/i/logo.svg"
+ },
+ {
+ "title": "Franprix",
+ "hex": "EC6237",
+ "source": "https://www.franprix.fr/"
+ },
{
"title": "Fraunhofer-Gesellschaft",
"hex": "179C7D",
@@ -3165,7 +3870,12 @@
{
"title": "freeCodeCamp",
"hex": "0A0A23",
- "source": "https://design-style-guide.freecodecamp.org/"
+ "source": "https://design-style-guide.freecodecamp.org/",
+ "guidelines": "https://design-style-guide.freecodecamp.org/",
+ "license": {
+ "type": "CC-BY-SA-4.0",
+ "url": "https://github.com/freeCodeCamp/design-style-guide/blob/cc950c311c61574b6ecbd9e724b6631026e14bfa/LICENSE"
+ }
},
{
"title": "freedesktop.org",
@@ -3197,6 +3907,12 @@
"hex": "FF0000",
"source": "https://www.fujitsu.com/global/about/brandmanagement/logo/"
},
+ {
+ "title": "Funimation",
+ "hex": "5B0BB5",
+ "source": "https://www.funimation.com/",
+ "guidelines": "https://brandpad.io/funimationstyleguide"
+ },
{
"title": "Fur Affinity",
"hex": "36566F",
@@ -3212,12 +3928,23 @@
"hex": "DE00A5",
"source": "https://www.futurelearn.com/"
},
+ {
+ "title": "G2",
+ "hex": "FF492C",
+ "source": "https://www.g2.com",
+ "guidelines": "https://company.g2.com/brand-resources"
+ },
{
"title": "G2A",
"hex": "F05F00",
"source": "https://www.g2a.co/documents/",
"guidelines": "https://www.g2a.co/documents/"
},
+ {
+ "title": "Game & Watch",
+ "hex": "000000",
+ "source": "https://upload.wikimedia.org/wikipedia/commons/4/41/Game_and_watch_logo.svg"
+ },
{
"title": "Game Jolt",
"hex": "CCFF00",
@@ -3241,6 +3968,11 @@
"source": "https://www.gatsbyjs.com/guidelines/logo",
"guidelines": "https://www.gatsbyjs.com/guidelines/logo"
},
+ {
+ "title": "Géant",
+ "hex": "DD1F26",
+ "source": "https://www.geantcasino.fr/"
+ },
{
"title": "GeeksforGeeks",
"hex": "2F8D46",
@@ -3351,11 +4083,21 @@
"hex": "2088FF",
"source": "https://github.com/features/actions"
},
+ {
+ "title": "GitHub Pages",
+ "hex": "222222",
+ "source": "https://pages.github.com/"
+ },
{
"title": "GitHub Sponsors",
"hex": "EA4AAA",
"source": "https://github.com/sponsors"
},
+ {
+ "title": "gitignore.io",
+ "hex": "204ECF",
+ "source": "https://docs.gitignore.io/design/logo"
+ },
{
"title": "GitKraken",
"hex": "179287",
@@ -3363,8 +4105,9 @@
},
{
"title": "GitLab",
- "hex": "FCA121",
- "source": "https://about.gitlab.com/press/press-kit/"
+ "hex": "FC6D26",
+ "source": "https://about.gitlab.com/press/press-kit/",
+ "guidelines": "https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/"
},
{
"title": "Gitpod",
@@ -3387,6 +4130,11 @@
"hex": "3333FF",
"source": "https://glitch.com/about/press/"
},
+ {
+ "title": "Globus",
+ "hex": "CA6201",
+ "source": "https://www.globus.de/"
+ },
{
"title": "Gmail",
"hex": "EA4335",
@@ -3395,7 +4143,14 @@
{
"title": "GNOME",
"hex": "4A86CF",
- "source": "https://wiki.gnome.org/Engagement/BrandGuidelines"
+ "source": "https://wiki.gnome.org/Engagement/BrandGuidelines",
+ "guidelines": "https://gitlab.gnome.org/Teams/Design/brand/-/blob/master/brand-book.pdf"
+ },
+ {
+ "title": "GNOME Terminal",
+ "hex": "241F31",
+ "source": "https://gitlab.gnome.org/GNOME/gnome-terminal/-/blob/9c32e039bfb7902c136dc7aed3308e027325776c/data/icons/hicolor_apps_scalable_org.gnome.Terminal.svg",
+ "guidelines": "https://gitlab.gnome.org/Teams/Design/brand/-/blob/master/brand-book.pdf"
},
{
"title": "GNU",
@@ -3408,11 +4163,10 @@
{
"title": "GNU Bash",
"hex": "4EAA25",
- "source": "https://github.com/odb/official-bash-logo",
+ "source": "https://github.com/odb/official-bash-logo/tree/61eff022f2dad3c7468f5deb4f06652d15f2c143",
"guidelines": "https://github.com/odb/official-bash-logo",
"license": {
- "type": "custom",
- "url": "http://artlibre.org/licence/lal/en/"
+ "type": "MIT"
}
},
{
@@ -3450,6 +4204,12 @@
"source": "https://blog.golang.org/go-brand",
"guidelines": "https://blog.golang.org/go-brand"
},
+ {
+ "title": "GoCD",
+ "hex": "94399E",
+ "source": "https://www.gocd.org/",
+ "guidelines": "https://www.gocd.org/"
+ },
{
"title": "GoDaddy",
"hex": "1BDBDB",
@@ -3475,6 +4235,12 @@
"hex": "86328A",
"source": "https://www.cdprojekt.com/en/media/logotypes/"
},
+ {
+ "title": "GoLand",
+ "hex": "000000",
+ "source": "https://www.jetbrains.com/company/brand/#logos-and-icons-jetbrains-logos",
+ "guidelines": "https://www.jetbrains.com/company/brand/#brand-guidelines"
+ },
{
"title": "GoldenLine",
"hex": "FFE005",
@@ -3491,6 +4257,11 @@
"source": "https://partnermarketinghub.withgoogle.com/",
"guidelines": "https://about.google/brand-resource-center/brand-elements/"
},
+ {
+ "title": "Google AdMob",
+ "hex": "EA4335",
+ "source": "https://commons.wikimedia.org/wiki/File:Google_AdMob_logo.svg"
+ },
{
"title": "Google Ads",
"hex": "4285F4",
@@ -3521,11 +4292,6 @@
"hex": "FF7143",
"source": "https://arvr.google.com/cardboard/images/header/vr-home.svg"
},
- {
- "title": "Google Cast",
- "hex": "1BB6F6",
- "source": "https://www.google.com/intl/en_us/chromecast/built-in/"
- },
{
"title": "Google Chat",
"hex": "00AC47",
@@ -3538,7 +4304,7 @@
},
{
"title": "Google Classroom",
- "hex": "4285F4",
+ "hex": "0F9D58",
"source": "https://classroom.google.com/"
},
{
@@ -3584,7 +4350,7 @@
{
"title": "Google Keep",
"hex": "FFBB00",
- "source": "https://play.google.com/store/apps/details?id=com.google.android.keep"
+ "source": "https://about.google/brand-resource-center/logos-list/"
},
{
"title": "Google Lens",
@@ -3596,10 +4362,15 @@
"hex": "4285F4",
"source": "https://upload.wikimedia.org/wikipedia/commons/a/a9/Google_Maps_icon.svg"
},
+ {
+ "title": "Google Marketing Platform",
+ "hex": "4285F4",
+ "source": "https://about.google/brand-resource-center/logos-list/"
+ },
{
"title": "Google Meet",
"hex": "00897B",
- "source": "https://meet.google.com/"
+ "source": "https://about.google/brand-resource-center/logos-list/"
},
{
"title": "Google Messages",
@@ -3694,6 +4465,11 @@
]
}
},
+ {
+ "title": "Grab",
+ "hex": "00B14F",
+ "source": "https://en.wikipedia.org/wiki/File:Grab_(application)_logo.svg"
+ },
{
"title": "Gradle",
"hex": "02303A",
@@ -3710,11 +4486,16 @@
"hex": "15C39A",
"source": "https://www.grammarly.com/media-assets"
},
+ {
+ "title": "Grand Frais",
+ "hex": "ED2D2F",
+ "source": "https://www.grandfrais.com/"
+ },
{
"title": "GraphQL",
- "hex": "E434AA",
- "source": "https://github.com/graphql/artwork/blob/ac6ee2ac1cf31ba1be1b8fbc40910f0c70c98a1e/GraphQL/icon/GraphQL-mark-black.svg",
- "guidelines": "https://github.com/graphql/artwork"
+ "hex": "E10098",
+ "source": "https://graphql.org/brand",
+ "guidelines": "https://graphql.org/brand"
},
{
"title": "Grav",
@@ -3746,6 +4527,11 @@
"hex": "00A672",
"source": "https://gridsome.org/logo/"
},
+ {
+ "title": "GroupMe",
+ "hex": "00AFF0",
+ "source": "https://groupme.com"
+ },
{
"title": "Groupon",
"hex": "53A318",
@@ -3763,11 +4549,23 @@
"source": "https://github.com/gruntjs/gruntjs.com/blob/70f43898d9ce8e6cc862ad72bf8a7aee5ca199a9/src/media/grunt-logo-no-wordmark.svg",
"guidelines": "https://github.com/gruntjs/grunt-docs/blob/main/Grunt-Brand-Guide.md"
},
+ {
+ "title": "GTK",
+ "hex": "7FE719",
+ "source": "https://commons.wikimedia.org/wiki/File:GTK_logo.svg",
+ "guidelines": "https://foundation.gnome.org/logo-and-trademarks/"
+ },
{
"title": "Guangzhou Metro",
"hex": "C51935",
"source": "https://commons.wikimedia.org/wiki/File:Guangzhou_Metro_logo.svg"
},
+ {
+ "title": "Guilded",
+ "hex": "F5C400",
+ "source": "https://www.guilded.gg/brand",
+ "guidelines": "https://www.guilded.gg/brand"
+ },
{
"title": "gulp",
"hex": "CF4647",
@@ -3787,6 +4585,16 @@
"hex": "72EF36",
"source": "https://www.gumtree.com"
},
+ {
+ "title": "Gunicorn",
+ "hex": "499848",
+ "source": "https://github.com/benoitc/gunicorn/blob/ff58e0c6da83d5520916bc4cc109a529258d76e1/docs/logo/gunicorn.svg"
+ },
+ {
+ "title": "Gurobi",
+ "hex": "EE3524",
+ "source": "https://cdn.gurobi.com/wp-content/uploads/2021/02/Gurobi-Optimization_Corporate-Brochure.pdf"
+ },
{
"title": "Gutenberg",
"hex": "000000",
@@ -3839,6 +4647,11 @@
"source": "https://www.hackster.io/branding#logos",
"guidelines": "https://www.hackster.io/branding"
},
+ {
+ "title": "Handlebars.js",
+ "hex": "000000",
+ "source": "https://raw.githubusercontent.com/handlebars-lang/docs/master/src/.vuepress/public/icons/handlebarsjs-icon.svg"
+ },
{
"title": "Handshake",
"hex": "FF2F1C",
@@ -3903,6 +4716,11 @@
"source": "https://www.hcl.com/brand-guidelines",
"guidelines": "https://www.hcl.com/brand-guidelines"
},
+ {
+ "title": "Headless UI",
+ "hex": "66E3FF",
+ "source": "https://headlessui.dev/"
+ },
{
"title": "Headspace",
"hex": "F47D31",
@@ -3923,6 +4741,11 @@
"hex": "0F1689",
"source": "https://helm.sh"
},
+ {
+ "title": "Help Scout",
+ "hex": "1292EE",
+ "source": "https://www.helpscout.com"
+ },
{
"title": "HelpDesk",
"hex": "FFD000",
@@ -3940,6 +4763,11 @@
"source": "https://brand.heroku.com/",
"guidelines": "https://brand.heroku.com/"
},
+ {
+ "title": "Hetzner",
+ "hex": "D50C2D",
+ "source": "https://www.hetzner.com/"
+ },
{
"title": "Hexo",
"hex": "0E83CD",
@@ -3950,6 +4778,16 @@
"hex": "5522FA",
"source": "https://hey.com/"
},
+ {
+ "title": "Hi Bob",
+ "hex": "E42C51",
+ "source": "https://www.hibob.com/",
+ "aliases": {
+ "aka": [
+ "Bob"
+ ]
+ }
+ },
{
"title": "Hibernate",
"hex": "59666C",
@@ -4061,6 +4899,11 @@
"hex": "E34F26",
"source": "http://www.w3.org/html/logo/"
},
+ {
+ "title": "HTTPie",
+ "hex": "73DC8C",
+ "source": "https://github.com/httpie/httpie/blob/d262181bede5241a6b692c3245a77e2eb02bc262/docs/httpie-logo.svg"
+ },
{
"title": "Huawei",
"hex": "FF0000",
@@ -4125,6 +4968,11 @@
"source": "https://en.wikipedia.org/wiki/File:Hyundai_Motor_Company_logo.svg",
"guidelines": "https://www.hyundai.pl/fileadmin/user_upload/media/logo/201607_HYU_Guideline_ENG_small.pdf"
},
+ {
+ "title": "i18next",
+ "hex": "26A69A",
+ "source": "https://github.com/i18next/i18next-gitbook/blob/32efcfd9c59ae55cc63a60e633dbc1651c7950ad/assets/img/logo.svg"
+ },
{
"title": "Iata",
"hex": "004E81",
@@ -4141,11 +4989,21 @@
"source": "https://www.ibm.com/design/language/ibm-logos/8-bar/",
"guidelines": "https://www.ibm.com/design/language/ibm-logos/8-bar/"
},
+ {
+ "title": "IBM Cloud",
+ "hex": "1261FE",
+ "source": "https://www.ibm.com/brand/systems/cloud/brand/logo"
+ },
{
"title": "IBM Watson",
"hex": "BE95FF",
"source": "https://www.ibm.com/brand/systems/watson/brand/"
},
+ {
+ "title": "Iceland",
+ "hex": "CC092F",
+ "source": "https://www.iceland.co.uk/"
+ },
{
"title": "Icinga",
"hex": "06062C",
@@ -4283,6 +5141,11 @@
"hex": "783CBD",
"source": "https://ingress.com/assets/fonts/ingress_icons.woff"
},
+ {
+ "title": "Inkdrop",
+ "hex": "7A78D7",
+ "source": "https://site-cdn.inkdrop.app/site/icons/inkdrop-icon.svg"
+ },
{
"title": "Inkscape",
"hex": "000000",
@@ -4293,7 +5156,7 @@
},
{
"title": "Insomnia",
- "hex": "5849BE",
+ "hex": "4000BF",
"source": "https://insomnia.rest/"
},
{
@@ -4312,6 +5175,11 @@
"hex": "1F1F1F",
"source": "https://www.instapaper.com/"
},
+ {
+ "title": "Instatus",
+ "hex": "4EE3C2",
+ "source": "https://www.instatus.com/"
+ },
{
"title": "Instructables",
"hex": "FABF15",
@@ -4333,12 +5201,22 @@
"source": "https://www.jetbrains.com/idea/",
"guidelines": "https://www.jetbrains.com/company/brand/"
},
+ {
+ "title": "InteractJS",
+ "hex": "2599ED",
+ "source": "https://github.com/taye/interact.js/blob/603c34d4b34dece8a260381e2e5991b810d6d739/img/ijs-icon.svg"
+ },
{
"title": "Intercom",
"hex": "6AFDEF",
"source": "https://www.intercom.com/press",
"guidelines": "https://www.intercom.com/press"
},
+ {
+ "title": "Intermarche",
+ "hex": "E2001A",
+ "source": "https://www.intermarche.com/"
+ },
{
"title": "Internet Archive",
"hex": "666666",
@@ -4375,6 +5253,11 @@
"hex": "3880FF",
"source": "https://ionicframework.com/press"
},
+ {
+ "title": "Ionos",
+ "hex": "003D8F",
+ "source": "https://www.ionos.de"
+ },
{
"title": "iOS",
"hex": "000000",
@@ -4392,7 +5275,10 @@
{
"title": "IPFS",
"hex": "65C2CB",
- "source": "https://github.com/ipfs/logo"
+ "source": "https://github.com/ipfs-inactive/logo/tree/73169b495332415b174ac2f37ec27c4b2ee8da83",
+ "license": {
+ "type": "CC-BY-SA-3.0"
+ }
},
{
"title": "Issuu",
@@ -4400,12 +5286,22 @@
"source": "https://issuu.com/press",
"guidelines": "https://issuu.com/press"
},
+ {
+ "title": "Istio",
+ "hex": "466BB0",
+ "source": "https://github.com/istio/istio/blob/5a047251817eb2523af297607b7614120812e47a/logo/istio-bluelogo-whitebackground-unframed.svg"
+ },
{
"title": "Itch.io",
"hex": "FA5C5C",
"source": "https://itch.io/press-kit",
"guidelines": "https://itch.io/press-kit"
},
+ {
+ "title": "iTerm2",
+ "hex": "000000",
+ "source": "https://github.com/gnachman/iTerm2/blob/6a857f3f5872eb1465ddc0dd83412015991e79ae/images/AppIcon/iTermIcon.sketch"
+ },
{
"title": "iTunes",
"hex": "FB5BC5",
@@ -4451,16 +5347,10 @@
"hex": "8A4182",
"source": "https://github.com/jasmine/jasmine/blob/8991b1bba39b5b7e89fc5eeb07ae271a684cb1a4/images/jasmine-horizontal.svg"
},
- {
- "title": "Java",
- "hex": "007396",
- "source": "https://www.oracle.com/legal/logos.html",
- "guidelines": "https://www.oracle.com/legal/logos.html"
- },
{
"title": "JavaScript",
"hex": "F7DF1E",
- "source": "https://github.com/voodootikigod/logo.js",
+ "source": "https://github.com/voodootikigod/logo.js/tree/1544bdeed6d618a6cfe4f0650d04ab8d9cfa76d9",
"license": {
"type": "MIT"
}
@@ -4508,7 +5398,7 @@
{
"title": "Jenkins X",
"hex": "73C3D5",
- "source": "https://github.com/cdfoundation/artwork"
+ "source": "https://github.com/cdfoundation/artwork/tree/358a7db882463b68f59ae9bc669b8f97c4539ffd"
},
{
"title": "Jest",
@@ -4526,6 +5416,11 @@
"source": "https://www.jetbrains.com/company/brand/logos/",
"guidelines": "https://www.jetbrains.com/company/brand/"
},
+ {
+ "title": "Jetpack Compose",
+ "hex": "4285F4",
+ "source": "https://developer.android.com/jetpack/compose/"
+ },
{
"title": "JFrog",
"hex": "41BF47",
@@ -4571,6 +5466,11 @@
"source": "https://docs.joomla.org/Joomla:Brand_Identity_Elements/Official_Logo",
"guidelines": "https://docs.joomla.org/Joomla:Brand_Identity_Elements"
},
+ {
+ "title": "Joplin",
+ "hex": "1071D3",
+ "source": "https://github.com/laurent22/joplin/blob/45e35576bd8b1bb0ffe958309cc1ab3736cc266b/Assets/JoplinLetter.svg"
+ },
{
"title": "Jordan",
"hex": "000000",
@@ -4579,7 +5479,10 @@
{
"title": "JPEG",
"hex": "8A8A8A",
- "source": "https://jpeg.org/contact.html"
+ "source": "https://jpeg.org/contact.html",
+ "license": {
+ "type": "CC-BY-ND-4.0"
+ }
},
{
"title": "jQuery",
@@ -4649,6 +5552,21 @@
"hex": "AD29B6",
"source": "https://justgiving.com"
},
+ {
+ "title": "K3s",
+ "hex": "FFC61C",
+ "source": "https://k3s.io/"
+ },
+ {
+ "title": "k6",
+ "hex": "7D64FF",
+ "source": "https://commons.wikimedia.org/wiki/File:K6-logo.svg",
+ "aliases": {
+ "aka": [
+ "Grafana k6"
+ ]
+ }
+ },
{
"title": "Kaggle",
"hex": "20BEFF",
@@ -4682,6 +5600,11 @@
"source": "https://www.kali.org/docs/policy/trademark/",
"guidelines": "https://www.kali.org/docs/policy/trademark/"
},
+ {
+ "title": "Kaniko",
+ "hex": "FFA600",
+ "source": "https://github.com/GoogleContainerTools/kaniko/blob/cf5ca26aa4e2f7bf0de56efdf3b4e86b0ff74ed0/logo/Kaniko-Logo-Monochrome.svg"
+ },
{
"title": "Karlsruher Verkehrsverbund",
"hex": "9B2321",
@@ -4728,10 +5651,15 @@
"source": "https://kdenlive.org/en/logo/",
"guidelines": "https://kdenlive.org/en/logo/"
},
+ {
+ "title": "Keep a Changelog",
+ "hex": "E05735",
+ "source": "https://keepachangelog.com/"
+ },
{
"title": "KeePassXC",
"hex": "6CAC4D",
- "source": "https://github.com/keepassxreboot/keepassxc/"
+ "source": "https://github.com/keepassxreboot/keepassxc/tree/3fdafc6d25e85050976e0cc645db579086db3f45"
},
{
"title": "Kentico",
@@ -4790,6 +5718,14 @@
"hex": "005571",
"source": "https://www.elastic.co/brand"
},
+ {
+ "title": "KiCad",
+ "hex": "314CB0",
+ "source": "https://www.kicad.org/about/kicad/",
+ "license": {
+ "type": "GPL-3.0-or-later"
+ }
+ },
{
"title": "Kickstarter",
"hex": "05CE78",
@@ -4800,6 +5736,26 @@
"hex": "82BC23",
"source": "https://www.kik.com/news/"
},
+ {
+ "title": "Kingston Technology",
+ "aliases": {
+ "aka": [
+ "Kingston"
+ ]
+ },
+ "hex": "000000",
+ "source": "https://www.kingston.com/"
+ },
+ {
+ "title": "KinoPoisk",
+ "hex": "FF6600",
+ "source": "https://www.kinopoisk.ru/",
+ "aliases": {
+ "loc": {
+ "ru-RU": "КиноПоиск"
+ }
+ }
+ },
{
"title": "Kirby",
"hex": "000000",
@@ -4825,6 +5781,12 @@
"hex": "FF5722",
"source": "https://www.klook.com/en-GB/newsroom/"
},
+ {
+ "title": "Knative",
+ "hex": "0865AD",
+ "source": "https://github.com/knative/community/blob/fb49068c9b7619685248247d29e48eb3d96f3ac2/icons/logo.svg",
+ "guidelines": "https://github.com/knative/community/blob/main/BRANDING.MD"
+ },
{
"title": "KnowledgeBase",
"hex": "FFD000",
@@ -4842,16 +5804,21 @@
"source": "https://more.ko-fi.com/brand-assets",
"guidelines": "https://more.ko-fi.com/brand-assets"
},
+ {
+ "title": "Koa",
+ "hex": "33333D",
+ "source": "https://koajs.com/"
+ },
+ {
+ "title": "Koc",
+ "hex": "F9423A",
+ "source": "https://www.koc.com.tr/en"
+ },
{
"title": "Kodi",
"hex": "17B2E7",
"source": "https://kodi.tv/"
},
- {
- "title": "Koding",
- "hex": "00B057",
- "source": "https://koding.com/About"
- },
{
"title": "Kofax",
"hex": "00558C",
@@ -4863,6 +5830,17 @@
"source": "http://newsroom.komoot.com/media_kits/219423/",
"guidelines": "http://newsroom.komoot.com/media_kits/219423/"
},
+ {
+ "title": "Konami",
+ "hex": "B60014",
+ "source": "https://commons.wikimedia.org/wiki/File:Konami_4th_logo_2.svg"
+ },
+ {
+ "title": "Kong",
+ "hex": "003459",
+ "source": "https://konghq.com/brand-assets/",
+ "guidelines": "https://konghq.com/brand/"
+ },
{
"title": "Kongregate",
"hex": "990000",
@@ -4875,10 +5853,15 @@
},
{
"title": "Kotlin",
- "hex": "0095D5",
- "source": "https://resources.jetbrains.com/storage/products/kotlin/docs/kotlin_logos.zip",
+ "hex": "7F52FF",
+ "source": "https://www.jetbrains.com/company/brand/logos/",
"guidelines": "https://www.jetbrains.com/company/brand/"
},
+ {
+ "title": "Koyeb",
+ "hex": "121212",
+ "source": "https://www.koyeb.com/"
+ },
{
"title": "Krita",
"hex": "3BABFF",
@@ -4889,6 +5872,12 @@
"hex": "FF6600",
"source": "https://ktm.com"
},
+ {
+ "title": "Kuaishou",
+ "hex": "FF4906",
+ "source": "https://www.kuaishou.com/official/material-lib",
+ "guidelines": "https://www.kuaishou.com/official/material-lib"
+ },
{
"title": "Kubernetes",
"hex": "326CE5",
@@ -4899,6 +5888,11 @@
"hex": "0079C1",
"source": "https://kubuntu.org"
},
+ {
+ "title": "Kuma",
+ "hex": "290B53",
+ "source": "https://cncf-branding.netlify.app/projects/kuma/"
+ },
{
"title": "Kyocera",
"hex": "DF0522",
@@ -4925,6 +5919,11 @@
"hex": "005A2B",
"source": "https://media.landrover.com/en/press-kit"
},
+ {
+ "title": "Lapce",
+ "hex": "3B82F6",
+ "source": "https://github.com/lapce/lapce/blob/95c4cf2d87083e348c0b621d0be0ea17f79ed703/extra/images/logo.svg"
+ },
{
"title": "Laragon",
"hex": "0E83CD",
@@ -4933,7 +5932,7 @@
{
"title": "Laravel",
"hex": "FF2D20",
- "source": "https://github.com/laravel/art"
+ "source": "https://github.com/laravel/art/tree/5a8325b064634b900f25dbb6f1cafd888b2d2211"
},
{
"title": "Laravel Horizon",
@@ -4959,7 +5958,7 @@
{
"title": "LaTeX",
"hex": "008080",
- "source": "https://github.com/latex3/branding"
+ "source": "https://github.com/latex3/branding/tree/9def6b5f6075567d62b67424e11dbe6d4d5245b4"
},
{
"title": "Launchpad",
@@ -4970,12 +5969,22 @@
"type": "CC-BY-ND-2.0"
}
},
+ {
+ "title": "Lazarus",
+ "hex": "000000",
+ "source": "https://sourceforge.net/projects/lazarus/"
+ },
{
"title": "LBRY",
"hex": "2F9176",
"source": "https://lbry.com/press-kit",
"guidelines": "https://lbry.com/faq/acceptable-use-policy"
},
+ {
+ "title": "Leader Price",
+ "hex": "E50005",
+ "source": "https://www.leaderprice.fr"
+ },
{
"title": "Leaflet",
"hex": "199900",
@@ -4992,18 +6001,38 @@
"hex": "FFA116",
"source": "https://leetcode.com/store"
},
+ {
+ "title": "Lemmy",
+ "hex": "FFFFFF",
+ "source": "https://join-lemmy.org"
+ },
{
"title": "Lenovo",
"hex": "E2231A",
"source": "https://news.lenovo.com/press-kits/"
},
+ {
+ "title": "Lens",
+ "hex": "3D90CE",
+ "source": "https://github.com/lensapp/lens/blob/3cc12d9599b655a366e7a34c356d2a84654b2466/docs/img/lens-logo-icon.svg"
+ },
+ {
+ "title": "Lerna",
+ "hex": "9333EA",
+ "source": "https://github.com/lerna/logo/blob/fb18db535d71aacc6ffb0f6b75a0c3bd9e353543/lerna.svg"
+ },
+ {
+ "title": "Leroy Merlin",
+ "hex": "78BE20",
+ "source": "https://www.leroymerlin.fr/"
+ },
{
"title": "Less",
"hex": "1D365D",
"source": "https://github.com/less/logo/blob/c9c10c328cfc00071e92443934b35e389310abf8/less_logo.ai"
},
{
- "title": "Let’s Encrypt",
+ "title": "Let's Encrypt",
"hex": "003A70",
"source": "https://letsencrypt.org/trademarks/",
"guidelines": "https://letsencrypt.org/trademarks/",
@@ -5016,6 +6045,11 @@
"hex": "00D735",
"source": "https://letterboxd.com/about/logos/"
},
+ {
+ "title": "levels.fyi",
+ "hex": "788B95",
+ "source": "https://www.levels.fyi/press/"
+ },
{
"title": "LG",
"hex": "A50034",
@@ -5062,6 +6096,11 @@
"hex": "000000",
"source": "https://lichess.org/about"
},
+ {
+ "title": "Lidl",
+ "hex": "0050AA",
+ "source": "https://www.lidl.de/"
+ },
{
"title": "LIFX",
"hex": "000000",
@@ -5085,12 +6124,27 @@
"source": "https://www.lineageos.org/",
"guidelines": "https://docs.google.com/presentation/d/1VmxFrVqkjtNMjZbAcrC4egp8C_So7gjJR3KuxdJfJDo/edit?usp=sharing"
},
+ {
+ "title": "Linear",
+ "hex": "5E6AD2",
+ "source": "https://linear.app/"
+ },
{
"title": "LinkedIn",
"hex": "0A66C2",
"source": "https://brand.linkedin.com",
"guidelines": "https://brand.linkedin.com/policies"
},
+ {
+ "title": "Linkerd",
+ "hex": "2BEDA7",
+ "source": "https://cncf-branding.netlify.app/projects/linkerd/"
+ },
+ {
+ "title": "Linkfire",
+ "hex": "FF3850",
+ "source": "https://www.linkfire.com/"
+ },
{
"title": "Linktree",
"hex": "39E09B",
@@ -5127,6 +6181,12 @@
"hex": "ED3237",
"source": "https://lionairthai.com/en/"
},
+ {
+ "title": "Liquibase",
+ "hex": "2962FF",
+ "source": "https://www.liquibase.com/brand",
+ "guidelines": "https://www.liquibase.com/brand"
+ },
{
"title": "Lit",
"hex": "324FFF",
@@ -5149,6 +6209,11 @@
"hex": "00B0EA",
"source": "http://www.livejournal.com"
},
+ {
+ "title": "Livewire",
+ "hex": "4E56A6",
+ "source": "https://laravel-livewire.com/"
+ },
{
"title": "LLVM",
"hex": "262D3A",
@@ -5159,6 +6224,11 @@
"hex": "10B146",
"source": "https://lmms.io/branding"
},
+ {
+ "title": "Lodash",
+ "hex": "3492FF",
+ "source": "https://github.com/lodash/lodash.com/blob/c8d41c62b446f08905fd94802db4da8da05d3e92/assets/img/lodash.svg"
+ },
{
"title": "Logitech",
"hex": "00B8FC",
@@ -5191,6 +6261,11 @@
"hex": "F29400",
"source": "https://loop.frontiersin.org/"
},
+ {
+ "title": "LoopBack",
+ "hex": "3F5DFF",
+ "source": "https://loopback.io/resources"
+ },
{
"title": "Lospec",
"hex": "EAEAEA",
@@ -5213,6 +6288,11 @@
"hex": "0068C8",
"source": "https://lubuntu.net/"
},
+ {
+ "title": "Ludwig",
+ "hex": "FFFFFF",
+ "source": "https://github.com/ludwig-ai/ludwig-docs/blob/8d8abb2117a93af2622a6545943c773b27153e1b/docs/images/ludwig_icon.svg"
+ },
{
"title": "Lufthansa",
"hex": "05164D",
@@ -5223,6 +6303,11 @@
"hex": "E74430",
"source": "https://lumen.laravel.com/"
},
+ {
+ "title": "Lunacy",
+ "hex": "179DE3",
+ "source": "https://icons8.com/lunacy"
+ },
{
"title": "Lydia",
"hex": "0180FF",
@@ -5248,10 +6333,15 @@
"source": "https://commons.wikimedia.org/wiki/File:MacOS_wordmark_(2017).svg"
},
{
- "title": "Macy’s",
+ "title": "Macy's",
"hex": "E21A2C",
"source": "https://www.macysinc.com/news-media/media-assets"
},
+ {
+ "title": "Magasins U",
+ "hex": "E71B34",
+ "source": "https://www.magasins-u.com"
+ },
{
"title": "Magento",
"hex": "EE672F",
@@ -5273,6 +6363,11 @@
"source": "http://mailchimp.com/about/brand-assets",
"guidelines": "http://mailchimp.com/about/brand-assets"
},
+ {
+ "title": "Mailgun",
+ "hex": "F06B66",
+ "source": "https://mailgun.com"
+ },
{
"title": "Major League Hacking",
"hex": "265A8F",
@@ -5284,6 +6379,11 @@
"hex": "FF1E0D",
"source": "http://www.makerbot.com/makerbot-press-assets"
},
+ {
+ "title": "MAMP",
+ "hex": "02749C",
+ "source": "https://www.mamp.info/en/mamp/mac/"
+ },
{
"title": "MAN",
"hex": "E40045",
@@ -5319,7 +6419,7 @@
{
"title": "Markdown",
"hex": "000000",
- "source": "https://github.com/dcurtis/markdown-mark",
+ "source": "https://github.com/dcurtis/markdown-mark/tree/360a3657fef7f6ad0b303296a95ad52985caa0d3",
"guidelines": "https://github.com/dcurtis/markdown-mark",
"license": {
"type": "CC0-1.0"
@@ -5330,6 +6430,11 @@
"hex": "5C4C9F",
"source": "https://www.marketo.com/"
},
+ {
+ "title": "Marko",
+ "hex": "2596BE",
+ "source": "https://github.com/marko-js/website/blob/c03b8229e8fe8e01fde6c0772bc1cb0ceae9be05/src/logos/marko.svg"
+ },
{
"title": "Marriott",
"hex": "A70023",
@@ -5369,11 +6474,6 @@
"type": "Apache-2.0"
}
},
- {
- "title": "Material-UI",
- "hex": "0081CB",
- "source": "https://material-ui.com/"
- },
{
"title": "Matomo",
"hex": "3152A0",
@@ -5384,6 +6484,11 @@
"hex": "000000",
"source": "https://matrix.org"
},
+ {
+ "title": "Matter.js",
+ "hex": "4B5562",
+ "source": "https://brm.io/matter-js"
+ },
{
"title": "Mattermost",
"hex": "0058CC",
@@ -5430,10 +6535,20 @@
"hex": "FF0000",
"source": "https://cars.mclaren.com/"
},
+ {
+ "title": "mdBook",
+ "hex": "000000",
+ "source": "https://github.com/rust-lang/mdBook/blob/cdfa5ad9909e2cba8390688f3f0686fb70cb4bef/src/theme/favicon.svg"
+ },
{
"title": "MDN Web Docs",
"hex": "000000",
- "source": "https://developer.mozilla.org/"
+ "source": "https://github.com/mdn/yari/blob/77e6cda02f7013219e9da27a00b9424085e60fdb/client/src/assets/mdn-logo.svg"
+ },
+ {
+ "title": "MDX",
+ "hex": "1B1F24",
+ "source": "https://github.com/mdx-js/mdx/blob/b8a76c95deb14f7297bafdac1aa3eddd2b0fbb8f/docs/_static/icon.svg"
},
{
"title": "MediaFire",
@@ -5441,6 +6556,11 @@
"source": "https://www.mediafire.com/developers/brand_assets/mediafire_brand_assets/",
"guidelines": "https://www.mediafire.com/developers/brand_assets/mediafire_brand_assets/"
},
+ {
+ "title": "MediaMarkt",
+ "hex": "DF0000",
+ "source": "https://www.mediamarkt.de/"
+ },
{
"title": "MediaTek",
"hex": "EC9430",
@@ -5477,6 +6597,11 @@
"hex": "242424",
"source": "https://www.mercedes-benz.com/"
},
+ {
+ "title": "Merck",
+ "hex": "007A73",
+ "source": "https://www.merck.com/"
+ },
{
"title": "Mercurial",
"hex": "999999",
@@ -5492,6 +6617,12 @@
"source": "https://en.facebookbrand.com/facebookapp/assets/messenger/",
"guidelines": "https://en.facebookbrand.com/facebookapp/assets/messenger/"
},
+ {
+ "title": "Meta",
+ "hex": "0467DF",
+ "source": "https://www.meta.com",
+ "guidelines": "https://www.facebook.com/brand/resources/meta/company-brand"
+ },
{
"title": "Metabase",
"hex": "509EE3",
@@ -5632,6 +6763,11 @@
"hex": "6264A7",
"source": "https://developer.microsoft.com/en-us/fluentui#/styles/web/colors/products"
},
+ {
+ "title": "Microsoft Translator",
+ "hex": "057B00",
+ "source": "https://translator.microsoft.com"
+ },
{
"title": "Microsoft Visio",
"hex": "3955A3",
@@ -5702,6 +6838,21 @@
"source": "https://www.mixcloud.com/about",
"guidelines": "https://www.mixcloud.com/about"
},
+ {
+ "title": "MLB",
+ "hex": "041E42",
+ "source": "https://www.mlb.com/",
+ "aliases": {
+ "aka": [
+ "Major League Baseball"
+ ]
+ }
+ },
+ {
+ "title": "MLflow",
+ "hex": "0194E2",
+ "source": "https://github.com/mlflow/mlflow/blob/855881f93703b15ffe643003fb4d7c84f0ec2502/assets/icon.svg"
+ },
{
"title": "MobX",
"hex": "FF9955",
@@ -5742,6 +6893,11 @@
"hex": "FF6600",
"source": "https://www.getmonero.org/press-kit/"
},
+ {
+ "title": "MoneyGram",
+ "hex": "FF6600",
+ "source": "https://moneygram.com"
+ },
{
"title": "MongoDB",
"hex": "47A248",
@@ -5752,6 +6908,16 @@
"hex": "1A52C2",
"source": "https://www.monkey-tie.com"
},
+ {
+ "title": "MonoGames",
+ "hex": "E73C00",
+ "source": "https://www.monogame.net"
+ },
+ {
+ "title": "Monoprix",
+ "hex": "FB1911",
+ "source": "https://www.monoprix.fr/"
+ },
{
"title": "Monster",
"hex": "6D4C9F",
@@ -5767,6 +6933,11 @@
"hex": "00945E",
"source": "https://www.moo.com/uk/about/press"
},
+ {
+ "title": "Morrisons",
+ "hex": "007531",
+ "source": "https://groceries.morrisons.com"
+ },
{
"title": "Moscow Metro",
"hex": "D9232E",
@@ -5783,6 +6954,21 @@
"source": "https://mozilla.design/mozilla/",
"guidelines": "https://mozilla.design/mozilla/"
},
+ {
+ "title": "MSI",
+ "aliases": {
+ "aka": [
+ "Micro-Star International"
+ ]
+ },
+ "hex": "FF0000",
+ "source": "https://www.msi.com/page/brochure"
+ },
+ {
+ "title": "MSI Business",
+ "hex": "9A8555",
+ "source": "https://www.msi.com/Business-Productivity"
+ },
{
"title": "MTA",
"hex": "0039A6",
@@ -5793,6 +6979,27 @@
"hex": "AC2E45",
"source": "https://commons.wikimedia.org/wiki/File:MTR_(logo_with_text).svg"
},
+ {
+ "title": "MUI",
+ "aliases": {
+ "aka": [
+ "Material-UI"
+ ]
+ },
+ "hex": "007FFF",
+ "source": "https://github.com/mui-org/material-ui/blob/353cecb5391571163eb6bd8cbf36d2dd299aaf56/docs/src/icons/SvgMuiLogo.tsx"
+ },
+ {
+ "title": "Mulesoft",
+ "hex": "00A0DF",
+ "source": "https://www.mulesoft.com/brand",
+ "guidelines": "https://www.mulesoft.com/brand"
+ },
+ {
+ "title": "Müller",
+ "hex": "F46519",
+ "source": "https://www.mueller.de/"
+ },
{
"title": "Mumble",
"hex": "FFFFFF",
@@ -5878,7 +7085,14 @@
{
"title": "Naver",
"hex": "03C75A",
- "source": "https://www.navercorp.com/investment/annualReport"
+ "source": "https://developers.naver.com/docs/login/bi/bi.md",
+ "guidelines": "https://developers.naver.com/docs/login/bi/bi.md",
+ "aliases": {
+ "loc": {
+ "ko-KR": "네이버",
+ "ja-JP": "ネイバー"
+ }
+ }
},
{
"title": "NBA",
@@ -5925,6 +7139,12 @@
"source": "http://www.netapp.com/",
"guidelines": "https://www.netapp.com/company/legal/trademark-guidelines/"
},
+ {
+ "title": "NetBSD",
+ "hex": "FF6600",
+ "source": "https://www.netbsd.org",
+ "guidelines": "https://www.netbsd.org/about/disclaimer.html"
+ },
{
"title": "Netflix",
"hex": "E50914",
@@ -5952,6 +7172,16 @@
"source": "https://nette.org/en/logo",
"guidelines": "https://nette.org/en/logo"
},
+ {
+ "title": "Netto",
+ "hex": "FFE500",
+ "source": "https://www.netto-online.de/INTERSHOP/static/WFS/Plus-NettoDE-Site/-/-/de_DE/css/images/netto-logo.svg"
+ },
+ {
+ "title": "New Balance",
+ "hex": "CF0A2C",
+ "source": "https://www.newbalance.com"
+ },
{
"title": "New Japan Pro-Wrestling",
"hex": "FF160B",
@@ -6087,6 +7317,11 @@
"hex": "124191",
"source": "https://www.nokia.com/"
},
+ {
+ "title": "Norco",
+ "hex": "00FF00",
+ "source": "https://www.norco.com/"
+ },
{
"title": "NordVPN",
"hex": "4687FF",
@@ -6118,6 +7353,11 @@
"hex": "000000",
"source": "https://www.lingoapp.com/6/s/oJkq3W/?v=3"
},
+ {
+ "title": "NOW",
+ "hex": "001211",
+ "source": "https://www.nowtv.com/"
+ },
{
"title": "npm",
"hex": "CB3837",
@@ -6160,6 +7400,11 @@
"source": "https://numpy.org/press-kit/",
"guidelines": "https://github.com/numpy/numpy/blob/main/branding/logo/logoguidelines.md"
},
+ {
+ "title": "Nunjucks",
+ "hex": "1C4913",
+ "source": "https://github.com/mozilla/nunjucks/blob/master/docs/img/favicon.png"
+ },
{
"title": "Nutanix",
"hex": "024DA1",
@@ -6167,8 +7412,9 @@
},
{
"title": "Nuxt.js",
- "hex": "00C58E",
- "source": "https://nuxtjs.org/design"
+ "hex": "00DC82",
+ "source": "https://nuxtjs.org/design",
+ "guidelines": "https://nuxtjs.org/design"
},
{
"title": "NVIDIA",
@@ -6180,6 +7426,18 @@
"hex": "143055",
"source": "https://nx.dev/"
},
+ {
+ "title": "NZXT",
+ "hex": "000000",
+ "source": "https://nzxt.com/",
+ "guidelines": "https://nzxt.com/about/brand-guidelines"
+ },
+ {
+ "title": "O'Reilly",
+ "hex": "D3002D",
+ "source": "https://www.oreilly.com/about/logos/",
+ "guidelines": "https://www.oreilly.com/about/logos/"
+ },
{
"title": "OBS Studio",
"hex": "302E31",
@@ -6190,6 +7448,11 @@
"hex": "353E58",
"source": "https://observablehq.com/"
},
+ {
+ "title": "Obsidian",
+ "hex": "483699",
+ "source": "https://obsidian.md/"
+ },
{
"title": "OCaml",
"hex": "EC6813",
@@ -6199,11 +7462,26 @@
"type": "Unlicense"
}
},
+ {
+ "title": "Octane Render",
+ "hex": "000000",
+ "source": "https://render.otoy.com/forum/viewtopic.php?f=9&t=359",
+ "aliases": {
+ "aka": [
+ "otoy"
+ ]
+ }
+ },
{
"title": "Octave",
"hex": "0790C0",
"source": "https://www.gnu.org/software/octave/"
},
+ {
+ "title": "OctoPrint",
+ "hex": "13C100",
+ "source": "https://github.com/OctoPrint/OctoPrint/blob/53b9b6185781c07e8c4744a6e28462e96448f249/src/octoprint/static/img/mask.svg"
+ },
{
"title": "Octopus Deploy",
"hex": "2F93E0",
@@ -6226,6 +7504,11 @@
"hex": "EF1970",
"source": "https://odysee.com/@OdyseeHelp:b/odyseepresskit:b"
},
+ {
+ "title": "Oh Dear",
+ "hex": "FFFFFF",
+ "source": "https://ohdear.app/logos"
+ },
{
"title": "okcupid",
"hex": "0500BE",
@@ -6248,6 +7531,11 @@
"source": "https://onlyfans.com/brand",
"guidelines": "https://onlyfans.com/brand"
},
+ {
+ "title": "ONLYOFFICE",
+ "hex": "444444",
+ "source": "https://www.onlyoffice.com/en/press-downloads.aspx"
+ },
{
"title": "ONNX",
"hex": "005CED",
@@ -6336,16 +7624,38 @@
"hex": "F78C40",
"source": "https://openid.net/add-openid/logos/"
},
+ {
+ "title": "OpenJDK",
+ "hex": "FFFFFF",
+ "source": "https://hg.openjdk.java.net/duke/duke/file/ca00f100dafc/vector/Agent.svg#l1"
+ },
{
"title": "Openlayers",
"hex": "1F6B75",
"source": "https://github.com/openlayers/openlayers.github.io/blob/5b93e18b8d302eb49a812fb96abb529895ceb7a2/assets/logo.svg"
},
+ {
+ "title": "OpenMined",
+ "hex": "ED986C",
+ "source": "https://www.openmined.org/",
+ "guidelines": "https://www.openmined.org/"
+ },
{
"title": "OpenNebula",
"hex": "0097C2",
"source": "https://opennebula.io/docs/"
},
+ {
+ "title": "OpenSea",
+ "hex": "2081E2",
+ "source": "https://docs.opensea.io"
+ },
+ {
+ "title": "OpenSearch",
+ "hex": "005EB8",
+ "source": "https://opensearch.org/brand.html",
+ "guidelines": "https://opensearch.org/brand.html"
+ },
{
"title": "OpenSSL",
"hex": "721412",
@@ -6369,6 +7679,27 @@
"source": "https://github.com/openSUSE/artwork/blob/33e94aa76837c09f03d1712705949b71a246a53b/logos/buttons/button-colour.svg",
"guidelines": "https://en.opensuse.org/Portal:Artwork"
},
+ {
+ "title": "OpenTelemetry",
+ "hex": "000000",
+ "source": "https://cncf-branding.netlify.app/projects/opentelemetry/",
+ "guidelines": "https://cncf-branding.netlify.app/projects/opentelemetry/",
+ "license": {
+ "type": "CC-BY-4.0",
+ "url": "https://www.linuxfoundation.org/trademark-usage/"
+ },
+ "aliases": {
+ "aka": [
+ "OTel"
+ ]
+ }
+ },
+ {
+ "title": "Openverse",
+ "hex": "FFE033",
+ "source": "https://github.com/WordPress/openverse/blob/main/brand/icon.svg",
+ "guidelines": "https://www.figma.com/file/GIIQ4sDbaToCfFQyKMvzr8/Openverse-Design-Library?node-id=312%3A487"
+ },
{
"title": "OpenVPN",
"hex": "EA7E20",
@@ -6381,6 +7712,16 @@
"source": "https://openwrt.org/docs/guide-graphic-designer/openwrt-logo",
"guidelines": "https://openwrt.org/docs/guide-graphic-designer/openwrt-logo"
},
+ {
+ "title": "OpenZeppelin",
+ "hex": "4E5EE4",
+ "source": "https://openzeppelin.com/"
+ },
+ {
+ "title": "OpenZFS",
+ "hex": "2A667F",
+ "source": "https://commons.wikimedia.org/wiki/File:OpenZFS_logo.svg"
+ },
{
"title": "Opera",
"hex": "FF1B2D",
@@ -6449,6 +7790,11 @@
"source": "https://osu.ppy.sh/wiki/vi/Brand_identity_guidelines",
"guidelines": "https://osu.ppy.sh/wiki/vi/Brand_identity_guidelines"
},
+ {
+ "title": "Otto",
+ "hex": "D4021D",
+ "source": "https://www.ottogroup.com/en/presse/material.php"
+ },
{
"title": "Overcast",
"hex": "FC7E0F",
@@ -6493,6 +7839,12 @@
"type": "MIT"
}
},
+ {
+ "title": "Packer",
+ "hex": "02A8EF",
+ "source": "https://www.hashicorp.com/brand",
+ "guidelines": "https://www.hashicorp.com/brand"
+ },
{
"title": "Paddy Power",
"hex": "004833",
@@ -6547,6 +7899,11 @@
"source": "https://projects.invisionapp.com/boards/8UOJQWW2J3G5#/1145336",
"guidelines": "https://projects.invisionapp.com/boards/8UOJQWW2J3G5#/1145336"
},
+ {
+ "title": "Paperspace",
+ "hex": "000000",
+ "source": "https://docs.paperspace.com/img/ps-logo-light.svg"
+ },
{
"title": "Parity Substrate",
"hex": "282828",
@@ -6594,6 +7951,11 @@
"hex": "556DB3",
"source": "https://www.pcgamingwiki.com/wiki/Home"
},
+ {
+ "title": "Peak Design",
+ "hex": "1C1B1C",
+ "source": "https://www.peakdesign.com/"
+ },
{
"title": "PeerTube",
"hex": "F1680D",
@@ -6617,12 +7979,22 @@
"hex": "181A1D",
"source": "https://press.onepeloton.com/#logos"
},
+ {
+ "title": "Penny",
+ "hex": "CD1414",
+ "source": "https://www.penny.de/"
+ },
{
"title": "Pepsi",
"hex": "2151A1",
"source": "http://gillettepepsicola.com/promotions-media/media-kit/",
"guidelines": "http://gillettepepsicola.com/promotions-media/media-kit/"
},
+ {
+ "title": "Percy",
+ "hex": "9E66BF",
+ "source": "https://percy.io/"
+ },
{
"title": "Perforce",
"hex": "404040",
@@ -6633,6 +8005,16 @@
"hex": "39457E",
"source": "https://github.com/tpf/marketing-materials/blob/6765c6fd71bc5b123d6c1a77b86e08cdd6376078/images/onion-logo/tpf-logo-onion.svg"
},
+ {
+ "title": "Personio",
+ "hex": "FFFFFF",
+ "source": "https://www.personio.com/"
+ },
+ {
+ "title": "Pets at Home",
+ "hex": "4BA840",
+ "source": "https://petsathome.com"
+ },
{
"title": "Peugeot",
"hex": "000000",
@@ -6687,6 +8069,11 @@
"type": "CC-BY-SA-4.0"
}
},
+ {
+ "title": "phpMyAdmin",
+ "hex": "6C78AF",
+ "source": "https://github.com/phpmyadmin/data/blob/b7d3bdb9bb973beff4726541b87d3a4c8a950b4b/brand/phpMyAdmin-Logo-Symbol.svg"
+ },
{
"title": "PhpStorm",
"hex": "000000",
@@ -6699,6 +8086,11 @@
"source": "https://docs.pi-hole.net",
"guidelines": "https://pi-hole.net/trademark-rules-and-brand-guidelines/"
},
+ {
+ "title": "Picard Surgelés",
+ "hex": "2D4999",
+ "source": "https://www.picard.fr/"
+ },
{
"title": "Picarto.TV",
"hex": "1DA456",
@@ -6753,6 +8145,12 @@
"hex": "FF7700",
"source": "https://github.com/Piwigo/piwigodotorg/blob/6edb840c16257314caec770a9a51f67ef81836e4/images/piwigo.org.svg"
},
+ {
+ "title": "Pix",
+ "hex": "77B6A8",
+ "source": "https://www.bcb.gov.br/estabilidadefinanceira/pix",
+ "guidelines": "https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/I_manual_uso_marca_pix.pdf"
+ },
{
"title": "Pixabay",
"hex": "2EC66D",
@@ -6765,15 +8163,20 @@
"guidelines": "https://policies.pixiv.net/en.html#brand"
},
{
- "title": "PJSIP",
- "hex": "F86001",
- "source": "https://www.pjsip.org/"
+ "title": "pkgsrc",
+ "hex": "FF6600",
+ "source": "https://pkgsrc.org/"
},
{
"title": "Planet",
"hex": "009DB1",
"source": "https://www.planet.com/explorer/"
},
+ {
+ "title": "PlanetScale",
+ "hex": "000000",
+ "source": "https://planetscale.com/"
+ },
{
"title": "PlanGrid",
"hex": "0085DE",
@@ -6789,6 +8192,11 @@
"hex": "98CA3F",
"source": "https://github.com/PlatziDev/oss/blob/932bd83d43e061e1c38fbc116db31aa6d0145be6/static/logo.svg"
},
+ {
+ "title": "Plausible Analytics",
+ "hex": "5850EC",
+ "source": "https://github.com/plausible/docs/blob/be5c935484e075f1e0caf3c9b3351ddd62348139/static/img/logo.svg"
+ },
{
"title": "PlayCanvas",
"hex": "E05F2C",
@@ -6834,6 +8242,11 @@
"hex": "003791",
"source": "https://commons.wikimedia.org/wiki/File:PlayStation_Vita_logo.svg"
},
+ {
+ "title": "Playwright",
+ "hex": "2EAD33",
+ "source": "https://github.com/microsoft/playwright.dev/blob/768c59464e5b3270db26fa6a839d022a7e0dd064/static/img/playwright-logo.svg"
+ },
{
"title": "Pleroma",
"hex": "FBA457",
@@ -6902,6 +8315,11 @@
"hex": "892CA0",
"source": "https://podman.io/"
},
+ {
+ "title": "Poetry",
+ "hex": "60A5FA",
+ "source": "https://python-poetry.org/"
+ },
{
"title": "Pointy",
"hex": "009DE0",
@@ -6912,6 +8330,12 @@
"hex": "FFCB05",
"source": "https://commons.wikimedia.org/wiki/File:International_Pok%C3%A9mon_logo.svg"
},
+ {
+ "title": "Polkadot",
+ "hex": "E6007A",
+ "source": "https://polkadot.network/brand-assets/",
+ "guidelines": "https://polkadot.network/brand-assets/"
+ },
{
"title": "Poly",
"hex": "EB3C00",
@@ -6963,11 +8387,26 @@
"hex": "FFDF18",
"source": "https://postmates.com/press-and-media"
},
+ {
+ "title": "Power Apps",
+ "hex": "742774",
+ "source": "https://powerapps.microsoft.com/en-us/"
+ },
+ {
+ "title": "Power Automate",
+ "hex": "0066FF",
+ "source": "https://flow.microsoft.com/en-us/"
+ },
{
"title": "Power BI",
"hex": "F2C811",
"source": "https://powerbi.microsoft.com/en-us/"
},
+ {
+ "title": "Power Virtual Agents",
+ "hex": "0B556A",
+ "source": "https://powervirtualagents.microsoft.com/en-us/"
+ },
{
"title": "POWERS",
"hex": "E74536",
@@ -6976,7 +8415,7 @@
{
"title": "PowerShell",
"hex": "5391FE",
- "source": "https://github.com/PowerShell/PowerShell"
+ "source": "https://github.com/PowerShell/PowerShell/tree/11d7587f9b934cf27013d318886f97fb95c811cf"
},
{
"title": "pr.co",
@@ -6988,6 +8427,11 @@
"hex": "FAB040",
"source": "https://github.com/pre-commit/pre-commit.com/blob/f263cdbcf46f97e1bd6229f2ab6d27bf8290ca88/logo.svg"
},
+ {
+ "title": "Preact",
+ "hex": "673AB8",
+ "source": "https://preactjs.com"
+ },
{
"title": "Premier League",
"hex": "360D3A",
@@ -7028,7 +8472,7 @@
{
"title": "Prisma",
"hex": "2D3748",
- "source": "https://github.com/prisma/presskit"
+ "source": "https://github.com/prisma/presskit/tree/4bcb64181f266723439d955d60afa1c55fefa715"
},
{
"title": "Prismic",
@@ -7124,6 +8568,11 @@
"source": "https://www.proxmox.com/en/news/media-kit",
"guidelines": "https://www.proxmox.com/en/news/media-kit"
},
+ {
+ "title": "PUBG",
+ "hex": "FEAB02",
+ "source": "https://www.pubgmobile.com/en/event/brandassets/"
+ },
{
"title": "Publons",
"hex": "336699",
@@ -7140,6 +8589,12 @@
"hex": "A86454",
"source": "https://github.com/pugjs/pug-logo/blob/61429fc45b5a411b83bdb5c99a61084d3054d1e6/SVG/pug-final-logo_-mono-64.svg"
},
+ {
+ "title": "Pulumi",
+ "hex": "8A3391",
+ "source": "https://www.pulumi.com/",
+ "guidelines": "https://www.pulumi.com/brand/"
+ },
{
"title": "Puma",
"hex": "242B2F",
@@ -7158,7 +8613,7 @@
{
"title": "PureScript",
"hex": "14161A",
- "source": "https://github.com/purescript/logo",
+ "source": "https://github.com/purescript/logo/tree/1e7a57affdaeaf88ff594c08bd2b5a78fe2ed13c",
"license": {
"type": "CC-BY-4.0"
}
@@ -7178,12 +8633,33 @@
"hex": "300D4F",
"source": "https://pusher.com/"
},
+ {
+ "title": "PWA",
+ "hex": "5A0FC8",
+ "source": "https://github.com/webmaxru/progressive-web-apps-logo/blob/77744cd5c0a4d484bb3d082c6ac458c44202da03/pwalogo-white.svg",
+ "guidelines": "https://github.com/webmaxru/progressive-web-apps-logo#readme",
+ "aliases": {
+ "aka": [
+ "Progressive Web Application"
+ ]
+ }
+ },
{
"title": "PyCharm",
"hex": "000000",
"source": "https://www.jetbrains.com/company/brand/logos/",
"guidelines": "https://www.jetbrains.com/company/brand/"
},
+ {
+ "title": "PyG",
+ "hex": "3C2179",
+ "source": "https://github.com/pyg-team/pyg_sphinx_theme/blob/4f696513b4b4adf2ba3874574a10a8e8718672fe/pyg_sphinx_theme/static/img/pyg_logo.svg",
+ "aliases": {
+ "aka": [
+ "PyTorch Geometric"
+ ]
+ }
+ },
{
"title": "PyPI",
"hex": "3775A9",
@@ -7286,6 +8762,12 @@
"source": "https://www.qualtrics.com/brand-book/",
"guidelines": "https://www.qualtrics.com/brand-book/"
},
+ {
+ "title": "Qualys",
+ "hex": "ED2E26",
+ "source": "https://www.qualys.com/",
+ "guidelines": "https://www.qualys.com/docs/qualys-logo-guidelines.pdf"
+ },
{
"title": "Quantcast",
"hex": "000000",
@@ -7326,6 +8808,11 @@
"source": "https://designsystem.quickbooks.com/visual-assets/logos/",
"guidelines": "https://designsystem.quickbooks.com/visual-assets/logos/"
},
+ {
+ "title": "QuickLook",
+ "hex": "22A2E3",
+ "source": "https://github.com/QL-Win/QuickLook/tree/f726841d99bbceafd5399e5777b4dba302bf1e51"
+ },
{
"title": "QuickTime",
"hex": "1C69F0",
@@ -7414,12 +8901,27 @@
"source": "https://rancher.com/brand-guidelines/",
"guidelines": "https://rancher.com/brand-guidelines/"
},
+ {
+ "title": "Rarible",
+ "hex": "FEDA03",
+ "source": "https://rarible.com/"
+ },
+ {
+ "title": "Rasa",
+ "hex": "5A17EE",
+ "source": "https://rasa.com/"
+ },
{
"title": "Raspberry Pi",
"hex": "A22846",
"source": "https://www.raspberrypi.org/trademark-rules",
"guidelines": "https://www.raspberrypi.org/trademark-rules"
},
+ {
+ "title": "Ray",
+ "hex": "028CF0",
+ "source": "https://github.com/ray-project/ray/blob/6522935291caa120e83697c6c9b3a450617c9283/dashboard/client/src/logo.svg"
+ },
{
"title": "Razer",
"hex": "00FF00",
@@ -7444,6 +8946,16 @@
]
}
},
+ {
+ "title": "React Hook Form",
+ "hex": "EC5990",
+ "source": "https://github.com/react-hook-form/documentation/blob/d049ffe923336ce7a5bf58990c54c07f39ab2429/src/images/Logo.svg"
+ },
+ {
+ "title": "React Query",
+ "hex": "FF4154",
+ "source": "https://github.com/tannerlinsley/react-query/blob/9b5d18cd47a4c1454d6c8dd0f38280641c1dd5dd/docs/src/images/emblem-light.svg"
+ },
{
"title": "React Router",
"hex": "CA4245",
@@ -7457,7 +8969,7 @@
{
"title": "ReactiveX",
"hex": "B7178C",
- "source": "https://github.com/ReactiveX/rxjs/blob/master/resources/CI-CD/logo/svg/RxJs_Logo_Black.svg",
+ "source": "https://github.com/ReactiveX/rxjs/blob/ee6ababb9fa75f068ac2122e956ff4e449604c59/resources/CI-CD/logo/svg/RxJs_Logo_Black.svg",
"aliases": {
"dup": [
{
@@ -7470,7 +8982,7 @@
{
"title": "ReactOS",
"hex": "0088CC",
- "source": "https://github.com/reactos/press-media"
+ "source": "https://github.com/reactos/press-media/tree/48089e09e0c7e828f1eb81e5ea0d8da85ec41dc3"
},
{
"title": "Read the Docs",
@@ -7520,6 +9032,15 @@
"source": "https://www.redislabs.com/brand-guidelines/",
"guidelines": "https://www.redislabs.com/brand-guidelines/"
},
+ {
+ "title": "Redmine",
+ "hex": "B32024",
+ "source": "https://www.redmine.org/projects/redmine/wiki/logo",
+ "license": {
+ "type": "CC-BY-SA-2.5",
+ "url": "https://github.com/edavis10/redmine_logo/blob/2afe855c4e9cd955b648972d09cc20d76dabbf4c/COPYRIGHT"
+ }
+ },
{
"title": "Redux",
"hex": "764ABC",
@@ -7546,6 +9067,11 @@
"hex": "D1AB66",
"source": "https://www.ril.com/getattachment/7c210e67-5b0e-4965-b1a2-2ee83e19cee9/Morgan-Stanley-Eighteenth-Annual-India-Summit,-31.aspx"
},
+ {
+ "title": "Remix",
+ "hex": "000000",
+ "source": "https://drive.google.com/drive/u/0/folders/1pbHnJqg8Y1ATs0Oi8gARH7wccJGv4I2c"
+ },
{
"title": "Ren'Py",
"hex": "FF7F7F",
@@ -7556,6 +9082,11 @@
"hex": "FFCC33",
"source": "https://en.media.groupe.renault.com/news/renault-news-march-2021-5f28-989c5.html"
},
+ {
+ "title": "Render",
+ "hex": "46E3B7",
+ "source": "https://render.com/"
+ },
{
"title": "RenovateBot",
"hex": "1A1F6C",
@@ -7571,6 +9102,27 @@
"hex": "667881",
"source": "https://repl.it/"
},
+ {
+ "title": "Republic of Gamers",
+ "aliases": {
+ "aka": [
+ "ASUS ROG",
+ "ROG"
+ ]
+ },
+ "hex": "FF0029",
+ "source": "https://rog.asus.com"
+ },
+ {
+ "title": "ReScript",
+ "hex": "E6484F",
+ "source": "https://rescript-lang.org/brand"
+ },
+ {
+ "title": "RescueTime",
+ "hex": "161A3B",
+ "source": "https://www.rescuetime.com/press"
+ },
{
"title": "ResearchGate",
"hex": "00CCBB",
@@ -7632,6 +9184,12 @@
"source": "https://www.jetbrains.com/company/brand/logos/",
"guidelines": "https://www.jetbrains.com/company/brand/"
},
+ {
+ "title": "Rimac Automobili",
+ "hex": "0A222E",
+ "source": "https://www.rimac-automobili.com/media/",
+ "guidelines": "https://www.rimac-automobili.com/media/"
+ },
{
"title": "Ring",
"hex": "1C9AD6",
@@ -7667,8 +9225,11 @@
{
"title": "Robot Framework",
"hex": "000000",
- "source": "https://github.com/robotframework/visual-identity",
- "guidelines": "https://github.com/robotframework/visual-identity/blob/master/robot-framework-brand-guidelines.pdf"
+ "source": "https://github.com/robotframework/visual-identity/tree/fadf8cda9f79ea31987a214f0047cca9626327b7",
+ "guidelines": "https://github.com/robotframework/visual-identity/blob/master/robot-framework-brand-guidelines.pdf",
+ "license": {
+ "type": "CC-BY-NC-SA-4.0"
+ }
},
{
"title": "Rocket.Chat",
@@ -7676,6 +9237,22 @@
"source": "https://rocket.chat/press",
"guidelines": "https://docs.rocket.chat/guides/brand-and-visual-guidelines/logo"
},
+ {
+ "title": "RocksDB",
+ "hex": "2A2A2A",
+ "source": "https://github.com/facebook/rocksdb/blob/9ed96703d11a1cf4af0e1c1db0e4a6057a8e5d42/docs/static/logo.svg",
+ "license": {
+ "type": "CC-BY-4.0"
+ }
+ },
+ {
+ "title": "Rocky Linux",
+ "hex": "10B981",
+ "source": "https://github.com/rocky-linux/branding/blob/94e97dd30b87d909cc4f6a6838a2926f77f9ac47/logo/src/icon-black.svg",
+ "license": {
+ "type": "CC-BY-SA-4.0"
+ }
+ },
{
"title": "Roku",
"hex": "662D91",
@@ -7692,6 +9269,15 @@
"hex": "EC4A3F",
"source": "https://rollupjs.org/"
},
+ {
+ "title": "Rome",
+ "hex": "27272A",
+ "source": "https://github.com/rome/tools/blob/261c3f3bdc21439777f78b6551f707cce0c8d04a/assets/SVG/logomark_black.svg",
+ "guidelines": "https://github.com/rome/tools/tree/main/assets",
+ "license": {
+ "type": "CC-BY-NC-SA-4.0"
+ }
+ },
{
"title": "Roots",
"hex": "525DDC",
@@ -7714,6 +9300,17 @@
"source": "https://www.ros.org/press-kit/",
"guidelines": "https://www.ros.org/press-kit/"
},
+ {
+ "title": "Rossmann",
+ "hex": "C3002D",
+ "source": "https://www.rossmann.de"
+ },
+ {
+ "title": "Rotary International",
+ "hex": "F7A81B",
+ "source": "https://www.rotary.org/en",
+ "guidelines": "https://my.rotary.org/en/rotary-identity-guidelines"
+ },
{
"title": "Rotten Tomatoes",
"hex": "FA320A",
@@ -7750,6 +9347,14 @@
"hex": "00BCF6",
"source": "https://www.rtl2.de/"
},
+ {
+ "title": "RuboCop",
+ "hex": "000000",
+ "source": "https://github.com/rubocop-semver/rubocop-ruby2_0/blob/5302f93058f7b739a73a7a6c11c566a2b196b96e/docs/images/logo/rubocop-light.svg",
+ "license": {
+ "type": "CC-BY-NC-4.0"
+ }
+ },
{
"title": "Ruby",
"hex": "CC342D",
@@ -7764,6 +9369,11 @@
"source": "http://rubyonrails.org/",
"guidelines": "https://rubyonrails.org/trademarks/"
},
+ {
+ "title": "Ruby Sinatra",
+ "hex": "000000",
+ "source": "https://github.com/sinatra/resources/tree/master/logo"
+ },
{
"title": "RubyGems",
"hex": "E9573F",
@@ -7801,8 +9411,14 @@
},
{
"title": "S7 Airlines",
- "hex": "BED600",
- "source": "https://www.s7.ru/"
+ "hex": "C4D600",
+ "source": "https://www.s7.ru/en/info/s7-airlines/brand/",
+ "guidelines": "https://www.s7.ru/en/info/s7-airlines/brand/"
+ },
+ {
+ "title": "Sabanci",
+ "hex": "004B93",
+ "source": "https://www.sabanci.com/en"
},
{
"title": "Safari",
@@ -7814,31 +9430,48 @@
"hex": "FFE800",
"source": "https://www.sahibinden.com/favicon.ico"
},
+ {
+ "title": "Sailfish OS",
+ "hex": "053766",
+ "source": "https://sailfishos.org"
+ },
{
"title": "Salesforce",
"hex": "00A1E0",
- "source": "https://www.salesforce.com/styleguide/elements/logos"
+ "source": "https://brand.salesforce.com/content/logo-guidelines",
+ "guidelines": "https://brand.salesforce.com/content/logo-guidelines"
},
{
- "title": "SaltStack",
- "hex": "00EACE",
- "source": "https://www.saltstack.com/resources/brand/"
+ "title": "Salt Project",
+ "hex": "57BCAD",
+ "source": "https://saltproject.io/",
+ "guidelines": "https://gitlab.com/saltstack/open/salt-branding-guide/-/blob/37bbc3a8577be2f44895310c092439472491a8f4/README.md",
+ "license": {
+ "type": "Apache-2.0"
+ }
},
{
"title": "Samsung",
"hex": "1428A0",
- "source": "https://www.samsung.com/us"
+ "source": "https://www.samsung.com/us/about-us/brand-identity/logo/",
+ "guidelines": "https://www.samsung.com/us/about-us/brand-identity/logo/"
},
{
"title": "Samsung Pay",
"hex": "1428A0",
- "source": "https://pay.samsung.com/developers/resource/brand"
+ "source": "https://pay.samsung.com/developers/resource/brand",
+ "guidelines": "https://pay.samsung.com/developers/resource/brand"
},
{
"title": "San Francisco Municipal Railway",
"hex": "BA0C2F",
"source": "http://www.actransit.org/wp-content/uploads/HSP_CC-sched.pdf"
},
+ {
+ "title": "SanDisk",
+ "hex": "ED1C24",
+ "source": "https://kb.sandisk.com/"
+ },
{
"title": "São Paulo Metro",
"hex": "004382",
@@ -7852,7 +9485,11 @@
{
"title": "Sass",
"hex": "CC6699",
- "source": "http://sass-lang.com/styleguide/brand"
+ "source": "http://sass-lang.com/styleguide/brand",
+ "guidelines": "http://sass-lang.com/styleguide/brand",
+ "license": {
+ "type": "CC-BY-NC-SA-3.0"
+ }
},
{
"title": "Sat.1",
@@ -7860,6 +9497,11 @@
"hex": "047DA3",
"source": "https://www.prosiebensat1.com/presse/downloads/logos"
},
+ {
+ "title": "Saturn",
+ "hex": "EB680B",
+ "source": "https://www.saturn.de/"
+ },
{
"title": "Sauce Labs",
"hex": "E2231A",
@@ -7873,12 +9515,19 @@
{
"title": "Scaleway",
"hex": "4F0599",
- "source": "https://www.scaleway.com"
+ "source": "https://www.scaleway.com/en/design-resources/",
+ "guidelines": "https://www.scaleway.com/en/design-resources/"
},
{
"title": "Scania",
"hex": "041E42",
- "source": "https://www.scania.com/"
+ "source": "https://digitaldesign.scania.com/resources/brand/logotype",
+ "guidelines": "https://digitaldesign.scania.com/resources/brand/logotype"
+ },
+ {
+ "title": "Schneider Electric",
+ "hex": "3DCD58",
+ "source": "https://www.se.com/us/en/assets/739/media/202250/SE_logo-LIO-white_header.svg"
},
{
"title": "scikit-learn",
@@ -7895,6 +9544,11 @@
"hex": "E9711C",
"source": "https://www.scopus.com/"
},
+ {
+ "title": "SCP Foundation",
+ "hex": "FFFFFF",
+ "source": "https://scp-wiki.wikidot.com/"
+ },
{
"title": "Scratch",
"hex": "4D97FF",
@@ -7907,8 +9561,9 @@
},
{
"title": "Scribd",
- "hex": "1A7BBA",
- "source": "https://www.scribd.com"
+ "hex": "1E7B85",
+ "source": "https://scribdbrand.frontify.com/d/eqGJ2WET8x3A/scribd-brand-style-guide#/other/media-press-kit/download-horizontal-vertical-logos-for-small-applications",
+ "guidelines": "https://scribdbrand.frontify.com/d/eqGJ2WET8x3A/scribd-brand-style-guide#/basics/logo-usage-guidelines-1576192924"
},
{
"title": "Scrimba",
@@ -7989,7 +9644,8 @@
{
"title": "Sencha",
"hex": "86BC40",
- "source": "http://design.sencha.com/"
+ "source": "http://design.sencha.com/",
+ "guidelines": "http://design.sencha.com/productlogo.html"
},
{
"title": "Sennheiser",
@@ -8009,7 +9665,8 @@
{
"title": "SEPA",
"hex": "2350A9",
- "source": "https://www.europeanpaymentscouncil.eu/document-library/other/sepa-logo-vector-format"
+ "source": "https://www.europeanpaymentscouncil.eu/document-library/other/sepa-logo-vector-format",
+ "guidelines": "https://www.europeanpaymentscouncil.eu/document-library/other/sepa-logo-visual-identity-guidelines"
},
{
"title": "Sequelize",
@@ -8032,6 +9689,11 @@
"hex": "8CC445",
"source": "https://www.sfml-dev.org/download/goodies/"
},
+ {
+ "title": "Shadow",
+ "hex": "0A0C0D",
+ "source": "https://shadow.tech/"
+ },
{
"title": "Shanghai Metro",
"hex": "EC1C24",
@@ -8045,7 +9707,7 @@
{
"title": "Shazam",
"hex": "0088FF",
- "source": "https://brandfolder.com/shazam"
+ "source": "https://www.shazam.com/"
},
{
"title": "Shell",
@@ -8075,7 +9737,8 @@
{
"title": "Shopify",
"hex": "7AB55C",
- "source": "https://press.shopify.com/brand"
+ "source": "https://www.shopify.com/brand-assets",
+ "guidelines": "https://www.shopify.com/brand-assets"
},
{
"title": "Shopware",
@@ -8100,7 +9763,8 @@
{
"title": "Shutterstock",
"hex": "EE2B24",
- "source": "https://www.shutterstock.com/press/media"
+ "source": "https://www.shutterstock.com/press/media",
+ "guidelines": "https://www.shutterstock.com/press/media"
},
{
"title": "Siemens",
@@ -8109,8 +9773,8 @@
},
{
"title": "Signal",
- "hex": "2592E9",
- "source": "https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms"
+ "hex": "3A76F0",
+ "source": "https://github.com/signalapp/Signal-Desktop/blob/9db8765b6cf270195e45a7f251374d4e53d54c95/images/signal-logo.svg"
},
{
"title": "Simkl",
@@ -8131,6 +9795,11 @@
"type": "CC0-1.0"
}
},
+ {
+ "title": "Simplenote",
+ "hex": "3361CC",
+ "source": "https://en.wikipedia.org/wiki/File:Simplenote_logo.svg"
+ },
{
"title": "Sina Weibo",
"hex": "E6162D",
@@ -8149,7 +9818,8 @@
{
"title": "Sketch",
"hex": "F7B500",
- "source": "https://www.sketch.com/press/"
+ "source": "https://www.sketch.com/about-us/#press",
+ "guidelines": "https://www.sketch.com/about-us/#press"
},
{
"title": "Sketchfab",
@@ -8177,9 +9847,15 @@
"source": "https://www.skysports.com/"
},
{
- "title": "Skyliner",
- "hex": "2FCEA0",
- "source": "https://www.skyliner.io/help"
+ "title": "Skynet",
+ "hex": "00C65E",
+ "source": "https://support.siasky.net/key-concepts/skynet-brand-guidelines",
+ "guidelines": "https://support.siasky.net/key-concepts/skynet-brand-guidelines"
+ },
+ {
+ "title": "Skypack",
+ "hex": "3167FF",
+ "source": "https://skypack.dev"
},
{
"title": "Skype",
@@ -8194,7 +9870,8 @@
{
"title": "Slack",
"hex": "4A154B",
- "source": "https://slack.com/brand-guidelines"
+ "source": "https://slack.com/brand-guidelines",
+ "guidelines": "https://slack.com/brand-guidelines"
},
{
"title": "Slackware",
@@ -8229,7 +9906,8 @@
{
"title": "SmartThings",
"hex": "15BFFF",
- "source": "https://www.smartthings.com/press-kit"
+ "source": "https://www.smartthings.com/press-kit",
+ "guidelines": "https://www.smartthings.com/press-kit"
},
{
"title": "smash.gg",
@@ -8255,23 +9933,38 @@
{
"title": "Snapchat",
"hex": "FFFC00",
- "source": "https://www.snapchat.com/brand-guidelines"
+ "source": "https://www.snapchat.com/brand-guidelines",
+ "guidelines": "https://www.snapchat.com/brand-guidelines"
},
{
"title": "Snapcraft",
"hex": "82BEA0",
- "source": "https://github.com/snapcore/snap-store-badges"
+ "source": "https://github.com/snapcore/snap-store-badges/tree/eda2cb0495ef7f4d479e231079967c9d27f2bc70",
+ "license": {
+ "type": "CC-BY-ND-2.0"
+ }
},
{
"title": "Snowflake",
- "hex": "56B9EB",
- "source": "https://www.snowflake.com/about/press-and-news/"
+ "hex": "29B5E8",
+ "source": "https://www.snowflake.com/brand-guidelines/",
+ "guidelines": "https://www.snowflake.com/brand-guidelines/"
+ },
+ {
+ "title": "Snowpack",
+ "hex": "2E5E82",
+ "source": "https://www.snowpack.dev/"
},
{
"title": "Snyk",
"hex": "4C4A73",
"source": "https://snyk.io/press-kit"
},
+ {
+ "title": "Social Blade",
+ "hex": "B3382C",
+ "source": "https://socialblade.com/info/media"
+ },
{
"title": "Society6",
"hex": "000000",
@@ -8287,15 +9980,29 @@
"hex": "FB6022",
"source": "https://www.sogou.com/"
},
+ {
+ "title": "Solid",
+ "hex": "2C4F7C",
+ "source": "https://www.solidjs.com/media"
+ },
{
"title": "Solidity",
"hex": "363636",
- "source": "https://docs.soliditylang.org/en/v0.7.4/brand-guide.html"
+ "source": "https://docs.soliditylang.org/en/v0.8.6/brand-guide.html",
+ "guidelines": "https://docs.soliditylang.org/en/v0.8.6/brand-guide.html",
+ "license": {
+ "type": "CC-BY-4.0"
+ }
},
{
- "title": "SoloLearn",
- "hex": "1ABC9C",
- "source": "https://www.sololearn.com/"
+ "title": "Sololearn",
+ "hex": "149EF2",
+ "source": "https://www.sololearn.com/",
+ "aliases": {
+ "aka": [
+ "SoloLearn"
+ ]
+ }
},
{
"title": "Solus",
@@ -8310,27 +10017,32 @@
{
"title": "SonarLint",
"hex": "CB2029",
- "source": "https://www.sonarsource.com"
+ "source": "https://www.sonarlint.org/logos/",
+ "guidelines": "https://www.sonarlint.org/logos/"
},
{
"title": "SonarQube",
"hex": "4E9BCD",
- "source": "https://www.sonarqube.org/logos/"
+ "source": "https://www.sonarqube.org/logos/",
+ "guidelines": "https://www.sonarqube.org/logos/"
},
{
"title": "SonarSource",
"hex": "CB3032",
- "source": "https://www.sonarsource.com/"
+ "source": "https://www.sonarsource.com/logos/",
+ "guidelines": "https://www.sonarsource.com/logos/"
},
{
"title": "Songkick",
"hex": "F80046",
- "source": "http://blog.songkick.com/media-assets"
+ "source": "https://www.songkick.com/style-guide/design",
+ "guidelines": "https://www.songkick.com/style-guide/design"
},
{
"title": "Songoda",
"hex": "FC494A",
- "source": "https://songoda.com/branding"
+ "source": "https://songoda.com/branding",
+ "guidelines": "https://songoda.com/branding"
},
{
"title": "SonicWall",
@@ -8342,6 +10054,16 @@
"hex": "000000",
"source": "https://www.sonos.com/en-gb/home"
},
+ {
+ "title": "Sony",
+ "hex": "FFFFFF",
+ "source": "https://www.sony.com"
+ },
+ {
+ "title": "Soundcharts",
+ "hex": "0C1528",
+ "source": "https://soundcharts.com/img/soundcharts-logo.svg"
+ },
{
"title": "SoundCloud",
"hex": "FF3300",
@@ -8359,8 +10081,15 @@
},
{
"title": "Sourcegraph",
- "hex": "00B4F2",
- "source": "https://sourcegraph.com/.assets/img"
+ "hex": "00CBEC",
+ "source": "https://about.sourcegraph.com/handbook/marketing/brand/brand_guidelines",
+ "guidelines": "https://about.sourcegraph.com/handbook/marketing/brand/brand_guidelines"
+ },
+ {
+ "title": "Sourcetree",
+ "hex": "0052CC",
+ "source": "https://atlassian.design/resources/logo-library",
+ "guidelines": "https://atlassian.design/foundations/logos/"
},
{
"title": "Southwest Airlines",
@@ -8370,13 +10099,21 @@
{
"title": "Spacemacs",
"hex": "9266CC",
- "source": "http://spacemacs.org/"
+ "source": "http://spacemacs.org/",
+ "license": {
+ "type": "CC-BY-SA-4.0"
+ }
},
{
"title": "SpaceX",
"hex": "000000",
"source": "https://www.spacex.com/"
},
+ {
+ "title": "spaCy",
+ "hex": "09A3D5",
+ "source": "https://github.com/explosion/spaCy/blob/c17980e535a8009b14ee4d1f818db207d9c07e55/website/src/images/logo.svg"
+ },
{
"title": "Spark AR",
"hex": "FF5C83",
@@ -8397,7 +10134,8 @@
{
"title": "SparkPost",
"hex": "FA6423",
- "source": "https://www.sparkpost.com/"
+ "source": "https://www.sparkpost.com/press-kit/",
+ "guidelines": "https://www.sparkpost.com/press-kit/"
},
{
"title": "SPDX",
@@ -8441,8 +10179,9 @@
},
{
"title": "Spotify",
- "hex": "1ED760",
- "source": "https://developer.spotify.com/design"
+ "hex": "1DB954",
+ "source": "https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo",
+ "guidelines": "https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo"
},
{
"title": "Spotlight",
@@ -8466,18 +10205,29 @@
{
"title": "Spreaker",
"hex": "F5C300",
- "source": "http://www.spreaker.com/press"
+ "source": "https://www.spreaker.com/"
},
{
"title": "Spring",
"hex": "6DB33F",
"source": "https://spring.io/trademarks"
},
+ {
+ "title": "Spring",
+ "slug": "spring_creators",
+ "hex": "000000",
+ "source": "https://www.spri.ng/"
+ },
{
"title": "Spring Boot",
"hex": "6DB33F",
"source": "https://spring.io/projects"
},
+ {
+ "title": "Spring Security",
+ "hex": "6DB33F",
+ "source": "https://spring.io/projects"
+ },
{
"title": "Spyder IDE",
"hex": "FF0000",
@@ -8501,7 +10251,8 @@
{
"title": "Squarespace",
"hex": "000000",
- "source": "http://squarespace.com/brand-guidelines"
+ "source": "https://www.squarespace.com/logo-guidelines",
+ "guidelines": "http://www.squarespace.com/brand-guidelines"
},
{
"title": "SSRN",
@@ -8523,12 +10274,19 @@
{
"title": "Stackbit",
"hex": "207BEA",
- "source": "https://www.stackbit.com/branding-guidelines/"
+ "source": "https://www.stackbit.com/branding-guidelines/",
+ "guidelines": "https://www.stackbit.com/branding-guidelines/"
+ },
+ {
+ "title": "StackEdit",
+ "hex": "606060",
+ "source": "https://github.com/benweet/stackedit/blob/46383b5b6a54b65b8720d786ed0a0518b9ad652d/src/assets/iconStackedit.svg"
},
{
"title": "StackPath",
"hex": "000000",
- "source": "https://www.stackpath.com/company/logo-and-branding/"
+ "source": "https://www.stackpath.com/company/logo-and-branding/",
+ "guidelines": "https://www.stackpath.com/company/logo-and-branding/"
},
{
"title": "StackShare",
@@ -8556,10 +10314,16 @@
"source": "https://starbucks.com/",
"guidelines": "https://creative.starbucks.com/"
},
+ {
+ "title": "Stardock",
+ "hex": "004B8D",
+ "source": "https://www.stardock.com/press/stardock%20branding/"
+ },
{
"title": "Starling Bank",
- "hex": "7433FF",
- "source": "https://www.starlingbank.com/media/"
+ "hex": "6935D3",
+ "source": "https://www.starlingbank.com/media/",
+ "guidelines": "https://www.starlingbank.com/docs/brand/starling-bank-brand-guidelines.pdf"
},
{
"title": "Starship",
@@ -8569,12 +10333,13 @@
{
"title": "STARZ",
"hex": "000000",
- "source": "https://www.starz.com/StaticContent/Prod/guides/starzlibrary/"
+ "source": "https://www.starz.com/guides/starzlibrary/"
},
{
"title": "Statamic",
"hex": "FF269E",
- "source": "https://statamic.com/branding"
+ "source": "https://statamic.com/branding",
+ "guidelines": "https://statamic.com/branding"
},
{
"title": "Statuspage",
@@ -8589,7 +10354,14 @@
{
"title": "Steam",
"hex": "000000",
- "source": "https://partner.steamgames.com/public/marketing/Steam_Guidelines_02102016.pdf"
+ "source": "https://partner.steamgames.com/doc/marketing/branding",
+ "guidelines": "https://partner.steamgames.com/doc/marketing/branding"
+ },
+ {
+ "title": "Steam Deck",
+ "hex": "1A9FFF",
+ "source": "https://partner.steamgames.com/doc/marketing/branding",
+ "guidelines": "https://partner.steamgames.com/doc/marketing/branding"
},
{
"title": "SteamDB",
@@ -8601,6 +10373,11 @@
"hex": "1E1E1E",
"source": "https://partner.steamgames.com/"
},
+ {
+ "title": "Steelseries",
+ "hex": "FF5200",
+ "source": "https://techblog.steelseries.com/ux-guide/index.html"
+ },
{
"title": "Steem",
"hex": "171FC9",
@@ -8614,12 +10391,12 @@
{
"title": "Steinberg",
"hex": "C90827",
- "source": "https://www.steinberg.net/en/company/press.html"
+ "source": "https://new.steinberg.net/press/"
},
{
"title": "Stellar",
"hex": "7D00FF",
- "source": "https://www.stellar.org/blog/announcing-the-new-stellar-logo"
+ "source": "https://www.stellar.org/press"
},
{
"title": "Stencyl",
@@ -8641,6 +10418,14 @@
"hex": "03234B",
"source": "https://www.st.com/"
},
+ {
+ "title": "StopStalk",
+ "hex": "536DFE",
+ "source": "https://github.com/stopstalk/media-resources/blob/265b728c26ba597b957e72134a3b49a10dc0c91d/stopstalk-small-black.svg",
+ "license": {
+ "type": "MIT"
+ }
+ },
{
"title": "Storyblok",
"hex": "09B3AF",
@@ -8650,7 +10435,10 @@
{
"title": "Storybook",
"hex": "FF4785",
- "source": "https://github.com/storybookjs/brand"
+ "source": "https://github.com/storybookjs/brand/tree/6f4d67f65f8275c53c310a73a8da6c6e96c8488c",
+ "license": {
+ "type": "MIT"
+ }
},
{
"title": "Strapi",
@@ -8665,7 +10453,8 @@
{
"title": "Streamlit",
"hex": "FF4B4B",
- "source": "https://www.streamlit.io/brand"
+ "source": "https://www.streamlit.io/brand",
+ "guidelines": "https://www.streamlit.io/brand"
},
{
"title": "Stripe",
@@ -8700,7 +10489,7 @@
{
"title": "Stylus",
"hex": "333333",
- "source": "http://stylus-lang.com/img/stylus-logo.svg"
+ "source": "https://github.com/stylus/stylus-lang.com/blob/c833bf697e39e1174c7c6e679e0e5a23d0baeb90/img/stylus-logo.svg"
},
{
"title": "Subaru",
@@ -8710,7 +10499,7 @@
{
"title": "Sublime Text",
"hex": "FF9800",
- "source": "https://www.sublimetext.com/images/logo.svg"
+ "source": "https://www.sublimetext.com/"
},
{
"title": "Substack",
@@ -8730,7 +10519,8 @@
{
"title": "Sumo Logic",
"hex": "000099",
- "source": "https://sites.google.com/sumologic.com/sumo-logic-brand/home"
+ "source": "https://sites.google.com/sumologic.com/sumo-logic-brand/home",
+ "guidelines": "https://sites.google.com/sumologic.com/sumo-logic-brand/home"
},
{
"title": "Supabase",
@@ -8743,15 +10533,22 @@
"source": "https://stackoverflow.design/brand/logo/",
"guidelines": "https://stackoverflow.com/legal/trademark-guidance"
},
+ {
+ "title": "Supermicro",
+ "hex": "151F6D",
+ "source": "https://www.supermicro.com/manuals/supermicro_logo_guidelines.pdf"
+ },
{
"title": "SurveyMonkey",
"hex": "00BF6F",
- "source": "https://www.surveymonkey.com/mp/brandassets/"
+ "source": "https://www.surveymonkey.com/mp/brandassets/",
+ "guidelines": "https://www.surveymonkey.com/mp/brandassets/"
},
{
"title": "SUSE",
"hex": "0C322C",
- "source": "https://brand.suse.com/"
+ "source": "https://brand.suse.com/",
+ "guidelines": "https://brand.suse.com/"
},
{
"title": "Suzuki",
@@ -8775,7 +10572,11 @@
{
"title": "SVG",
"hex": "FFB13B",
- "source": "https://www.w3.org/2009/08/svg-logos.html"
+ "source": "https://www.w3.org/2009/08/svg-logos.html",
+ "guidelines": "https://www.w3.org/2009/08/svg-logos.html",
+ "license": {
+ "type": "CC-BY-SA-4.0"
+ }
},
{
"title": "SVGO",
@@ -8792,10 +10593,16 @@
"hex": "FFA633",
"source": "https://foursquare.com/about/logos"
},
+ {
+ "title": "SWC",
+ "hex": "FFFFFF",
+ "source": "https://github.com/swc-project/logo/blob/f26cac1b4a490e3bdf128d3b084bb57f4fab1aac/svg/swc_black.svg"
+ },
{
"title": "Swift",
- "hex": "FA7343",
- "source": "https://developer.apple.com/develop/"
+ "hex": "F05138",
+ "source": "https://developer.apple.com/swift/resources/",
+ "guidelines": "https://developer.apple.com/swift/resources/"
},
{
"title": "Swiggy",
@@ -8815,7 +10622,8 @@
{
"title": "Symfony",
"hex": "000000",
- "source": "https://symfony.com/logo"
+ "source": "https://symfony.com/logo",
+ "guidelines": "https://symfony.com/trademark"
},
{
"title": "Symphony",
@@ -8830,12 +10638,14 @@
{
"title": "Synology",
"hex": "B5B5B6",
- "source": "https://www.synology.com/en-global/company/branding"
+ "source": "https://www.synology.com/en-global/company/branding",
+ "guidelines": "https://www.synology.com/en-global/company/branding"
},
{
"title": "T-Mobile",
"hex": "E20074",
- "source": "https://www.t-mobile.com/"
+ "source": "https://tmap.t-mobile.com/portals/pro74u7a/EXTBrandPortal",
+ "guidelines": "https://tmap.t-mobile.com/portals/pro74u7a/EXTBrandPortal"
},
{
"title": "Tableau",
@@ -8854,13 +10664,19 @@
},
{
"title": "Tailwind CSS",
- "hex": "38B2AC",
- "source": "https://tailwindcss.com/"
+ "hex": "06B6D4",
+ "source": "https://tailwindcss.com/brand",
+ "guidelines": "https://tailwindcss.com/brand"
},
{
"title": "Talend",
- "hex": "1675BC",
- "source": "https://www.talend.com/"
+ "hex": "FF6D70",
+ "source": "https://www.talend.com/blog/"
+ },
+ {
+ "title": "Talenthouse",
+ "hex": "FFFFFF",
+ "source": "https://www.talenthouse.com/"
},
{
"title": "Tampermonkey",
@@ -8877,6 +10693,16 @@
"hex": "FFCE00",
"source": "https://tapas.io/site/about#media"
},
+ {
+ "title": "Target",
+ "hex": "CC0000",
+ "source": "https://www.target.com/"
+ },
+ {
+ "title": "Task",
+ "hex": "29BEB0",
+ "source": "https://github.com/go-task/task/blob/367c0b38a6787bebf6ee5af864be1574ad40b24a/docs/Logo_mono.svg"
+ },
{
"title": "Tasmota",
"hex": "1FA3EC",
@@ -8885,7 +10711,17 @@
{
"title": "Tata",
"hex": "486AAE",
- "source": "https://www.tata.com/"
+ "source": "https://www.tatasteel.com/media/media-kit/logos-usage-guidelines/",
+ "guidelines": "https://www.tatasteel.com/media/media-kit/logos-usage-guidelines/"
+ },
+ {
+ "title": "Tauri",
+ "hex": "FFC131",
+ "source": "https://github.com/tauri-apps/tauri/blob/093f85dc2b90a6dd0f48d941f6e88daec311250a/app-icon.png",
+ "license": {
+ "type": "CC-BY-NC-ND-4.0",
+ "url": "https://github.com/tauri-apps/tauri"
+ }
},
{
"title": "TaxBuzz",
@@ -8905,8 +10741,8 @@
},
{
"title": "TeamViewer",
- "hex": "0E8EE9",
- "source": "https://www.teamviewer.com/resources/images/logos/teamviewer-logo-big.svg"
+ "hex": "004680",
+ "source": "https://www.teamviewer.com/en-us/"
},
{
"title": "TED",
@@ -8915,7 +10751,7 @@
},
{
"title": "Teespring",
- "hex": "39ACE6",
+ "hex": "ED2761",
"source": "https://teespring.com"
},
{
@@ -8939,6 +10775,11 @@
"hex": "FAFAFA",
"source": "https://telegra.ph/"
},
+ {
+ "title": "Temporal",
+ "hex": "000000",
+ "source": "https://github.com/temporalio/temporaldotio/blob/b6b5f3ed1fda818d5d6c07e27ec15d51a61f2267/public/images/icons/temporal-no-text.svg"
+ },
{
"title": "Tencent QQ",
"hex": "EB1923",
@@ -8952,7 +10793,7 @@
{
"title": "Teradata",
"hex": "F37440",
- "source": "https://github.com/Teradata/teradata.github.io/"
+ "source": "https://github.com/Teradata/teradata.github.io/tree/0b5124f0c652d7ba006a487c8b4b21bd61150ab2"
},
{
"title": "teratail",
@@ -8965,10 +10806,20 @@
"source": "https://www.hashicorp.com/brand",
"guidelines": "https://www.hashicorp.com/brand"
},
+ {
+ "title": "Tesco",
+ "hex": "00539F",
+ "source": "https://www.tesco.com"
+ },
{
"title": "Tesla",
"hex": "CC0000",
- "source": "http://www.teslamotors.com/en_GB/about"
+ "source": "https://www.tesla.com/tesla-gallery"
+ },
+ {
+ "title": "TestCafe",
+ "hex": "36B6E5",
+ "source": "https://github.com/DevExpress/testcafe/blob/dd174b6682b5f2675ac90e305d3d893c36a1d814/media/logos/svg/TestCafe-logo-600.svg"
},
{
"title": "Testin",
@@ -8980,11 +10831,27 @@
"hex": "E33332",
"source": "https://testing-library.com/"
},
+ {
+ "title": "Tether",
+ "hex": "50AF95",
+ "aliases": {
+ "aka": [
+ "USDt"
+ ]
+ },
+ "source": "https://tether.to/branding/",
+ "guidelines": "https://tether.to/branding/"
+ },
{
"title": "Textpattern",
"hex": "FFDA44",
"source": "https://textpattern.com/"
},
+ {
+ "title": "The Algorithms",
+ "hex": "00BCB4",
+ "source": "https://github.com/TheAlgorithms/website/blob/f4e439578c88fed3b21c70898605238602975d2d/public/logo_t.svg"
+ },
{
"title": "The Conversation",
"hex": "D8352A",
@@ -9007,9 +10874,19 @@
},
{
"title": "The Movie Database",
- "hex": "01D277",
+ "aliases": {
+ "aka": [
+ "TMDB"
+ ]
+ },
+ "hex": "01B4E4",
"source": "https://www.themoviedb.org/about/logos-attribution"
},
+ {
+ "title": "The North Face",
+ "hex": "000000",
+ "source": "https://www.thenorthface.com/"
+ },
{
"title": "The Register",
"hex": "FF0000",
@@ -9040,6 +10917,11 @@
"hex": "EE2624",
"source": "https://www.lenovo.com/us/en/thinkpad"
},
+ {
+ "title": "Threadless",
+ "hex": "0099FF",
+ "source": "https://www.threadless.com/about-us/"
+ },
{
"title": "Three.js",
"hex": "000000",
@@ -9058,12 +10940,12 @@
{
"title": "Thunderbird",
"hex": "0A84FF",
- "source": "https://demo.identihub.co/thunderbird"
+ "source": "https://github.com/thundernest/thunderbird-website/blob/d7446f3eee14b38f02ee60da7d4b4fb8c9ef20e3/media/svg/logo.svg"
},
{
"title": "Thymeleaf",
"hex": "005F0F",
- "source": "https://github.com/thymeleaf/thymeleaf-dist/tree/master/src/artwork/thymeleaf%202016"
+ "source": "https://github.com/thymeleaf/thymeleaf-org/blob/0427d4d4c6f08d3a1fbed3bc90ceeebcf094b532/artwork/thymeleaf%202016/thymeleaf.svg"
},
{
"title": "Ticketmaster",
@@ -9108,7 +10990,17 @@
{
"title": "TinyLetter",
"hex": "ED1C24",
- "source": "https://tinyletter.com/site/press"
+ "source": "https://tinyletter.com/site/press/"
+ },
+ {
+ "title": "Tistory",
+ "hex": "000000",
+ "source": "https://tistory.com/",
+ "aliases": {
+ "loc": {
+ "ko-KR": "티스토리"
+ }
+ }
},
{
"title": "tmux",
@@ -9138,7 +11030,8 @@
{
"title": "Topcoder",
"hex": "29A7DF",
- "source": "http://topcoder.com/"
+ "source": "https://www.topcoder.com/thrive/articles/How%20to%20use%20the%20Topcoder%20GUI%20KIT",
+ "guidelines": "https://www.topcoder.com/thrive/articles/How%20to%20use%20the%20Topcoder%20GUI%20KIT"
},
{
"title": "Toptal",
@@ -9176,21 +11069,27 @@
"hex": "FFC107",
"source": "https://github.com/tqdm/img/blob/0dd23d9336af67976f88f9988ea660cde78c54d4/logo.svg"
},
+ {
+ "title": "Traefik Mesh",
+ "hex": "9D0FB0",
+ "source": "https://github.com/traefik/mesh/blob/ef03c40b78c08931d47fdad0be10d1986f4e21bc/docs/content/assets/img/traefik-mesh-logo.svg"
+ },
+ {
+ "title": "Traefik Proxy",
+ "hex": "24A1C1",
+ "source": "https://traefik.io/traefik/"
+ },
{
"title": "TrainerRoad",
- "hex": "E12726",
- "source": "https://www.trainerroad.com/"
+ "hex": "DA291C",
+ "source": "https://www.trainerroad.com/press/",
+ "guidelines": "https://www.trainerroad.com/press/"
},
{
"title": "Trakt",
"hex": "ED1C24",
"source": "https://trakt.tv"
},
- {
- "title": "TransferWise",
- "hex": "00B9FF",
- "source": "https://brand.transferwise.com/logo"
- },
{
"title": "Transport for Ireland",
"hex": "00B274",
@@ -9249,8 +11148,14 @@
},
{
"title": "Trove",
- "hex": "609540",
- "source": "https://trove.nla.gov.au/"
+ "hex": "2D004B",
+ "source": "https://trove.nla.gov.au/about/who-we-are/our-logo",
+ "guidelines": "https://trove.nla.gov.au/about/who-we-are/trove-brand-guidelines"
+ },
+ {
+ "title": "tRPC",
+ "hex": "2596BE",
+ "source": "https://github.com/trpc/trpc/blob/e0df4a2d5b498dd953a65901e04915c6e3f7ecc5/www/static/img/logo-no-text.svg"
},
{
"title": "TrueNAS",
@@ -9258,9 +11163,10 @@
"source": "https://www.truenas.com/"
},
{
- "title": "Trulia",
- "hex": "53B50A",
- "source": "http://www.trulia.com"
+ "title": "trulia",
+ "hex": "0A0B09",
+ "source": "https://www.trulia.com/newsroom/media/brand-logos/",
+ "guidelines": "https://www.trulia.com/newsroom/media/brand-logos/"
},
{
"title": "Trusted Shops",
@@ -9287,10 +11193,16 @@
"hex": "3178C6",
"source": "https://typestrong.org/ts-node/"
},
+ {
+ "title": "Tubi",
+ "hex": "000000",
+ "source": "https://corporate.tubitv.com/press-releases/"
+ },
{
"title": "TUI",
- "hex": "70CBF4",
- "source": "https://www.tuiholidays.ie/"
+ "hex": "D40E14",
+ "source": "https://www.design.tui/brand/logos/",
+ "guidelines": "https://www.design.tui/brand/"
},
{
"title": "Tumblr",
@@ -9302,10 +11214,16 @@
"hex": "14D8CC",
"source": "https://cms.tunein.com/press/"
},
+ {
+ "title": "Turborepo",
+ "hex": "EF4444",
+ "source": "https://github.com/vercel/turborepo/blob/7312e316629a2138f895a90c9704045891be817b/docs/public/logo-light.svg"
+ },
{
"title": "TurboSquid",
"hex": "FF8135",
- "source": "https://www.brand.turbosquid.com/"
+ "source": "https://www.brand.turbosquid.com/turbosquidicons",
+ "guidelines": "https://www.brand.turbosquid.com/"
},
{
"title": "Turkish Airlines",
@@ -9342,10 +11260,16 @@
"hex": "FF7102",
"source": "http://www.twoo.com/about/press"
},
+ {
+ "title": "Typeform",
+ "hex": "262627",
+ "source": "https://www.typeform.com"
+ },
{
"title": "TypeScript",
"hex": "3178C6",
- "source": "https://www.staging-typescript.org/branding"
+ "source": "https://www.typescriptlang.org/branding",
+ "guidelines": "https://www.typescriptlang.org/branding"
},
{
"title": "TYPO3",
@@ -9380,7 +11304,7 @@
{
"title": "Ubuntu",
"hex": "E95420",
- "source": "https://design.ubuntu.com/brand/ubuntu-logo/",
+ "source": "https://design.ubuntu.com/downloads/",
"guidelines": "https://design.ubuntu.com/brand/ubuntu-logo/"
},
{
@@ -9390,8 +11314,8 @@
},
{
"title": "Udemy",
- "hex": "EC5252",
- "source": "https://about.udemy.com/newbrand/"
+ "hex": "A435F0",
+ "source": "https://www.udemy.com/ourbrand/"
},
{
"title": "UFC",
@@ -9418,6 +11342,16 @@
"hex": "08BD80",
"source": "https://unacademy.com/"
},
+ {
+ "title": "Under Armour",
+ "hex": "1D1D1D",
+ "source": "https://www.underarmour.com/en-us/"
+ },
+ {
+ "title": "Underscore.js",
+ "hex": "0371B5",
+ "source": "https://github.com/jashkenas/underscore/blob/f098f61ff84931dea69c276b3674a62b6ae4def7/docs/images/underscore.png"
+ },
{
"title": "Undertale",
"hex": "E71D29",
@@ -9440,8 +11374,19 @@
},
{
"title": "Unity",
- "hex": "000000",
- "source": "https://unity.com/"
+ "hex": "FFFFFF",
+ "source": "https://brand.unity.com/",
+ "guidelines": "https://brand.unity.com/"
+ },
+ {
+ "title": "Unlicense",
+ "hex": "808080",
+ "source": "https://commons.wikimedia.org/wiki/File:PD-icon.svg"
+ },
+ {
+ "title": "UnoCSS",
+ "hex": "333333",
+ "source": "https://github.com/unocss/unocss/blob/fc2ed5bb6019b45565ff5293d4b650522f1b79b4/playground/public/icon.svg"
},
{
"title": "Unraid",
@@ -9450,7 +11395,7 @@
},
{
"title": "Unreal Engine",
- "hex": "313131",
+ "hex": "0E1128",
"source": "https://www.unrealengine.com/en-US/branding",
"guidelines": "https://www.unrealengine.com/en-US/branding"
},
@@ -9491,6 +11436,16 @@
"hex": "150400",
"source": "https://www.ups.com/"
},
+ {
+ "title": "Upstash",
+ "hex": "00E9A3",
+ "source": "https://upstash.com/"
+ },
+ {
+ "title": "Uptobox",
+ "hex": "5CE1E6",
+ "source": "https://uptoboxpremium.org/"
+ },
{
"title": "Upwork",
"hex": "6FDA44",
@@ -9504,7 +11459,7 @@
{
"title": "V",
"hex": "5D87BF",
- "source": "https://github.com/vlang/v-logo",
+ "source": "https://github.com/vlang/v-logo/tree/62dd9fe256f64190b53a306310c4a4cc27398d0f",
"license": {
"type": "MIT"
}
@@ -9526,6 +11481,11 @@
"source": "https://www.hashicorp.com/brand",
"guidelines": "https://www.hashicorp.com/brand"
},
+ {
+ "title": "Valorant",
+ "hex": "FA4454",
+ "source": "https://commons.wikimedia.org/wiki/File:Valorant_logo_-_black_color_version.svg"
+ },
{
"title": "Valve",
"hex": "F74843",
@@ -9572,6 +11532,11 @@
"hex": "EC008C",
"source": "https://www.veepee.fr/"
},
+ {
+ "title": "Velog",
+ "hex": "20C997",
+ "source": "https://github.com/velopert/velog-client/blob/8fbbb371f4b4525b6747e54d0c608900ea8bf03e/src/static/svg/velog-icon.svg"
+ },
{
"title": "Venmo",
"hex": "3D95CE",
@@ -9597,6 +11562,11 @@
"hex": "CD040B",
"source": "https://www.verizondigitalmedia.com/about/logo-usage/"
},
+ {
+ "title": "VEXXHOST",
+ "hex": "2A1659",
+ "source": "https://vexxhost.com"
+ },
{
"title": "vFairs",
"hex": "EF4678",
@@ -9627,6 +11597,21 @@
"hex": "0A0A20",
"source": "https://livestream.com"
},
+ {
+ "title": "Virgin",
+ "aliases": {
+ "aka": [
+ "Virgin Group"
+ ]
+ },
+ "hex": "E10A0A",
+ "source": "https://www.virgin.com/img/virgin-logo-square.svg"
+ },
+ {
+ "title": "Virgin Media",
+ "hex": "ED1A37",
+ "source": "https://en.wikipedia.org/wiki/Virgin_Media#/media/File:Virgin_Media.svg"
+ },
{
"title": "VirtualBox",
"hex": "183A61",
@@ -9657,6 +11642,11 @@
"hex": "646CFF",
"source": "https://vitejs.dev/"
},
+ {
+ "title": "Vitess",
+ "hex": "F16728",
+ "source": "https://cncf-branding.netlify.app/projects/vitess/"
+ },
{
"title": "Vivaldi",
"hex": "EF3939",
@@ -9669,8 +11659,9 @@
},
{
"title": "VK",
- "hex": "4680C2",
- "source": "https://vk.com/brand"
+ "hex": "0077FF",
+ "source": "https://vk.com/brand",
+ "guidelines": "https://vk.com/brand"
},
{
"title": "VLC media player",
@@ -9702,6 +11693,11 @@
"hex": "FFFFFF",
"source": "https://www.vonage.com"
},
+ {
+ "title": "Vowpal Wabbit",
+ "hex": "FF81F9",
+ "source": "https://github.com/VowpalWabbit/vowpal_wabbit/blob/1da1aa4bb4f2dfb5e1a6083c14b429b30eba372d/logo_assets/vowpal-wabbits-icon.svg"
+ },
{
"title": "VOX",
"hex": "DA074A",
@@ -9712,15 +11708,19 @@
"hex": "000000",
"source": "https://vscopress.co/media-kit"
},
+ {
+ "title": "VTEX",
+ "hex": "ED125F",
+ "source": "https://vtex.com"
+ },
{
"title": "Vue.js",
"hex": "4FC08D",
- "source": "https://github.com/vuejs/art",
+ "source": "https://github.com/vuejs/art/tree/d840546f0779f0639ba3fe1cb78e7b04d8127eab",
+ "guidelines": "https://github.com/vuejs/art/blob/master/README.md",
"license": {
- "type": "custom",
- "url": "https://github.com/vuejs/art/blob/master/README.md"
- },
- "guidelines": "https://github.com/vuejs/art/blob/master/README.md"
+ "type": "CC-BY-NC-SA-4.0"
+ }
},
{
"title": "Vuetify",
@@ -9767,6 +11767,12 @@
"hex": "3F6184",
"source": "https://github.com/wallabag/logo/blob/f670395da2d85c3bbcb8dcfa8d2a339d8af5abb0/_default/icon/svg/logo-icon-black-no-bg.svg"
},
+ {
+ "title": "Walmart",
+ "hex": "0071CE",
+ "source": "https://corporate.walmart.com",
+ "guidelines": "https://one.walmart.com/content/people-experience/associate-brand-center.html"
+ },
{
"title": "Wappalyzer",
"hex": "32067C",
@@ -9778,6 +11784,12 @@
"hex": "004DB4",
"source": "https://www.warnerbros.com/"
},
+ {
+ "title": "wasmCloud",
+ "hex": "00BC8E",
+ "source": "https://github.com/wasmCloud/branding/",
+ "guidelines": "https://github.com/wasmCloud/branding/"
+ },
{
"title": "Wattpad",
"hex": "FF500A",
@@ -9812,7 +11824,7 @@
{
"title": "WebAuthn",
"hex": "3423A6",
- "source": "https://github.com/webauthn-open-source/webauthn-logos",
+ "source": "https://github.com/webauthn-open-source/webauthn-logos/tree/b21be672811eb4a5caadaba41044970cae299a55",
"guidelines": "https://github.com/webauthn-open-source/webauthn-logos"
},
{
@@ -9886,16 +11898,41 @@
"source": "https://wechat.design/standard/download/brand",
"guidelines": "https://wechat.design/standard/download/brand"
},
+ {
+ "title": "WeGame",
+ "hex": "FAAB00",
+ "source": "https://www.wegame.com.cn"
+ },
{
"title": "Weights & Biases",
"hex": "FFBE00",
"source": "https://wandb.ai/"
},
+ {
+ "title": "Welcome to the Jungle",
+ "aliases": {
+ "aka": [
+ "WTTJ"
+ ]
+ },
+ "hex": "FFCD00",
+ "source": "https://www.welcometothejungle.com/"
+ },
{
"title": "WEMO",
"hex": "72D44C",
"source": "https://commons.wikimedia.org/wiki/File:WeMoApp.svg"
},
+ {
+ "title": "Western Digital",
+ "aliases": {
+ "aka": [
+ "WD"
+ ]
+ },
+ "hex": "000000",
+ "source": "https://www.westerndigital.com"
+ },
{
"title": "WeTransfer",
"hex": "409FFF",
@@ -9904,8 +11941,8 @@
{
"title": "WhatsApp",
"hex": "25D366",
- "source": "https://www.whatsappbrand.com",
- "guidelines": "https://whatsappbrand.com/"
+ "source": "https://www.facebook.com/brand/resources/whatsapp/whatsapp-brand",
+ "guidelines": "https://www.facebook.com/brand/resources/whatsapp/whatsapp-brand"
},
{
"title": "When I Work",
@@ -9927,6 +11964,11 @@
"hex": "8B8B8B",
"source": "https://commons.wikipedia.org/wiki/File:WiiU.svg"
},
+ {
+ "title": "Wiki.js",
+ "hex": "1976D2",
+ "source": "https://cdn.js.wiki/images/wikijs-butterfly-mono.svg"
+ },
{
"title": "Wikidata",
"hex": "006699",
@@ -9952,6 +11994,16 @@
"hex": "006699",
"source": "https://commons.wikimedia.org/wiki/File:Wikivoyage-Logo-v3-en.svg"
},
+ {
+ "title": "Winamp",
+ "hex": "F93821",
+ "source": "https://www.winamp.com"
+ },
+ {
+ "title": "Windi CSS",
+ "hex": "48B0F1",
+ "source": "https://github.com/windicss/docs/blob/d7a01df515c4fa30dbb33ede7c46392e21fbf2cb/public/assets/logo.svg"
+ },
{
"title": "Windows",
"hex": "0078D6",
@@ -9998,6 +12050,12 @@
"hex": "1679A7",
"source": "https://gitlab.com/wanduow/wireshark/-/blob/cd5539b0f76975474869984a9d2f0fce29d5c21e/image/wsicon.svg"
},
+ {
+ "title": "Wise",
+ "hex": "00B9FF",
+ "source": "https://brand.wise.com/logo",
+ "guidelines": "https://brand.wise.com/logo"
+ },
{
"title": "Wish",
"hex": "2FB7EC",
@@ -10202,7 +12260,7 @@
{
"title": "Yarn",
"hex": "2C8EBB",
- "source": "https://github.com/yarnpkg/assets"
+ "source": "https://github.com/yarnpkg/assets/tree/76d30ca2aebed5b73ea8131d972218fb860bd32d"
},
{
"title": "Yelp",
@@ -10214,6 +12272,11 @@
"hex": "A4286A",
"source": "https://yoast.com/media/logo/"
},
+ {
+ "title": "YOLO",
+ "hex": "00FFFF",
+ "source": "https://pjreddie.com/darknet/yolo/"
+ },
{
"title": "YourTravel.TV",
"hex": "F79025",
@@ -10222,7 +12285,8 @@
{
"title": "YouTube",
"hex": "FF0000",
- "source": "https://www.youtube.com/yt/about/brand-resources/#logos-icons-colors"
+ "source": "https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors",
+ "guidelines": "https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors"
},
{
"title": "YouTube Gaming",
@@ -10244,11 +12308,21 @@
"hex": "FF0000",
"source": "https://partnermarketinghub.withgoogle.com/#/brands/"
},
+ {
+ "title": "Yubico",
+ "hex": "84BD00",
+ "source": "https://www.yubico.com/wp-content/themes/coronado/img/icon.svg"
+ },
{
"title": "Z-Wave",
"hex": "1B365D",
"source": "https://www.z-wave.com/"
},
+ {
+ "title": "Żabka",
+ "hex": "006420",
+ "source": "https://www.zabka.pl/"
+ },
{
"title": "Zalando",
"hex": "FF6900",
@@ -10264,11 +12338,38 @@
"hex": "FF4A00",
"source": "https://zapier.com/about/brand"
},
+ {
+ "title": "Zara",
+ "hex": "000000",
+ "source": "https://www.zara.com/"
+ },
+ {
+ "title": "Zazzle",
+ "hex": "212121",
+ "source": "https://www.zazzle.com/logo",
+ "guidelines": "https://www.zazzle.com/logo"
+ },
+ {
+ "title": "Zcash",
+ "aliases": {
+ "aka": [
+ "ZEC"
+ ]
+ },
+ "hex": "F4B728",
+ "source": "https://z.cash/press/",
+ "guidelines": "https://www.zfnd.org/about/trademark-policy/"
+ },
{
"title": "ZDF",
"hex": "FA7D19",
"source": "https://www.zdf.de/"
},
+ {
+ "title": "Zebra Technologies",
+ "hex": "000000",
+ "source": "https://www.zebra.com/"
+ },
{
"title": "Zelle",
"hex": "6D1ED4",
@@ -10294,6 +12395,12 @@
"hex": "3EA8FF",
"source": "https://zenn.dev/mediakit"
},
+ {
+ "title": "Zenodo",
+ "hex": "1682D4",
+ "source": "https://about.zenodo.org",
+ "guidelines": "https://about.zenodo.org"
+ },
{
"title": "Zerodha",
"hex": "387ED1",
@@ -10309,6 +12416,12 @@
"hex": "7BBB6E",
"source": "https://zerply.com/about/resources"
},
+ {
+ "title": "Zettlr",
+ "hex": "1CB27E",
+ "source": "https://www.zettlr.com/",
+ "guidelines": "https://www.zettlr.com/press"
+ },
{
"title": "Zhihu",
"hex": "0084FF",
@@ -10317,7 +12430,7 @@
{
"title": "Zig",
"hex": "F7A41D",
- "source": "https://github.com/ziglang/logo",
+ "source": "https://github.com/ziglang/logo/tree/608770bf7303613c18a8c3faf284516fa31072f0",
"license": {
"type": "CC-BY-SA-4.0"
}
@@ -10371,6 +12484,11 @@
"title": "Zulip",
"hex": "FFFFFF",
"source": "https://github.com/zulip/zulip/blob/df9e40491dc77b658d943cff36a816d46e32ce1b/static/images/logo/zulip-org-logo.svg"
+ },
+ {
+ "title": "Zyte",
+ "hex": "B02CCE",
+ "source": "https://www.zyte.com/"
}
]
}
diff --git a/assets/readme/angular-white.svg b/assets/readme/angular-white.svg
new file mode 100644
index 000000000000..7844c2771db0
--- /dev/null
+++ b/assets/readme/angular-white.svg
@@ -0,0 +1 @@
+Angular
\ No newline at end of file
diff --git a/assets/readme/blazor-white.svg b/assets/readme/blazor-white.svg
new file mode 100644
index 000000000000..e1d1208ab7ae
--- /dev/null
+++ b/assets/readme/blazor-white.svg
@@ -0,0 +1 @@
+Blazor
\ No newline at end of file
diff --git a/assets/readme/blender-white.svg b/assets/readme/blender-white.svg
new file mode 100644
index 000000000000..bb4810a0e19d
--- /dev/null
+++ b/assets/readme/blender-white.svg
@@ -0,0 +1 @@
+Blender
\ No newline at end of file
diff --git a/assets/readme/diagramsdotnet-white.svg b/assets/readme/diagramsdotnet-white.svg
new file mode 100644
index 000000000000..d0fd50818133
--- /dev/null
+++ b/assets/readme/diagramsdotnet-white.svg
@@ -0,0 +1 @@
+diagrams.net
\ No newline at end of file
diff --git a/assets/readme/drupal-white.svg b/assets/readme/drupal-white.svg
new file mode 100644
index 000000000000..d53a9986682e
--- /dev/null
+++ b/assets/readme/drupal-white.svg
@@ -0,0 +1 @@
+Drupal
\ No newline at end of file
diff --git a/assets/readme/flutter-white.svg b/assets/readme/flutter-white.svg
new file mode 100644
index 000000000000..3fd3bfb2e2da
--- /dev/null
+++ b/assets/readme/flutter-white.svg
@@ -0,0 +1 @@
+Flutter
\ No newline at end of file
diff --git a/assets/readme/hexo-white.svg b/assets/readme/hexo-white.svg
new file mode 100644
index 000000000000..ecbcdff1f4fe
--- /dev/null
+++ b/assets/readme/hexo-white.svg
@@ -0,0 +1 @@
+Hexo
\ No newline at end of file
diff --git a/assets/readme/homeassistant-white.svg b/assets/readme/homeassistant-white.svg
new file mode 100644
index 000000000000..ec9813d5b267
--- /dev/null
+++ b/assets/readme/homeassistant-white.svg
@@ -0,0 +1 @@
+Home Assistant
\ No newline at end of file
diff --git a/assets/readme/hugo-white.svg b/assets/readme/hugo-white.svg
new file mode 100644
index 000000000000..18e5a1872c28
--- /dev/null
+++ b/assets/readme/hugo-white.svg
@@ -0,0 +1 @@
+Hugo
\ No newline at end of file
diff --git a/assets/readme/jetpackcompose-white.svg b/assets/readme/jetpackcompose-white.svg
new file mode 100644
index 000000000000..80252ac01da1
--- /dev/null
+++ b/assets/readme/jetpackcompose-white.svg
@@ -0,0 +1 @@
+Jetpack Compose
\ No newline at end of file
diff --git a/assets/readme/kirby-white.svg b/assets/readme/kirby-white.svg
new file mode 100644
index 000000000000..799588439262
--- /dev/null
+++ b/assets/readme/kirby-white.svg
@@ -0,0 +1 @@
+Kirby
\ No newline at end of file
diff --git a/assets/readme/laravel-white.svg b/assets/readme/laravel-white.svg
new file mode 100644
index 000000000000..3edfcea56ae1
--- /dev/null
+++ b/assets/readme/laravel-white.svg
@@ -0,0 +1 @@
+Laravel
\ No newline at end of file
diff --git a/assets/readme/latex-white.svg b/assets/readme/latex-white.svg
new file mode 100644
index 000000000000..87e4bb703e79
--- /dev/null
+++ b/assets/readme/latex-white.svg
@@ -0,0 +1 @@
+LaTeX
\ No newline at end of file
diff --git a/assets/readme/nodedotjs-white.svg b/assets/readme/nodedotjs-white.svg
new file mode 100644
index 000000000000..ed8a6959b7da
--- /dev/null
+++ b/assets/readme/nodedotjs-white.svg
@@ -0,0 +1 @@
+Node.js
\ No newline at end of file
diff --git a/assets/readme/openjdk-white.svg b/assets/readme/openjdk-white.svg
new file mode 100644
index 000000000000..95379645af2c
--- /dev/null
+++ b/assets/readme/openjdk-white.svg
@@ -0,0 +1 @@
+OpenJDK
\ No newline at end of file
diff --git a/assets/readme/php-white.svg b/assets/readme/php-white.svg
new file mode 100644
index 000000000000..f20b708bda71
--- /dev/null
+++ b/assets/readme/php-white.svg
@@ -0,0 +1 @@
+PHP
\ No newline at end of file
diff --git a/assets/readme/python-white.svg b/assets/readme/python-white.svg
new file mode 100644
index 000000000000..452d9b7e00aa
--- /dev/null
+++ b/assets/readme/python-white.svg
@@ -0,0 +1 @@
+Python
\ No newline at end of file
diff --git a/assets/readme/react-white.svg b/assets/readme/react-white.svg
new file mode 100644
index 000000000000..a1197a26878d
--- /dev/null
+++ b/assets/readme/react-white.svg
@@ -0,0 +1 @@
+React
\ No newline at end of file
diff --git a/assets/readme/simpleicons-white.svg b/assets/readme/simpleicons-white.svg
new file mode 100644
index 000000000000..21bd6b513492
--- /dev/null
+++ b/assets/readme/simpleicons-white.svg
@@ -0,0 +1 @@
+Simple Icons
\ No newline at end of file
diff --git a/assets/readme/svelte-white.svg b/assets/readme/svelte-white.svg
new file mode 100644
index 000000000000..4a04412d6d36
--- /dev/null
+++ b/assets/readme/svelte-white.svg
@@ -0,0 +1 @@
+Svelte
\ No newline at end of file
diff --git a/assets/readme/typescript-white.svg b/assets/readme/typescript-white.svg
new file mode 100644
index 000000000000..968ff97eafde
--- /dev/null
+++ b/assets/readme/typescript-white.svg
@@ -0,0 +1 @@
+TypeScript
\ No newline at end of file
diff --git a/assets/readme/vuedotjs-white.svg b/assets/readme/vuedotjs-white.svg
new file mode 100644
index 000000000000..1c9e2beef3b8
--- /dev/null
+++ b/assets/readme/vuedotjs-white.svg
@@ -0,0 +1 @@
+Vue.js
\ No newline at end of file
diff --git a/assets/readme/wordpress-white.svg b/assets/readme/wordpress-white.svg
new file mode 100644
index 000000000000..25ed7792ab2c
--- /dev/null
+++ b/assets/readme/wordpress-white.svg
@@ -0,0 +1 @@
+WordPress
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 2d6071c3ec3f..98b1cea17362 100644
--- a/composer.json
+++ b/composer.json
@@ -7,7 +7,15 @@
"icons"
],
"support": {
- "issues": "https://github.com/simple-icons/simple-icons/issues"
+ "issues": "https://github.com/simple-icons/simple-icons/issues",
+ "source": "https://github.com/simple-icons/simple-icons",
+ "docs": "https://github.com/simple-icons/simple-icons#php-usage-"
},
- "license": "CC0-1.0"
+ "license": "CC0-1.0",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/simple-icons"
+ }
+ ]
}
diff --git a/icons/4chan.svg b/icons/4chan.svg
new file mode 100644
index 000000000000..c5c2e7f18d8a
--- /dev/null
+++ b/icons/4chan.svg
@@ -0,0 +1 @@
+4chan
\ No newline at end of file
diff --git a/icons/abbott.svg b/icons/abbott.svg
new file mode 100644
index 000000000000..511b8a56addc
--- /dev/null
+++ b/icons/abbott.svg
@@ -0,0 +1 @@
+Abbott
\ No newline at end of file
diff --git a/icons/adonisjs.svg b/icons/adonisjs.svg
index e019c1a660a5..ef489fcb57c5 100644
--- a/icons/adonisjs.svg
+++ b/icons/adonisjs.svg
@@ -1 +1 @@
-AdonisJS
\ No newline at end of file
+AdonisJS
\ No newline at end of file
diff --git a/icons/adyen.svg b/icons/adyen.svg
new file mode 100644
index 000000000000..b95739c5b007
--- /dev/null
+++ b/icons/adyen.svg
@@ -0,0 +1 @@
+Adyen
\ No newline at end of file
diff --git a/icons/aeromexico.svg b/icons/aeromexico.svg
index f7d77e3e0925..a27f719963bf 100644
--- a/icons/aeromexico.svg
+++ b/icons/aeromexico.svg
@@ -1 +1 @@
-Aeroméxico
\ No newline at end of file
+Aeroméxico
\ No newline at end of file
diff --git a/icons/aib.svg b/icons/aib.svg
new file mode 100644
index 000000000000..2e3f218567bf
--- /dev/null
+++ b/icons/aib.svg
@@ -0,0 +1 @@
+AIB
\ No newline at end of file
diff --git a/icons/airbyte.svg b/icons/airbyte.svg
new file mode 100644
index 000000000000..589d1fd8b9dc
--- /dev/null
+++ b/icons/airbyte.svg
@@ -0,0 +1 @@
+Airbyte
\ No newline at end of file
diff --git a/icons/ajv.svg b/icons/ajv.svg
new file mode 100644
index 000000000000..de8f0582c62a
--- /dev/null
+++ b/icons/ajv.svg
@@ -0,0 +1 @@
+Ajv
\ No newline at end of file
diff --git a/icons/albertheijn.svg b/icons/albertheijn.svg
new file mode 100644
index 000000000000..99d10e78ac71
--- /dev/null
+++ b/icons/albertheijn.svg
@@ -0,0 +1 @@
+Albert Heijn
\ No newline at end of file
diff --git a/icons/aldinord.svg b/icons/aldinord.svg
new file mode 100644
index 000000000000..975a24dc9937
--- /dev/null
+++ b/icons/aldinord.svg
@@ -0,0 +1 @@
+Aldi Nord
\ No newline at end of file
diff --git a/icons/aldisud.svg b/icons/aldisud.svg
new file mode 100644
index 000000000000..c42685112b64
--- /dev/null
+++ b/icons/aldisud.svg
@@ -0,0 +1 @@
+Aldi Süd
\ No newline at end of file
diff --git a/icons/alfred.svg b/icons/alfred.svg
new file mode 100644
index 000000000000..67ec41e782d3
--- /dev/null
+++ b/icons/alfred.svg
@@ -0,0 +1 @@
+Alfred
\ No newline at end of file
diff --git a/icons/allegro.svg b/icons/allegro.svg
new file mode 100644
index 000000000000..7c0f27ca92be
--- /dev/null
+++ b/icons/allegro.svg
@@ -0,0 +1 @@
+Allegro
\ No newline at end of file
diff --git a/icons/allocine.svg b/icons/allocine.svg
index 4a53441c5324..f55e4355095c 100644
--- a/icons/allocine.svg
+++ b/icons/allocine.svg
@@ -1 +1 @@
-AlloCiné
\ No newline at end of file
+AlloCiné
\ No newline at end of file
diff --git a/icons/amazonapigateway.svg b/icons/amazonapigateway.svg
new file mode 100644
index 000000000000..1127550f275e
--- /dev/null
+++ b/icons/amazonapigateway.svg
@@ -0,0 +1 @@
+Amazon API Gateway
\ No newline at end of file
diff --git a/icons/amazoncloudwatch.svg b/icons/amazoncloudwatch.svg
new file mode 100644
index 000000000000..4b57d04ddc92
--- /dev/null
+++ b/icons/amazoncloudwatch.svg
@@ -0,0 +1 @@
+Amazon CloudWatch
\ No newline at end of file
diff --git a/icons/amazonec2.svg b/icons/amazonec2.svg
new file mode 100644
index 000000000000..1206482caeaf
--- /dev/null
+++ b/icons/amazonec2.svg
@@ -0,0 +1 @@
+Amazon EC2
\ No newline at end of file
diff --git a/icons/amazonecs.svg b/icons/amazonecs.svg
new file mode 100644
index 000000000000..afcb5ec43ce0
--- /dev/null
+++ b/icons/amazonecs.svg
@@ -0,0 +1 @@
+Amazon ECS
\ No newline at end of file
diff --git a/icons/amazoneks.svg b/icons/amazoneks.svg
new file mode 100644
index 000000000000..fab8006a825a
--- /dev/null
+++ b/icons/amazoneks.svg
@@ -0,0 +1 @@
+Amazon EKS
\ No newline at end of file
diff --git a/icons/amazonrds.svg b/icons/amazonrds.svg
new file mode 100644
index 000000000000..6edfa849ea64
--- /dev/null
+++ b/icons/amazonrds.svg
@@ -0,0 +1 @@
+Amazon RDS
\ No newline at end of file
diff --git a/icons/amazonsqs.svg b/icons/amazonsqs.svg
new file mode 100644
index 000000000000..483b4adea020
--- /dev/null
+++ b/icons/amazonsqs.svg
@@ -0,0 +1 @@
+Amazon SQS
\ No newline at end of file
diff --git a/icons/amg.svg b/icons/amg.svg
new file mode 100644
index 000000000000..975ac4d04903
--- /dev/null
+++ b/icons/amg.svg
@@ -0,0 +1 @@
+AMG
\ No newline at end of file
diff --git a/icons/anta.svg b/icons/anta.svg
new file mode 100644
index 000000000000..56bb41de743d
--- /dev/null
+++ b/icons/anta.svg
@@ -0,0 +1 @@
+Anta
\ No newline at end of file
diff --git a/icons/apachecouchdb.svg b/icons/apachecouchdb.svg
new file mode 100644
index 000000000000..a3fbda001b88
--- /dev/null
+++ b/icons/apachecouchdb.svg
@@ -0,0 +1 @@
+Apache CouchDB
\ No newline at end of file
diff --git a/icons/apachehadoop.svg b/icons/apachehadoop.svg
new file mode 100644
index 000000000000..01fa5f2399db
--- /dev/null
+++ b/icons/apachehadoop.svg
@@ -0,0 +1 @@
+Apache Hadoop
\ No newline at end of file
diff --git a/icons/apachejmeter.svg b/icons/apachejmeter.svg
index d38d506614b9..814dbea5a85b 100644
--- a/icons/apachejmeter.svg
+++ b/icons/apachejmeter.svg
@@ -1 +1 @@
-Apache JMeter
\ No newline at end of file
+Apache JMeter
\ No newline at end of file
diff --git a/icons/appian.svg b/icons/appian.svg
new file mode 100644
index 000000000000..8d211528d3ae
--- /dev/null
+++ b/icons/appian.svg
@@ -0,0 +1 @@
+Appian
\ No newline at end of file
diff --git a/icons/appwrite.svg b/icons/appwrite.svg
new file mode 100644
index 000000000000..64994f233972
--- /dev/null
+++ b/icons/appwrite.svg
@@ -0,0 +1 @@
+Appwrite
\ No newline at end of file
diff --git a/icons/aqua.svg b/icons/aqua.svg
new file mode 100644
index 000000000000..3f38148904f3
--- /dev/null
+++ b/icons/aqua.svg
@@ -0,0 +1 @@
+Aqua
\ No newline at end of file
diff --git a/icons/argo.svg b/icons/argo.svg
new file mode 100644
index 000000000000..fde6bb799edf
--- /dev/null
+++ b/icons/argo.svg
@@ -0,0 +1 @@
+Argo
\ No newline at end of file
diff --git a/icons/argos.svg b/icons/argos.svg
new file mode 100644
index 000000000000..2c298a2dc67b
--- /dev/null
+++ b/icons/argos.svg
@@ -0,0 +1 @@
+Argos
\ No newline at end of file
diff --git a/icons/arm.svg b/icons/arm.svg
new file mode 100644
index 000000000000..3f27667666e8
--- /dev/null
+++ b/icons/arm.svg
@@ -0,0 +1 @@
+Arm
\ No newline at end of file
diff --git a/icons/artifacthub.svg b/icons/artifacthub.svg
new file mode 100644
index 000000000000..e2fb3627e5f9
--- /dev/null
+++ b/icons/artifacthub.svg
@@ -0,0 +1 @@
+Artifact Hub
\ No newline at end of file
diff --git a/icons/arxiv.svg b/icons/arxiv.svg
index aad276212fe5..4d09be6964dd 100644
--- a/icons/arxiv.svg
+++ b/icons/arxiv.svg
@@ -1 +1 @@
-arXiv
\ No newline at end of file
+arXiv
\ No newline at end of file
diff --git a/icons/asda.svg b/icons/asda.svg
new file mode 100644
index 000000000000..0bdb51d6d1c8
--- /dev/null
+++ b/icons/asda.svg
@@ -0,0 +1 @@
+ASDA
\ No newline at end of file
diff --git a/icons/astonmartin.svg b/icons/astonmartin.svg
new file mode 100644
index 000000000000..5af9e60c6633
--- /dev/null
+++ b/icons/astonmartin.svg
@@ -0,0 +1 @@
+Aston Martin
\ No newline at end of file
diff --git a/icons/astro.svg b/icons/astro.svg
new file mode 100644
index 000000000000..781213c606a7
--- /dev/null
+++ b/icons/astro.svg
@@ -0,0 +1 @@
+Astro
\ No newline at end of file
diff --git a/icons/auchan.svg b/icons/auchan.svg
new file mode 100644
index 000000000000..b2eb6112ce86
--- /dev/null
+++ b/icons/auchan.svg
@@ -0,0 +1 @@
+Auchan
\ No newline at end of file
diff --git a/icons/autoprefixer.svg b/icons/autoprefixer.svg
new file mode 100644
index 000000000000..b88cb1755d7f
--- /dev/null
+++ b/icons/autoprefixer.svg
@@ -0,0 +1 @@
+Autoprefixer
\ No newline at end of file
diff --git a/icons/avajs.svg b/icons/avajs.svg
new file mode 100644
index 000000000000..36584e61c2ee
--- /dev/null
+++ b/icons/avajs.svg
@@ -0,0 +1 @@
+avajs
\ No newline at end of file
diff --git a/icons/avast.svg b/icons/avast.svg
new file mode 100644
index 000000000000..e5f8e0666269
--- /dev/null
+++ b/icons/avast.svg
@@ -0,0 +1 @@
+Avast
\ No newline at end of file
diff --git a/icons/awsfargate.svg b/icons/awsfargate.svg
new file mode 100644
index 000000000000..2b575c0ba173
--- /dev/null
+++ b/icons/awsfargate.svg
@@ -0,0 +1 @@
+AWS Fargate
\ No newline at end of file
diff --git a/icons/awslambda.svg b/icons/awslambda.svg
new file mode 100644
index 000000000000..e02e27ee44fe
--- /dev/null
+++ b/icons/awslambda.svg
@@ -0,0 +1 @@
+AWS Lambda
\ No newline at end of file
diff --git a/icons/backbonedotjs.svg b/icons/backbonedotjs.svg
new file mode 100644
index 000000000000..dfe8da722c05
--- /dev/null
+++ b/icons/backbonedotjs.svg
@@ -0,0 +1 @@
+Backbone.js
\ No newline at end of file
diff --git a/icons/backendless.svg b/icons/backendless.svg
new file mode 100644
index 000000000000..52808010a362
--- /dev/null
+++ b/icons/backendless.svg
@@ -0,0 +1 @@
+Backendless
\ No newline at end of file
diff --git a/icons/bandlab.svg b/icons/bandlab.svg
index 9c8896a84158..5bf4eb13a139 100644
--- a/icons/bandlab.svg
+++ b/icons/bandlab.svg
@@ -1 +1 @@
-BandLab
\ No newline at end of file
+BandLab
\ No newline at end of file
diff --git a/icons/bem.svg b/icons/bem.svg
new file mode 100644
index 000000000000..ddb699ad4a3e
--- /dev/null
+++ b/icons/bem.svg
@@ -0,0 +1 @@
+BEM
\ No newline at end of file
diff --git a/icons/biolink.svg b/icons/biolink.svg
new file mode 100644
index 000000000000..625e5aaa0f33
--- /dev/null
+++ b/icons/biolink.svg
@@ -0,0 +1 @@
+Bio Link
\ No newline at end of file
diff --git a/icons/boehringeringelheim.svg b/icons/boehringeringelheim.svg
new file mode 100644
index 000000000000..c03ec373319c
--- /dev/null
+++ b/icons/boehringeringelheim.svg
@@ -0,0 +1 @@
+Boehringer Ingelheim
\ No newline at end of file
diff --git a/icons/bookmyshow.svg b/icons/bookmyshow.svg
new file mode 100644
index 000000000000..40b3d9ccd61a
--- /dev/null
+++ b/icons/bookmyshow.svg
@@ -0,0 +1 @@
+BookMyShow
\ No newline at end of file
diff --git a/icons/boots.svg b/icons/boots.svg
new file mode 100644
index 000000000000..676eb0283ad7
--- /dev/null
+++ b/icons/boots.svg
@@ -0,0 +1 @@
+Boots
\ No newline at end of file
diff --git a/icons/borgbackup.svg b/icons/borgbackup.svg
new file mode 100644
index 000000000000..ebd656be1bf9
--- /dev/null
+++ b/icons/borgbackup.svg
@@ -0,0 +1 @@
+BorgBackup
\ No newline at end of file
diff --git a/icons/boulanger.svg b/icons/boulanger.svg
new file mode 100644
index 000000000000..61095786530b
--- /dev/null
+++ b/icons/boulanger.svg
@@ -0,0 +1 @@
+boulanger
\ No newline at end of file
diff --git a/icons/boxysvg.svg b/icons/boxysvg.svg
new file mode 100644
index 000000000000..f59942f2963e
--- /dev/null
+++ b/icons/boxysvg.svg
@@ -0,0 +1 @@
+Boxy SVG
\ No newline at end of file
diff --git a/icons/budibase.svg b/icons/budibase.svg
new file mode 100644
index 000000000000..f137933d79e8
--- /dev/null
+++ b/icons/budibase.svg
@@ -0,0 +1 @@
+Budibase
\ No newline at end of file
diff --git a/icons/bukalapak.svg b/icons/bukalapak.svg
new file mode 100644
index 000000000000..4b9f653f9953
--- /dev/null
+++ b/icons/bukalapak.svg
@@ -0,0 +1 @@
+Bukalapak
\ No newline at end of file
diff --git a/icons/burgerking.svg b/icons/burgerking.svg
new file mode 100644
index 000000000000..31e9ed665286
--- /dev/null
+++ b/icons/burgerking.svg
@@ -0,0 +1 @@
+Burger King
\ No newline at end of file
diff --git a/icons/burton.svg b/icons/burton.svg
new file mode 100644
index 000000000000..46131f642c88
--- /dev/null
+++ b/icons/burton.svg
@@ -0,0 +1 @@
+Burton
\ No newline at end of file
diff --git a/icons/byjus.svg b/icons/byjus.svg
new file mode 100644
index 000000000000..c65f64a97811
--- /dev/null
+++ b/icons/byjus.svg
@@ -0,0 +1 @@
+Byju's
\ No newline at end of file
diff --git a/icons/caffeine.svg b/icons/caffeine.svg
new file mode 100644
index 000000000000..f71e1ccf169b
--- /dev/null
+++ b/icons/caffeine.svg
@@ -0,0 +1 @@
+Caffeine
\ No newline at end of file
diff --git a/icons/carrefour.svg b/icons/carrefour.svg
new file mode 100644
index 000000000000..e47c4b222af6
--- /dev/null
+++ b/icons/carrefour.svg
@@ -0,0 +1 @@
+Carrefour
\ No newline at end of file
diff --git a/icons/chemex.svg b/icons/chemex.svg
new file mode 100644
index 000000000000..4a1dfcfb92f0
--- /dev/null
+++ b/icons/chemex.svg
@@ -0,0 +1 @@
+Chemex
\ No newline at end of file
diff --git a/icons/chromecast.svg b/icons/chromecast.svg
new file mode 100644
index 000000000000..6b251ed8a1e1
--- /dev/null
+++ b/icons/chromecast.svg
@@ -0,0 +1 @@
+Chromecast
\ No newline at end of file
diff --git a/icons/cilium.svg b/icons/cilium.svg
new file mode 100644
index 000000000000..ae5132e70c9c
--- /dev/null
+++ b/icons/cilium.svg
@@ -0,0 +1 @@
+Cilium
\ No newline at end of file
diff --git a/icons/citroen.svg b/icons/citroen.svg
index 9794fcc56013..128db1771e56 100644
--- a/icons/citroen.svg
+++ b/icons/citroen.svg
@@ -1 +1 @@
-Citroën
\ No newline at end of file
+Citroën
\ No newline at end of file
diff --git a/icons/civo.svg b/icons/civo.svg
new file mode 100644
index 000000000000..28b33a6592e9
--- /dev/null
+++ b/icons/civo.svg
@@ -0,0 +1 @@
+Civo
\ No newline at end of file
diff --git a/icons/clickhouse.svg b/icons/clickhouse.svg
new file mode 100644
index 000000000000..689aca379156
--- /dev/null
+++ b/icons/clickhouse.svg
@@ -0,0 +1 @@
+ClickHouse
\ No newline at end of file
diff --git a/icons/cloudflarepages.svg b/icons/cloudflarepages.svg
new file mode 100644
index 000000000000..6278cca6b669
--- /dev/null
+++ b/icons/cloudflarepages.svg
@@ -0,0 +1 @@
+Cloudflare Pages
\ No newline at end of file
diff --git a/icons/cncf.svg b/icons/cncf.svg
new file mode 100644
index 000000000000..67c2ec17dc6e
--- /dev/null
+++ b/icons/cncf.svg
@@ -0,0 +1 @@
+CNCF
\ No newline at end of file
diff --git a/icons/cockpit.svg b/icons/cockpit.svg
new file mode 100644
index 000000000000..4bcff12bcdc3
--- /dev/null
+++ b/icons/cockpit.svg
@@ -0,0 +1 @@
+Cockpit
\ No newline at end of file
diff --git a/icons/cocos.svg b/icons/cocos.svg
index 9662c939b3aa..233e347e3c70 100644
--- a/icons/cocos.svg
+++ b/icons/cocos.svg
@@ -1 +1 @@
-Cocos
\ No newline at end of file
+Cocos
\ No newline at end of file
diff --git a/icons/codereview.svg b/icons/codereview.svg
new file mode 100644
index 000000000000..87079abdf586
--- /dev/null
+++ b/icons/codereview.svg
@@ -0,0 +1 @@
+Code Review
\ No newline at end of file
diff --git a/icons/coil.svg b/icons/coil.svg
new file mode 100644
index 000000000000..37cc81b707ad
--- /dev/null
+++ b/icons/coil.svg
@@ -0,0 +1 @@
+Coil
\ No newline at end of file
diff --git a/icons/coinmarketcap.svg b/icons/coinmarketcap.svg
new file mode 100644
index 000000000000..7dd4943bc8d5
--- /dev/null
+++ b/icons/coinmarketcap.svg
@@ -0,0 +1 @@
+CoinMarketCap
\ No newline at end of file
diff --git a/icons/commitlint.svg b/icons/commitlint.svg
new file mode 100644
index 000000000000..9496f6f6dc79
--- /dev/null
+++ b/icons/commitlint.svg
@@ -0,0 +1 @@
+commitlint
\ No newline at end of file
diff --git a/icons/comsol.svg b/icons/comsol.svg
new file mode 100644
index 000000000000..71e662430257
--- /dev/null
+++ b/icons/comsol.svg
@@ -0,0 +1 @@
+Comsol
\ No newline at end of file
diff --git a/icons/conan.svg b/icons/conan.svg
new file mode 100644
index 000000000000..990b1eb01762
--- /dev/null
+++ b/icons/conan.svg
@@ -0,0 +1 @@
+Conan
\ No newline at end of file
diff --git a/icons/containerd.svg b/icons/containerd.svg
new file mode 100644
index 000000000000..40e170f92f4d
--- /dev/null
+++ b/icons/containerd.svg
@@ -0,0 +1 @@
+containerd
\ No newline at end of file
diff --git a/icons/conventionalcommits.svg b/icons/conventionalcommits.svg
new file mode 100644
index 000000000000..0ec669fb44e9
--- /dev/null
+++ b/icons/conventionalcommits.svg
@@ -0,0 +1 @@
+Conventional Commits
\ No newline at end of file
diff --git a/icons/cora.svg b/icons/cora.svg
new file mode 100644
index 000000000000..7a184bbffa36
--- /dev/null
+++ b/icons/cora.svg
@@ -0,0 +1 @@
+Cora
\ No newline at end of file
diff --git a/icons/cratedb.svg b/icons/cratedb.svg
new file mode 100644
index 000000000000..15d63d873f00
--- /dev/null
+++ b/icons/cratedb.svg
@@ -0,0 +1 @@
+CrateDB
\ No newline at end of file
diff --git a/icons/createreactapp.svg b/icons/createreactapp.svg
new file mode 100644
index 000000000000..ceb1ecc7a337
--- /dev/null
+++ b/icons/createreactapp.svg
@@ -0,0 +1 @@
+Create React App
\ No newline at end of file
diff --git a/icons/credly.svg b/icons/credly.svg
new file mode 100644
index 000000000000..3d46812f548d
--- /dev/null
+++ b/icons/credly.svg
@@ -0,0 +1 @@
+Credly
\ No newline at end of file
diff --git a/icons/criticalrole.svg b/icons/criticalrole.svg
new file mode 100644
index 000000000000..1e60bf7c1a2d
--- /dev/null
+++ b/icons/criticalrole.svg
@@ -0,0 +1 @@
+Critical Role
\ No newline at end of file
diff --git a/icons/cssmodules.svg b/icons/cssmodules.svg
new file mode 100644
index 000000000000..c0feaf01208a
--- /dev/null
+++ b/icons/cssmodules.svg
@@ -0,0 +1 @@
+CSS Modules
\ No newline at end of file
diff --git a/icons/cytoscapedotjs.svg b/icons/cytoscapedotjs.svg
index b71c7701d07c..fa4b8c9030f3 100644
--- a/icons/cytoscapedotjs.svg
+++ b/icons/cytoscapedotjs.svg
@@ -1 +1 @@
-Cytoscape.js
+Cytoscape.js
\ No newline at end of file
diff --git a/icons/darty.svg b/icons/darty.svg
new file mode 100644
index 000000000000..a965a11ca879
--- /dev/null
+++ b/icons/darty.svg
@@ -0,0 +1 @@
+Darty
\ No newline at end of file
diff --git a/icons/dask.svg b/icons/dask.svg
new file mode 100644
index 000000000000..e71275c0acc9
--- /dev/null
+++ b/icons/dask.svg
@@ -0,0 +1 @@
+Dask
\ No newline at end of file
diff --git a/icons/dassaultsystemes.svg b/icons/dassaultsystemes.svg
index 0a6e8cbba53c..14f4f654fc56 100644
--- a/icons/dassaultsystemes.svg
+++ b/icons/dassaultsystemes.svg
@@ -1 +1 @@
-Dassault Systèmes
\ No newline at end of file
+Dassault Systèmes
\ No newline at end of file
diff --git a/icons/datadotai.svg b/icons/datadotai.svg
new file mode 100644
index 000000000000..87f5bc726a75
--- /dev/null
+++ b/icons/datadotai.svg
@@ -0,0 +1 @@
+data.ai
\ No newline at end of file
diff --git a/icons/datagrip.svg b/icons/datagrip.svg
new file mode 100644
index 000000000000..2298a5310622
--- /dev/null
+++ b/icons/datagrip.svg
@@ -0,0 +1 @@
+DataGrip
\ No newline at end of file
diff --git a/icons/dataiku.svg b/icons/dataiku.svg
new file mode 100644
index 000000000000..fd9556786b1b
--- /dev/null
+++ b/icons/dataiku.svg
@@ -0,0 +1 @@
+Dataiku
\ No newline at end of file
diff --git a/icons/dedge.svg b/icons/dedge.svg
new file mode 100644
index 000000000000..325b9533074c
--- /dev/null
+++ b/icons/dedge.svg
@@ -0,0 +1 @@
+D-EDGE
\ No newline at end of file
diff --git a/icons/deno.svg b/icons/deno.svg
index f58d7e079184..ea6459994a4d 100644
--- a/icons/deno.svg
+++ b/icons/deno.svg
@@ -1 +1 @@
-Deno
\ No newline at end of file
+Deno
\ No newline at end of file
diff --git a/icons/devexpress.svg b/icons/devexpress.svg
new file mode 100644
index 000000000000..f1eec68d8853
--- /dev/null
+++ b/icons/devexpress.svg
@@ -0,0 +1 @@
+DevExpress
\ No newline at end of file
diff --git a/icons/dgraph.svg b/icons/dgraph.svg
old mode 100755
new mode 100644
diff --git a/icons/disroot.svg b/icons/disroot.svg
index 87857af656b5..db466bc60482 100644
--- a/icons/disroot.svg
+++ b/icons/disroot.svg
@@ -1 +1 @@
-Disroot
\ No newline at end of file
+Disroot
\ No newline at end of file
diff --git a/icons/django.svg b/icons/django.svg
old mode 100755
new mode 100644
diff --git a/icons/dlib.svg b/icons/dlib.svg
new file mode 100644
index 000000000000..1926ddf7a0cc
--- /dev/null
+++ b/icons/dlib.svg
@@ -0,0 +1 @@
+Dlib
\ No newline at end of file
diff --git a/icons/dm.svg b/icons/dm.svg
new file mode 100644
index 000000000000..78ae85b9ed32
--- /dev/null
+++ b/icons/dm.svg
@@ -0,0 +1 @@
+dm
\ No newline at end of file
diff --git a/icons/docsdotrs.svg b/icons/docsdotrs.svg
new file mode 100644
index 000000000000..cebe3f33052b
--- /dev/null
+++ b/icons/docsdotrs.svg
@@ -0,0 +1 @@
+Docs.rs
\ No newline at end of file
diff --git a/icons/doubanread.svg b/icons/doubanread.svg
new file mode 100644
index 000000000000..38716794b06f
--- /dev/null
+++ b/icons/doubanread.svg
@@ -0,0 +1 @@
+Douban Read
\ No newline at end of file
diff --git a/icons/dpd.svg b/icons/dpd.svg
new file mode 100644
index 000000000000..9142ea5bc0e4
--- /dev/null
+++ b/icons/dpd.svg
@@ -0,0 +1 @@
+DPD
\ No newline at end of file
diff --git a/icons/dragonframe.svg b/icons/dragonframe.svg
new file mode 100644
index 000000000000..7ee610c32d66
--- /dev/null
+++ b/icons/dragonframe.svg
@@ -0,0 +1 @@
+Dragonframe
\ No newline at end of file
diff --git a/icons/duckdb.svg b/icons/duckdb.svg
new file mode 100644
index 000000000000..feaab85bc541
--- /dev/null
+++ b/icons/duckdb.svg
@@ -0,0 +1 @@
+DuckDB
\ No newline at end of file
diff --git a/icons/dungeonsanddragons.svg b/icons/dungeonsanddragons.svg
new file mode 100644
index 000000000000..d4c0f2d625ec
--- /dev/null
+++ b/icons/dungeonsanddragons.svg
@@ -0,0 +1 @@
+Dungeons & Dragons
\ No newline at end of file
diff --git a/icons/dvc.svg b/icons/dvc.svg
new file mode 100644
index 000000000000..590ff7a340a4
--- /dev/null
+++ b/icons/dvc.svg
@@ -0,0 +1 @@
+DVC
\ No newline at end of file
diff --git a/icons/e.svg b/icons/e.svg
new file mode 100644
index 000000000000..c9aa8ce8635c
--- /dev/null
+++ b/icons/e.svg
@@ -0,0 +1 @@
+/e/
\ No newline at end of file
diff --git a/icons/edeka.svg b/icons/edeka.svg
new file mode 100644
index 000000000000..0cb733c4b6ef
--- /dev/null
+++ b/icons/edeka.svg
@@ -0,0 +1 @@
+EDEKA
\ No newline at end of file
diff --git a/icons/edotleclerc.svg b/icons/edotleclerc.svg
new file mode 100644
index 000000000000..131c491614ef
--- /dev/null
+++ b/icons/edotleclerc.svg
@@ -0,0 +1 @@
+E.Leclerc
\ No newline at end of file
diff --git a/icons/electronbuilder.svg b/icons/electronbuilder.svg
new file mode 100644
index 000000000000..728eaaf51215
--- /dev/null
+++ b/icons/electronbuilder.svg
@@ -0,0 +1 @@
+electron-builder
\ No newline at end of file
diff --git a/icons/elementor.svg b/icons/elementor.svg
new file mode 100644
index 000000000000..6928d6ae711f
--- /dev/null
+++ b/icons/elementor.svg
@@ -0,0 +1 @@
+Elementor
\ No newline at end of file
diff --git a/icons/enterprisedb.svg b/icons/enterprisedb.svg
new file mode 100644
index 000000000000..9d087a0be13b
--- /dev/null
+++ b/icons/enterprisedb.svg
@@ -0,0 +1 @@
+EnterpriseDB
\ No newline at end of file
diff --git a/icons/equinixmetal.svg b/icons/equinixmetal.svg
new file mode 100644
index 000000000000..0dc9b6bd23ed
--- /dev/null
+++ b/icons/equinixmetal.svg
@@ -0,0 +1 @@
+Equinix Metal
\ No newline at end of file
diff --git a/icons/esbuild.svg b/icons/esbuild.svg
new file mode 100644
index 000000000000..06c1acc7aca8
--- /dev/null
+++ b/icons/esbuild.svg
@@ -0,0 +1 @@
+esbuild
\ No newline at end of file
diff --git a/icons/etcd.svg b/icons/etcd.svg
new file mode 100644
index 000000000000..631736d8d113
--- /dev/null
+++ b/icons/etcd.svg
@@ -0,0 +1 @@
+etcd
\ No newline at end of file
diff --git a/icons/exordo.svg b/icons/exordo.svg
new file mode 100644
index 000000000000..e7ae6577a646
--- /dev/null
+++ b/icons/exordo.svg
@@ -0,0 +1 @@
+Exordo
\ No newline at end of file
diff --git a/icons/exoscale.svg b/icons/exoscale.svg
new file mode 100644
index 000000000000..8c482a3effea
--- /dev/null
+++ b/icons/exoscale.svg
@@ -0,0 +1 @@
+Exoscale
\ No newline at end of file
diff --git a/icons/f1.svg b/icons/f1.svg
new file mode 100644
index 000000000000..01e05d307f01
--- /dev/null
+++ b/icons/f1.svg
@@ -0,0 +1 @@
+F1
\ No newline at end of file
diff --git a/icons/fandom.svg b/icons/fandom.svg
index 1e63ba875ef1..0d1a71240e71 100644
--- a/icons/fandom.svg
+++ b/icons/fandom.svg
@@ -1 +1 @@
-Fandom
\ No newline at end of file
+Fandom
\ No newline at end of file
diff --git a/icons/fauna.svg b/icons/fauna.svg
new file mode 100644
index 000000000000..9f3f776635ff
--- /dev/null
+++ b/icons/fauna.svg
@@ -0,0 +1 @@
+Fauna
\ No newline at end of file
diff --git a/icons/fedora.svg b/icons/fedora.svg
index 73b85bcf8338..7f461d0e6efd 100644
--- a/icons/fedora.svg
+++ b/icons/fedora.svg
@@ -1 +1 @@
-Fedora
\ No newline at end of file
+Fedora
\ No newline at end of file
diff --git a/icons/fivem.svg b/icons/fivem.svg
new file mode 100644
index 000000000000..aa92a0e1ad1b
--- /dev/null
+++ b/icons/fivem.svg
@@ -0,0 +1 @@
+FiveM
\ No newline at end of file
diff --git a/icons/flat.svg b/icons/flat.svg
new file mode 100644
index 000000000000..a18078897586
--- /dev/null
+++ b/icons/flat.svg
@@ -0,0 +1 @@
+Flat
\ No newline at end of file
diff --git a/icons/flatpak.svg b/icons/flatpak.svg
new file mode 100644
index 000000000000..ea7c292d4f4f
--- /dev/null
+++ b/icons/flatpak.svg
@@ -0,0 +1 @@
+Flatpak
\ No newline at end of file
diff --git a/icons/fluentbit.svg b/icons/fluentbit.svg
new file mode 100644
index 000000000000..c0fd3709f9cc
--- /dev/null
+++ b/icons/fluentbit.svg
@@ -0,0 +1 @@
+Fluent Bit
\ No newline at end of file
diff --git a/icons/flyway.svg b/icons/flyway.svg
new file mode 100644
index 000000000000..406c47c57b56
--- /dev/null
+++ b/icons/flyway.svg
@@ -0,0 +1 @@
+Flyway
\ No newline at end of file
diff --git a/icons/fnac.svg b/icons/fnac.svg
index 4e48c8794462..b97d387477d2 100644
--- a/icons/fnac.svg
+++ b/icons/fnac.svg
@@ -1 +1 @@
-Fnac
\ No newline at end of file
+Fnac
\ No newline at end of file
diff --git a/icons/fonoma.svg b/icons/fonoma.svg
new file mode 100644
index 000000000000..2be2bb16ab3c
--- /dev/null
+++ b/icons/fonoma.svg
@@ -0,0 +1 @@
+Fonoma
\ No newline at end of file
diff --git a/icons/fontawesome.svg b/icons/fontawesome.svg
index 5c8e2e772e7c..1c3ec6e8daba 100644
--- a/icons/fontawesome.svg
+++ b/icons/fontawesome.svg
@@ -1 +1 @@
-Font Awesome
\ No newline at end of file
+Font Awesome
\ No newline at end of file
diff --git a/icons/foursquare.svg b/icons/foursquare.svg
index 426c64f9291a..b7add8c05853 100644
--- a/icons/foursquare.svg
+++ b/icons/foursquare.svg
@@ -1 +1 @@
-Foursquare
\ No newline at end of file
+Foursquare
\ No newline at end of file
diff --git a/icons/framework7.svg b/icons/framework7.svg
new file mode 100644
index 000000000000..6c1ba05392ef
--- /dev/null
+++ b/icons/framework7.svg
@@ -0,0 +1 @@
+Framework7
\ No newline at end of file
diff --git a/icons/franprix.svg b/icons/franprix.svg
new file mode 100644
index 000000000000..e224cc4df871
--- /dev/null
+++ b/icons/franprix.svg
@@ -0,0 +1 @@
+Franprix
\ No newline at end of file
diff --git a/icons/funimation.svg b/icons/funimation.svg
new file mode 100644
index 000000000000..36c096f7292f
--- /dev/null
+++ b/icons/funimation.svg
@@ -0,0 +1 @@
+Funimation
\ No newline at end of file
diff --git a/icons/furrynetwork.svg b/icons/furrynetwork.svg
index 65fdd44be46d..2cb0ec2d582c 100644
--- a/icons/furrynetwork.svg
+++ b/icons/furrynetwork.svg
@@ -1 +1 @@
-Furry Network
\ No newline at end of file
+Furry Network
\ No newline at end of file
diff --git a/icons/g2.svg b/icons/g2.svg
new file mode 100644
index 000000000000..d429b424f0aa
--- /dev/null
+++ b/icons/g2.svg
@@ -0,0 +1 @@
+G2
\ No newline at end of file
diff --git a/icons/gameandwatch.svg b/icons/gameandwatch.svg
new file mode 100644
index 000000000000..cd295a9f38e3
--- /dev/null
+++ b/icons/gameandwatch.svg
@@ -0,0 +1 @@
+Game & Watch
\ No newline at end of file
diff --git a/icons/geant.svg b/icons/geant.svg
new file mode 100644
index 000000000000..9f9d993f3d4f
--- /dev/null
+++ b/icons/geant.svg
@@ -0,0 +1 @@
+Géant
\ No newline at end of file
diff --git a/icons/githubpages.svg b/icons/githubpages.svg
new file mode 100644
index 000000000000..bd3d5167bb44
--- /dev/null
+++ b/icons/githubpages.svg
@@ -0,0 +1 @@
+GitHub Pages
\ No newline at end of file
diff --git a/icons/gitignoredotio.svg b/icons/gitignoredotio.svg
new file mode 100644
index 000000000000..8e1aa81b6c04
--- /dev/null
+++ b/icons/gitignoredotio.svg
@@ -0,0 +1 @@
+gitignore.io
\ No newline at end of file
diff --git a/icons/gitlab.svg b/icons/gitlab.svg
index d84a8e9db9f9..e4a29630f901 100644
--- a/icons/gitlab.svg
+++ b/icons/gitlab.svg
@@ -1 +1 @@
-GitLab
\ No newline at end of file
+GitLab
\ No newline at end of file
diff --git a/icons/globus.svg b/icons/globus.svg
new file mode 100644
index 000000000000..fe987e706d2f
--- /dev/null
+++ b/icons/globus.svg
@@ -0,0 +1 @@
+Globus
\ No newline at end of file
diff --git a/icons/gnometerminal.svg b/icons/gnometerminal.svg
new file mode 100644
index 000000000000..c64a8b96cbca
--- /dev/null
+++ b/icons/gnometerminal.svg
@@ -0,0 +1 @@
+GNOME Terminal
\ No newline at end of file
diff --git a/icons/gocd.svg b/icons/gocd.svg
new file mode 100644
index 000000000000..5e5852654f26
--- /dev/null
+++ b/icons/gocd.svg
@@ -0,0 +1 @@
+GoCD
\ No newline at end of file
diff --git a/icons/godaddy.svg b/icons/godaddy.svg
index 31bf2c16e318..8041083eb56b 100644
--- a/icons/godaddy.svg
+++ b/icons/godaddy.svg
@@ -1 +1 @@
-GoDaddy
+GoDaddy
\ No newline at end of file
diff --git a/icons/goland.svg b/icons/goland.svg
new file mode 100644
index 000000000000..b645be9f2022
--- /dev/null
+++ b/icons/goland.svg
@@ -0,0 +1 @@
+GoLand
\ No newline at end of file
diff --git a/icons/googleadmob.svg b/icons/googleadmob.svg
new file mode 100644
index 000000000000..7c1695b04f7e
--- /dev/null
+++ b/icons/googleadmob.svg
@@ -0,0 +1 @@
+Google AdMob
\ No newline at end of file
diff --git a/icons/googlecast.svg b/icons/googlecast.svg
deleted file mode 100644
index 6c6519f843b8..000000000000
--- a/icons/googlecast.svg
+++ /dev/null
@@ -1 +0,0 @@
-Google Cast
\ No newline at end of file
diff --git a/icons/googledrive.svg b/icons/googledrive.svg
index 6b8d63f9347a..9f44a5075751 100644
--- a/icons/googledrive.svg
+++ b/icons/googledrive.svg
@@ -1 +1 @@
-Google Drive
\ No newline at end of file
+Google Drive
\ No newline at end of file
diff --git a/icons/googlekeep.svg b/icons/googlekeep.svg
index 99f094418180..4396782a9b48 100644
--- a/icons/googlekeep.svg
+++ b/icons/googlekeep.svg
@@ -1 +1 @@
-Google Keep
\ No newline at end of file
+Google Keep
\ No newline at end of file
diff --git a/icons/googlemarketingplatform.svg b/icons/googlemarketingplatform.svg
new file mode 100644
index 000000000000..d95b245f4cfc
--- /dev/null
+++ b/icons/googlemarketingplatform.svg
@@ -0,0 +1 @@
+Google Marketing Platform
\ No newline at end of file
diff --git a/icons/googlemeet.svg b/icons/googlemeet.svg
index 948d32bd6141..344f1d003c13 100644
--- a/icons/googlemeet.svg
+++ b/icons/googlemeet.svg
@@ -1 +1 @@
-Google Meet
\ No newline at end of file
+Google Meet
\ No newline at end of file
diff --git a/icons/googlemessages.svg b/icons/googlemessages.svg
index 9e005739a15e..dd72fda879a9 100644
--- a/icons/googlemessages.svg
+++ b/icons/googlemessages.svg
@@ -1 +1 @@
-Google Messages
\ No newline at end of file
+Google Messages
\ No newline at end of file
diff --git a/icons/grab.svg b/icons/grab.svg
new file mode 100644
index 000000000000..5266c7e043c5
--- /dev/null
+++ b/icons/grab.svg
@@ -0,0 +1 @@
+Grab
\ No newline at end of file
diff --git a/icons/grandfrais.svg b/icons/grandfrais.svg
new file mode 100644
index 000000000000..7984156d769c
--- /dev/null
+++ b/icons/grandfrais.svg
@@ -0,0 +1 @@
+Grand Frais
\ No newline at end of file
diff --git a/icons/graphql.svg b/icons/graphql.svg
index 3f67dc0e179a..213d5a0c01f8 100644
--- a/icons/graphql.svg
+++ b/icons/graphql.svg
@@ -1 +1 @@
-GraphQL
\ No newline at end of file
+GraphQL
\ No newline at end of file
diff --git a/icons/groupme.svg b/icons/groupme.svg
new file mode 100644
index 000000000000..6b3bd1f9a62e
--- /dev/null
+++ b/icons/groupme.svg
@@ -0,0 +1 @@
+GroupMe
\ No newline at end of file
diff --git a/icons/gtk.svg b/icons/gtk.svg
new file mode 100644
index 000000000000..302429be0c82
--- /dev/null
+++ b/icons/gtk.svg
@@ -0,0 +1 @@
+GTK
\ No newline at end of file
diff --git a/icons/guangzhoumetro.svg b/icons/guangzhoumetro.svg
index c0701b2bcb26..fcee3faa87fe 100644
--- a/icons/guangzhoumetro.svg
+++ b/icons/guangzhoumetro.svg
@@ -1 +1 @@
-Guangzhou Metro
\ No newline at end of file
+Guangzhou Metro
\ No newline at end of file
diff --git a/icons/guilded.svg b/icons/guilded.svg
new file mode 100644
index 000000000000..9e2224e3f423
--- /dev/null
+++ b/icons/guilded.svg
@@ -0,0 +1 @@
+Guilded
\ No newline at end of file
diff --git a/icons/gunicorn.svg b/icons/gunicorn.svg
new file mode 100644
index 000000000000..08eda3694550
--- /dev/null
+++ b/icons/gunicorn.svg
@@ -0,0 +1 @@
+Gunicorn
\ No newline at end of file
diff --git a/icons/gurobi.svg b/icons/gurobi.svg
new file mode 100644
index 000000000000..4e8271f94752
--- /dev/null
+++ b/icons/gurobi.svg
@@ -0,0 +1 @@
+Gurobi
\ No newline at end of file
diff --git a/icons/handlebarsdotjs.svg b/icons/handlebarsdotjs.svg
new file mode 100644
index 000000000000..2c88505f4dd8
--- /dev/null
+++ b/icons/handlebarsdotjs.svg
@@ -0,0 +1 @@
+Handlebars.js
\ No newline at end of file
diff --git a/icons/headlessui.svg b/icons/headlessui.svg
new file mode 100644
index 000000000000..79cf3ff7e781
--- /dev/null
+++ b/icons/headlessui.svg
@@ -0,0 +1 @@
+Headless UI
\ No newline at end of file
diff --git a/icons/helpscout.svg b/icons/helpscout.svg
new file mode 100644
index 000000000000..9c4202113011
--- /dev/null
+++ b/icons/helpscout.svg
@@ -0,0 +1 @@
+Help Scout
\ No newline at end of file
diff --git a/icons/hetzner.svg b/icons/hetzner.svg
new file mode 100644
index 000000000000..b04c98f320cc
--- /dev/null
+++ b/icons/hetzner.svg
@@ -0,0 +1 @@
+Hetzner
\ No newline at end of file
diff --git a/icons/hibob.svg b/icons/hibob.svg
new file mode 100644
index 000000000000..4499dce488c0
--- /dev/null
+++ b/icons/hibob.svg
@@ -0,0 +1 @@
+Hi Bob
\ No newline at end of file
diff --git a/icons/homebrew.svg b/icons/homebrew.svg
old mode 100755
new mode 100644
diff --git a/icons/httpie.svg b/icons/httpie.svg
new file mode 100644
index 000000000000..51db2ef85387
--- /dev/null
+++ b/icons/httpie.svg
@@ -0,0 +1 @@
+HTTPie
\ No newline at end of file
diff --git a/icons/i18next.svg b/icons/i18next.svg
new file mode 100644
index 000000000000..de5ca7c9e1b5
--- /dev/null
+++ b/icons/i18next.svg
@@ -0,0 +1 @@
+i18next
\ No newline at end of file
diff --git a/icons/ibmcloud.svg b/icons/ibmcloud.svg
new file mode 100644
index 000000000000..86a258bfdd50
--- /dev/null
+++ b/icons/ibmcloud.svg
@@ -0,0 +1 @@
+IBM Cloud
\ No newline at end of file
diff --git a/icons/iceland.svg b/icons/iceland.svg
new file mode 100644
index 000000000000..636c9734a415
--- /dev/null
+++ b/icons/iceland.svg
@@ -0,0 +1 @@
+Iceland
\ No newline at end of file
diff --git a/icons/inkdrop.svg b/icons/inkdrop.svg
new file mode 100644
index 000000000000..cce8b8819c9a
--- /dev/null
+++ b/icons/inkdrop.svg
@@ -0,0 +1 @@
+Inkdrop
\ No newline at end of file
diff --git a/icons/insomnia.svg b/icons/insomnia.svg
index 4c1507fa5487..f542644f3298 100644
--- a/icons/insomnia.svg
+++ b/icons/insomnia.svg
@@ -1 +1 @@
-Insomnia
\ No newline at end of file
+Insomnia
\ No newline at end of file
diff --git a/icons/instatus.svg b/icons/instatus.svg
new file mode 100644
index 000000000000..d3b88f80a13a
--- /dev/null
+++ b/icons/instatus.svg
@@ -0,0 +1 @@
+Instatus
\ No newline at end of file
diff --git a/icons/interactjs.svg b/icons/interactjs.svg
new file mode 100644
index 000000000000..54ba0e620dae
--- /dev/null
+++ b/icons/interactjs.svg
@@ -0,0 +1 @@
+InteractJS
\ No newline at end of file
diff --git a/icons/intermarche.svg b/icons/intermarche.svg
new file mode 100644
index 000000000000..785fb407ca95
--- /dev/null
+++ b/icons/intermarche.svg
@@ -0,0 +1 @@
+Intermarche
\ No newline at end of file
diff --git a/icons/ionos.svg b/icons/ionos.svg
new file mode 100644
index 000000000000..5d381a5e599e
--- /dev/null
+++ b/icons/ionos.svg
@@ -0,0 +1 @@
+Ionos
\ No newline at end of file
diff --git a/icons/istio.svg b/icons/istio.svg
new file mode 100644
index 000000000000..a0339c81ddb9
--- /dev/null
+++ b/icons/istio.svg
@@ -0,0 +1 @@
+Istio
\ No newline at end of file
diff --git a/icons/iterm2.svg b/icons/iterm2.svg
new file mode 100644
index 000000000000..fd0ddb87d07b
--- /dev/null
+++ b/icons/iterm2.svg
@@ -0,0 +1 @@
+iTerm2
\ No newline at end of file
diff --git a/icons/java.svg b/icons/java.svg
deleted file mode 100644
index 9ec302f608f8..000000000000
--- a/icons/java.svg
+++ /dev/null
@@ -1 +0,0 @@
-Java
\ No newline at end of file
diff --git a/icons/jetpackcompose.svg b/icons/jetpackcompose.svg
new file mode 100644
index 000000000000..53db7b4373ca
--- /dev/null
+++ b/icons/jetpackcompose.svg
@@ -0,0 +1 @@
+Jetpack Compose
\ No newline at end of file
diff --git a/icons/joplin.svg b/icons/joplin.svg
new file mode 100644
index 000000000000..f7753a3c968a
--- /dev/null
+++ b/icons/joplin.svg
@@ -0,0 +1 @@
+Joplin
\ No newline at end of file
diff --git a/icons/k3s.svg b/icons/k3s.svg
new file mode 100644
index 000000000000..4760e0d421ec
--- /dev/null
+++ b/icons/k3s.svg
@@ -0,0 +1 @@
+K3s
\ No newline at end of file
diff --git a/icons/k6.svg b/icons/k6.svg
new file mode 100644
index 000000000000..8c2da2107c83
--- /dev/null
+++ b/icons/k6.svg
@@ -0,0 +1 @@
+k6
\ No newline at end of file
diff --git a/icons/kaggle.svg b/icons/kaggle.svg
index 83ee2ce737b0..372d08658cc2 100644
--- a/icons/kaggle.svg
+++ b/icons/kaggle.svg
@@ -1 +1 @@
-Kaggle
\ No newline at end of file
+Kaggle
\ No newline at end of file
diff --git a/icons/kaniko.svg b/icons/kaniko.svg
new file mode 100644
index 000000000000..83f2ce8f23da
--- /dev/null
+++ b/icons/kaniko.svg
@@ -0,0 +1 @@
+Kaniko
\ No newline at end of file
diff --git a/icons/keepachangelog.svg b/icons/keepachangelog.svg
new file mode 100644
index 000000000000..9e54f8183185
--- /dev/null
+++ b/icons/keepachangelog.svg
@@ -0,0 +1 @@
+Keep a Changelog
\ No newline at end of file
diff --git a/icons/kicad.svg b/icons/kicad.svg
new file mode 100644
index 000000000000..f0ae28a4f156
--- /dev/null
+++ b/icons/kicad.svg
@@ -0,0 +1 @@
+KiCad
\ No newline at end of file
diff --git a/icons/kingstontechnology.svg b/icons/kingstontechnology.svg
new file mode 100644
index 000000000000..99c150653936
--- /dev/null
+++ b/icons/kingstontechnology.svg
@@ -0,0 +1 @@
+Kingston Technology
\ No newline at end of file
diff --git a/icons/kinopoisk.svg b/icons/kinopoisk.svg
new file mode 100644
index 000000000000..173bedf10b16
--- /dev/null
+++ b/icons/kinopoisk.svg
@@ -0,0 +1 @@
+KinoPoisk
\ No newline at end of file
diff --git a/icons/knative.svg b/icons/knative.svg
new file mode 100644
index 000000000000..6d6221871593
--- /dev/null
+++ b/icons/knative.svg
@@ -0,0 +1 @@
+Knative
\ No newline at end of file
diff --git a/icons/koa.svg b/icons/koa.svg
new file mode 100644
index 000000000000..4a99aae4d223
--- /dev/null
+++ b/icons/koa.svg
@@ -0,0 +1 @@
+Koa
\ No newline at end of file
diff --git a/icons/koc.svg b/icons/koc.svg
new file mode 100644
index 000000000000..dac278af7ac3
--- /dev/null
+++ b/icons/koc.svg
@@ -0,0 +1 @@
+Koc
\ No newline at end of file
diff --git a/icons/koding.svg b/icons/koding.svg
deleted file mode 100644
index 614c19ab1cb9..000000000000
--- a/icons/koding.svg
+++ /dev/null
@@ -1 +0,0 @@
-Koding
\ No newline at end of file
diff --git a/icons/konami.svg b/icons/konami.svg
new file mode 100644
index 000000000000..c02efa6843bf
--- /dev/null
+++ b/icons/konami.svg
@@ -0,0 +1 @@
+Konami
\ No newline at end of file
diff --git a/icons/kong.svg b/icons/kong.svg
new file mode 100644
index 000000000000..e9e735f8f38e
--- /dev/null
+++ b/icons/kong.svg
@@ -0,0 +1 @@
+Kong
\ No newline at end of file
diff --git a/icons/kotlin.svg b/icons/kotlin.svg
index 3ddab7b759c0..adf2975b9616 100644
--- a/icons/kotlin.svg
+++ b/icons/kotlin.svg
@@ -1 +1 @@
-Kotlin
\ No newline at end of file
+Kotlin
\ No newline at end of file
diff --git a/icons/koyeb.svg b/icons/koyeb.svg
new file mode 100644
index 000000000000..b8fed6e52263
--- /dev/null
+++ b/icons/koyeb.svg
@@ -0,0 +1 @@
+Koyeb
\ No newline at end of file
diff --git a/icons/kuaishou.svg b/icons/kuaishou.svg
new file mode 100644
index 000000000000..d4b4beeed778
--- /dev/null
+++ b/icons/kuaishou.svg
@@ -0,0 +1 @@
+Kuaishou
\ No newline at end of file
diff --git a/icons/kuma.svg b/icons/kuma.svg
new file mode 100644
index 000000000000..1f715f0d1f19
--- /dev/null
+++ b/icons/kuma.svg
@@ -0,0 +1 @@
+Kuma
\ No newline at end of file
diff --git a/icons/lapce.svg b/icons/lapce.svg
new file mode 100644
index 000000000000..ba7328ec36a3
--- /dev/null
+++ b/icons/lapce.svg
@@ -0,0 +1 @@
+Lapce
\ No newline at end of file
diff --git a/icons/lazarus.svg b/icons/lazarus.svg
new file mode 100644
index 000000000000..dc940f16f659
--- /dev/null
+++ b/icons/lazarus.svg
@@ -0,0 +1 @@
+Lazarus
\ No newline at end of file
diff --git a/icons/leaderprice.svg b/icons/leaderprice.svg
new file mode 100644
index 000000000000..a02b886f7793
--- /dev/null
+++ b/icons/leaderprice.svg
@@ -0,0 +1 @@
+Leader Price
\ No newline at end of file
diff --git a/icons/lemmy.svg b/icons/lemmy.svg
new file mode 100644
index 000000000000..95579546ca87
--- /dev/null
+++ b/icons/lemmy.svg
@@ -0,0 +1 @@
+Lemmy
\ No newline at end of file
diff --git a/icons/lens.svg b/icons/lens.svg
new file mode 100644
index 000000000000..87739f9813d1
--- /dev/null
+++ b/icons/lens.svg
@@ -0,0 +1 @@
+Lens
\ No newline at end of file
diff --git a/icons/lerna.svg b/icons/lerna.svg
new file mode 100644
index 000000000000..4cc1e56130ad
--- /dev/null
+++ b/icons/lerna.svg
@@ -0,0 +1 @@
+Lerna
\ No newline at end of file
diff --git a/icons/leroymerlin.svg b/icons/leroymerlin.svg
new file mode 100644
index 000000000000..66931a28e89c
--- /dev/null
+++ b/icons/leroymerlin.svg
@@ -0,0 +1 @@
+Leroy Merlin
\ No newline at end of file
diff --git a/icons/letsencrypt.svg b/icons/letsencrypt.svg
index c64bb501993d..6432a90435a6 100644
--- a/icons/letsencrypt.svg
+++ b/icons/letsencrypt.svg
@@ -1 +1 @@
-Let's Encrypt
\ No newline at end of file
+Let's Encrypt
\ No newline at end of file
diff --git a/icons/levelsdotfyi.svg b/icons/levelsdotfyi.svg
new file mode 100644
index 000000000000..e4cbca011d8b
--- /dev/null
+++ b/icons/levelsdotfyi.svg
@@ -0,0 +1 @@
+levels.fyi
\ No newline at end of file
diff --git a/icons/lidl.svg b/icons/lidl.svg
new file mode 100644
index 000000000000..6d8dbefd4ee0
--- /dev/null
+++ b/icons/lidl.svg
@@ -0,0 +1 @@
+Lidl
\ No newline at end of file
diff --git a/icons/linear.svg b/icons/linear.svg
new file mode 100644
index 000000000000..f3770d654ec5
--- /dev/null
+++ b/icons/linear.svg
@@ -0,0 +1 @@
+Linear
\ No newline at end of file
diff --git a/icons/linkerd.svg b/icons/linkerd.svg
new file mode 100644
index 000000000000..767b6e4f24d0
--- /dev/null
+++ b/icons/linkerd.svg
@@ -0,0 +1 @@
+Linkerd
\ No newline at end of file
diff --git a/icons/linkfire.svg b/icons/linkfire.svg
new file mode 100644
index 000000000000..0fcc7aea1c51
--- /dev/null
+++ b/icons/linkfire.svg
@@ -0,0 +1 @@
+Linkfire
\ No newline at end of file
diff --git a/icons/liquibase.svg b/icons/liquibase.svg
new file mode 100644
index 000000000000..92e92ec3c853
--- /dev/null
+++ b/icons/liquibase.svg
@@ -0,0 +1 @@
+Liquibase
\ No newline at end of file
diff --git a/icons/livewire.svg b/icons/livewire.svg
new file mode 100644
index 000000000000..0bfea59f07ed
--- /dev/null
+++ b/icons/livewire.svg
@@ -0,0 +1 @@
+Livewire
\ No newline at end of file
diff --git a/icons/lodash.svg b/icons/lodash.svg
new file mode 100644
index 000000000000..9f40bea25ba2
--- /dev/null
+++ b/icons/lodash.svg
@@ -0,0 +1 @@
+Lodash
\ No newline at end of file
diff --git a/icons/loopback.svg b/icons/loopback.svg
new file mode 100644
index 000000000000..f011564d814a
--- /dev/null
+++ b/icons/loopback.svg
@@ -0,0 +1 @@
+LoopBack
\ No newline at end of file
diff --git a/icons/ludwig.svg b/icons/ludwig.svg
new file mode 100644
index 000000000000..dc41b46649c1
--- /dev/null
+++ b/icons/ludwig.svg
@@ -0,0 +1 @@
+Ludwig
\ No newline at end of file
diff --git a/icons/lunacy.svg b/icons/lunacy.svg
new file mode 100644
index 000000000000..7176b3104fc6
--- /dev/null
+++ b/icons/lunacy.svg
@@ -0,0 +1 @@
+Lunacy
\ No newline at end of file
diff --git a/icons/macys.svg b/icons/macys.svg
index 6f1e3215313f..876a67dd1c4f 100644
--- a/icons/macys.svg
+++ b/icons/macys.svg
@@ -1 +1 @@
-Macy’s
\ No newline at end of file
+Macy's
\ No newline at end of file
diff --git a/icons/magasinsu.svg b/icons/magasinsu.svg
new file mode 100644
index 000000000000..358685122d29
--- /dev/null
+++ b/icons/magasinsu.svg
@@ -0,0 +1 @@
+Magasins U
\ No newline at end of file
diff --git a/icons/mailgun.svg b/icons/mailgun.svg
new file mode 100644
index 000000000000..0bfde075b17d
--- /dev/null
+++ b/icons/mailgun.svg
@@ -0,0 +1 @@
+Mailgun
\ No newline at end of file
diff --git a/icons/mamp.svg b/icons/mamp.svg
new file mode 100644
index 000000000000..c08730418b2c
--- /dev/null
+++ b/icons/mamp.svg
@@ -0,0 +1 @@
+MAMP
\ No newline at end of file
diff --git a/icons/marko.svg b/icons/marko.svg
new file mode 100644
index 000000000000..083cde1a534e
--- /dev/null
+++ b/icons/marko.svg
@@ -0,0 +1 @@
+Marko
\ No newline at end of file
diff --git a/icons/materialui.svg b/icons/materialui.svg
deleted file mode 100644
index f3ac17fd4683..000000000000
--- a/icons/materialui.svg
+++ /dev/null
@@ -1 +0,0 @@
-Material-UI
\ No newline at end of file
diff --git a/icons/matterdotjs.svg b/icons/matterdotjs.svg
new file mode 100644
index 000000000000..dc65006b1b49
--- /dev/null
+++ b/icons/matterdotjs.svg
@@ -0,0 +1 @@
+Matter.js
\ No newline at end of file
diff --git a/icons/matternet.svg b/icons/matternet.svg
index 562ad3f5b5ae..fea6cbbc6ed8 100644
--- a/icons/matternet.svg
+++ b/icons/matternet.svg
@@ -1 +1 @@
-Matternet
\ No newline at end of file
+Matternet
\ No newline at end of file
diff --git a/icons/mdbook.svg b/icons/mdbook.svg
new file mode 100644
index 000000000000..1727c21bc092
--- /dev/null
+++ b/icons/mdbook.svg
@@ -0,0 +1 @@
+mdBook
\ No newline at end of file
diff --git a/icons/mdnwebdocs.svg b/icons/mdnwebdocs.svg
index 32063a0b6709..c1722010d4bd 100644
--- a/icons/mdnwebdocs.svg
+++ b/icons/mdnwebdocs.svg
@@ -1 +1 @@
-MDN Web Docs
\ No newline at end of file
+MDN Web Docs
\ No newline at end of file
diff --git a/icons/mdx.svg b/icons/mdx.svg
new file mode 100644
index 000000000000..53fdf30b6455
--- /dev/null
+++ b/icons/mdx.svg
@@ -0,0 +1 @@
+MDX
\ No newline at end of file
diff --git a/icons/mediamarkt.svg b/icons/mediamarkt.svg
new file mode 100644
index 000000000000..16d7e352a125
--- /dev/null
+++ b/icons/mediamarkt.svg
@@ -0,0 +1 @@
+MediaMarkt
\ No newline at end of file
diff --git a/icons/merck.svg b/icons/merck.svg
new file mode 100644
index 000000000000..312445add45b
--- /dev/null
+++ b/icons/merck.svg
@@ -0,0 +1 @@
+Merck
\ No newline at end of file
diff --git a/icons/meta.svg b/icons/meta.svg
new file mode 100644
index 000000000000..d9a1631d1a70
--- /dev/null
+++ b/icons/meta.svg
@@ -0,0 +1 @@
+Meta
\ No newline at end of file
diff --git a/icons/metrodelaciudaddemexico.svg b/icons/metrodelaciudaddemexico.svg
index 21b0fefda382..f1af123fdd18 100644
--- a/icons/metrodelaciudaddemexico.svg
+++ b/icons/metrodelaciudaddemexico.svg
@@ -1 +1 @@
-Metro de la Ciudad de México
\ No newline at end of file
+Metro de la Ciudad de México
\ No newline at end of file
diff --git a/icons/metrodeparis.svg b/icons/metrodeparis.svg
index 0b4e39cd92f4..09081bb47afa 100644
--- a/icons/metrodeparis.svg
+++ b/icons/metrodeparis.svg
@@ -1 +1 @@
-Métro de Paris
\ No newline at end of file
+Métro de Paris
\ No newline at end of file
diff --git a/icons/microsofttranslator.svg b/icons/microsofttranslator.svg
new file mode 100644
index 000000000000..45af3534be26
--- /dev/null
+++ b/icons/microsofttranslator.svg
@@ -0,0 +1 @@
+Microsoft Translator
\ No newline at end of file
diff --git a/icons/mlb.svg b/icons/mlb.svg
new file mode 100644
index 000000000000..01bf2764f3b5
--- /dev/null
+++ b/icons/mlb.svg
@@ -0,0 +1 @@
+MLB
\ No newline at end of file
diff --git a/icons/mlflow.svg b/icons/mlflow.svg
new file mode 100644
index 000000000000..b44c2eea9a2e
--- /dev/null
+++ b/icons/mlflow.svg
@@ -0,0 +1 @@
+MLflow
\ No newline at end of file
diff --git a/icons/mobx.svg b/icons/mobx.svg
index 2c6bf0c4b07b..28ba33fc9575 100644
--- a/icons/mobx.svg
+++ b/icons/mobx.svg
@@ -1 +1 @@
-MobX
\ No newline at end of file
+MobX
\ No newline at end of file
diff --git a/icons/moneygram.svg b/icons/moneygram.svg
new file mode 100644
index 000000000000..63cef3f98614
--- /dev/null
+++ b/icons/moneygram.svg
@@ -0,0 +1 @@
+MoneyGram
\ No newline at end of file
diff --git a/icons/monogames.svg b/icons/monogames.svg
new file mode 100644
index 000000000000..0a24e76c897d
--- /dev/null
+++ b/icons/monogames.svg
@@ -0,0 +1 @@
+MonoGames
\ No newline at end of file
diff --git a/icons/monoprix.svg b/icons/monoprix.svg
new file mode 100644
index 000000000000..1ba425ce0985
--- /dev/null
+++ b/icons/monoprix.svg
@@ -0,0 +1 @@
+Monoprix
\ No newline at end of file
diff --git a/icons/morrisons.svg b/icons/morrisons.svg
new file mode 100644
index 000000000000..9eb7000b3a24
--- /dev/null
+++ b/icons/morrisons.svg
@@ -0,0 +1 @@
+Morrisons
\ No newline at end of file
diff --git a/icons/msi.svg b/icons/msi.svg
new file mode 100644
index 000000000000..6261c8426828
--- /dev/null
+++ b/icons/msi.svg
@@ -0,0 +1 @@
+MSI
\ No newline at end of file
diff --git a/icons/msibusiness.svg b/icons/msibusiness.svg
new file mode 100644
index 000000000000..710d3d9b25d0
--- /dev/null
+++ b/icons/msibusiness.svg
@@ -0,0 +1 @@
+MSI Business
\ No newline at end of file
diff --git a/icons/mui.svg b/icons/mui.svg
new file mode 100644
index 000000000000..79a39ad0d702
--- /dev/null
+++ b/icons/mui.svg
@@ -0,0 +1 @@
+MUI
\ No newline at end of file
diff --git a/icons/mulesoft.svg b/icons/mulesoft.svg
new file mode 100644
index 000000000000..2f3119f5302f
--- /dev/null
+++ b/icons/mulesoft.svg
@@ -0,0 +1 @@
+Mulesoft
\ No newline at end of file
diff --git a/icons/muller.svg b/icons/muller.svg
new file mode 100644
index 000000000000..529a59d6f58f
--- /dev/null
+++ b/icons/muller.svg
@@ -0,0 +1 @@
+Müller
\ No newline at end of file
diff --git a/icons/naver.svg b/icons/naver.svg
index 80e760a74e1a..611ad4b647c9 100644
--- a/icons/naver.svg
+++ b/icons/naver.svg
@@ -1 +1 @@
-Naver
\ No newline at end of file
+Naver
\ No newline at end of file
diff --git a/icons/netbsd.svg b/icons/netbsd.svg
new file mode 100644
index 000000000000..511f066ed9fa
--- /dev/null
+++ b/icons/netbsd.svg
@@ -0,0 +1 @@
+NetBSD
\ No newline at end of file
diff --git a/icons/nette.svg b/icons/nette.svg
index 768955c6f170..304311cc2b5c 100644
--- a/icons/nette.svg
+++ b/icons/nette.svg
@@ -1 +1 @@
-Nette
+Nette
\ No newline at end of file
diff --git a/icons/netto.svg b/icons/netto.svg
new file mode 100644
index 000000000000..ade6b797d29f
--- /dev/null
+++ b/icons/netto.svg
@@ -0,0 +1 @@
+Netto
\ No newline at end of file
diff --git a/icons/newbalance.svg b/icons/newbalance.svg
new file mode 100644
index 000000000000..795de84bc208
--- /dev/null
+++ b/icons/newbalance.svg
@@ -0,0 +1 @@
+New Balance
\ No newline at end of file
diff --git a/icons/norco.svg b/icons/norco.svg
new file mode 100644
index 000000000000..e1f0949f31ef
--- /dev/null
+++ b/icons/norco.svg
@@ -0,0 +1 @@
+Norco
\ No newline at end of file
diff --git a/icons/now.svg b/icons/now.svg
new file mode 100644
index 000000000000..685553d3f53f
--- /dev/null
+++ b/icons/now.svg
@@ -0,0 +1 @@
+NOW
\ No newline at end of file
diff --git a/icons/nunjucks.svg b/icons/nunjucks.svg
new file mode 100644
index 000000000000..6374253f421a
--- /dev/null
+++ b/icons/nunjucks.svg
@@ -0,0 +1 @@
+Nunjucks
\ No newline at end of file
diff --git a/icons/nuxtdotjs.svg b/icons/nuxtdotjs.svg
index 47f3a0e85fea..cdedb71ea93a 100644
--- a/icons/nuxtdotjs.svg
+++ b/icons/nuxtdotjs.svg
@@ -1 +1 @@
-Nuxt.js
\ No newline at end of file
+Nuxt.js
\ No newline at end of file
diff --git a/icons/nzxt.svg b/icons/nzxt.svg
new file mode 100644
index 000000000000..e01d4cabbad3
--- /dev/null
+++ b/icons/nzxt.svg
@@ -0,0 +1 @@
+NZXT
\ No newline at end of file
diff --git a/icons/obsidian.svg b/icons/obsidian.svg
new file mode 100644
index 000000000000..0bd9467c49a7
--- /dev/null
+++ b/icons/obsidian.svg
@@ -0,0 +1 @@
+Obsidian
\ No newline at end of file
diff --git a/icons/octanerender.svg b/icons/octanerender.svg
new file mode 100644
index 000000000000..b2c12e16c133
--- /dev/null
+++ b/icons/octanerender.svg
@@ -0,0 +1 @@
+Octane Render
\ No newline at end of file
diff --git a/icons/octoprint.svg b/icons/octoprint.svg
new file mode 100644
index 000000000000..5098f6b21146
--- /dev/null
+++ b/icons/octoprint.svg
@@ -0,0 +1 @@
+OctoPrint
\ No newline at end of file
diff --git a/icons/ohdear.svg b/icons/ohdear.svg
new file mode 100644
index 000000000000..7513c83aea00
--- /dev/null
+++ b/icons/ohdear.svg
@@ -0,0 +1 @@
+Oh Dear
\ No newline at end of file
diff --git a/icons/onlyoffice.svg b/icons/onlyoffice.svg
new file mode 100644
index 000000000000..ffbf41c2c045
--- /dev/null
+++ b/icons/onlyoffice.svg
@@ -0,0 +1 @@
+ONLYOFFICE
\ No newline at end of file
diff --git a/icons/openapiinitiative.svg b/icons/openapiinitiative.svg
index cefb848924d3..8920671852f1 100644
--- a/icons/openapiinitiative.svg
+++ b/icons/openapiinitiative.svg
@@ -1 +1 @@
-OpenAPI Initiative
\ No newline at end of file
+OpenAPI Initiative
\ No newline at end of file
diff --git a/icons/openjdk.svg b/icons/openjdk.svg
new file mode 100644
index 000000000000..9402ce9cf7ad
--- /dev/null
+++ b/icons/openjdk.svg
@@ -0,0 +1 @@
+OpenJDK
\ No newline at end of file
diff --git a/icons/openmined.svg b/icons/openmined.svg
new file mode 100644
index 000000000000..796498929bc1
--- /dev/null
+++ b/icons/openmined.svg
@@ -0,0 +1 @@
+OpenMined
\ No newline at end of file
diff --git a/icons/opensea.svg b/icons/opensea.svg
new file mode 100644
index 000000000000..a26d986b1b27
--- /dev/null
+++ b/icons/opensea.svg
@@ -0,0 +1 @@
+OpenSea
\ No newline at end of file
diff --git a/icons/opensearch.svg b/icons/opensearch.svg
new file mode 100644
index 000000000000..a00e87e2ddc4
--- /dev/null
+++ b/icons/opensearch.svg
@@ -0,0 +1 @@
+OpenSearch
\ No newline at end of file
diff --git a/icons/opentelemetry.svg b/icons/opentelemetry.svg
new file mode 100644
index 000000000000..606165cf7886
--- /dev/null
+++ b/icons/opentelemetry.svg
@@ -0,0 +1 @@
+OpenTelemetry
\ No newline at end of file
diff --git a/icons/openverse.svg b/icons/openverse.svg
new file mode 100644
index 000000000000..6d98bfda4e0d
--- /dev/null
+++ b/icons/openverse.svg
@@ -0,0 +1 @@
+Openverse
\ No newline at end of file
diff --git a/icons/openzeppelin.svg b/icons/openzeppelin.svg
new file mode 100644
index 000000000000..d5e94dd09324
--- /dev/null
+++ b/icons/openzeppelin.svg
@@ -0,0 +1 @@
+OpenZeppelin
\ No newline at end of file
diff --git a/icons/openzfs.svg b/icons/openzfs.svg
new file mode 100644
index 000000000000..1d398bb0e5b6
--- /dev/null
+++ b/icons/openzfs.svg
@@ -0,0 +1 @@
+OpenZFS
\ No newline at end of file
diff --git a/icons/oreilly.svg b/icons/oreilly.svg
new file mode 100644
index 000000000000..530f60057eda
--- /dev/null
+++ b/icons/oreilly.svg
@@ -0,0 +1 @@
+O'Reilly
\ No newline at end of file
diff --git a/icons/otto.svg b/icons/otto.svg
new file mode 100644
index 000000000000..1e6dc74522b1
--- /dev/null
+++ b/icons/otto.svg
@@ -0,0 +1 @@
+Otto
\ No newline at end of file
diff --git a/icons/packer.svg b/icons/packer.svg
new file mode 100644
index 000000000000..a6ece2af64e7
--- /dev/null
+++ b/icons/packer.svg
@@ -0,0 +1 @@
+Packer
\ No newline at end of file
diff --git a/icons/pagekit.svg b/icons/pagekit.svg
old mode 100755
new mode 100644
diff --git a/icons/paperspace.svg b/icons/paperspace.svg
new file mode 100644
index 000000000000..bf61fc6b7872
--- /dev/null
+++ b/icons/paperspace.svg
@@ -0,0 +1 @@
+Paperspace
\ No newline at end of file
diff --git a/icons/pcgamingwiki.svg b/icons/pcgamingwiki.svg
index c9bccaf53fd1..cd425f598cbb 100644
--- a/icons/pcgamingwiki.svg
+++ b/icons/pcgamingwiki.svg
@@ -1 +1 @@
-PCGamingWiki
\ No newline at end of file
+PCGamingWiki
\ No newline at end of file
diff --git a/icons/peakdesign.svg b/icons/peakdesign.svg
new file mode 100644
index 000000000000..f1250cb9dfc2
--- /dev/null
+++ b/icons/peakdesign.svg
@@ -0,0 +1 @@
+Peak Design
\ No newline at end of file
diff --git a/icons/penny.svg b/icons/penny.svg
new file mode 100644
index 000000000000..19c2e35c6038
--- /dev/null
+++ b/icons/penny.svg
@@ -0,0 +1 @@
+Penny
\ No newline at end of file
diff --git a/icons/percy.svg b/icons/percy.svg
new file mode 100644
index 000000000000..5864e610a891
--- /dev/null
+++ b/icons/percy.svg
@@ -0,0 +1 @@
+Percy
\ No newline at end of file
diff --git a/icons/personio.svg b/icons/personio.svg
new file mode 100644
index 000000000000..1d62594bffc9
--- /dev/null
+++ b/icons/personio.svg
@@ -0,0 +1 @@
+Personio
\ No newline at end of file
diff --git a/icons/petsathome.svg b/icons/petsathome.svg
new file mode 100644
index 000000000000..92630f6cf8f1
--- /dev/null
+++ b/icons/petsathome.svg
@@ -0,0 +1 @@
+Pets at Home
\ No newline at end of file
diff --git a/icons/phpmyadmin.svg b/icons/phpmyadmin.svg
new file mode 100644
index 000000000000..9b23e4069842
--- /dev/null
+++ b/icons/phpmyadmin.svg
@@ -0,0 +1 @@
+phpMyAdmin
\ No newline at end of file
diff --git a/icons/picardsurgeles.svg b/icons/picardsurgeles.svg
new file mode 100644
index 000000000000..7e63d6234474
--- /dev/null
+++ b/icons/picardsurgeles.svg
@@ -0,0 +1 @@
+Picard Surgelés
\ No newline at end of file
diff --git a/icons/pix.svg b/icons/pix.svg
new file mode 100644
index 000000000000..cda123f64b76
--- /dev/null
+++ b/icons/pix.svg
@@ -0,0 +1 @@
+Pix
\ No newline at end of file
diff --git a/icons/pjsip.svg b/icons/pjsip.svg
deleted file mode 100644
index 9a847aa9dc58..000000000000
--- a/icons/pjsip.svg
+++ /dev/null
@@ -1 +0,0 @@
-PJSIP
\ No newline at end of file
diff --git a/icons/pkgsrc.svg b/icons/pkgsrc.svg
new file mode 100644
index 000000000000..1208e9bf1ae8
--- /dev/null
+++ b/icons/pkgsrc.svg
@@ -0,0 +1 @@
+pkgsrc
\ No newline at end of file
diff --git a/icons/planetscale.svg b/icons/planetscale.svg
new file mode 100644
index 000000000000..284eeb740b79
--- /dev/null
+++ b/icons/planetscale.svg
@@ -0,0 +1 @@
+PlanetScale
\ No newline at end of file
diff --git a/icons/plausibleanalytics.svg b/icons/plausibleanalytics.svg
new file mode 100644
index 000000000000..22bf257fbdc5
--- /dev/null
+++ b/icons/plausibleanalytics.svg
@@ -0,0 +1 @@
+Plausible Analytics
\ No newline at end of file
diff --git a/icons/playwright.svg b/icons/playwright.svg
new file mode 100644
index 000000000000..3d45a76393ec
--- /dev/null
+++ b/icons/playwright.svg
@@ -0,0 +1 @@
+Playwright
\ No newline at end of file
diff --git a/icons/poetry.svg b/icons/poetry.svg
new file mode 100644
index 000000000000..3289fa8ec94a
--- /dev/null
+++ b/icons/poetry.svg
@@ -0,0 +1 @@
+Poetry
\ No newline at end of file
diff --git a/icons/pokemon.svg b/icons/pokemon.svg
index c2849175f6d6..d19a290c7924 100644
--- a/icons/pokemon.svg
+++ b/icons/pokemon.svg
@@ -1 +1 @@
-Pokémon
\ No newline at end of file
+Pokémon
\ No newline at end of file
diff --git a/icons/polkadot.svg b/icons/polkadot.svg
new file mode 100644
index 000000000000..d33c09e08c12
--- /dev/null
+++ b/icons/polkadot.svg
@@ -0,0 +1 @@
+Polkadot
\ No newline at end of file
diff --git a/icons/polywork.svg b/icons/polywork.svg
index b17e6f9356a2..a28f39e75be3 100644
--- a/icons/polywork.svg
+++ b/icons/polywork.svg
@@ -1 +1 @@
-Polywork
+Polywork
\ No newline at end of file
diff --git a/icons/powerapps.svg b/icons/powerapps.svg
new file mode 100644
index 000000000000..0290ef2c1cca
--- /dev/null
+++ b/icons/powerapps.svg
@@ -0,0 +1 @@
+Power Apps
\ No newline at end of file
diff --git a/icons/powerautomate.svg b/icons/powerautomate.svg
new file mode 100644
index 000000000000..8143cb307832
--- /dev/null
+++ b/icons/powerautomate.svg
@@ -0,0 +1 @@
+Power Automate
\ No newline at end of file
diff --git a/icons/powervirtualagents.svg b/icons/powervirtualagents.svg
new file mode 100644
index 000000000000..5f2d35e7c7e6
--- /dev/null
+++ b/icons/powervirtualagents.svg
@@ -0,0 +1 @@
+Power Virtual Agents
\ No newline at end of file
diff --git a/icons/preact.svg b/icons/preact.svg
new file mode 100644
index 000000000000..3b6dd3ad514c
--- /dev/null
+++ b/icons/preact.svg
@@ -0,0 +1 @@
+Preact
\ No newline at end of file
diff --git a/icons/prestashop.svg b/icons/prestashop.svg
index 57649adf4ad8..bdc470197ad0 100644
--- a/icons/prestashop.svg
+++ b/icons/prestashop.svg
@@ -1 +1 @@
-PrestaShop
\ No newline at end of file
+PrestaShop
\ No newline at end of file
diff --git a/icons/pubg.svg b/icons/pubg.svg
new file mode 100644
index 000000000000..219fcb06938a
--- /dev/null
+++ b/icons/pubg.svg
@@ -0,0 +1 @@
+PUBG
\ No newline at end of file
diff --git a/icons/pulumi.svg b/icons/pulumi.svg
new file mode 100644
index 000000000000..71f119bf4947
--- /dev/null
+++ b/icons/pulumi.svg
@@ -0,0 +1 @@
+Pulumi
\ No newline at end of file
diff --git a/icons/pwa.svg b/icons/pwa.svg
new file mode 100644
index 000000000000..f6fb3ab7a111
--- /dev/null
+++ b/icons/pwa.svg
@@ -0,0 +1 @@
+PWA
\ No newline at end of file
diff --git a/icons/pyg.svg b/icons/pyg.svg
new file mode 100644
index 000000000000..7371631aa2fb
--- /dev/null
+++ b/icons/pyg.svg
@@ -0,0 +1 @@
+PyG
\ No newline at end of file
diff --git a/icons/pyscaffold.svg b/icons/pyscaffold.svg
index b68d01a08226..198ced0f45bf 100644
--- a/icons/pyscaffold.svg
+++ b/icons/pyscaffold.svg
@@ -1 +1 @@
-PyScaffold
+PyScaffold
\ No newline at end of file
diff --git a/icons/qualys.svg b/icons/qualys.svg
new file mode 100644
index 000000000000..2f0bb40b680a
--- /dev/null
+++ b/icons/qualys.svg
@@ -0,0 +1 @@
+Qualys
\ No newline at end of file
diff --git a/icons/quicklook.svg b/icons/quicklook.svg
new file mode 100644
index 000000000000..0b3ad85470a6
--- /dev/null
+++ b/icons/quicklook.svg
@@ -0,0 +1 @@
+QuickLook
\ No newline at end of file
diff --git a/icons/quora.svg b/icons/quora.svg
index 9d49e3a60f58..7d2888201447 100644
--- a/icons/quora.svg
+++ b/icons/quora.svg
@@ -1 +1 @@
-Quora
\ No newline at end of file
+Quora
\ No newline at end of file
diff --git a/icons/rarible.svg b/icons/rarible.svg
new file mode 100644
index 000000000000..207525024994
--- /dev/null
+++ b/icons/rarible.svg
@@ -0,0 +1 @@
+Rarible
\ No newline at end of file
diff --git a/icons/rasa.svg b/icons/rasa.svg
new file mode 100644
index 000000000000..7d7ca3263fbb
--- /dev/null
+++ b/icons/rasa.svg
@@ -0,0 +1 @@
+Rasa
\ No newline at end of file
diff --git a/icons/ray.svg b/icons/ray.svg
new file mode 100644
index 000000000000..048390834ca8
--- /dev/null
+++ b/icons/ray.svg
@@ -0,0 +1 @@
+Ray
\ No newline at end of file
diff --git a/icons/reacthookform.svg b/icons/reacthookform.svg
new file mode 100644
index 000000000000..c2866fe34ff4
--- /dev/null
+++ b/icons/reacthookform.svg
@@ -0,0 +1 @@
+React Hook Form
\ No newline at end of file
diff --git a/icons/reactivex.svg b/icons/reactivex.svg
index f9232b1991cb..923633ffe235 100644
--- a/icons/reactivex.svg
+++ b/icons/reactivex.svg
@@ -1 +1 @@
-ReactiveX
\ No newline at end of file
+ReactiveX
\ No newline at end of file
diff --git a/icons/reactquery.svg b/icons/reactquery.svg
new file mode 100644
index 000000000000..b500b4f70421
--- /dev/null
+++ b/icons/reactquery.svg
@@ -0,0 +1 @@
+React Query
\ No newline at end of file
diff --git a/icons/reacttable.svg b/icons/reacttable.svg
index e071a1379ded..0525afa49352 100644
--- a/icons/reacttable.svg
+++ b/icons/reacttable.svg
@@ -1 +1 @@
-React Table
+React Table
\ No newline at end of file
diff --git a/icons/redmine.svg b/icons/redmine.svg
new file mode 100644
index 000000000000..644894fa6181
--- /dev/null
+++ b/icons/redmine.svg
@@ -0,0 +1 @@
+Redmine
\ No newline at end of file
diff --git a/icons/remix.svg b/icons/remix.svg
new file mode 100644
index 000000000000..f8b1f6c3a12f
--- /dev/null
+++ b/icons/remix.svg
@@ -0,0 +1 @@
+Remix
\ No newline at end of file
diff --git a/icons/render.svg b/icons/render.svg
new file mode 100644
index 000000000000..90e4e87eb5f3
--- /dev/null
+++ b/icons/render.svg
@@ -0,0 +1 @@
+Render
\ No newline at end of file
diff --git a/icons/renren.svg b/icons/renren.svg
index 4f18ad463714..e77361bbe855 100644
--- a/icons/renren.svg
+++ b/icons/renren.svg
@@ -1 +1 @@
-Renren
\ No newline at end of file
+Renren
\ No newline at end of file
diff --git a/icons/republicofgamers.svg b/icons/republicofgamers.svg
new file mode 100644
index 000000000000..3786f58dc8e1
--- /dev/null
+++ b/icons/republicofgamers.svg
@@ -0,0 +1 @@
+Republic of Gamers
\ No newline at end of file
diff --git a/icons/rescript.svg b/icons/rescript.svg
new file mode 100644
index 000000000000..5af438eb5742
--- /dev/null
+++ b/icons/rescript.svg
@@ -0,0 +1 @@
+ReScript
\ No newline at end of file
diff --git a/icons/rescuetime.svg b/icons/rescuetime.svg
new file mode 100644
index 000000000000..1a9f2ca6d295
--- /dev/null
+++ b/icons/rescuetime.svg
@@ -0,0 +1 @@
+RescueTime
\ No newline at end of file
diff --git a/icons/rimacautomobili.svg b/icons/rimacautomobili.svg
new file mode 100644
index 000000000000..929be4fe04df
--- /dev/null
+++ b/icons/rimacautomobili.svg
@@ -0,0 +1 @@
+Rimac Automobili
\ No newline at end of file
diff --git a/icons/rocksdb.svg b/icons/rocksdb.svg
new file mode 100644
index 000000000000..830b9272e02d
--- /dev/null
+++ b/icons/rocksdb.svg
@@ -0,0 +1 @@
+RocksDB
\ No newline at end of file
diff --git a/icons/rockylinux.svg b/icons/rockylinux.svg
new file mode 100644
index 000000000000..af412a5321af
--- /dev/null
+++ b/icons/rockylinux.svg
@@ -0,0 +1 @@
+Rocky Linux
\ No newline at end of file
diff --git a/icons/rome.svg b/icons/rome.svg
new file mode 100644
index 000000000000..a1c24ac7364c
--- /dev/null
+++ b/icons/rome.svg
@@ -0,0 +1 @@
+Rome
\ No newline at end of file
diff --git a/icons/rossmann.svg b/icons/rossmann.svg
new file mode 100644
index 000000000000..32d498f50328
--- /dev/null
+++ b/icons/rossmann.svg
@@ -0,0 +1 @@
+Rossmann
\ No newline at end of file
diff --git a/icons/rotaryinternational.svg b/icons/rotaryinternational.svg
new file mode 100644
index 000000000000..d94b5b32e56d
--- /dev/null
+++ b/icons/rotaryinternational.svg
@@ -0,0 +1 @@
+Rotary International
\ No newline at end of file
diff --git a/icons/rte.svg b/icons/rte.svg
index 1eb1922e55cc..9180bfbbce0d 100644
--- a/icons/rte.svg
+++ b/icons/rte.svg
@@ -1 +1 @@
-RTÉ
\ No newline at end of file
+RTÉ
\ No newline at end of file
diff --git a/icons/rubocop.svg b/icons/rubocop.svg
new file mode 100644
index 000000000000..adc974fa3197
--- /dev/null
+++ b/icons/rubocop.svg
@@ -0,0 +1 @@
+RuboCop
\ No newline at end of file
diff --git a/icons/ruby.svg b/icons/ruby.svg
index ed081698134a..8315f8257a6f 100644
--- a/icons/ruby.svg
+++ b/icons/ruby.svg
@@ -1 +1 @@
-Ruby
\ No newline at end of file
+Ruby
\ No newline at end of file
diff --git a/icons/rubysinatra.svg b/icons/rubysinatra.svg
new file mode 100644
index 000000000000..5242a018ceaf
--- /dev/null
+++ b/icons/rubysinatra.svg
@@ -0,0 +1 @@
+Ruby Sinatra
\ No newline at end of file
diff --git a/icons/sabanci.svg b/icons/sabanci.svg
new file mode 100644
index 000000000000..1299b5398263
--- /dev/null
+++ b/icons/sabanci.svg
@@ -0,0 +1 @@
+Sabanci
\ No newline at end of file
diff --git a/icons/sailfishos.svg b/icons/sailfishos.svg
new file mode 100644
index 000000000000..e67bc0123230
--- /dev/null
+++ b/icons/sailfishos.svg
@@ -0,0 +1 @@
+Sailfish OS
\ No newline at end of file
diff --git a/icons/saltproject.svg b/icons/saltproject.svg
new file mode 100644
index 000000000000..3c8adee3f165
--- /dev/null
+++ b/icons/saltproject.svg
@@ -0,0 +1 @@
+Salt Project
\ No newline at end of file
diff --git a/icons/saltstack.svg b/icons/saltstack.svg
deleted file mode 100644
index d61d23c1b12f..000000000000
--- a/icons/saltstack.svg
+++ /dev/null
@@ -1 +0,0 @@
-SaltStack
\ No newline at end of file
diff --git a/icons/samsungpay.svg b/icons/samsungpay.svg
index b4e653adb05b..6066a11f2881 100644
--- a/icons/samsungpay.svg
+++ b/icons/samsungpay.svg
@@ -1 +1 @@
-Samsung Pay
\ No newline at end of file
+Samsung Pay
\ No newline at end of file
diff --git a/icons/sandisk.svg b/icons/sandisk.svg
new file mode 100644
index 000000000000..b2662c55dd4c
--- /dev/null
+++ b/icons/sandisk.svg
@@ -0,0 +1 @@
+SanDisk
\ No newline at end of file
diff --git a/icons/saopaulometro.svg b/icons/saopaulometro.svg
index cea0c4659769..12d154cdbf01 100644
--- a/icons/saopaulometro.svg
+++ b/icons/saopaulometro.svg
@@ -1 +1 @@
-São Paulo Metro
\ No newline at end of file
+São Paulo Metro
\ No newline at end of file
diff --git a/icons/sat1.svg b/icons/sat1.svg
index 4e046d02b78e..d8b7dd43a72e 100644
--- a/icons/sat1.svg
+++ b/icons/sat1.svg
@@ -1 +1 @@
-Sat.1
\ No newline at end of file
+Sat.1
\ No newline at end of file
diff --git a/icons/saturn.svg b/icons/saturn.svg
new file mode 100644
index 000000000000..3ed9147d01a8
--- /dev/null
+++ b/icons/saturn.svg
@@ -0,0 +1 @@
+Saturn
\ No newline at end of file
diff --git a/icons/schneiderelectric.svg b/icons/schneiderelectric.svg
new file mode 100644
index 000000000000..37a5f90a738c
--- /dev/null
+++ b/icons/schneiderelectric.svg
@@ -0,0 +1 @@
+Schneider Electric
\ No newline at end of file
diff --git a/icons/scpfoundation.svg b/icons/scpfoundation.svg
new file mode 100644
index 000000000000..10770696f310
--- /dev/null
+++ b/icons/scpfoundation.svg
@@ -0,0 +1 @@
+SCP Foundation
\ No newline at end of file
diff --git a/icons/semaphoreci.svg b/icons/semaphoreci.svg
index ccf21378beff..a5daf1cbd377 100644
--- a/icons/semaphoreci.svg
+++ b/icons/semaphoreci.svg
@@ -1 +1 @@
-Semaphore CI
\ No newline at end of file
+Semaphore CI
\ No newline at end of file
diff --git a/icons/sequelize.svg b/icons/sequelize.svg
index f8599b6c50f0..c483402b502f 100644
--- a/icons/sequelize.svg
+++ b/icons/sequelize.svg
@@ -1 +1 @@
-Sequelize
+Sequelize
\ No newline at end of file
diff --git a/icons/serverfault.svg b/icons/serverfault.svg
index a7350abbef27..573e7b967397 100644
--- a/icons/serverfault.svg
+++ b/icons/serverfault.svg
@@ -1 +1 @@
-Server Fault
\ No newline at end of file
+Server Fault
\ No newline at end of file
diff --git a/icons/shadow.svg b/icons/shadow.svg
new file mode 100644
index 000000000000..d5be1b3af4cd
--- /dev/null
+++ b/icons/shadow.svg
@@ -0,0 +1 @@
+Shadow
\ No newline at end of file
diff --git a/icons/showpad.svg b/icons/showpad.svg
index 0905c8d3a46a..be69f482116a 100644
--- a/icons/showpad.svg
+++ b/icons/showpad.svg
@@ -1 +1 @@
-Showpad
\ No newline at end of file
+Showpad
\ No newline at end of file
diff --git a/icons/signal.svg b/icons/signal.svg
index f79d6ecbaeee..5cb35b5193fc 100644
--- a/icons/signal.svg
+++ b/icons/signal.svg
@@ -1 +1 @@
-Signal
\ No newline at end of file
+Signal
\ No newline at end of file
diff --git a/icons/simplenote.svg b/icons/simplenote.svg
new file mode 100644
index 000000000000..a98988699c3d
--- /dev/null
+++ b/icons/simplenote.svg
@@ -0,0 +1 @@
+Simplenote
\ No newline at end of file
diff --git a/icons/skoda.svg b/icons/skoda.svg
index ccbf36e601ff..6b36aa18ce5b 100644
--- a/icons/skoda.svg
+++ b/icons/skoda.svg
@@ -1 +1 @@
-ŠKODA
\ No newline at end of file
+ŠKODA
\ No newline at end of file
diff --git a/icons/skyliner.svg b/icons/skyliner.svg
deleted file mode 100644
index 1f608af57864..000000000000
--- a/icons/skyliner.svg
+++ /dev/null
@@ -1 +0,0 @@
-Skyliner
\ No newline at end of file
diff --git a/icons/skynet.svg b/icons/skynet.svg
new file mode 100644
index 000000000000..de95a2c77312
--- /dev/null
+++ b/icons/skynet.svg
@@ -0,0 +1 @@
+Skynet
\ No newline at end of file
diff --git a/icons/skypack.svg b/icons/skypack.svg
new file mode 100644
index 000000000000..bb8e7649b63a
--- /dev/null
+++ b/icons/skypack.svg
@@ -0,0 +1 @@
+Skypack
\ No newline at end of file
diff --git a/icons/snowpack.svg b/icons/snowpack.svg
new file mode 100644
index 000000000000..03f6d34b2b5b
--- /dev/null
+++ b/icons/snowpack.svg
@@ -0,0 +1 @@
+Snowpack
\ No newline at end of file
diff --git a/icons/socialblade.svg b/icons/socialblade.svg
new file mode 100644
index 000000000000..a9f87c048413
--- /dev/null
+++ b/icons/socialblade.svg
@@ -0,0 +1 @@
+Social Blade
\ No newline at end of file
diff --git a/icons/solid.svg b/icons/solid.svg
new file mode 100644
index 000000000000..73432258b7d0
--- /dev/null
+++ b/icons/solid.svg
@@ -0,0 +1 @@
+Solid
\ No newline at end of file
diff --git a/icons/sololearn.svg b/icons/sololearn.svg
index 3ee3ad2ef340..2adf67e9a3a1 100644
--- a/icons/sololearn.svg
+++ b/icons/sololearn.svg
@@ -1 +1 @@
-SoloLearn
\ No newline at end of file
+Sololearn
\ No newline at end of file
diff --git a/icons/sony.svg b/icons/sony.svg
new file mode 100644
index 000000000000..38d17e13dc12
--- /dev/null
+++ b/icons/sony.svg
@@ -0,0 +1 @@
+Sony
\ No newline at end of file
diff --git a/icons/soundcharts.svg b/icons/soundcharts.svg
new file mode 100644
index 000000000000..df3b6d0dd11a
--- /dev/null
+++ b/icons/soundcharts.svg
@@ -0,0 +1 @@
+Soundcharts
\ No newline at end of file
diff --git a/icons/sourcetree.svg b/icons/sourcetree.svg
new file mode 100644
index 000000000000..1f2d56c0c6b8
--- /dev/null
+++ b/icons/sourcetree.svg
@@ -0,0 +1 @@
+Sourcetree
\ No newline at end of file
diff --git a/icons/spacy.svg b/icons/spacy.svg
new file mode 100644
index 000000000000..974ae049b4b1
--- /dev/null
+++ b/icons/spacy.svg
@@ -0,0 +1 @@
+spaCy
\ No newline at end of file
diff --git a/icons/spond.svg b/icons/spond.svg
index 2f1459749ab8..8a713741feff 100644
--- a/icons/spond.svg
+++ b/icons/spond.svg
@@ -1 +1 @@
-Spond
+Spond
\ No newline at end of file
diff --git a/icons/spring_creators.svg b/icons/spring_creators.svg
new file mode 100644
index 000000000000..6345d94602f8
--- /dev/null
+++ b/icons/spring_creators.svg
@@ -0,0 +1 @@
+Spring
\ No newline at end of file
diff --git a/icons/springsecurity.svg b/icons/springsecurity.svg
new file mode 100644
index 000000000000..5416ba26869c
--- /dev/null
+++ b/icons/springsecurity.svg
@@ -0,0 +1 @@
+Spring Security
\ No newline at end of file
diff --git a/icons/stackedit.svg b/icons/stackedit.svg
new file mode 100644
index 000000000000..f342c43e1f49
--- /dev/null
+++ b/icons/stackedit.svg
@@ -0,0 +1 @@
+StackEdit
\ No newline at end of file
diff --git a/icons/stardock.svg b/icons/stardock.svg
new file mode 100644
index 000000000000..a603188a9806
--- /dev/null
+++ b/icons/stardock.svg
@@ -0,0 +1 @@
+Stardock
\ No newline at end of file
diff --git a/icons/starlingbank.svg b/icons/starlingbank.svg
index 64fa9a494841..266936d3f27c 100644
--- a/icons/starlingbank.svg
+++ b/icons/starlingbank.svg
@@ -1 +1 @@
-Starling Bank
\ No newline at end of file
+Starling Bank
\ No newline at end of file
diff --git a/icons/steamdeck.svg b/icons/steamdeck.svg
new file mode 100644
index 000000000000..1d1562f24851
--- /dev/null
+++ b/icons/steamdeck.svg
@@ -0,0 +1 @@
+Steam Deck
\ No newline at end of file
diff --git a/icons/steelseries.svg b/icons/steelseries.svg
new file mode 100644
index 000000000000..65c51ac2ed69
--- /dev/null
+++ b/icons/steelseries.svg
@@ -0,0 +1 @@
+Steelseries
\ No newline at end of file
diff --git a/icons/stopstalk.svg b/icons/stopstalk.svg
new file mode 100644
index 000000000000..be344c0e871f
--- /dev/null
+++ b/icons/stopstalk.svg
@@ -0,0 +1 @@
+StopStalk
\ No newline at end of file
diff --git a/icons/strongswan.svg b/icons/strongswan.svg
index 01eefc0d9902..b83db9f42e96 100644
--- a/icons/strongswan.svg
+++ b/icons/strongswan.svg
@@ -1 +1 @@
-strongSwan
\ No newline at end of file
+strongSwan
\ No newline at end of file
diff --git a/icons/supermicro.svg b/icons/supermicro.svg
new file mode 100644
index 000000000000..f87e0d145f9e
--- /dev/null
+++ b/icons/supermicro.svg
@@ -0,0 +1 @@
+Supermicro
\ No newline at end of file
diff --git a/icons/swc.svg b/icons/swc.svg
new file mode 100644
index 000000000000..d4c5e3077964
--- /dev/null
+++ b/icons/swc.svg
@@ -0,0 +1 @@
+SWC
\ No newline at end of file
diff --git a/icons/swift.svg b/icons/swift.svg
index 60b4ac573c66..ffaf098efc7f 100644
--- a/icons/swift.svg
+++ b/icons/swift.svg
@@ -1 +1 @@
-Swift
\ No newline at end of file
+Swift
\ No newline at end of file
diff --git a/icons/tado.svg b/icons/tado.svg
index f71561cf7ca9..90577e94edf0 100644
--- a/icons/tado.svg
+++ b/icons/tado.svg
@@ -1 +1 @@
-tado°
\ No newline at end of file
+tado°
\ No newline at end of file
diff --git a/icons/talend.svg b/icons/talend.svg
index 7b4b7b6206d4..8f294ca31bfc 100644
--- a/icons/talend.svg
+++ b/icons/talend.svg
@@ -1 +1 @@
-Talend
\ No newline at end of file
+Talend
\ No newline at end of file
diff --git a/icons/talenthouse.svg b/icons/talenthouse.svg
new file mode 100644
index 000000000000..304024a8ed90
--- /dev/null
+++ b/icons/talenthouse.svg
@@ -0,0 +1 @@
+Talenthouse
\ No newline at end of file
diff --git a/icons/target.svg b/icons/target.svg
new file mode 100644
index 000000000000..77e07f8b4a28
--- /dev/null
+++ b/icons/target.svg
@@ -0,0 +1 @@
+Target
\ No newline at end of file
diff --git a/icons/task.svg b/icons/task.svg
new file mode 100644
index 000000000000..c33d285e02aa
--- /dev/null
+++ b/icons/task.svg
@@ -0,0 +1 @@
+Task
\ No newline at end of file
diff --git a/icons/tauri.svg b/icons/tauri.svg
new file mode 100644
index 000000000000..73200eb435f8
--- /dev/null
+++ b/icons/tauri.svg
@@ -0,0 +1 @@
+Tauri
\ No newline at end of file
diff --git a/icons/teespring.svg b/icons/teespring.svg
index a150a4be5972..4854b3d825d7 100644
--- a/icons/teespring.svg
+++ b/icons/teespring.svg
@@ -1 +1 @@
-Teespring
\ No newline at end of file
+Teespring
\ No newline at end of file
diff --git a/icons/temporal.svg b/icons/temporal.svg
new file mode 100644
index 000000000000..3f9daa262139
--- /dev/null
+++ b/icons/temporal.svg
@@ -0,0 +1 @@
+Temporal
\ No newline at end of file
diff --git a/icons/tesco.svg b/icons/tesco.svg
new file mode 100644
index 000000000000..ee78158595db
--- /dev/null
+++ b/icons/tesco.svg
@@ -0,0 +1 @@
+Tesco
\ No newline at end of file
diff --git a/icons/testcafe.svg b/icons/testcafe.svg
new file mode 100644
index 000000000000..2a8a320b848f
--- /dev/null
+++ b/icons/testcafe.svg
@@ -0,0 +1 @@
+TestCafe
\ No newline at end of file
diff --git a/icons/tether.svg b/icons/tether.svg
new file mode 100644
index 000000000000..758427f2cb8f
--- /dev/null
+++ b/icons/tether.svg
@@ -0,0 +1 @@
+Tether
\ No newline at end of file
diff --git a/icons/thealgorithms.svg b/icons/thealgorithms.svg
new file mode 100644
index 000000000000..39570eea4e89
--- /dev/null
+++ b/icons/thealgorithms.svg
@@ -0,0 +1 @@
+The Algorithms
\ No newline at end of file
diff --git a/icons/themoviedatabase.svg b/icons/themoviedatabase.svg
index a51ecd6f6e2e..cf81a3d9b989 100644
--- a/icons/themoviedatabase.svg
+++ b/icons/themoviedatabase.svg
@@ -1 +1 @@
-The Movie Database
\ No newline at end of file
+The Movie Database
\ No newline at end of file
diff --git a/icons/thenorthface.svg b/icons/thenorthface.svg
new file mode 100644
index 000000000000..9a98069c09af
--- /dev/null
+++ b/icons/thenorthface.svg
@@ -0,0 +1 @@
+The North Face
\ No newline at end of file
diff --git a/icons/threadless.svg b/icons/threadless.svg
new file mode 100644
index 000000000000..ca0430bf5608
--- /dev/null
+++ b/icons/threadless.svg
@@ -0,0 +1 @@
+Threadless
\ No newline at end of file
diff --git a/icons/tistory.svg b/icons/tistory.svg
new file mode 100644
index 000000000000..9fdfe8572893
--- /dev/null
+++ b/icons/tistory.svg
@@ -0,0 +1 @@
+Tistory
\ No newline at end of file
diff --git a/icons/tmobile.svg b/icons/tmobile.svg
index bd6b1f1d75c0..7a315388f7f0 100644
--- a/icons/tmobile.svg
+++ b/icons/tmobile.svg
@@ -1 +1 @@
-T-Mobile
\ No newline at end of file
+T-Mobile
\ No newline at end of file
diff --git a/icons/traefikmesh.svg b/icons/traefikmesh.svg
new file mode 100644
index 000000000000..828147b70d48
--- /dev/null
+++ b/icons/traefikmesh.svg
@@ -0,0 +1 @@
+Traefik Mesh
\ No newline at end of file
diff --git a/icons/traefikproxy.svg b/icons/traefikproxy.svg
new file mode 100644
index 000000000000..002b6913730e
--- /dev/null
+++ b/icons/traefikproxy.svg
@@ -0,0 +1 @@
+Traefik Proxy
\ No newline at end of file
diff --git a/icons/trainerroad.svg b/icons/trainerroad.svg
index bec451b14399..c8611bda9e3e 100644
--- a/icons/trainerroad.svg
+++ b/icons/trainerroad.svg
@@ -1 +1 @@
-TrainerRoad
\ No newline at end of file
+TrainerRoad
\ No newline at end of file
diff --git a/icons/transferwise.svg b/icons/transferwise.svg
deleted file mode 100644
index 03babcef5d93..000000000000
--- a/icons/transferwise.svg
+++ /dev/null
@@ -1 +0,0 @@
-TransferWise
\ No newline at end of file
diff --git a/icons/trove.svg b/icons/trove.svg
index 123784129fb0..e1f41ec98b73 100644
--- a/icons/trove.svg
+++ b/icons/trove.svg
@@ -1 +1 @@
-Trove
\ No newline at end of file
+Trove
\ No newline at end of file
diff --git a/icons/trpc.svg b/icons/trpc.svg
new file mode 100644
index 000000000000..dd824ae0d70b
--- /dev/null
+++ b/icons/trpc.svg
@@ -0,0 +1 @@
+tRPC
\ No newline at end of file
diff --git a/icons/trulia.svg b/icons/trulia.svg
index b9be9d897b71..ffce2fcf2ccd 100644
--- a/icons/trulia.svg
+++ b/icons/trulia.svg
@@ -1 +1 @@
-Trulia
\ No newline at end of file
+trulia
\ No newline at end of file
diff --git a/icons/tubi.svg b/icons/tubi.svg
new file mode 100644
index 000000000000..2c40a434bc21
--- /dev/null
+++ b/icons/tubi.svg
@@ -0,0 +1 @@
+Tubi
\ No newline at end of file
diff --git a/icons/tunein.svg b/icons/tunein.svg
index 6b74705ed543..9530e5cabff0 100644
--- a/icons/tunein.svg
+++ b/icons/tunein.svg
@@ -1 +1 @@
-TuneIn
\ No newline at end of file
+TuneIn
\ No newline at end of file
diff --git a/icons/turborepo.svg b/icons/turborepo.svg
new file mode 100644
index 000000000000..6d63cf7cdd63
--- /dev/null
+++ b/icons/turborepo.svg
@@ -0,0 +1 @@
+Turborepo
\ No newline at end of file
diff --git a/icons/typeform.svg b/icons/typeform.svg
new file mode 100644
index 000000000000..5f3f29bc485a
--- /dev/null
+++ b/icons/typeform.svg
@@ -0,0 +1 @@
+Typeform
\ No newline at end of file
diff --git a/icons/ubuntu.svg b/icons/ubuntu.svg
index a2917063d4ac..227f86aa329d 100644
--- a/icons/ubuntu.svg
+++ b/icons/ubuntu.svg
@@ -1 +1 @@
-Ubuntu
\ No newline at end of file
+Ubuntu
\ No newline at end of file
diff --git a/icons/udemy.svg b/icons/udemy.svg
index 365159189a42..efa25d640169 100644
--- a/icons/udemy.svg
+++ b/icons/udemy.svg
@@ -1 +1 @@
-Udemy
\ No newline at end of file
+Udemy
\ No newline at end of file
diff --git a/icons/uikit.svg b/icons/uikit.svg
old mode 100755
new mode 100644
diff --git a/icons/underarmour.svg b/icons/underarmour.svg
new file mode 100644
index 000000000000..c247a3420d2a
--- /dev/null
+++ b/icons/underarmour.svg
@@ -0,0 +1 @@
+Under Armour
\ No newline at end of file
diff --git a/icons/underscoredotjs.svg b/icons/underscoredotjs.svg
new file mode 100644
index 000000000000..ca7140d12a01
--- /dev/null
+++ b/icons/underscoredotjs.svg
@@ -0,0 +1 @@
+Underscore.js
\ No newline at end of file
diff --git a/icons/unity.svg b/icons/unity.svg
index 135d234f0b9e..a373b95af7f9 100644
--- a/icons/unity.svg
+++ b/icons/unity.svg
@@ -1 +1 @@
-Unity
\ No newline at end of file
+Unity
\ No newline at end of file
diff --git a/icons/unlicense.svg b/icons/unlicense.svg
new file mode 100644
index 000000000000..d6bf6ed11c4e
--- /dev/null
+++ b/icons/unlicense.svg
@@ -0,0 +1 @@
+Unlicense
\ No newline at end of file
diff --git a/icons/unocss.svg b/icons/unocss.svg
new file mode 100644
index 000000000000..b9ea80a8b07c
--- /dev/null
+++ b/icons/unocss.svg
@@ -0,0 +1 @@
+UnoCSS
\ No newline at end of file
diff --git a/icons/unrealengine.svg b/icons/unrealengine.svg
index db261c2685f0..330d76379aec 100644
--- a/icons/unrealengine.svg
+++ b/icons/unrealengine.svg
@@ -1 +1 @@
-Unreal Engine
\ No newline at end of file
+Unreal Engine
\ No newline at end of file
diff --git a/icons/upstash.svg b/icons/upstash.svg
new file mode 100644
index 000000000000..accdfd63018c
--- /dev/null
+++ b/icons/upstash.svg
@@ -0,0 +1 @@
+Upstash
\ No newline at end of file
diff --git a/icons/uptobox.svg b/icons/uptobox.svg
new file mode 100644
index 000000000000..f751d39c9741
--- /dev/null
+++ b/icons/uptobox.svg
@@ -0,0 +1 @@
+Uptobox
\ No newline at end of file
diff --git a/icons/valorant.svg b/icons/valorant.svg
new file mode 100644
index 000000000000..13674afad217
--- /dev/null
+++ b/icons/valorant.svg
@@ -0,0 +1 @@
+Valorant
\ No newline at end of file
diff --git a/icons/velog.svg b/icons/velog.svg
new file mode 100644
index 000000000000..4d836c17b217
--- /dev/null
+++ b/icons/velog.svg
@@ -0,0 +1 @@
+Velog
\ No newline at end of file
diff --git a/icons/vexxhost.svg b/icons/vexxhost.svg
new file mode 100644
index 000000000000..40db5f1bf48b
--- /dev/null
+++ b/icons/vexxhost.svg
@@ -0,0 +1 @@
+VEXXHOST
\ No newline at end of file
diff --git a/icons/virgin.svg b/icons/virgin.svg
new file mode 100644
index 000000000000..7f282082f25d
--- /dev/null
+++ b/icons/virgin.svg
@@ -0,0 +1 @@
+Virgin
\ No newline at end of file
diff --git a/icons/virginmedia.svg b/icons/virginmedia.svg
new file mode 100644
index 000000000000..2958c4f83d83
--- /dev/null
+++ b/icons/virginmedia.svg
@@ -0,0 +1 @@
+Virgin Media
\ No newline at end of file
diff --git a/icons/vitess.svg b/icons/vitess.svg
new file mode 100644
index 000000000000..83675d081b53
--- /dev/null
+++ b/icons/vitess.svg
@@ -0,0 +1 @@
+Vitess
\ No newline at end of file
diff --git a/icons/vk.svg b/icons/vk.svg
index 5ebad73b18f6..2eed8993d5dc 100644
--- a/icons/vk.svg
+++ b/icons/vk.svg
@@ -1 +1 @@
-VK
\ No newline at end of file
+VK
\ No newline at end of file
diff --git a/icons/vowpalwabbit.svg b/icons/vowpalwabbit.svg
new file mode 100644
index 000000000000..e2d82d44e693
--- /dev/null
+++ b/icons/vowpalwabbit.svg
@@ -0,0 +1 @@
+Vowpal Wabbit
\ No newline at end of file
diff --git a/icons/vtex.svg b/icons/vtex.svg
new file mode 100644
index 000000000000..f8e31fe1608e
--- /dev/null
+++ b/icons/vtex.svg
@@ -0,0 +1 @@
+VTEX
\ No newline at end of file
diff --git a/icons/walmart.svg b/icons/walmart.svg
new file mode 100644
index 000000000000..07c7764a4ff9
--- /dev/null
+++ b/icons/walmart.svg
@@ -0,0 +1 @@
+Walmart
\ No newline at end of file
diff --git a/icons/wasmcloud.svg b/icons/wasmcloud.svg
new file mode 100644
index 000000000000..f5c983914bed
--- /dev/null
+++ b/icons/wasmcloud.svg
@@ -0,0 +1 @@
+wasmCloud
\ No newline at end of file
diff --git a/icons/web3dotjs.svg b/icons/web3dotjs.svg
index 2a900d7e0e04..b617387d4fe2 100644
--- a/icons/web3dotjs.svg
+++ b/icons/web3dotjs.svg
@@ -1 +1 @@
-Web3.js
+Web3.js
\ No newline at end of file
diff --git a/icons/wegame.svg b/icons/wegame.svg
new file mode 100644
index 000000000000..127601aa892e
--- /dev/null
+++ b/icons/wegame.svg
@@ -0,0 +1 @@
+WeGame
\ No newline at end of file
diff --git a/icons/welcometothejungle.svg b/icons/welcometothejungle.svg
new file mode 100644
index 000000000000..3f0ad61258fa
--- /dev/null
+++ b/icons/welcometothejungle.svg
@@ -0,0 +1 @@
+Welcome to the Jungle
\ No newline at end of file
diff --git a/icons/westerndigital.svg b/icons/westerndigital.svg
new file mode 100644
index 000000000000..935d670f8266
--- /dev/null
+++ b/icons/westerndigital.svg
@@ -0,0 +1 @@
+Western Digital
\ No newline at end of file
diff --git a/icons/wikidotjs.svg b/icons/wikidotjs.svg
new file mode 100644
index 000000000000..fc131e4f359c
--- /dev/null
+++ b/icons/wikidotjs.svg
@@ -0,0 +1 @@
+Wiki.js
\ No newline at end of file
diff --git a/icons/winamp.svg b/icons/winamp.svg
new file mode 100644
index 000000000000..c02f7684190c
--- /dev/null
+++ b/icons/winamp.svg
@@ -0,0 +1 @@
+Winamp
\ No newline at end of file
diff --git a/icons/windicss.svg b/icons/windicss.svg
new file mode 100644
index 000000000000..0e17fdfb3e11
--- /dev/null
+++ b/icons/windicss.svg
@@ -0,0 +1 @@
+Windi CSS
\ No newline at end of file
diff --git a/icons/wise.svg b/icons/wise.svg
new file mode 100644
index 000000000000..618f66490f8e
--- /dev/null
+++ b/icons/wise.svg
@@ -0,0 +1 @@
+Wise
\ No newline at end of file
diff --git a/icons/yolo.svg b/icons/yolo.svg
new file mode 100644
index 000000000000..b5e9e58d1862
--- /dev/null
+++ b/icons/yolo.svg
@@ -0,0 +1 @@
+YOLO
\ No newline at end of file
diff --git a/icons/yubico.svg b/icons/yubico.svg
new file mode 100644
index 000000000000..6138152871bc
--- /dev/null
+++ b/icons/yubico.svg
@@ -0,0 +1 @@
+Yubico
\ No newline at end of file
diff --git a/icons/zabka.svg b/icons/zabka.svg
new file mode 100644
index 000000000000..46691573ceb9
--- /dev/null
+++ b/icons/zabka.svg
@@ -0,0 +1 @@
+Żabka
\ No newline at end of file
diff --git a/icons/zara.svg b/icons/zara.svg
new file mode 100644
index 000000000000..3ce62197a80a
--- /dev/null
+++ b/icons/zara.svg
@@ -0,0 +1 @@
+Zara
\ No newline at end of file
diff --git a/icons/zazzle.svg b/icons/zazzle.svg
new file mode 100644
index 000000000000..93d8331e3c17
--- /dev/null
+++ b/icons/zazzle.svg
@@ -0,0 +1 @@
+Zazzle
\ No newline at end of file
diff --git a/icons/zcash.svg b/icons/zcash.svg
new file mode 100644
index 000000000000..e4e7f1e808f9
--- /dev/null
+++ b/icons/zcash.svg
@@ -0,0 +1 @@
+Zcash
\ No newline at end of file
diff --git a/icons/zebratechnologies.svg b/icons/zebratechnologies.svg
new file mode 100644
index 000000000000..907a2b5e186f
--- /dev/null
+++ b/icons/zebratechnologies.svg
@@ -0,0 +1 @@
+Zebra Technologies
\ No newline at end of file
diff --git a/icons/zenodo.svg b/icons/zenodo.svg
new file mode 100644
index 000000000000..986056fda30c
--- /dev/null
+++ b/icons/zenodo.svg
@@ -0,0 +1 @@
+Zenodo
\ No newline at end of file
diff --git a/icons/zettlr.svg b/icons/zettlr.svg
new file mode 100644
index 000000000000..3d7a2c696cb6
--- /dev/null
+++ b/icons/zettlr.svg
@@ -0,0 +1 @@
+Zettlr
\ No newline at end of file
diff --git a/icons/zig.svg b/icons/zig.svg
index 935eba3daacf..e55ac8ca5e9b 100644
--- a/icons/zig.svg
+++ b/icons/zig.svg
@@ -1 +1 @@
-Zig
+Zig
\ No newline at end of file
diff --git a/icons/zyte.svg b/icons/zyte.svg
new file mode 100644
index 000000000000..882f57a18374
--- /dev/null
+++ b/icons/zyte.svg
@@ -0,0 +1 @@
+Zyte
\ No newline at end of file
diff --git a/index.d.ts b/index.d.ts
new file mode 100644
index 000000000000..314f6c33611b
--- /dev/null
+++ b/index.d.ts
@@ -0,0 +1,24 @@
+export interface SimpleIcon {
+ title: string;
+ slug: string;
+ svg: string;
+ path: string;
+ source: string;
+ hex: string;
+ guidelines?: string | undefined;
+ license?:
+ | {
+ type: string;
+ url: string;
+ }
+ | undefined;
+}
+
+/**
+ * @deprecated The `simple-icons` entrypoint will be removed in the next major. Please switch to using `import * as icons from "simple-icons/icons"` if you need an object with all the icons.
+ */
+declare const icons: Record & {
+ Get(name: string): SimpleIcon;
+};
+
+export default icons;
diff --git a/jest.config.js b/jest.config.js
deleted file mode 100644
index 0699d7e7f119..000000000000
--- a/jest.config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- cacheDirectory: "./.cache/jest",
-};
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 30ef173bbd4e..000000000000
--- a/package-lock.json
+++ /dev/null
@@ -1,4379 +0,0 @@
-{
- "name": "simple-icons",
- "version": "5.5.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
- "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.14.5"
- }
- },
- "@babel/compat-data": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
- "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
- "dev": true
- },
- "@babel/core": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
- "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.5",
- "@babel/helper-compilation-targets": "^7.14.5",
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helpers": "^7.14.6",
- "@babel/parser": "^7.14.6",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz",
- "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
- "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "@babel/helper-function-name": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
- "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
- "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
- "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
- "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
- "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz",
- "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5",
- "@babel/helper-simple-access": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
- "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true
- },
- "@babel/helper-replace-supers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
- "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.14.5",
- "@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz",
- "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
- "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
- "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
- "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/highlight": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
- "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
- "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
- "dev": true
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
- "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/template": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
- "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/traverse": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
- "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.5",
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-hoist-variables": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.14.7",
- "@babel/types": "^7.14.5",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
- "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
- },
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- }
- },
- "@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true
- },
- "@jest/console": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz",
- "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.0.2",
- "jest-util": "^27.0.2",
- "slash": "^3.0.0"
- }
- },
- "@jest/core": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.5.tgz",
- "integrity": "sha512-g73//jF0VwsOIrWUC9Cqg03lU3QoAMFxVjsm6n6yNmwZcQPN/o8w+gLWODw5VfKNFZT38otXHWxc6b8eGDUpEA==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/reporters": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.0.2",
- "jest-config": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-resolve-dependencies": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "jest-watcher": "^27.0.2",
- "micromatch": "^4.0.4",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "@jest/environment": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.5.tgz",
- "integrity": "sha512-IAkJPOT7bqn0GiX5LPio6/e1YpcmLbrd8O5EFYpAOZ6V+9xJDsXjdgN2vgv9WOKIs/uA1kf5WeD96HhlBYO+FA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3"
- }
- },
- "@jest/fake-timers": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.5.tgz",
- "integrity": "sha512-d6Tyf7iDoKqeUdwUKrOBV/GvEZRF67m7lpuWI0+SCD9D3aaejiOQZxAOxwH2EH/W18gnfYaBPLi0VeTGBHtQBg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@sinonjs/fake-timers": "^7.0.2",
- "@types/node": "*",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- }
- },
- "@jest/globals": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.5.tgz",
- "integrity": "sha512-qqKyjDXUaZwDuccpbMMKCCMBftvrbXzigtIsikAH/9ca+kaae8InP2MDf+Y/PdCSMuAsSpHS6q6M25irBBUh+Q==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/types": "^27.0.2",
- "expect": "^27.0.2"
- }
- },
- "@jest/reporters": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.5.tgz",
- "integrity": "sha512-4uNg5+0eIfRafnpgu3jCZws3NNcFzhu5JdRd1mKQ4/53+vkIqwB6vfZ4gn5BdGqOaLtYhlOsPaL5ATkKzyBrJw==",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.0.2",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.0.5",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.0.0"
- }
- },
- "@jest/source-map": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz",
- "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- }
- },
- "@jest/test-result": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz",
- "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.5.tgz",
- "integrity": "sha512-opztnGs+cXzZ5txFG2+omBaV5ge/0yuJNKbhE3DREMiXE0YxBuzyEa6pNv3kk2JuucIlH2Xvgmn9kEEHSNt/SA==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-runtime": "^27.0.5"
- }
- },
- "@jest/transform": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.5.tgz",
- "integrity": "sha512-lBD6OwKXSc6JJECBNk4mVxtSVuJSBsQrJ9WCBisfJs7EZuYq4K6vM9HmoB7hmPiLIDGeyaerw3feBV/bC4z8tg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.0.2",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-util": "^27.0.2",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz",
- "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
- "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "@trysound/sax": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz",
- "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==",
- "dev": true
- },
- "@types/babel__core": {
- "version": "7.1.14",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz",
- "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
- "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz",
- "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.0.tgz",
- "integrity": "sha512-IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/graceful-fs": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
- "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/node": {
- "version": "15.12.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz",
- "integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==",
- "dev": true
- },
- "@types/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==",
- "dev": true
- },
- "@types/stack-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz",
- "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==",
- "dev": true
- },
- "@types/yargs": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz",
- "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "20.2.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
- "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
- "dev": true
- },
- "abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
- "dev": true
- },
- "acorn": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
- "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
- "dev": true
- },
- "acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "babel-jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.5.tgz",
- "integrity": "sha512-bTMAbpCX7ldtfbca2llYLeSFsDM257aspyAOpsdrdSrBqoLkWCy4HPYTXtXWaSLgFPjrJGACL65rzzr4RFGadw==",
- "dev": true,
- "requires": {
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.0.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
- "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz",
- "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz",
- "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^27.0.1",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "browserslist": {
- "version": "4.16.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
- "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001219",
- "colorette": "^1.2.2",
- "electron-to-chromium": "^1.3.723",
- "escalade": "^3.1.1",
- "node-releases": "^1.1.71"
- }
- },
- "bser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
- "dev": true,
- "requires": {
- "node-int64": "^0.4.0"
- }
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "call-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
- "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.0"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001240",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001240.tgz",
- "integrity": "sha512-nb8mDzfMdxBDN7ZKx8chWafAdBp5DAAlpWvNyUGe5tcDWd838zpzDN3Rah9cjCqhfOKkrvx40G2SDtP0qiWX/w==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "char-regex": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
- "dev": true
- },
- "cheerio": {
- "version": "1.0.0-rc.10",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
- "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
- "dev": true,
- "requires": {
- "cheerio-select": "^1.5.0",
- "dom-serializer": "^1.3.2",
- "domhandler": "^4.2.0",
- "htmlparser2": "^6.1.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "tslib": "^2.2.0"
- },
- "dependencies": {
- "htmlparser2": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
- "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- }
- }
- },
- "cheerio-select": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
- "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
- "dev": true,
- "requires": {
- "css-select": "^4.1.3",
- "css-what": "^5.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.7.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true
- },
- "ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
- "dev": true
- },
- "cjs-module-lexer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz",
- "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==",
- "dev": true
- },
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "^2.0.0"
- }
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- },
- "collect-v8-coverage": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
- "dev": true
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colorette": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
- "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "css-select": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
- "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^5.0.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.6.0",
- "nth-check": "^2.0.0"
- }
- },
- "css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "dev": true,
- "requires": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- }
- },
- "css-what": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
- "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
- "dev": true
- },
- "csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "dev": true,
- "requires": {
- "css-tree": "^1.1.2"
- }
- },
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
- },
- "data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- }
- },
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
- "dev": true
- },
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true
- },
- "diff-sequences": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz",
- "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==",
- "dev": true
- },
- "dom-serializer": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
- "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- }
- },
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
- "dev": true
- },
- "domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true
- }
- }
- },
- "domhandler": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
- "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.2.0"
- }
- },
- "domutils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz",
- "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==",
- "dev": true,
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- }
- },
- "editorconfig-checker": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/editorconfig-checker/-/editorconfig-checker-4.0.2.tgz",
- "integrity": "sha512-tUI7ABIzMB1kfwTUQmX+gaZGCMNuUgGuRHJ+Xu4Tk9T8lV8Vy5w/EaQsSZ7NKrOgLxbekptw6MUgrzHTvhceLw==",
- "dev": true,
- "requires": {
- "https-proxy-agent": "^5.0.0",
- "node-fetch": "^2.6.0",
- "tar": "^6.0.0"
- }
- },
- "electron-to-chromium": {
- "version": "1.3.759",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.759.tgz",
- "integrity": "sha512-nM76xH0t2FBH5iMEZDVc3S/qbdKjGH7TThezxC8k1Q7w7WHvIAyJh8lAe2UamGfdRqBTjHfPDn82LJ0ksCiB9g==",
- "dev": true
- },
- "emittery": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
- "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.18.0-next.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
- "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-negative-zero": "^2.0.0",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "estraverse": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expect": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz",
- "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.1",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "fast-xml-parser": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz",
- "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==",
- "dev": true
- },
- "fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
- "dev": true,
- "requires": {
- "bser": "2.1.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
- "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
- "dev": true
- },
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.5"
- }
- },
- "html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "dev": true,
- "requires": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
- "dev": true
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true
- }
- }
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true
- },
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "dev": true,
- "requires": {
- "domelementtype": "1"
- }
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "dev": true,
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- }
- }
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "import-local": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
- "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-callable": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
- "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
- "dev": true
- },
- "is-ci": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
- "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
- "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-date-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
- "dev": true
- },
- "is-finite": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
- "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true
- },
- "is-negative-zero": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
- "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
- },
- "is-regex": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
- "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.1"
- }
- },
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true
- },
- "is-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.1"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- }
- },
- "istanbul-reports": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.5.tgz",
- "integrity": "sha512-4NlVMS29gE+JOZvgmSAsz3eOjkSsHqjTajlIsah/4MVSmKvf3zFP/TvgcLoWe2UVHiE9KF741sReqhF0p4mqbQ==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.0.5",
- "import-local": "^3.0.2",
- "jest-cli": "^27.0.5"
- },
- "dependencies": {
- "jest-cli": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.5.tgz",
- "integrity": "sha512-kZqY020QFOFQKVE2knFHirTBElw3/Q0kUbDc3nMfy/x+RQ7zUY89SUuzpHHJoSX1kX7Lq569ncvjNqU3Td/FCA==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "prompts": "^2.0.1",
- "yargs": "^16.0.3"
- }
- }
- }
- },
- "jest-changed-files": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz",
- "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.5.tgz",
- "integrity": "sha512-p5rO90o1RTh8LPOG6l0Fc9qgp5YGv+8M5CFixhMh7gGHtGSobD1AxX9cjFZujILgY8t30QZ7WVvxlnuG31r8TA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- }
- },
- "jest-config": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.5.tgz",
- "integrity": "sha512-zCUIXag7QIXKEVN4kUKbDBDi9Q53dV5o3eNhGqe+5zAbt1vLs4VE3ceWaYrOub0L4Y7E9pGfM84TX/0ARcE+Qw==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.0.5",
- "@jest/types": "^27.0.2",
- "babel-jest": "^27.0.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.0.5",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-get-type": "^27.0.1",
- "jest-jasmine2": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-diff": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz",
- "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.1",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-docblock": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz",
- "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz",
- "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-environment-jsdom": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.5.tgz",
- "integrity": "sha512-ToWhViIoTl5738oRaajTMgYhdQL73UWPoV4GqHGk2DPhs+olv8OLq5KoQW8Yf+HtRao52XLqPWvl46dPI88PdA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2",
- "jsdom": "^16.6.0"
- }
- },
- "jest-environment-node": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.5.tgz",
- "integrity": "sha512-47qqScV/WMVz5OKF5TWpAeQ1neZKqM3ySwNveEnLyd+yaE/KT6lSMx/0SOx60+ZUcVxPiESYS+Kt2JS9y4PpkQ==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- }
- },
- "jest-get-type": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz",
- "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.5.tgz",
- "integrity": "sha512-3LFryGSHxwPFHzKIs6W0BGA2xr6g1MvzSjR3h3D8K8Uqy4vbRm/grpGHzbPtIbOPLC6wFoViRrNEmd116QWSkw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.1",
- "jest-serializer": "^27.0.1",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-jasmine2": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.5.tgz",
- "integrity": "sha512-m3TojR19sFmTn79QoaGy1nOHBcLvtLso6Zh7u+gYxZWGcza4rRPVqwk1hciA5ZOWWZIJOukAcore8JRX992FaA==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "throat": "^6.0.1"
- }
- },
- "jest-leak-detector": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz",
- "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==",
- "dev": true,
- "requires": {
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-matcher-utils": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz",
- "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-message-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz",
- "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.0.2",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- }
- },
- "jest-mock": {
- "version": "27.0.3",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz",
- "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true
- },
- "jest-regex-util": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz",
- "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==",
- "dev": true
- },
- "jest-resolve": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.5.tgz",
- "integrity": "sha512-Md65pngRh8cRuWVdWznXBB5eDt391OJpdBaJMxfjfuXCvOhM3qQBtLMCMTykhuUKiBMmy5BhqCW7AVOKmPrW+Q==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "is-core-module": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
- "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- }
- }
- },
- "jest-resolve-dependencies": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.5.tgz",
- "integrity": "sha512-xUj2dPoEEd59P+nuih4XwNa4nJ/zRd/g4rMvjHrZPEBWeWRq/aJnnM6mug+B+Nx+ILXGtfWHzQvh7TqNV/WbuA==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-snapshot": "^27.0.5"
- }
- },
- "jest-runner": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.5.tgz",
- "integrity": "sha512-HNhOtrhfKPArcECgBTcWOc+8OSL8GoFoa7RsHGnfZR1C1dFohxy9eLtpYBS+koybAHlJLZzNCx2Y/Ic3iEtJpQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.1",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-leak-detector": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- }
- },
- "jest-runtime": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.5.tgz",
- "integrity": "sha512-V/w/+VasowPESbmhXn5AsBGPfb35T7jZPGZybYTHxZdP7Gwaa+A0EXE6rx30DshHKA98lVCODbCO8KZpEW3hiQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/globals": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.0.3"
- }
- },
- "jest-serializer": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz",
- "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-snapshot": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.5.tgz",
- "integrity": "sha512-H1yFYdgnL1vXvDqMrnDStH6yHFdMEuzYQYc71SnC/IJnuuhW6J16w8GWG1P+qGd3Ag3sQHjbRr0TcwEo/vGS+g==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "jest-haste-map": "^27.0.5",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.0.2",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
- "jest-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz",
- "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- }
- },
- "jest-validate": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz",
- "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "leven": "^3.1.0",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true
- }
- }
- },
- "jest-watcher": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz",
- "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.0.2",
- "string-length": "^4.0.1"
- }
- },
- "jest-worker": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz",
- "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsdom": {
- "version": "16.6.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz",
- "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==",
- "dev": true,
- "requires": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.5",
- "xml-name-validator": "^3.0.0"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
- "json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "jsonschema": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz",
- "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==",
- "dev": true
- },
- "kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true
- },
- "leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- }
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "log-update": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
- "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.0.0",
- "cli-cursor": "^2.0.0",
- "wrap-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
- "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0"
- }
- }
- }
- },
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "makeerror": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
- "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
- "dev": true,
- "requires": {
- "tmpl": "1.0.x"
- }
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
- },
- "mdn-data": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "dev": true
- },
- "memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
- "dev": true
- },
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- }
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "mime-db": {
- "version": "1.48.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
- "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.31",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
- "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
- "dev": true,
- "requires": {
- "mime-db": "1.48.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dev": true,
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
- "dev": true
- },
- "node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
- "dev": true
- },
- "node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
- "dev": true
- },
- "node-releases": {
- "version": "1.1.73",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
- "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "npm-run-all": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
- "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "chalk": "^2.4.1",
- "cross-spawn": "^6.0.5",
- "memorystream": "^0.3.1",
- "minimatch": "^3.0.4",
- "pidtree": "^0.3.0",
- "read-pkg": "^3.0.0",
- "shell-quote": "^1.6.1",
- "string.prototype.padend": "^3.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
- "dev": true,
- "requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- },
- "dependencies": {
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- }
- }
- },
- "nth-check": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
- "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "object-inspect": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "p-each-series": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
- "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
- "dev": true
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
- "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
- "dev": true,
- "requires": {
- "parse5": "^6.0.1"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true
- },
- "pidtree": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
- "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
- "dev": true
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "pirates": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
- "dev": true,
- "requires": {
- "node-modules-regexp": "^1.0.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "pretty-format": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz",
- "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "prompts": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
- "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- },
- "dependencies": {
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- }
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- }
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
- }
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "requires": {
- "is-finite": "^1.0.0"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- }
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "shell-quote": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
- "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
- },
- "sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
- "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true
- },
- "stack-utils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- }
- }
- },
- "string-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
- "dev": true,
- "requires": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- }
- },
- "string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "string.prototype.padend": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz",
- "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.1"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
- "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
- "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- }
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
- "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "svg-path-bbox": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/svg-path-bbox/-/svg-path-bbox-1.0.1.tgz",
- "integrity": "sha512-ODByt4zCwa2lq6Nj/G+dgQjgP7YzsPbXO2hkm159kpFO+tieVw8vanaei2qEsMZDN6Yfpp25y9E0LTEXxYu4VQ==",
- "dev": true,
- "requires": {
- "svgpath": "^2.3.0"
- }
- },
- "svg-path-segments": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-path-segments/-/svg-path-segments-1.0.0.tgz",
- "integrity": "sha512-17j8eeeKnKYBBbnmSSq0ml+e8dw24m5I7StIxZaj9ew0L9+R1SmBtSYWxtU9H6Xt2hBJZmljce78yyXcCG8DIw==",
- "dev": true
- },
- "svglint": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/svglint/-/svglint-1.0.8.tgz",
- "integrity": "sha512-Kzny9/6z9YLlu+A1nQ8Pso5g3E5Cz9y1dXTrGwm9H0e0iSioDC3fdGz7e/te7Tqm/Bec9bUFOgiyQEGB9Dg76w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0",
- "chalk": "^2.4.1",
- "cheerio": "^1.0.0-rc.6",
- "fast-xml-parser": "^3.12.13",
- "glob": "^7.1.2",
- "htmlparser2": "^3.9.1",
- "log-update": "^2.3.0",
- "meow": "^3.7.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "svgo": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz",
- "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==",
- "dev": true,
- "requires": {
- "@trysound/sax": "0.1.1",
- "chalk": "^4.1.0",
- "commander": "^7.1.0",
- "css-select": "^4.1.3",
- "css-tree": "^1.1.2",
- "csso": "^4.2.0",
- "stable": "^0.1.8"
- }
- },
- "svgpath": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/svgpath/-/svgpath-2.3.1.tgz",
- "integrity": "sha512-wNz6lCoj+99GMoyU7SozTfPqiLHz6WcJYZ30Z+F4lF/gPtxWHBCpZ4DhoDI0+oZ0dObKyYsJdSPGbL2mJq/qCg==",
- "dev": true
- },
- "symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
- "dev": true,
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "tmpl": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
- "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tough-cookie": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
- "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
- },
- "tslib": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
- "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "uglify-js": {
- "version": "3.13.10",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz",
- "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "v8-to-istanbul": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz",
- "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- }
- }
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
- "dev": true,
- "requires": {
- "xml-name-validator": "^3.0.0"
- }
- },
- "walker": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
- "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
- "dev": true,
- "requires": {
- "makeerror": "1.0.x"
- }
- },
- "webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- },
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz",
- "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==",
- "dev": true
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true
- }
- }
-}
diff --git a/package.json b/package.json
index e1c26dbd6099..5f67ee09ff13 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,28 @@
{
"name": "simple-icons",
- "version": "5.5.0",
+ "version": "7.6.0",
"description": "SVG icons for popular brands https://simpleicons.org",
"homepage": "https://simpleicons.org",
"keywords": [
"svg",
"icons"
],
+ "type": "commonjs",
"main": "index.js",
+ "types": "index.d.ts",
+ "exports": {
+ ".": "./index.js",
+ "./icons": {
+ "module": "./icons.mjs",
+ "import": "./icons.mjs",
+ "require": "./icons.js",
+ "default": "./icons.js"
+ },
+ "./icons/*": [
+ "./icons/*"
+ ]
+ },
+ "sideEffects": false,
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/simple-icons/simple-icons.git"
@@ -17,36 +32,48 @@
},
"author": "Simple Icons Collaborators",
"license": "CC0-1.0",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/simple-icons"
+ },
"devDependencies": {
"editorconfig-checker": "4.0.2",
- "jest": "27.0.5",
- "jest-diff": "27.0.2",
- "jsonschema": "1.4.0",
+ "esbuild": "0.14.50",
+ "fake-diff": "1.0.0",
+ "husky": "8.0.1",
+ "is-ci": "3.0.1",
+ "jsonschema": "1.4.1",
+ "mocha": "10.0.0",
+ "named-html-entities-json": "1.0.0",
"npm-run-all": "4.1.5",
- "svg-path-bbox": "1.0.1",
+ "prettier": "2.7.1",
+ "rimraf": "3.0.2",
+ "svg-path-bbox": "1.2.2",
"svg-path-segments": "1.0.0",
- "svglint": "1.0.8",
- "svgo": "2.3.1",
- "svgpath": "2.3.1",
- "uglify-js": "3.13.10"
+ "svglint": "2.1.0",
+ "svgo": "2.8.0",
+ "svgpath": "2.5.0"
},
"scripts": {
"build": "node scripts/build/package.js",
- "clean": "rm -f icons/*.js index.js",
- "lint": "run-s our-lint jsonlint svglint wslint",
+ "clean": "rimraf index.js icons.js icons.mjs icons.d.ts",
+ "format": "prettier --write .",
+ "lint": "run-s our-lint jslint jsonlint svglint wslint",
"our-lint": "node scripts/lint/ourlint.js",
+ "jslint": "prettier --check .",
"jsonlint": "node scripts/lint/jsonlint.js",
- "svglint": "svglint icons/*.svg --ci",
- "wslint": "editorconfig-checker -exclude \\.svg$",
+ "svglint": "svglint icons/*.svg --ci --config .svglintrc.mjs",
+ "wslint": "editorconfig-checker",
+ "prepare": "is-ci || husky install",
"prepublishOnly": "npm run build",
"postpublish": "npm run clean",
- "test": "jest",
+ "test": "mocha tests --reporter tests/min-reporter.cjs --inline-diffs",
"pretest": "npm run prepublishOnly",
"posttest": "npm run postpublish",
"svgo": "svgo --config svgo.config.js",
"get-filename": "node scripts/get-filename.js"
},
- "engine": {
+ "engines": {
"node": ">=0.12.18"
}
}
diff --git a/scripts/build/package.js b/scripts/build/package.js
index a55e0e2187df..0088eac93427 100644
--- a/scripts/build/package.js
+++ b/scripts/build/package.js
@@ -7,80 +7,129 @@
* tree-shakeable
*/
-const fs = require("fs");
-const path = require("path");
-const util = require("util");
-const minify = require("uglify-js").minify;
-
-const UTF8 = "utf8";
-
-const rootDir = path.resolve(__dirname, "..", "..");
-const dataFile = path.resolve(rootDir, "_data", "simple-icons.json");
-const indexFile = path.resolve(rootDir, "index.js");
-const iconsDir = path.resolve(rootDir, "icons");
-
-const templatesDir = path.resolve(__dirname, "templates");
-const indexTemplateFile = path.resolve(templatesDir, "index.js");
-const iconObjectTemplateFile = path.resolve(templatesDir, "icon-object.js");
-
-const indexTemplate = fs.readFileSync(indexTemplateFile, UTF8);
-const iconObjectTemplate = fs.readFileSync(iconObjectTemplateFile, UTF8);
-
-const data = require(dataFile);
-const { getIconSlug, titleToSlug } = require("../utils.js");
-
-// Local helper functions
-function escape(value) {
- return value.replace(/(? {
+ const icons = await getIconsData();
+ const indexTemplate = await fs.readFile(indexTemplateFile, UTF8);
+ const iconObjectTemplate = await fs.readFile(iconObjectTemplateFile, UTF8);
+
+ // Local helper functions
+ const escape = (value) => {
+ return value.replace(/(? {
+ return `'${icon.slug}':${iconToObject(icon)}`;
+ };
+ const licenseToObject = (license) => {
+ if (license === undefined) {
+ return;
+ }
+
+ if (license.url === undefined) {
+ license.url = `https://spdx.org/licenses/${license.type}`;
+ }
+ return license;
+ };
+ const iconToObject = (icon) => {
+ return util.format(
+ iconObjectTemplate,
+ escape(icon.title),
+ escape(icon.slug),
+ escape(titleToHtmlFriendly(icon.title)),
+ escape(icon.path),
+ escape(icon.source),
+ escape(icon.hex),
+ icon.guidelines ? `'${escape(icon.guidelines)}'` : undefined,
+ licenseToObject(icon.license),
+ );
+ };
+ const writeJs = async (filepath, rawJavaScript) => {
+ const { code } = await esbuildTransform(rawJavaScript, {
+ minify: true,
+ });
+ await fs.writeFile(filepath, code);
+ };
+ const writeTs = async (filepath, rawTypeScript) => {
+ await fs.writeFile(filepath, rawTypeScript);
+ };
+
+ // 'main'
+ const iconsBarrelMjs = [];
+ const iconsBarrelJs = [];
+ const iconsBarrelDts = [];
+ const buildIcons = [];
+
+ await Promise.all(
+ icons.map(async (icon) => {
+ const filename = getIconSlug(icon);
+ const svgFilepath = path.resolve(iconsDir, `${filename}.svg`);
+ icon.svg = (await fs.readFile(svgFilepath, UTF8)).replace(/\r?\n/, '');
+ icon.path = svgToPath(icon.svg);
+ icon.slug = filename;
+ buildIcons.push(icon);
+
+ const iconObject = iconToObject(icon);
+
+ const iconExportName = slugToVariableName(icon.slug);
+
+ // add object to the barrel file
+ iconsBarrelJs.push(`${iconExportName}:${iconObject},`);
+ iconsBarrelMjs.push(`export const ${iconExportName}=${iconObject}`);
+ iconsBarrelDts.push(`export const ${iconExportName}:I;`);
+ }),
+ );
+
+ // constants used in templates to reduce package size
+ const constantsString = `const a='',b='';`;
+
+ // write our generic index.js
+ const rawIndexJs = util.format(
+ indexTemplate,
+ constantsString,
+ buildIcons.map(iconToKeyValue).join(','),
);
-}
-function minifyAndWrite(filepath, rawJavaScript) {
- const { error, code } = minify(rawJavaScript);
- if (error) {
- console.error(error);
- process.exit(1);
- } else {
- fs.writeFileSync(filepath, code);
- }
-}
-
-// 'main'
-const icons = [];
-data.icons.forEach(icon => {
- const filename = getIconSlug(icon);
- const svgFilepath = path.resolve(iconsDir, `${filename}.svg`);
- icon.svg = fs.readFileSync(svgFilepath, UTF8).replace(/\r?\n/, '');
- icon.slug = filename;
- icons.push(icon);
-
- // write the static .js file for the icon
- const jsFilepath = path.resolve(iconsDir, `${filename}.js`);
- minifyAndWrite(jsFilepath, `module.exports=${iconToObject(icon)};`);
-});
-
-// write our generic index.js
-const rawIndexJs = util.format(indexTemplate, icons.map(iconToKeyValue).join(','));
-minifyAndWrite(indexFile, rawIndexJs);
+ await writeJs(indexFile, rawIndexJs);
+
+ // write our file containing the exports of all icons in CommonJS ...
+ const rawIconsJs = `${constantsString}module.exports={${iconsBarrelJs.join(
+ '',
+ )}};`;
+ await writeJs(iconsJsFile, rawIconsJs);
+ // and ESM
+ const rawIconsMjs = constantsString + iconsBarrelMjs.join('');
+ await writeJs(iconsMjsFile, rawIconsMjs);
+ // and create a type declaration file
+ const rawIconsDts = `import {SimpleIcon} from ".";type I = SimpleIcon;${iconsBarrelDts.join(
+ '',
+ )}`;
+ await writeTs(iconsDtsFile, rawIconsDts);
+};
+
+build();
diff --git a/scripts/build/templates/icon-object.js b/scripts/build/templates/icon-object.js
index 183da6aef735..bccadac2434b 100644
--- a/scripts/build/templates/icon-object.js
+++ b/scripts/build/templates/icon-object.js
@@ -1,10 +1,10 @@
{
title: '%s',
slug: '%s',
- svg: '%s',
- get path() {
- return this.svg.match(/ `${acc} ${arg}`, process.argv[2]);
const filename = titleToSlug(brandName);
diff --git a/scripts/lint/jsonlint.js b/scripts/lint/jsonlint.js
index b89e97de93d8..7e61515786d9 100644
--- a/scripts/lint/jsonlint.js
+++ b/scripts/lint/jsonlint.js
@@ -1,20 +1,33 @@
-const path = require("path");
-const Validator = require("jsonschema").Validator;
+#!/usr/bin/env node
+/**
+ * @fileoverview
+ * CLI tool to run jsonschema on the simple-icons.json data file.
+ */
-const rootDir = path.resolve(__dirname, "..", "..");
-const schemaFile = path.resolve(rootDir, ".jsonschema.json");
-const dataFile = path.resolve(rootDir, "_data", "simple-icons.json");
+import { promises as fs } from 'node:fs';
+import path from 'node:path';
+import { Validator } from 'jsonschema';
+import { getDirnameFromImportMeta, getIconsData } from '../utils.js';
-const schema = require(schemaFile);
-const data = require(dataFile);
+const __dirname = getDirnameFromImportMeta(import.meta.url);
-const validator = new Validator();
-const result = validator.validate(data, schema);
-if (result.errors.length > 0) {
- result.errors.forEach((error) => {
- console.error(error);
- });
+const rootDir = path.resolve(__dirname, '..', '..');
+const schemaFile = path.resolve(rootDir, '.jsonschema.json');
- console.error(`Found ${result.errors.length} error(s) in simple-icons.json`);
- process.exit(1);
-}
+(async () => {
+ const icons = await getIconsData();
+ const schema = JSON.parse(await fs.readFile(schemaFile, 'utf8'));
+
+ const validator = new Validator();
+ const result = validator.validate({ icons }, schema);
+ if (result.errors.length > 0) {
+ result.errors.forEach((error) => {
+ console.error(error);
+ });
+
+ console.error(
+ `Found ${result.errors.length} error(s) in simple-icons.json`,
+ );
+ process.exit(1);
+ }
+})();
diff --git a/scripts/lint/ourlint.js b/scripts/lint/ourlint.js
index d275a5d7fdd0..677775a4a7c3 100644
--- a/scripts/lint/ourlint.js
+++ b/scripts/lint/ourlint.js
@@ -5,16 +5,8 @@
* linters (e.g. jsonlint/svglint).
*/
-const fs = require("fs");
-const path = require("path");
-
-const { diffLinesUnified } = require("jest-diff");
-
-const UTF8 = "utf8";
-
-const rootDir = path.resolve(__dirname, "..", "..");
-const dataFile = path.resolve(rootDir, "_data", "simple-icons.json");
-const data = require(dataFile);
+import fakeDiff from 'fake-diff';
+import { getIconsDataString, normalizeNewlines } from '../utils.js';
/**
* Contains our tests so they can be isolated from each other.
@@ -22,7 +14,7 @@ const data = require(dataFile);
*/
const TESTS = {
/* Tests whether our icons are in alphabetical order */
- alphabetical: function() {
+ alphabetical: (data) => {
const collector = (invalidEntries, icon, index, array) => {
if (index > 0) {
const prev = array[index - 1];
@@ -39,7 +31,7 @@ const TESTS = {
}
return invalidEntries;
};
- const format = icon => {
+ const format = (icon) => {
if (icon.slug) {
return `${icon.title} (${icon.slug})`;
}
@@ -49,35 +41,35 @@ const TESTS = {
const invalids = data.icons.reduce(collector, []);
if (invalids.length) {
return `Some icons aren't in alphabetical order:
- ${invalids.map(icon => format(icon)).join(", ")}`;
+ ${invalids.map((icon) => format(icon)).join(', ')}`;
}
},
/* Check the formatting of the data file */
- prettified: function() {
- const dataString = fs.readFileSync(dataFile, UTF8).replace(/\r\n/g, '\n');
- const dataPretty = `${JSON.stringify(data, null, " ")}\n`;
- if (dataString !== dataPretty) {
- const dataDiff = diffLinesUnified(
- dataString.split("\n"),
- dataPretty.split("\n"),
- {
- expand: false,
- omitAnnotationLines: true
- },
- );
+ prettified: async (data, dataString) => {
+ const normalizedDataString = normalizeNewlines(dataString);
+ const dataPretty = `${JSON.stringify(data, null, ' ')}\n`;
+ if (normalizedDataString !== dataPretty) {
+ const dataDiff = fakeDiff(normalizedDataString, dataPretty);
return `Data file is formatted incorrectly:\n\n${dataDiff}`;
}
- }
+ },
};
// execute all tests and log all errors
-const errors = Object.keys(TESTS)
- .map(k => TESTS[k]())
- .filter(Boolean);
+(async () => {
+ const dataString = await getIconsDataString();
+ const data = JSON.parse(dataString);
+
+ const errors = (
+ await Promise.all(
+ Object.keys(TESTS).map((test) => TESTS[test](data, dataString)),
+ )
+ ).filter(Boolean);
-if (errors.length > 0) {
- errors.forEach(error => console.error(`\u001b[31m${error}\u001b[0m`));
- process.exit(1);
-}
+ if (errors.length > 0) {
+ errors.forEach((error) => console.error(`\u001b[31m${error}\u001b[0m`));
+ process.exit(1);
+ }
+})();
diff --git a/scripts/package.json b/scripts/package.json
new file mode 100644
index 000000000000..3dbc1ca591c0
--- /dev/null
+++ b/scripts/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
diff --git a/scripts/release/bump-version.js b/scripts/release/bump-version.js
index 90c16cab2752..d19b7bb0eb5f 100644
--- a/scripts/release/bump-version.js
+++ b/scripts/release/bump-version.js
@@ -4,38 +4,37 @@
* Updates the version of this package to the CLI specified version.
*/
-const fs = require("fs");
-const path = require("path");
+import fs from 'node:fs';
+import path from 'node:path';
+import { getDirnameFromImportMeta } from '../utils.js';
-const rootDir = path.resolve(__dirname, "..", "..");
-const packageJsonFile = path.resolve(rootDir, "package.json");
-const packageLockFile = path.resolve(rootDir, "package-lock.json");
+const __dirname = getDirnameFromImportMeta(import.meta.url);
-function readManifest(file) {
- const manifestRaw = fs.readFileSync(file).toString();
+const rootDir = path.resolve(__dirname, '..', '..');
+const packageJsonFile = path.resolve(rootDir, 'package.json');
+
+const readManifest = (file) => {
+ const manifestRaw = fs.readFileSync(file, 'utf-8');
const manifestJson = JSON.parse(manifestRaw);
return manifestJson;
-}
+};
-function writeManifest(file, json) {
- const manifestRaw = JSON.stringify(json, null, 2) + "\n";
+const writeManifest = (file, json) => {
+ const manifestRaw = JSON.stringify(json, null, 2) + '\n';
fs.writeFileSync(file, manifestRaw);
-}
+};
-function main(newVersion) {
+const main = (newVersion) => {
try {
const manifest = readManifest(packageJsonFile);
- const manifestLock = readManifest(packageLockFile);
- manifest.version = newVersion
- manifestLock.version = newVersion
+ manifest.version = newVersion;
writeManifest(packageJsonFile, manifest);
- writeManifest(packageLockFile, manifestLock);
} catch (error) {
console.error(`Failed to bump package version to ${newVersion}:`, error);
process.exit(1);
}
-}
+};
main(process.argv[2]);
diff --git a/scripts/release/update-cdn-urls.js b/scripts/release/update-cdn-urls.js
index adf967631e85..ed311a189dee 100644
--- a/scripts/release/update-cdn-urls.js
+++ b/scripts/release/update-cdn-urls.js
@@ -5,24 +5,27 @@
* NPM package manifest. Does nothing if the README.md is already up-to-date.
*/
-const fs = require("fs");
-const path = require("path");
+import fs from 'node:fs';
+import path from 'node:path';
+import { getDirnameFromImportMeta } from '../utils.js';
-const rootDir = path.resolve(__dirname, "..", "..");
-const packageJsonFile = path.resolve(rootDir, "package.json");
-const readmeFile = path.resolve(rootDir, "README.md");
+const __dirname = getDirnameFromImportMeta(import.meta.url);
-function getMajorVersion(semVerVersion) {
+const rootDir = path.resolve(__dirname, '..', '..');
+const packageJsonFile = path.resolve(rootDir, 'package.json');
+const readmeFile = path.resolve(rootDir, 'README.md');
+
+const getMajorVersion = (semVerVersion) => {
const majorVersionAsString = semVerVersion.split('.')[0];
return parseInt(majorVersionAsString);
-}
+};
-function getManifest() {
- const manifestRaw = fs.readFileSync(packageJsonFile).toString();
+const getManifest = () => {
+ const manifestRaw = fs.readFileSync(packageJsonFile, 'utf-8');
return JSON.parse(manifestRaw);
-}
+};
-function updateVersionInReadmeIfNecessary(majorVersion) {
+const updateVersionInReadmeIfNecessary = (majorVersion) => {
let content = fs.readFileSync(readmeFile).toString();
content = content.replace(
@@ -31,17 +34,17 @@ function updateVersionInReadmeIfNecessary(majorVersion) {
);
fs.writeFileSync(readmeFile, content);
-}
+};
-function main() {
+const main = () => {
try {
const manifest = getManifest();
const majorVersion = getMajorVersion(manifest.version);
updateVersionInReadmeIfNecessary(majorVersion);
} catch (error) {
- console.error("Failed to update CDN version number:", error);
+ console.error('Failed to update CDN version number:', error);
process.exit(1);
}
-}
+};
main();
diff --git a/scripts/release/update-slugs-table.js b/scripts/release/update-slugs-table.js
index 69657e8b2538..250c96d67837 100644
--- a/scripts/release/update-slugs-table.js
+++ b/scripts/release/update-slugs-table.js
@@ -4,15 +4,16 @@
* Generates a MarkDown file that lists every brand name and their slug.
*/
-const fs = require("fs");
-const path = require("path");
+import { promises as fs } from 'node:fs';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { getIconsData, getIconSlug } from '../utils.js';
-const rootDir = path.resolve(__dirname, "..", "..");
-const dataFile = path.resolve(rootDir, "_data", "simple-icons.json");
-const slugsFile = path.resolve(rootDir, "slugs.md");
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
-const data = require(dataFile);
-const { getIconSlug } = require("../utils.js");
+const rootDir = path.resolve(__dirname, '..', '..');
+const slugsFile = path.resolve(rootDir, 'slugs.md');
let content = `