pax_global_header00006660000000000000000000000064146512427160014522gustar00rootroot0000000000000052 comment=cd7c704487a3a79b6619bfcd0c6af83104d630a8 pymdown-extensions-10.9/000077500000000000000000000000001465124271600153455ustar00rootroot00000000000000pymdown-extensions-10.9/.babelrc000066400000000000000000000000471465124271600167410ustar00rootroot00000000000000{ "presets": ["@babel/preset-env"] } pymdown-extensions-10.9/.codecov.yml000066400000000000000000000000651465124271600175710ustar00rootroot00000000000000comment: false coverage: status: patch: false pymdown-extensions-10.9/.coveragerc000066400000000000000000000001201465124271600174570ustar00rootroot00000000000000[run] omit= pymdownx/plainhtml.py [report] omit= pymdownx/plainhtml.py pymdown-extensions-10.9/.eslintrc000066400000000000000000000117041465124271600171740ustar00rootroot00000000000000{ "extends": "eslint:recommended", "env": { "browser": true, "es6": true, "node": true }, "globals": { "mermaid": true, "mermaidConfig": true, "MathJax": true, "katex": true }, "parser": "@babel/eslint-parser", "parserOptions": { "ecmaVersion": 2020, "impliedStrict": true, "sourceType": "module", "ecmaFeatures": { "arrowFunctions": true, "binaryLiterals": true, "blockBindings": true, "classes": true, "defaultParams": true, "destructuring": true, "forOf": true, "generators": true, "globalReturn": true, "modules": true, "objectLiteralComputedProperties": true, "objectLiteralDuplicateProperties": true, "objectLiteralShorthandMethods": true, "objectLiteralShorthandProperties": true, "octalLiterals": true, "regexUFlag": true, "regexYFlag": true, "spread": true, "superInFunctions": false, "templateStrings": true, "unicodeCodePointEscapes": true } }, "plugins": [], "rules": { "array-callback-return": 2, "array-bracket-spacing": 2, "arrow-parens": [2, "as-needed"], "arrow-spacing": 2, "block-scoped-var": 2, "block-spacing": 2, "brace-style": 2, "camelcase": [2, { "properties": "always" }], "comma-dangle": [2, "never"], "comma-style": [2, "last"], "complexity": 2, "computed-property-spacing": 2, "consistent-this": 2, "dot-notation": 2, "eol-last": 2, "eqeqeq": 2, "func-call-spacing": 2, "func-names": [2, "never"], "func-style": 2, "generator-star-spacing": 2, "indent": [2, 2, { "FunctionDeclaration": { "body": 1, "parameters": 2 }, "FunctionExpression": { "body": 1, "parameters": 2 }, "MemberExpression": 1, "VariableDeclarator": { "var": 2, "let": 2, "const": 3 }, "ignoredNodes": [ "TemplateLiteral" ], "SwitchCase": 1 }], "init-declarations": 2, "key-spacing": 2, "keyword-spacing": 2, "linebreak-style": 0, "lines-around-comment": 2, "lines-around-directive": 2, "max-depth": 2, "max-len": [1, { "code": 120, "ignorePattern": "\/\/ TODO" }], "max-nested-callbacks": 2, "max-params": 2, "max-statements-per-line": 2, "new-cap": 2, "newline-per-chained-call": 2, "no-array-constructor": 2, "no-alert": 2, "no-caller": 2, "no-confusing-arrow": [2, { "allowParens": false }], "no-console": 1, "no-duplicate-imports": 2, "no-eq-null": 2, "no-eval": 2, "no-extend-native": 2, "no-extra-bind": 2, "no-floating-decimal": 2, "no-global-assign": 2, "no-invalid-this": 2, "no-labels": 2, "no-lone-blocks": 2, "no-loop-func": 2, "no-multiple-empty-lines": [1, { "max": 1 }], "no-nested-ternary": 2, "no-new": 0, "no-new-object": 2, "no-param-reassign": 2, "no-prototype-builtins": 2, "no-shadow": 2, "no-tabs": 2, "no-template-curly-in-string": 2, "no-throw-literal": 2, "no-trailing-spaces": 2, "no-undefined": 2, "no-underscore-dangle": [2, { "allowAfterThis": true, "allowAfterSuper": true }], "no-unneeded-ternary": 2, "no-unsafe-negation": 2, "no-unused-expressions": 2, "no-unused-vars": 1, "no-use-before-define": 2, "no-useless-call": 2, "no-useless-computed-key": 2, "no-useless-constructor": 2, "no-useless-rename": 2, "no-var": 2, "no-whitespace-before-property": 2, "no-with": 2, "object-curly-spacing": [2, "never"], "object-shorthand": 2, "one-var-declaration-per-line": 2, "operator-assignment": 2, "prefer-arrow-callback": 2, "prefer-const": 2, "prefer-numeric-literals": 2, "prefer-spread": 2, "prefer-template": 2, // "quotes": [2, "double"], "radix": 2, "require-jsdoc": [1, { "require": { "FunctionDeclaration": true, "MethodDefinition": true, "ClassDeclaration": false } }], "rest-spread-spacing": 2, "semi": [2, "never"], "semi-spacing": 2, "space-before-function-paren": [2, "never"], "space-in-parens": 2, "space-infix-ops": 2, "space-unary-ops": 2, "spaced-comment": [2, "always", { "line": { "markers": ["/", ":"], "exceptions": ["-", "+"] }, "block": { "markers": ["!"], "exceptions": ["*"], "balanced": true } }], "strict": 2, "template-curly-spacing": "off", "unicode-bom": 2, "valid-jsdoc": [1, { "prefer": { "arg": "param", "argument": "param", "class": "constructor", "returns": "return", "virtual": "abstract" }, "requireParamDescription": true, "requireReturn": false, "requireReturnDescription": true }], "yield-star-spacing": 2 }, "root": true } pymdown-extensions-10.9/.gitattributes000066400000000000000000000001051465124271600202340ustar00rootroot00000000000000tests/extensions/** linguist-vendored doc_theme/** linguist-vendored pymdown-extensions-10.9/.github/000077500000000000000000000000001465124271600167055ustar00rootroot00000000000000pymdown-extensions-10.9/.github/FUNDING.yml000066400000000000000000000001061465124271600205170ustar00rootroot00000000000000github: facelessuser custom: - "https://www.paypal.me/facelessuser" pymdown-extensions-10.9/.github/ISSUE_TEMPLATE/000077500000000000000000000000001465124271600210705ustar00rootroot00000000000000pymdown-extensions-10.9/.github/ISSUE_TEMPLATE/bug.yml000066400000000000000000000015411465124271600223710ustar00rootroot00000000000000name: Bug Report description: Report a bug labels: - 'T: bug' body: - type: textarea id: description attributes: label: Description description: A clear and concise description of the problem validations: required: true - type: textarea id: reproduction attributes: label: Minimal Reproduction description: Provide steps to reproduce the problem placeholder: |- 1. ... 2. ... 3. ... validations: required: true - type: textarea id: versions attributes: label: Version(s) & System Info description: >- Please provide problematic package version, Python version, operating system, etc. value: |- - Operating System: ... - Python Version: ... - Package Version: ... validations: required: true pymdown-extensions-10.9/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000002401465124271600230540ustar00rootroot00000000000000blank_issues_enabled: false contact_links: - name: Question url: https://github.com/facelessuser/pymdown-extensions/discussions about: Ask a question pymdown-extensions-10.9/.github/ISSUE_TEMPLATE/feature.yml000066400000000000000000000012471465124271600232520ustar00rootroot00000000000000name: Feature Request description: Request a feature labels: - 'T: feature' body: - type: textarea id: description attributes: label: Description description: A clear and concise description of the problem or missing capability validations: required: true - type: textarea id: benefits attributes: label: Benefits description: How would this benefit users in general? validations: required: true - type: textarea id: solution-idea attributes: label: Solution Idea description: >- Do you have an idea of how this might work? If so, provide details, examples, references, etc. pymdown-extensions-10.9/.github/dependabot.yml000066400000000000000000000044201465124271600215350ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: npm directory: "/" schedule: interval: daily open-pull-requests-limit: 10 ignore: - dependency-name: eslint versions: - "< 5.0.2, >= 5.0.1.a" - dependency-name: eslint versions: - "< 5.1.1, >= 5.1.0.a" - dependency-name: eslint versions: - "< 5.2.1, >= 5.2.0.a" - dependency-name: eslint versions: - "< 5.3.1, >= 5.3.0.a" - dependency-name: eslint versions: - "< 6, >= 5.a" - dependency-name: gulp-eslint versions: - "< 5.0.1, >= 5.0.0.a" - dependency-name: eslint versions: - 7.19.0 - 7.20.0 - 7.21.0 - 7.22.0 - 7.23.0 - 7.24.0 - dependency-name: rollup versions: - 2.38.1 - 2.38.2 - 2.38.3 - 2.38.4 - 2.39.0 - 2.39.1 - 2.40.0 - 2.41.0 - 2.41.1 - 2.41.2 - 2.41.4 - 2.41.5 - 2.42.2 - 2.42.3 - 2.42.4 - 2.43.1 - 2.44.0 - 2.45.0 - 2.45.1 - dependency-name: "@babel/core" versions: - 7.12.13 - 7.12.16 - 7.12.17 - 7.13.1 - 7.13.10 - 7.13.13 - 7.13.15 - 7.13.8 - dependency-name: "@primer/octicons" versions: - 11.3.0 - 12.0.0 - 12.1.0 - dependency-name: "@babel/cli" versions: - 7.12.13 - 7.12.16 - 7.12.17 - 7.13.10 - 7.13.14 - dependency-name: "@babel/preset-env" versions: - 7.12.13 - 7.12.16 - 7.12.17 - 7.13.10 - 7.13.12 - 7.13.8 - 7.13.9 - dependency-name: terser versions: - 5.6.0 - 5.6.1 - dependency-name: "@fortawesome/fontawesome-free" versions: - 5.15.3 - dependency-name: stylelint versions: - 13.10.0 - 13.11.0 - 13.12.0 - dependency-name: clean-css versions: - 5.1.0 - 5.1.1 - dependency-name: "@babel/register" versions: - 7.12.13 - 7.13.8 - dependency-name: autoprefixer versions: - 10.2.4 - dependency-name: gulp-postcss versions: - 9.0.0 - dependency-name: postcss-inline-svg versions: - 5.0.0 - dependency-name: "@rollup/plugin-babel" versions: - 5.2.3 - 5.3.0 - dependency-name: "@babel/plugin-external-helpers" versions: - 7.12.13 - package-ecosystem: pip directory: "/" schedule: interval: daily open-pull-requests-limit: 10 pymdown-extensions-10.9/.github/labels.yml000066400000000000000000000114211465124271600206710ustar00rootroot00000000000000template: 'facelessuser:master-labels:labels.yml:master' # Wildcard labels brace_expansion: true extended_glob: true minus_negate: false rules: - labels: ['C: infrastructure'] patterns: ['*|@(requirements|.github)/**|!*.md'] - labels: ['C: source'] patterns: ['pymdownx/**'] - labels: ['C: tests'] patterns: ['tests/**'] - labels: ['C: docs'] patterns: ['docs/**|*.md'] - labels: ['C: caret'] patterns: ['**/?(test_)caret*.py|tests/**/caret/**'] - labels: ['C: arithmatex'] patterns: ['**/?(test_)arithmatex*.py|tests/**/arithmatex/**'] - labels: ['C: critic'] patterns: ['**/?(test_|gen_)critic*.py|tests/**/critic/**'] - labels: ['C: details'] patterns: ['**/?(test_)details*.py|tests/**/details/**'] - labels: ['C: emoji'] patterns: ['**/?(test_|gen_)emoji*|tests/**/emoji/**|pymdownx/@(gemoji|emoji1|twemoji)_db.py'] - labels: ['C: escapeall'] patterns: ['**/?(test_)escapeall*.py|tests/**/escapeall/**'] - labels: ['C: extra'] patterns: ['**/?(test_)extra!(rawhtml)*.py|tests/**/extra!(rawhtml)/**|!docs/theme/**|!docs/src/@(js|scss)/**'] - labels: ['C: highlight'] patterns: ['**/?(test_)highlight*.py|tests/**/highlight/**'] - labels: ['C: inlinehilite'] patterns: ['**/?(test_)inlinehilite*.py|tests/**/inlinehilite/**'] - labels: ['C: keys'] patterns: ['**/?(test_)keys*.py|tests/**/keys/**|pymdownx/keymap_db.py'] - labels: ['C: magiclink'] patterns: ['**/?(test_)magiclink*.py|tests/**/magiclink/**'] - labels: ['C: mark'] patterns: ['**/?(test_)mark*.py|tests/**/mark/**'] - labels: ['C: pathconverter'] patterns: ['**/?(test_)pathconverter*.py|tests/**/pathconverter/**'] - labels: ['C: progressbar'] patterns: ['**/?(test_)progressbar*.py|tests/**/progressbar/**'] - labels: ['C: slugs'] patterns: ['**/?(test_)slugs*.py|tests/**/slugs/**'] - labels: ['C: smartsymbols'] patterns: ['**/?(test_)smartsymbols*.py|tests/**/smartsymbols/**'] - labels: ['C: snippets'] patterns: ['**/?(test_)snippets*.py|tests/**/snippets/**'] - labels: ['C: striphtml'] patterns: ['**/?(test_)striphtml*.py|tests/**/striphtml/**'] - labels: ['C: superfences'] patterns: ['**/?(test_)superfences*.py|tests/**/superfences/**|**/_bypassnorm.py'] - labels: ['C: tabbed'] patterns: ['**/?(test_)tabbed*.py|tests/**/tabbed/**'] - labels: ['C: tasklist'] patterns: ['**/?(test_)tasklist*.py|tests/**/tasklist/**'] - labels: ['C: tilde'] patterns: ['**/?(test_)tilde*.py|tests/**/tilde/**'] ignores: - dependencies - javascript - security labels: - name: 'C: arithmatex' color: subcategory description: Related to the arithmatex extension. - name: 'C: b64' color: subcategory description: Related to the b64 extension. - name: 'C: betterem' color: subcategory description: Related to the betterem extension. - name: 'C: caret' color: subcategory description: Related to the caret extension. - name: 'C: critic' color: subcategory description: Related to the critic extension. - name: 'C: details' color: subcategory description: Related to the details extension. - name: 'C: emoji' color: subcategory description: Related to the emoji extension. - name: 'C: escapeall' color: subcategory description: Related to the escapeall extension. - name: 'C: extra' renamed: extra color: subcategory description: Related to the extra extension. - name: 'C: highlight' color: subcategory description: Related to the highlight extension. - name: 'C: inlinehilite' color: subcategory description: Related to the inlinehilite extension. - name: 'C: keys' color: subcategory description: Related to the keys extension. - name: 'C: magiclink' color: subcategory description: Related to the magiclink extension. - name: 'C: mark' color: subcategory description: Related to the mark extension. - name: 'C: pathconverter' color: subcategory description: Related to the paythconverter extension. - name: 'C: progressbar' color: subcategory description: Related to the progressbar extension. - name: 'C: slugs' color: subcategory description: Related to the slugs extension. - name: 'C: smartsymbols' color: subcategory description: Related to the smartsymbols extension. - name: 'C: snippets' color: subcategory description: Related to the snippets extension. - name: 'C: striphtml' color: subcategory description: Related to the striphtml extension. - name: 'C: superfences' color: subcategory description: Related to the superfences extension. - name: 'C: tabbed' color: subcategory description: Related to the tabbed extension. - name: 'C: tasklist' color: subcategory description: Related to the tasklist extension. - name: 'C: tilde' color: subcategory description: Related to the tilde extension. pymdown-extensions-10.9/.github/workflows/000077500000000000000000000000001465124271600207425ustar00rootroot00000000000000pymdown-extensions-10.9/.github/workflows/build.yml000066400000000000000000000054331465124271600225710ustar00rootroot00000000000000name: build on: push: branches: - 'main' tags: - '**' pull_request: branches: - '**' jobs: tests: strategy: fail-fast: false max-parallel: 4 matrix: platform: [ubuntu-latest, windows-latest] python-version: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] include: - python-version: 3.8 tox-env: py38 - python-version: 3.9 tox-env: py39 - python-version: '3.10' tox-env: py310 - python-version: '3.11' tox-env: py311 - python-version: '3.12' tox-env: py312 - python-version: '3.13' tox-env: py313 # exclude: # - platform: windows-latest # python-version: 3.10 env: TOXENV: ${{ matrix.tox-env }} runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} allow-prereleases: true - name: Install dependencies run: | python -m pip install --upgrade pip build tox coverage codecov - name: Test run: | python -m tox - name: Upload Results if: success() uses: codecov/codecov-action@v4 with: file: ./coverage.xml flags: unittests name: ${{ matrix.platform }}-${{ matrix.tox-env }} token: ${{ secrets.CODECOV_TOKEN }} # required fail_ci_if_error: false lint: strategy: max-parallel: 4 matrix: python-version: ['3.11'] env: TOXENV: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip build tox - name: Lint run: | python -m tox documents: strategy: max-parallel: 4 matrix: python-version: ['3.11'] env: TOXENV: documents runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Setup Node uses: actions/setup-node@v4 with: node-version: '16' - name: Install dependencies run: | python -m pip install --upgrade pip build tox npm install --legacy-peer-deps - name: Install Aspell run: | sudo apt-get install aspell aspell-en - name: Build documents run: | npm run build python -m tox pymdown-extensions-10.9/.github/workflows/deploy.yml000066400000000000000000000026311465124271600227630ustar00rootroot00000000000000name: deploy on: push: tags: - '*' jobs: documents: strategy: max-parallel: 4 matrix: python-version: ['3.11'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip build python -m pip install -r requirements/docs.txt - name: Deploy documents run: | git config user.name ${{ secrets.GH_USER }} git config user.email "${{ secrets.GH_EMAIL }}" git remote add gh-token "https://${{ secrets.GH_TOKEN }}@github.com/facelessuser/pymdown-extensions.git" git fetch gh-token && git fetch gh-token gh-pages:gh-pages python -m mkdocs gh-deploy -v --clean --remote-name gh-token git push gh-token gh-pages pypi: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - name: Package run: | pip install --upgrade build python -m build -s -w - name: Publish uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} pymdown-extensions-10.9/.gitignore000066400000000000000000000015261465124271600173410ustar00rootroot00000000000000.DS_Store # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .cache nosetests.xml coverage.xml # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # PyBuilder target/ tools/emoji.md site/ tools/tags/ tmp* node_modules/ manifest*.json *.dic # IDE .vscode/ # cache .pytest_cache # Patches *.patch docs/src/dictionary/hunspell/ pymdown-extensions-10.9/.pyspelling.yml000066400000000000000000000075131465124271600203420ustar00rootroot00000000000000matrix: - name: mkdocs pipeline: - pyspelling.filters.html: comments: false attributes: - title - alt ignores: - ':matches(code, pre)' - 'a:matches(.magiclink-compare, .magiclink-commit, .magiclink-repository)' - '.md-social__link' - 'span.keys' - '.arithmatex, .md-nav__link, .md-footer-custom-text, .md-source__repository, .headerlink, .md-icon' - pyspelling.filters.url: sources: - site/**/*.html aspell: lang: en hunspell: d: docs/src/dictionary/hunspell/en_US dictionary: wordlists: - docs/src/dictionary/en-custom.txt output: build/dictionary/mkdocs.dic - name: markdown sources: - README.md aspell: lang: en hunspell: d: docs/src/dictionary/hunspell/en_US dictionary: wordlists: - docs/src/dictionary/en-custom.txt output: build/dictionary/mkdocs.dic pipeline: - pyspelling.filters.markdown: - pyspelling.filters.html: comments: false attributes: - title - alt ignores: - ':matches(code, pre)' - pyspelling.filters.url: - name: javascript pipeline: - pyspelling.filters.javascript: jsdocs: true - pyspelling.filters.context: context_visible_first: true escapes: '\\[\\`]' delimiters: # Ignore multiline content between fences (fences can have 3 or more back ticks) # ``` # content # ``` - open: '(?s)^(?P *`{3,})$' close: '^(?P=open)$' # Ignore text between inline back ticks - open: '(?P`+)' close: '(?P=open)' - pyspelling.filters.url: default_encoding: utf-8 sources: - docs/src/js/*.js aspell: lang: en hunspell: d: docs/src/dictionary/hunspell/en_US dictionary: wordlists: - docs/src/dictionary/en-custom.txt - docs/src/dictionary/en-javascript.txt output: build/dictionary/javascript.dic - name: scss default_encoding: utf-8 sources: - docs/src/scss/*.scss aspell: lang: en hunspell: d: docs/src/dictionary/hunspell/en_US dictionary: wordlists: - docs/src/dictionary/en-custom.txt output: build/dictionary/scss.dic pipeline: - pyspelling.filters.stylesheets: stylesheets: scss - pyspelling.filters.context: context_visible_first: true escapes: '\\[\\`]' delimiters: # Ignore multiline content between fences (fences can have 3 or more back ticks) # ``` # content # ``` - open: '(?s)^(?P *`{3,})$' close: '^(?P=open)$' # Ignore text between inline back ticks - open: '(?P`+)' close: '(?P=open)' - pyspelling.filters.url: - name: python sources: - pymdownx/**/*.py - tests/**/*.py - tools/**/*.py|!tools/tags/** aspell: lang: en hunspell: d: docs/src/dictionary/hunspell/en_US dictionary: wordlists: - docs/src/dictionary/en-custom.txt - docs/src/dictionary/en-python.txt output: build/dictionary/python.dic pipeline: - pyspelling.filters.python: group_comments: true - pyspelling.flow_control.wildcard: allow: - py-comment - pyspelling.filters.context: context_visible_first: true delimiters: # Ignore lint (noqa) and coverage (pragma) as well as shebang (#!) - open: '^(?: *(?:noqa\b|pragma: no cover)|!)' close: '$' # Ignore Python encoding string -*- encoding stuff -*- - open: '^ *-\*-' close: '-\*-$' - pyspelling.filters.context: context_visible_first: true escapes: '\\[\\`]' delimiters: # Ignore multiline content between fences (fences can have 3 or more back ticks) # ``` # content # ``` - open: '(?s)^(?P *`{3,})$' close: '^(?P=open)$' # Ignore text between inline back ticks - open: '(?P`+)' close: '(?P=open)' - pyspelling.filters.url: pymdown-extensions-10.9/.stylelintrc000066400000000000000000000021601465124271600177210ustar00rootroot00000000000000{ "extends": [ "stylelint-config-recommended", "stylelint-config-rational-order" ], "plugins": [ "stylelint-order", "stylelint-scss" ], "rules": { "at-rule-empty-line-before": null, "at-rule-no-unknown": null, "at-rule-no-vendor-prefix": true, "color-hex-length": "long", "color-named": "never", "comment-empty-line-before": ["always", { "ignore": ["stylelint-commands"] }], "font-family-name-quotes": "always-where-recommended", "font-weight-notation": "numeric", "function-url-quotes": "always", "media-query-no-invalid": null, "no-descending-specificity": null, "no-unknown-animations": true, "property-no-vendor-prefix": true, "selector-class-pattern": "^[a-z0-9]+(-[a-z0-9]+)*(__[a-z]+)?(--[a-z]+)?$", "selector-type-no-unknown": [true, {"ignore": ["custom-elements"]}], "unit-allowed-list": ["px", "em", "deg", "ms", "%", "mm", "vh", "dppx", "s"], "value-keyword-case": "lower", "value-no-vendor-prefix": true, "function-no-unknown": null, "annotation-no-unknown": [true, {"ignoreAnnotations": ["default"]}] } } pymdown-extensions-10.9/LICENSE.md000066400000000000000000000071121465124271600167520ustar00rootroot00000000000000# License ## PyMdown Extensions The MIT License (MIT) Copyright (c) 2014 - 2024 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ## SuperFences `superfences.py` is derived from Python Markdown's fenced_code extension. ``` Fenced Code Extension for Python Markdown ========================================= This extension adds Fenced Code Blocks to Python-Markdown. See for documentation. Original code Copyright 2007-2008 [Waylan Limberg](http://achinghead.com/). All changes Copyright 2008-2014 The Python Markdown Project License: [BSD](http://www.opensource.org/licenses/bsd-license.php) ``` ## Highlight `highlight.py` is derived from Python Markdown's CodeHilite extension. ``` CodeHilite Extension for Python-Markdown ======================================== Adds code/syntax highlighting to standard Python-Markdown code blocks. See for documentation. Original code Copyright 2006-2008 [Waylan Limberg](http://achinghead.com/). All changes Copyright 2008-2014 The Python Markdown Project License: [BSD](http://www.opensource.org/licenses/bsd-license.php) ``` ## Gemoji Index `gemoji_db.py` is generated from Gemoji's source code: @github/gemoji. ``` Copyright (c) 2013 GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## EmojiOne Index `emoji1_db.py` is generated from EmojiOne's source code: @Ranks/emojione ``` EmojiOne Non-Artwork Applies to the JavaScript, JSON, PHP, CSS, HTML files, and everything else not covered under the artwork license above. License: MIT Complete Legal Terms: http://opensource.org/licenses/MIT ``` pymdown-extensions-10.9/README.md000066400000000000000000000032701465124271600166260ustar00rootroot00000000000000[![Donate via PayPal][donate-image]][donate-link] [![Build][github-ci-image]][github-ci-link] [![Coverage Status][codecov-image]][codecov-link] [![PyPI Version][pypi-image]][pypi-link] [![PyPI Downloads][pypi-down]][pypi-link] [![PyPI - Python Version][python-image]][pypi-link] ![License][license-image-mit] # PyMdown Extensions Extensions for [Python Markdown](https://python-markdown.github.io). # Documentation Extension documentation is found here: https://facelessuser.github.io/pymdown-extensions/. # License License is MIT. See [LICENSE](https://github.com/facelessuser/pymdown-extensions/blob/master/LICENSE.md) for more info. [github-ci-image]: https://github.com/facelessuser/pymdown-extensions/workflows/build/badge.svg?branch=main&event=push [github-ci-link]: https://github.com/facelessuser/pymdown-extensions/actions?query=workflow%3Abuild+branch%3Amain [codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/pymdown-extensions/main.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333 [codecov-link]: https://codecov.io/github/facelessuser/pymdown-extensions [pypi-image]: https://img.shields.io/pypi/v/pymdown-extensions.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333 [pypi-link]: https://pypi.python.org/pypi/pymdown-extensions [python-image]: https://img.shields.io/pypi/pyversions/pymdown-extensions?logo=python&logoColor=aaaaaa&labelColor=333333 [pypi-down]: https://img.shields.io/pypi/dm/pymdown-extensions.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333 [license-image-mit]: https://img.shields.io/badge/license-MIT-blue.svg?labelColor=333333 [donate-image]: https://img.shields.io/badge/Donate-PayPal-3fabd1?logo=paypal [donate-link]: https://www.paypal.me/facelessuser pymdown-extensions-10.9/SECURITY.md000066400000000000000000000027501465124271600171420ustar00rootroot00000000000000# Security Vulnerabilities Our policy for security related issues is to fix related issues within our power on the most recent major release. ## Versioning Versioning follows [PEP440](https://peps.python.org/pep-0440/): `major.minior.patch`. Versions | Description -------- | ----------- Major | This reserved for releases that introduce breaking features. Minor | This reserved for releases that introduce new functionality. Patch | This is reserved for releases that only include bug fixes. Example ``` 8.0 8.1 8.1.3 ``` ## Create Security Vulnerability Report If you have found a security vulnerability, you can create a draft "security advisory" on the GitHub repository, [instructions here](https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory). Such advisories are kept private as the issue is explored. ## Security Vulnerability Workflow We will strive to acknowledge the report in about two business days. Reports will be kept private until the issue is properly understood. If the report is accepted we will notify Tidelift (who we've partnered with), request a CVE from GitHub, and work with the reporter to find a resolution. Work will be done privately, and the final commit will not mention the security issue. The fix, announcement, and release will be negotiated with the reporter. Afterwards, a release will be made and the vulnerability will be made public as close to each other as possible. pymdown-extensions-10.9/docs/000077500000000000000000000000001465124271600162755ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/000077500000000000000000000000001465124271600170645ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/dictionary/000077500000000000000000000000001465124271600212315ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/dictionary/en-custom.txt000066400000000000000000000045051465124271600237100ustar00rootroot00000000000000API Accessors Apr Arithmatex Arithmatex's Aspell AttrList BeautifulSoup BetterEm Bitbucket CDN CDNs CSS CVE Changelog Cloudflare CodeHilite CodeHilite's CodePen CommonMark CriticMarkup Ctrl DOM De Dedent Dicts Donath ElementTree Emmet Emoji EmojiOne EmojiOne's Esc EscapeAll ExtraRawHTML ExtraRawHtml Formatters GFM GIF Gantt Gemoji Gemoji's Gendered GitHub GitHub's GitHubEmoji GitLab GitLab's Gitter HeaderAnchor HeaderAnchor's Hunspell Inline InlineHilite InlineHilite's JPEG JSON Jan JavaScript JoyPixels Jun KBD KaTeX LaTeX Limberg MERCHANTABILITY MagicLink MagicLink's Malus Mar MathJax Mathjax MaxCDN MiB MkDocs MultiMarkdown NONINFRINGEMENT NOOP Num OAuth Octicons PHP PNG PNGs Pandoc Parsers PathConverter PathConverter's PathLike PlainHTML Pomaceous Postprocessor ProgressBar PyMdown PyPI PyYAML PyYaml PyYaml's Pygments Pymdownx Reindent Rosaceae SCSS SVG SVGs SaneHeaders Scrollbar Slugify SmartSymbols StripHTML Stylesheets SuperFences TODO Tasklist Tidelift Toc Tox Treeprocessor Treeprocessors Twemoji Twemoji's Twitter's UML UTF Uml Unescape Validators Virtualenv Waylan YAML accessor backrefs backtick backticks blockquote blockquotes bool boolean builtins checkbox checkboxes cmd config configs coveragepy customizable de dedented dedenting deprecations dev deviantart dict dicts didn't docstrings ebeweber emoji emojione escaper eslint etree facelessuser formatter formatter's formatters frontmatter gantt gemoji gfm gforcada github highlighter's hostnames html indepth indexable injectable inline inlined inlines ish isn't jQuery js kbd keymap lexer's linkafies linter lowercased lowercases macOS md mebibyte metadata mkdocs mrab mrabarnett namespace nd ned nl octocat online parser's parsers plugin plugins plusminus polyfill polyfilled polyfills positionally postfix pre prepend prepended prepending prepends preprocessor preprocessors prerelease prereleases px py pycqa pymdown pymdownx pypi pytest raphael rc reStructuredText rebranded regex reindent reinstalling reloader renderer repo requesters requestor revisioned sanitizer scrollable scrollbar scrollbars selectable shortener shortname shortnames slugify sortable squidfunk stylelint stylesheet stylesheets subclasses sublicense superfences syntaxes th theming thumbsup tooltips tox uc un underscore's unescaping unicode unittest unstyled uslugify validator validators versa whitespace whynne pymdown-extensions-10.9/docs/src/dictionary/en-javascript.txt000066400000000000000000000000201465124271600245300ustar00rootroot00000000000000className param pymdown-extensions-10.9/docs/src/dictionary/en-python.txt000066400000000000000000000005541465124271600237170ustar00rootroot00000000000000BOM BOMs Dedent LLC StackOverflow Twardoch UrlParse arithmatex autogen betterem bowtie bypassnorm chunking dedent escapeall extrarawhtml feelsgood finnadie fu goberserk godmode hurtrealbad inlinehilite magiclink neckbeard netpath octocat ord pathconverter plainhtml progressbar shipit smartstrong smartsymbols striphtml tasklist tasklists trollface tuple wildcard pymdown-extensions-10.9/docs/src/html/000077500000000000000000000000001465124271600200305ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/html/footer.html000066400000000000000000000067221465124271600222230ustar00rootroot00000000000000 {% import "partials/language.html" as lang with context %} pymdown-extensions-10.9/docs/src/html/header.html000066400000000000000000000116771465124271600221620ustar00rootroot00000000000000 {% set site_url = config.site_url | d(nav.homepage.url, true) | url %} {% if not config.use_directory_urls and site_url[0] == site_url[-1] == "." %} {% set site_url = site_url ~ "/index.html" %} {% endif %}
pymdown-extensions-10.9/docs/src/html/libs.html000066400000000000000000000003331465124271600216460ustar00rootroot00000000000000 pymdown-extensions-10.9/docs/src/js/000077500000000000000000000000001465124271600175005ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/js/arithmatex.js000066400000000000000000000012431465124271600222040ustar00rootroot00000000000000export default (className, mode) => { if (mode === 'katex') { const maths = document.querySelectorAll(`.${className}`) for (let i = 0; i < maths.length; i++) { const tex = maths[i].textContent || maths[i].innerText if (tex.startsWith('\\(') && tex.endsWith('\\)')) { katex.render(tex.slice(2, -2), maths[i], {'displayMode': false}) } else if (tex.startsWith('\\[') && tex.endsWith('\\]')) { katex.render(tex.slice(2, -2), maths[i], {'displayMode': true}) } } } else if (mode === 'mathjax') { MathJax.startup.output.clearCache() MathJax.typesetClear() MathJax.texReset() MathJax.typesetPromise() } } pymdown-extensions-10.9/docs/src/js/extra-loader.js000066400000000000000000000032551465124271600224320ustar00rootroot00000000000000import uml from "./uml" import arithmatex from "./arithmatex" // Main function (() => { let umlPromise = Promise.resolve() let mathPromise = Promise.resolve() const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type === "attributes") { let scheme = mutation.target.getAttribute("data-md-color-scheme") if (!scheme) { scheme = "default" } localStorage.setItem("data-md-color-scheme", scheme) if (typeof mermaid !== "undefined") { uml("diagram") } } }) }) const main = () => { observer.observe(document.querySelector("body"), {attributeFilter: ["data-md-color-scheme"]}) if (typeof mermaid !== "undefined") { umlPromise = umlPromise.then(() => { uml("diagram") }).catch(err => { console.log(`UML loading failed...${err}`) // eslint-disable-line no-console }) } if (typeof katex !== "undefined") { mathPromise = mathPromise.then(() => { arithmatex("arithmatex", "katex") }).catch(err => { console.log(`Math loading failed...${err}`) // eslint-disable-line no-console }) } else if (typeof MathJax !== "undefined" && 'typesetPromise' in MathJax) { mathPromise = mathPromise.then(() => { arithmatex("arithmatex", "mathjax") }).catch(err => { console.log(`Math loading failed...${err}`) // eslint-disable-line no-console }) } } if (window.document$) { // Material specific hook window.document$.subscribe(main) } else { // Normal non-Material specific hook document.addEventListener("DOMContentLoaded", main) } })() pymdown-extensions-10.9/docs/src/js/material-extra-3rdparty.js000066400000000000000000000212331465124271600245240ustar00rootroot00000000000000// MathJax configuration if (!('mathjaxConfig' in window)) { window.MathJax = { tex: { inlineMath: [["\\(", "\\)"]], displayMath: [["\\[", "\\]"]], processEscapes: true, processEnvironments: true, tagSide: "right", tagIndent: ".8em", multlineWidth: "85%", tags: "ams" }, options: { ignoreHtmlClass: ".*", processHtmlClass: "arithmatex" } } } if (!('mermaidConfig' in window)) { // Our loader looks for `mermaidConfig` and will load the the appropriate // configuration based on our current scheme: light, dark, etc. window.mermaidConfig = { dracula: { startOnLoad: false, theme: "base", themeCSS: "\ * {\ --drac-page-bg: hsl(233, 15%, 23%);\ --drac-white-fg: hsl(60, 30%, 96%);\ --drac-purple-fg: hsl(265, 89%, 78%);\ --drac-purple-bg: hsl(265, 25%, 39%);\ --drac-yellow-fg: hsl(65, 92%, 76%);\ --drac-blue-fg: hsl(225, 27%, 51%);\ }\ \ /* General */\ [id^='_diagram'] {\ background-color: var(--drac-page-bg);\ }\ \ /* Entity Relationship */\ rect.relationshipLabelBox {\ opacity: 0.75 !important;\ fill: var(--drac-purple-bg) !important;\ }\ defs marker#ZERO_OR_MORE_END circle {\ fill: var(--drac-page-bg) !important;\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ZERO_OR_MORE_END path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ZERO_OR_MORE_START circle{\ fill: var(--drac-page-bg) !important;\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ZERO_OR_MORE_START path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ONLY_ONE_START path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ONLY_ONE_END path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ZERO_OR_ONE_START path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ZERO_OR_ONE_END path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ONE_OR_MORE_START path {\ stroke: var(--drac-purple-fg) !important;\ }\ defs marker#ONE_OR_MORE_END path {\ stroke: var(--drac-purple-fg) !important;\ }\ \ /* Flowchart */\ .labelText,\ :not(.branchLabel) > .label text {\ fill: var(--drac-purple-fg);\ }\ .edgeLabel text {\ fill: var(--drac-purple-fg) !important;\ }\ .edgeLabel rect {\ opacity: 0.75 !important;\ fill: var(--drac-purple-bg) !important;\ }\ \ .grey rect.label-container { \ fill: var(--drac-purple-bg) !important;\ stroke: var(--drac-purple-fg) !important;\ } \ /* Sequence */\ line[id^='actor'] {\ stroke: var(--drac-blue-fg);\ }\ .noteText {\ fill: var(--drac-yellow-fg);\ }\ \ /* Gantt */\ .sectionTitle {\ fill: var(--drac-purple-fg) !important;\ }\ \ .grid .tick line {\ stroke: var(--drac-blue-fg) !important;\ }\ \ .grid .tick text {\ fill: var(--drac-purple-fg);\ }\ \ /* Class Diagram */\ .statediagram-state rect.divider {\ fill: transparent !important;\ }\ \ /* State Diagram */\ .stateGroup circle[style$=\"fill: black;\"] {\ fill: var(--drac-purple-bg) !important;\ stroke: var(--drac-purple-bg) !important;\ }\ \ .stateGroup circle[style$=\"fill: white;\"] {\ fill: var(--drac-purple-bg) !important;\ stroke: var(--drac-purple-fg) !important;\ }\ \ .stateGroup .composit {\ fill: var(--drac-page-bg);\ }\ /* Pie */\ text.slice {\ fill: var(--drac-white-fg) !important;\ }\ /* Git Graph */\ .commit-bullets .commit-reverse,\ .commit-bullets .commit-merge, \ .commit-bullets .commit-highlight-inner {\ fill: var(--drac-page-bg) !important;\ stroke: var(--drac-page-bg) !important;\ }\ ", themeVariables: { darkMode: true, background: "#323443", mainBkg: "#604b7d", textColor: "#bf95f9", lineColor: "#bf95f9", errorBkgColor: "#802c2c", errorTextColor: "#ff5757", primaryColor: "#604b7d", primaryTextColor: "#bf95f9", primaryBorderColor: "#bf95f9", secondaryColor: "#297d3e", secondaryTextColor: "#52fa7c", secondaryBorderColor: "#52fa7c", tertiaryColor: "#303952", tertiaryTextColor: "#6071a4", tertiaryBorderColor: "#6071a4", noteBkgColor: "#797d45", noteTextColor: "#f1fa89", noteBorderColor: "#f1fa89", edgeLabelBackground: "#604b7d", edgeLabelText: "#604b7d", actorLineColor: "#6071a4", activeTaskBkgColor: "#803d63", activeTaskBorderColor: "#ff7ac6", doneTaskBkgColor: "#297d3e", doneTaskBorderColor: "#52fa7c", critBkgColor: "#802c2c", critBorderColor: "#ff5757", taskTextColor: "#bf95f9", taskTextOutsideColor: "#bf95f9", taskTextLightColor: "#bf95f9", sectionBkgColor: "#bf95f9b3", sectionBkgColor2: "#bf95f966", altSectionBkgColor: "#323443", todayLineColor: "#ff7ac6", gridColor: "#6071a4", defaultLinkColor: "#8be8fd", altBackground: "#bf95f9", classText: "#bf95f9", fillType0: "#406080", fillType1: "#46747f", fillType2: "#297d3e", fillType3: "#805c36", fillType4: "#803d63", fillType5: "#604b7d", fillType6: "#802c2c", fillType7: "#797d45", fillType8: "#7c7c79", git0: "#ff5555", git1: "#ffb86c", git2: "#f1fa8c", git3: "#50fa7b", git4: "#8be9fd", git5: "#809fff", git6: "#ff79c6", git7: "#bd93f9", gitInv0: "#ff5555", gitInv1: "#ffb86c", gitInv2: "#f1fa8c", gitInv3: "#50fa7b", gitInv4: "#8be9fd", gitInv5: "#809fff", gitInv6: "#ff79c6", gitInv7: "#bd93f9", gitBranchLabel0: "#323443", gitBranchLabel1: "#323443", gitBranchLabel2: "#323443", gitBranchLabel3: "#323443", gitBranchLabel4: "#323443", gitBranchLabel5: "#323443", gitBranchLabel6: "#323443", gitBranchLabel7: "#323443", commitLabelColor: '#52fa7c', commitLabelBackground: '#297d3e' }, flowchart: { htmlLabels: false, useMaxWidth: false }, er: { useMaxWidth: false }, sequence: { useMaxWidth: false, // Mermaid handles Firefox a little different. // For some reason, it doesn't attach font sizes to the labels in Firefox. // If we specify the documented defaults, font sizes are written to the labels in Firefox. noteFontWeight: "14px", actorFontSize: "14px", messageFontSize: "16px" }, journey: { useMaxWidth: false }, pie: { useMaxWidth: false }, gantt: { useMaxWidth: false }, gitGraph: { useMaxWidth: false } }, default: { startOnLoad: false, theme: "default", flowchart: { htmlLabels: false, useMaxWidth: false }, er: { useMaxWidth: false }, sequence: { useMaxWidth: false, noteFontWeight: "14px", actorFontSize: "14px", messageFontSize: "16px" }, journey: { useMaxWidth: false }, pie: { useMaxWidth: false }, gantt: { useMaxWidth: false }, gitGraph: { useMaxWidth: false } }, slate: { startOnLoad: false, theme: "dark", flowchart: { htmlLabels: false, useMaxWidth: false }, er: { useMaxWidth: false }, sequence: { useMaxWidth: false, noteFontWeight: "14px", actorFontSize: "14px", messageFontSize: "16px" }, journey: { useMaxWidth: false }, pie: { useMaxWidth: false }, gantt: { useMaxWidth: false }, gitGraph: { useMaxWidth: false } } } } pymdown-extensions-10.9/docs/src/js/material-extra-theme.js000066400000000000000000000047071465124271600240650ustar00rootroot00000000000000(() => { const preferToggle = e => { if (localStorage.getItem("data-md-prefers-color-scheme") === "true") { document.querySelector("body").setAttribute("data-md-color-scheme", (e.matches) ? "dracula" : "default") } } const setupTheme = body => { const preferSupported = window.matchMedia("(prefers-color-scheme)").media !== "not all" let scheme = localStorage.getItem("data-md-color-scheme") let prefers = localStorage.getItem("data-md-prefers-color-scheme") if (!scheme) { scheme = "dracula" } if (!prefers) { prefers = "false" } if (prefers === "true" && preferSupported) { scheme = (window.matchMedia("(prefers-color-scheme: dark)").matches) ? "dracula" : "default" } else { prefers = "false" } body.setAttribute("data-md-prefers-color-scheme", prefers) body.setAttribute("data-md-color-scheme", scheme) if (preferSupported) { const matchListener = window.matchMedia("(prefers-color-scheme: dark)") matchListener.addListener(preferToggle) } } const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type === "childList") { if (mutation.addedNodes.length) { for (let i = 0; i < mutation.addedNodes.length; i++) { const el = mutation.addedNodes[i] if (el.nodeType === 1 && el.tagName.toLowerCase() === "body") { setupTheme(el) break } } } } }) }) observer.observe(document.querySelector("html"), {childList: true}) })() window.toggleScheme = () => { const body = document.querySelector("body") const preferSupported = window.matchMedia("(prefers-color-scheme)").media !== "not all" let scheme = body.getAttribute("data-md-color-scheme") let prefer = body.getAttribute("data-md-prefers-color-scheme") if (preferSupported && scheme === "default" && prefer !== "true") { prefer = "true" scheme = (window.matchMedia("(prefers-color-scheme: dark)").matches) ? "dracula" : "default" } else if (preferSupported && prefer === "true") { prefer = "false" scheme = "dracula" } else if (scheme === "dracula") { prefer = "false" scheme = "default" } else { prefer = "false" scheme = "dracula" } localStorage.setItem("data-md-prefers-color-scheme", prefer) body.setAttribute("data-md-prefers-color-scheme", prefer) body.setAttribute("data-md-color-scheme", scheme) } pymdown-extensions-10.9/docs/src/js/uml.js000066400000000000000000000111361465124271600206350ustar00rootroot00000000000000/* Notes (as of Mermaid 8.7.0): * - Gantt: width is always relative to the parent, if you have a small parent, the chart will be squashed. * Can't help it. * - Journey: Suffers from the same issues that Gantt does. * - Pie: These charts have no default height or width. Good luck pinning them down to a reasonable size. * - Git: The render portion is agnostic to the size of the parent element. But padding of the SVG is relative * to the parent element. You will never find a happy size. */ /** * Targets special code or div blocks and converts them to UML. * @param {string} className is the name of the class to target. * @return {void} */ export default async className => { // Custom element to encapsulate Mermaid content. class MermaidDiv extends HTMLElement { /** * Creates a special Mermaid div shadow DOM. * Works around issues of shared IDs. * @return {void} */ constructor() { super() // Create the Shadow DOM and attach style const shadow = this.attachShadow({mode: "open"}) const style = document.createElement("style") style.textContent = ` :host { display: block; line-height: initial; font-size: 16px; } div.diagram { margin: 0; overflow: visible; }` shadow.appendChild(style) } } if (typeof customElements.get("diagram-div") === "undefined") { customElements.define("diagram-div", MermaidDiv) } const getFromCode = parent => { // Handles
 text extraction.
    let text = ""
    for (let j = 0; j < parent.childNodes.length; j++) {
      const subEl = parent.childNodes[j]
      if (subEl.tagName.toLowerCase() === "code") {
        for (let k = 0; k < subEl.childNodes.length; k++) {
          const child = subEl.childNodes[k]
          const whitespace = /^\s*$/
          if (child.nodeName === "#text" && !(whitespace.test(child.nodeValue))) {
            text = child.nodeValue
            break
          }
        }
      }
    }
    return text
  }

  // We use this to determine if we want the dark or light theme.
  // This is specific for our MkDocs Material environment.
  // You should load your configs based on your own environment's needs.
  const defaultConfig = {
    startOnLoad: false,
    theme: "default",
    flowchart: {
      htmlLabels: false
    },
    er: {
      useMaxWidth: false
    },
    sequence: {
      useMaxWidth: false,
      noteFontWeight: "14px",
      actorFontSize: "14px",
      messageFontSize: "16px"
    }
  }
  mermaid.mermaidAPI.globalReset()
  // Non Material themes should just use "default"
  let scheme = null
  try {
    scheme = document.querySelector("[data-md-color-scheme]").getAttribute("data-md-color-scheme")
  } catch (err) {
    scheme = "default"
  }
  const config = (typeof mermaidConfig === "undefined") ?
    defaultConfig :
    mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)
  mermaid.initialize(config)

  // Find all of our Mermaid sources and render them.
  const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)
  const surrogate = document.querySelector("html body")
  for (let i = 0; i < blocks.length; i++) {
    const block = blocks[i]
    const parentEl = (block.tagName.toLowerCase() === "diagram-div") ?
      block.shadowRoot.querySelector(`pre.${className}`) :
      block

    // Create a temporary element with the typeset and size we desire.
    // Insert it at the end of our parent to render the SVG.
    const temp = document.createElement("div")
    temp.style.visibility = "hidden"
    temp.style.display = "display"
    temp.style.padding = "0"
    temp.style.margin = "0"
    temp.style.lineHeight = "initial"
    temp.style.fontSize = "16px"
    surrogate.appendChild(temp)

    try {
      const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)
      const content = res.svg
      const fn = res.bindFunctions
      const el = document.createElement("div")
      el.className = className
      el.innerHTML = content
      if (fn) {
        fn(el)
      }

      // Insert the render where we want it and remove the original text source.
      // Mermaid will clean up the temporary element.
      const shadow = document.createElement("diagram-div")
      shadow.shadowRoot.appendChild(el)
      block.parentNode.insertBefore(shadow, block)
      parentEl.style.display = "none"
      shadow.shadowRoot.appendChild(parentEl)
      if (parentEl !== block) {
        block.parentNode.removeChild(block)
      }
    } catch (err) {} // eslint-disable-line no-empty

    if (surrogate.contains(temp)) {
      surrogate.removeChild(temp)
    }
  }
}
pymdown-extensions-10.9/docs/src/markdown/000077500000000000000000000000001465124271600207065ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/.snippets/000077500000000000000000000000001465124271600226315ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/.snippets/abbr.md000066400000000000000000000001341465124271600240570ustar00rootroot00000000000000*[Toc]: Table of Contents
*[GFM]: GitHub Flavored Markdown
*[FAQ]: Frequent Asked Questions
pymdown-extensions-10.9/docs/src/markdown/.snippets/blocksbeta.md000066400000000000000000000011641465124271600252660ustar00rootroot00000000000000/// new | 9.10 New Experimental Feature
Blocks is currently a new, experimental extension type available in Pymdown Extensions that allows for writing a new
kind of block extension in Python Markdown. With this new addition, we've added a number of new extensions utilizing
this new extension type. While its intention is to hopefully replace extensions like Details and Tabbed, there are
currently no immediate plans to deprecate those plugins.

Any and all feedback regarding these new, experimental blocks is appreciated. Please provide feedback here:
https://github.com/facelessuser/pymdown-extensions/discussions/1973.
///
pymdown-extensions-10.9/docs/src/markdown/.snippets/links.md000066400000000000000000000153731465124271600243040ustar00rootroot00000000000000[_admonition_block]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/admonition.py "Source"
[_arithmatex]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/arithmatex.py "Source"
[_b64]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/b64.py "Source"
[_betterem]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/betterem.py "Source"
[_blocks]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/__init__.py "Source"
[_caret]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/caret.py "Source"
[_critic]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/critic.py "Source"
[_definition_block]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/definition.py "Source"
[_details]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/details.py "Source"
[_details_block]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/details.py "Source"
[_emoji]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/emoji.py "Source"
[_escapeall]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/escapeall.py "Source"
[_extra]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/extra.py "Source"
[_highlight]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/highlight.py "Source"
[_html_block]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/html.py "Source"
[_inlinehilite]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/inlinehilite.py "Source"
[_keys]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/keys.py "Source"
[_magiclink]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/magiclink.py "Source"
[_mark]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/mark.py "Source"
[_pathconverter]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/pathconverter.py "Source"
[_progressbar]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/progressbar.py "Source"
[_saneheaders]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/saneheaders.py "Source"
[_slugs]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/slugs.py "Source"
[_smartsymbols]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/smartsymbols.py "Source"
[_snippets]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/snippets.py "Source"
[_striphtml]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/striphtml.py "Source"
[_superfences]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/superfences.py "Source"
[_tab_block]: https://github.com/facelessuser/pymdown-extensions/blob/feature/directives/pymdownx/blocks/tab.py "Source"
[_tabbed]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/tabbed.py "Source"
[_tasklist]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/tasklist.py "Source"
[_tilde]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/tilde.py "Source"
[abbreviations]: https://python-markdown.github.io/extensions/abbreviations/
[admonition]: https://python-markdown.github.io/extensions/admonition/
[aspell]: http://aspell.net/
[atomic]: https://python-markdown.github.io/extensions/api/#working_with_et
[attr-list]: https://python-markdown.github.io/extensions/attr_list/
[bleach]: https://pypi.python.org/pypi/bleach
[codehilite]: https://python-markdown.github.io/extensions/code_hilite/
[coverage]: https://coverage.readthedocs.io
[critic-markup]: http://criticmarkup.com/
[def-list]: https://python-markdown.github.io/extensions/definition_lists/
[emojione-awesome-css]: https://github.com/Ranks/emojione/blob/master/extras/css/emojione-awesome.css
[emojione-index]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/emoji1_db.py
[emojione-sprites-svg]: https://github.com/Ranks/emojione/blob/v2.2.7/assets/sprites/emojione.sprites.svg
[emojione]: https://github.com/Ranks/emojione
[etree]: https://docs.python.org/3/library/xml.etree.elementtree.html
[flake8-docstrings]: https://pypi.python.org/pypi/flake8-docstrings
[flake8]: https://pypi.python.org/pypi/flake8
[footnotes]: https://python-markdown.github.io/extensions/footnotes/
[gemoji-index]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/gemoji_db.py
[gemoji]: https://github.com/github/gemoji
[github-api-emoji]: https://developer.github.com/v3/emojis/
[github-api-oauth]: https://developer.github.com/v3/oauth/
[highlightjs]: https://highlightjs.org/
[katex]: https://github.com/Khan/KaTeX
[magiclink-icons]: https://github.com/facelessuser/pymdown-extensions/blob/master/docs/src/scss/extensions/_magiclink.scss
[mathjax]: http://www.mathjax.org/
[md-in-html]: https://python-markdown.github.io/extensions/md_in_html/
[mermaid-config]: https://github.com/facelessuser/pymdown-extensions/blob/master/docs/src/markdown/_snippets/uml.txt
[mermaid-loader]: https://github.com/facelessuser/pymdown-extensions/blob/master/docs/src/js/uml.js
[mermaid-style]: https://github.com/facelessuser/pymdown-extensions/blob/master/docs/src/scss/js/_mermaid.scss
[mermaid]: https://mermaid-js.github.io/mermaid/#/
[mkdocs-config]: https://github.com/facelessuser/pymdown-extensions/blob/master/mkdocs.yml
[mkdocs-material]: https://github.com/squidfunk/mkdocs-material
[mkdocs]: https://github.com/mkdocs/mkdocs
[nested-markdown]: https://python-markdown.github.io/extensions/extra/#nested-markdown-inside-html-blocks
[nl2br]: https://python-markdown.github.io/extensions/nl2br/
[octicons]: https://octicons.github.com/
[onready-event]: https://github.com/facelessuser/pymdown-extensions/blob/master/docs/src/js/extra-uml.js
[pep8-naming]: https://pypi.python.org/pypi/pep8-naming
[pygments]: http://pygments.org/
[pymdown-styles]: https://github.com/facelessuser/pymdown-styles/tree/master/pymdown_styles
[pytest]: http://doc.pytest.org/en/latest/
[python-markdown]: https://github.com/Python-Markdown/markdown
[pyyaml]: https://github.com/yaml/pyyaml
[requests]: https://pypi.python.org/pypi/requests/
[stash]: https://python-markdown.github.io/extensions/api/#working_with_raw_html
[tables]: https://python-markdown.github.io/extensions/tables/
[toc]: https://python-markdown.github.io/extensions/toc/
[tox]: https://pypi.python.org/pypi/tox
[twemoji-index]: https://github.com/facelessuser/pymdown-extensions/blob/master/pymdownx/twemoji_db.py
[twemoji]: https://github.com/twitter/twemoji
[unicode-norm]: http://unicode.org/reports/tr15/#Norm_Forms
pymdown-extensions-10.9/docs/src/markdown/.snippets/refs.md000066400000000000000000000000371465124271600241120ustar00rootroot00000000000000--8<--
links.md
abbr.md
--8<--
pymdown-extensions-10.9/docs/src/markdown/.snippets/uml.md000066400000000000000000000133301465124271600237500ustar00rootroot00000000000000

pymdown-extensions-10.9/docs/src/markdown/about/000077500000000000000000000000001465124271600220205ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/about/changelog.md000066400000000000000000001125521465124271600242770ustar00rootroot00000000000000# Changelog

## 10.9

-   **NEW**: Officially support Python 3.13.
-   **FIX**: Snippets: Better handling of cases where URL snippet requests contain no header length.

## 10.8.1

-   **FIX**: Snippets: Fix snippet line range with a start of line 1.

## 10.8

-   **NEW**: Require Python Markdown 3.6+.
-   **FIX**: Fix some test cases.
-   **FIX**: Fix warnings due to recent changes in Python Markdown.

## 10.7.1

-   **FIX**: SmartSymbols: Ensure symbols are properly translated in table of content tokens.

## 10.7

-   **NEW**: Emoji: Update Twemoji and Gemoji data to latest.
-   **NEW**: Emoji: Due to recent Gemoji update, non-standard emoji are no longer indexed. So emoji such as `:octocat:`
    are no longer resolved.
-   **NEW**: Highlight: Added new option `default_lang` which will cause code blocks with no language specifier to be
    highlighted with the specified default language instead of plain text. This affects indented code blocks and code
    blocks defined with SuperFences.
-   **NEW**: InlineHilite: `style_plain_text` can be specified with a language string (in addition to its previous
    boolean requirement) to treat inline code blocks with no explicit language specifier with a specific default
    language.

## 10.6

-   **NEW**: MagicLink: Allow configuring custom repository providers based off the existing providers.

## 10.5

-   **NEW**: Blocks: Admonitions and Details now allow configuring custom block classes and default titles.
-   **FIX**: Keys: Ensure that Keys does not parse base64 encoded URLs.

## 10.4

-   **NEW**: Snippets: Allow PathLike objects for `base_path` to better support interactions with MkDocs.
-   **FIX**: Block Admonitions: Empty titles should be respected.
-   **FIX**: Block Details: Empty summary should be respected.

## 10.3.1

-   **FIX**: SuperFences: Fix an issue where braces were not handled properly in attributes.

## 10.3

-   **NEW**: Officially support Python 3.12.
-   **NEW**: Drop Python 3.7 support.

## 10.2.1

-   **FIX**: Tabbed: Fix regression.

## 10.2

-   **NEW**: Highlight: Add new `stripnl` option to configure Pygments' default handling of stripping leading and
    and trailing new lines from code blocks. Mainly affects fenced code blocks.
-   **FIX**: SuperFences: Fix issue where when SuperFences attempts to test if a placeholder is its own, it can throw
    an exception.

## 10.1

-   **NEW**: Add new `combine_header_slug` option in legacy Tabbed extension and new Block Tab extension that will
    prefix a content tab's slug with the parent header's slug. This allows for content tab slugs that are scoped to the
    header they are under.

## 10.0.1

-   **FIX**: Regression related to snippets nested deeply under specified base path.

## 10.0

-   **Break**: Snippets: snippets will restrict snippets to ensure they are under the `base_path` preventing snippets
    relative to the `base_path` but not explicitly under it. `restrict_base_path` can be set to `False` for legacy
    behavior.

## 9.11

-   **NEW**: Emoji: Update to new CDN and use Twemoji 14.1.2.
-   **NEW**: Snippets: Ignore nested snippet section syntax when including a section.

## 9.10

-   **NEW**: Blocks: Add new experimental general purpose blocks that provide a framework for creating fenced block
    containers for specialized parsing. A number of extensions utilizing general purpose blocks are included and are
    meant to be an alternative to (and maybe one day replace): Admonitions, Details, Definition Lists, and Tabbed. Also
    adds a new HTML plugin for quick wrapping of content with arbitrary HTML elements.
-   **NEW**: Highlight: When enabling line spans and/or line anchors, if a code block has an ID associated with it, line
    ids will be generated using that code ID instead of the code block count.
-   **NEW**: Snippets: Expand section syntax to allow section names with `-` and `_`.
-   **NEW**: Snippets: When `check_paths` is enabled, and a specified section is not found, raise an error.
-   **NEW**: Snippets: Add new experimental feature `dedent_sections` that will de-indent (remove any common leading
    whitespace from every line in text) from that block of text.
-   **NEW**: MagicLink: Update GitLab links to match recent changes and to be more correct.
-   **NEW**: MagicLink: Relax required hash length when performing link shortening.

## 9.9.3

-   **FIX**: Highlight: Remove extraneous new lines from end of indented code blocks when using
    `#!py use_pygments = False`.

## 9.9.2

-   **FIX**: Snippets syntax can break in XML comments as XML comments do not allow `--`. Relax Snippets syntax such
    that `-8<-` (single `-`) are allowed.

## 9.9.1

-   **FIX**: Use a different CDN for Twemoji icons as MaxCDN is no longer available.

## 9.9

-   **ENHANCE**: BetterEm: Further improvements to strong/emphasis handling:
    -   Ensure that one or more consecutive `*` or `_` surrounded by whitespace are not considered as a token.
-   **ENHANCE**: Caret: Apply recent BetterEm improvements to Caret:
    -   Fix case where `^^` nested between `^` would be handled in an unexpected way.
    -   Ensure that one or more consecutive `^` surrounded by whitespace are not considered as a token.
-   **ENHANCE**: Tilde: Apply recent BetterEm improvements to Tilde:
    -   Fix case where `~~` nested between `~` would be handled in an unexpected way.
    -   Ensure that one or more consecutive `~` surrounded by whitespace are not considered a token.
-   **ENHANCE**: Mark: Apply recent BetterEm improvements to Mark:
    -   Ensure that one or more consecutive `=` surrounded by whitespace are not considered a token.

## 9.8

-   **NEW**: Formally declare support for Python 3.11.
-   **FIX**: BetterEm: Fix case where `**` nested between `*` would be handled in an unexpected way.

## 9.7

-   **NEW**: Tabbed: Add new syntax to allow forcing a specific tab to be select by default.
-   **NEW**: Snippets: Add new option to pass arbitrary HTTP headers.
-   **NEW**: Snippets: Allow specifying sections in a snippet and including just the specified section.

## 9.6

-   **NEW**: Highlight: Allow greater granularity of specifying where language guessing takes place via `guess_lang`
    option (e.g. `block` vs `inline`).
-   **NEW**: Tabbed: Add options for generating tab IDs from tab titles.
-   **NEW**: Snippets: Add support for specifying specific lines for Snippets.
-   **NEW**: Snippets: Commenting out files in block format no longer requires a space directly after `;`.
-   **NEW**: Snippets: A new sane way to escape snippets is now available.

## 9.5

-   **NEW**: InlineHilite: Custom inline code block formatters can now be forced to raise an exception by raising a
    `InlineHiliteException`.
-   **NEW**: Snippets: Add new options to handle importing snippets from URL.
-   **NEW**: Snippets: Snippets will only swallow missing file errors (unless `check_paths` is enabled), all other
    errors will be propagated up.
-   **NEW**: Snippets: When a file or URL is missing, raise `SnippetMissingError` instead of `IOError`.
-   **FIX**: Snippets: Small issues related to recursive inclusion of snippets.

## 9.4

-   **NEW**: Highlight: Changes in order to support Pygments 2.12+. If using Pygments and a version less than 2.12 is
    installed, Highlight will raise an exception.

## 9.3

-   **NEW**: B64: Allow SVG to be encoded and inlined.
-   **NEW**: PathConverter: Add option to use `file://` prefix on absolute paths.
-   **FIX**: Highlight: Ensure that `extend_pygments_lang` is not case sensitive regarding language names.

## 9.2

-   **NEW**: Drop Python 3.6 support and formally add Python 3.10 support.
-   **NEW**: Highlight: Add `pygments_lang_option` to enable attaching language classes to Pygments code blocks.
-   **NEW**: SuperFences: Custom fence validators and formatters can now be forced to raise an exception by raising a
    `SuperFencesException`.
-   **NEW**: Keys: Add `power` and `fingerprint` keys.
-   **FIX**: SuperFences: Fix case where custom fence in a blockquote was not gracefully handled.
-   **FIX**: Arithmatex: fix issue where if you limit the inline or block syntax to specific input types, access to
    certain matched groups could cause an error.

## 9.1

-   **NEW**: Highlight: If `linenums` is enabled globally via the `highlight` extension, and a code block specifies a
    line number of zero (e.g. SuperFences), disable line numbers for that code block.
-   **FIX**: Snippets: Add missing documentation for `auto_append` feature that was added in 8.2.
-   **FIX**: Highlight: When `attr_list` is enabled, attributes were not properly added to Pygments code blocks in the
    `table` format. (#1505)

## 9.0

Please see [Migration Notes](./releases/9.0.md#9.0) for details on upgrading to 9.0.

-   **NEW**: Arithmatex: Wrap MathJax "script" format (non-preview) with a container element just like all other
    Arithmatex output formats.
-   **NEW**: Arithmatex: MathJax (non-generic) form's container element now has the `arithmatex` class added just like
    everywhere else.
-   **NEW**: Arithmatex: Add options to override HTML element container type of inline and block math.
-   **NEW**: Arithmatex: Add new formatter functions intended to replace old math fenced/inline block formatters. New
    formatter functions are configurable. All others are marked as deprecated and will be removed at some future date.
-   **NEW**: Emoji: Upgraded Twitter emoji database to support latest emoji. It is a known issue that Twitter has
    `:man_in_santa_hat:` and `:mx_claus:` backwards -- same for `:mrs_claus:` and `:woman_in_santa_hat:`. That is on
    Twitter's side, not ours.
-   **NEW**: Highlight: Add support for the Pygments option `linespans`.
-   **NEW**: Highlight: Add support for Pygments option `lineanchors`.
-   **NEW**: Highlight: Add support for Pygments option `anchorlinenos`.
-   **NEW**: Highlight: Remove `legacy_no_wrap_code` option.
-   **NEW**: Add support for generating title headers pulled from the Pygments lexer for code blocks. Feature can be
    enabled via the new `auto_title` option. If a specific name is not preferred, these names can be overridden via
    a user defined mapping called `auto_title_map`.
-   **NEW**: SuperFences: Allow setting a title, or overriding an auto title via the new `title` option in a fenced code
    header.
-   **NEW**: SuperFences: Allow adding ID and arbitrary `data-` attributes on Pygments code blocks. The latter requires
    the `attr_list` extension to be enabled.
-   **NEW**: SuperFences: Removed old deprecated option `highlight_code` which no longer did anything.
-   **NEW**: SuperFences: Remove legacy code meant to help with transitioning to new custom fence function format.
-   **NEW**: Tabbed: New alternate style that allows for a scrollable tabs if they overflow. Feature is experimental,
    see docs for more information.
-   **NEW**: Slugs: Add new configurable `slugify` function that aims to replace all other slugify methods. Deprecate
    `uslugify`, `uslugify_encoded`, `uslugify_case`, `uslugify_case_encoded`, `gfm`, and `gfm_encoded`. `slugify` takes
    parameters returning a function that performs the desired slug handling. `slugify` adds new options `case="fold"`
    for case folding and `normalize=''` (uses `NFC` by default).
-   **FIX**: BetterEm: Fix some complex cases related to "smart" logic. (#1413)
-   **FIX**: EscapeAll: Fix issue where an escaped HTML entity may end up with incorrect slug and incorrect table of
    content entry.
-   **FIX**: Highlight: Fix issue that occurs when showing only nth line numbers and using `pymdownx-inline`. Lines not
    showing a line number would not render with the proper leading space.

## 8.2

-   **NEW**: Snippets: now accepts a list of base paths which will be resolved in the order they are specified.
    Compatibility is present with legacy behavior, and a single string path will still be accepted.
-   **NEW**: Snippets: allow for specifying certain snippets to auto-append to every file. Useful for appending
    abbreviations, reference links, etc.
-   **NEW**: Snippets: a snippet base path can be a full path to a file. When a base path is a full path to a file, only
    that file will be included from the specified folder. This allows for targeting a one off file outside of the normal
    snippet paths(s).
-   **NEW**: MagicLink: add GitHub Discussions support to MagicLink. Can now use `?` to link discussions. Full
    discussion links will also be shortened if shortening is enabled. (#1187)
-   **NEW**: MagicLink: add new `normalize_issue_symbols` option to make issues, pull request, and discussion links all
    render with `#` instead of `#`, `!`, and `?` respectively. Input syntax is still the same. Great if you want a
    GitHub style look where all issue types are just rendered with `#`.
-   **FIX**: MagicLink: documentation will not render links with special icons added via CSS so as not to confuse users
    that may think that is part of MagicLink. While possible with CSS, MagicLink provides no CSS automatically.
-   **FIX**: Tabbed & Details: Fix corner case with lists. (#1225)
-   **FIX**: Fix issue with unescaping logic in code blocks.

## 8.1.1

-   **FIX**: Ensure content immediately before Details content or Tabbed content gets preserved.
-   **FIX**: StripHTML: Fix some corner cases related to stripping comments.

## 8.1

-   **NEW**: Drop support for Python 3.5.
-   **NEW**: Officially support Python 3.9.
-   **NEW**: Tabbed titles can now have simple Markdown in them which can be parsed and rendered (like emoji, bold,
    etc.).
-   **FIX**: Avoid parsing script tags in PathConverter and B64 extensions.

## 8.0.1

-   **FIX**: Fix issue with `pymdownx-inline` an Pygments 2.7+.

## 8.0

Please see [Migration Notes](./releases/8.0.md#8.0) for details on upgrading to 8.0.

-   **NEW**: Added SaneHeaders extension.
-   **NEW**: SuperFences \& InlineHilite: gracefully handle failing custom formatters and/or validators. Users should
    add their own debug code to their formatter/validator if they suspect it isn't working.
-   **NEW**: SuperFences: if a custom fence validator fails, try the next custom fence until all are exhausted.
-   **NEW**: SuperFences: no longer allow custom options in the form `key=` (no value). Only keys with values or keys
    with no value and no `=` are accepted. Keys with no value will now assume the value to be the key name.
-   **NEW**: SuperFences: if `attr_list` extension is enabled, fenced code that use brace attribute list style headers
    (` ```{lang #id .class attr=value}`) will attach arbitrary attributes that are included in the header to the code
    element.
-   **NEW**: SuperFences: when Pygments is disabled, options (such as `linenums`) included in fenced code headers no
    longer do anything. If `attr_list` is enabled, and the brace header is used, such options will be treated as HTML
    attributes. JavaScript highlighter options should be defined in the brace header form with `attr_list` enabled in
    order to generate appropriate, compatible HTML with the chosen JavaScript highlighter.
-   **NEW**: SuperFences: backwards incompatible changes where made to custom fence API. See
    [Migration Notes](./releases/8.0.md#8.0) for instructions on how to migrate to the new API. Some temporary support
    for most of the old format is in place, but is deprecated.
-   **NEW**: SuperFences: has removed legacy code tab feature. Associated `legacy_tab_classes` option has been removed.
    Please use the Tabbed extension to create general purpose tabs for code blocks or other content.
-   **NEW**: Highlight: add new option `language_prefix` which controls the prefix applied to language classes when
    Pygments is not being used.
-   **NEW**: Highlight: A new option called `code_attr_on_pre` was added to the Highlight extension and controls whether
    language classes, and any ids, attributes, and classes that are defined in fenced code attribute list style headers,
    are attached to the code element or pre element. This has effect when using Pygments.
-   **NEW**: Highlight: option `linenums` now defaults to `None` and accepts `None`, `True`, or `False`. `None` is
    disabled by default, but can be enabled per code block. `True` enables line numbers globally. `False` disables
    globally and cannot be enabled manually per code block.
-   **NEW**: ExtraRawHTML: remove extension.
-   **FIX**: Fix issues with complex emphasis combinations in BetterEm.
-   **FIX**: Details: fix corner cases related to extension and lists.
-   **FIX**: Tabbed: fix corner cases related to extension and lists.
-   **FIX**: EscapeAll: Handle HTML entities special.
-   **FIX**: SuperFences: Fix parameter unpacking bug.

## 7.1

-   **NEW**: SuperFences will now allow number ranges in `hl_lines` option. (#878)
-   **NEW**: Emoji extension now requires custom emoji indexes to take an `options` and `md` argument. The old
    non-argument format is deprecated and still accepted, but support for indexes with no arguments will be removed at a
    future time.
-   **NEW**: Highlight now allows the specifying of a custom line number class when not using Pygments.
-   **FIX**: Better Arithmatex patterns. Fix issue #888 which caused a hang due to a regular expression typo. Also
    ensure `#!tex $$..$$` and `#!tex begin{}...end{}` patterns properly don't match if the tail markers are escaped.

## 7.0

Please see [Migration Notes](./releases/7.0.md#7.0) for details on upgrading to 7.0.

-   **NEW**: MagicLink will now shorten user name and repository links when link shortening is enabled.
-   **NEW**: Added MagicLink options `social_url_shortener` and `shortener_user_exclude` were added.
-   **NEW**: UML examples are now demonstrated with Mermaid in documentation.
-   **NEW**: SuperFences, if using the attribute list format (` ``` {.lang .additional_class, linenums="1"} `) allows
    adding additional classes. IDs can be added as well, though Pygments generated code blocks do not have a mechanism
    to actually insert IDs. The first provided class will always be treated as the language class.
-   **NEW**: Custom SuperFences' formatters should now also include the keyword parameters`classes` and `id_value` to
    allow injecting classes and IDs via the now supported attribute list format. If a code block defines no additional
    IDs and classes, the old form will be used. Formatters should include `**kwargs` at the end to future proof them
    from future changes.
-   **NEW**: Deprecate the SuperFences `highight_code` option. As SuperFences syntax has language classes built right
    in, disabling the `highlight_code` option makes little sense. While `highlight_code` is still accepted, it currently
    does nothing and will be removed at some future time.
-   **NEW**: If a custom fence (SuperFences) or inline (InlineHilite) is given the name of `*`, it will override the
    default fence logic.
-   **NEW**: SuperFences and InlineHilite no longer sync settings from CodeHilite.
-   **NEW**: Add new Tabbed extension for general purpose tabbed content in Markdown.
-   **NEW**: Deprecate old SuperFences tabbed content feature. This will be removed in 8.0.
-   **NEW**: SuperFences' tabbed content classes have changed from `supferfences-tabs` and `superfences-content` to
    `tabbed-set` and `tabbed-content` respectively. Old style classes can be enabled with the `legacy_tab_classes`
    option in SuperFences. This new option will be retired with SuperFences tabbed content feature in 8.0.
-   **NEW**: Upgrade to Twemoji 12.1.5.
-   **NEW**: New key codes and key code changes in Keys extension:
      -   Added `super`, `left-super`, and `right-super` key codes as an alternative to `meta`. Aliases `lsuper` and
          `rsuper` were also added.
      -   Added the `alt-graph` key code with `altgr` alias.
      -   Added the following new aliases: `lwindows` and `rwindows` for consistency.
      -   Added new codes `left-meta` and `right-meta` for consistency with other modifiers. Aliases `lmeta` and `rmeta`
          were also added.
      -   Added `left-option`, `right-option`, `left-command`, `right-command`, `left-meta`, and `right-meta` codes for
          consistency across similar modifier keys. Additional aliases were added as well: `loption`, `roption`, `lopt`,
          `ropt`, `left-opt`, `right-opt`, `lcommand`, `rcommand`, `lcmd`, `rcmd`, `left-cmd`, `right-cmd`, `lmeta`, and
          `rmeta`.
      -   `alt` no longer uses `menu`, `lmenu`, and `rmenu` as key aliases. `context-menu` now uses the alias `menu`.
          `context-menu` will display with `Menu` now.
-   **FIX**: Numerous deprecation warnings associated with the recent release of Python Markdown 3.2.
-   **FIX**: Ensure ExtraRawHTML raises a deprecation warning.

## 6.3

-   **NEW**: `pymdownx.extrarawhtml` is now deprecated in favor of Python Markdown's `md_in_html` extension found in the
    3.2 release.
-   **NEW**: When using Pygments 2.4+, code under `pre` elements will also be wrapped in `code` blocks:
    `#!html 
`. `legacy_no_wrap_code` option has been provided as a temporary way to get the old behavior during the transition period, the option will be removed in the future. - **NEW**: Remove deprecated `version` and `version_info`. - **FIX**: Allow single word hostnames in MagicLink auto-link. ## 6.2.1 - **FIX**: Fix issue in PathConverter where Windows path conversion from relative to absolute doesn't always work in all browsers. ## 6.2 - **NEW**: Upgrade Twemoji to use 12.1.3. - **NEW**: Downgrade and lock EmojiOne version 2.2.7. 2.2.7 is the last truly free version of EmojiOne. This is the safest version that users should use. EmojiOne will not be updated anymore as they are now JoyPixels and have a license that is not that permissible. We've reverted support for any version greater than 2.2.7 to ensure we don't accidentally cause a user to improperly use JoyPixels' assets. - **NEW**: Drop specialized `to_awesome` generator for EmojiOne. - **FIX**: MagicLink: match the auto-link pattern in the current Markdown package. - **FIX**: Fix fenced math escape issue when using MathJax script output format. ## 6.1 - **NEW**: Upgrade Twemoji to 12.1.2 using the latest JoyPixels' (formally EmojiOne) short name index in @JoyPixels/emoji-toolkit 5.0.4. - **NEW**: Upgrade EmojiOne to 4.5.0 to the last release in the 4+ series. EmojiOne was rebranded as JoyPixels, but while the index is licensed under MIT, the image assets are no longer as permissible as they once were. The Emoji extension will only reference the last release under the older more permissible license (4.5.0). The option to use the CDN with EmojiOne 2.7 is still available as well which used an even more permissible license. - **NEW**: Upgrade Gemoji to 3.0.1. - **NEW**: `version` and `version_info` are now accessible via the more standard form `__version__` and `_version_info__`. The old format, while available, is now deprecated. - **FIX**: Fix GitHub emoji CDN links to use their latest. - **FIX**: Fix issue where entities in the form `#` would trigger MagicLink's shorthand for issues. - **FIX**: Don't install tests when installing package. - **FIX**: Fix for BetterEm case `**Strong*em,strong***`. - **FIX**: Fixes for non-word character boundary cases in BetterEm, Caret, Mark, and Tilde extensions. ## 6.0 Please see [Migration Notes](./releases/6.0.md#6.0) for details on upgrading to 6.0.0. - **NEW**: Allow custom inline highlight code blocks. (!380) - **NEW**: SuperFences now has one custom format convention which now also accepts the markdown class object to allow access to meta. - **NEW**: SuperFences no longer adds `flow` and `sequence` as default custom fences. Users will need to configure them themselves. - **NEW**: Add new SuperFences formatters in Arithmatex that are compatible with SuperFences' custom fence feature and InlineHilite's custom inline feature. (!380) - **NEW**: Requires Python Markdown 3.0.1 and utilizes the new priority registry when adding extensions and uses the new inline processor API instead of the old methodology. - **NEW**: Better aliases for Twemoji specific emoji. - **NEW**: Upgrade support for EmojiOne to 4.0.0 and Twemoji to 11.2.0. - **FIX**: Fixes to SuperFences behavior of "preserve tabs" vs "normal" operations. - **FIX**: Fixes to PathConverter's output. (#392) - **FIX**: Remove unnecessary path code in B64. - **FIX**: Fix issues with double escaping entities in code blocks after Python Markdown 3.0 update. ## 5.0 - **NEW**: Add validator to custom fences so custom options can be used. (!350) - **NEW**: Add global `linenums_special` option to Highlight extension. Can be overridden per fence in SuperFences. (!360) - **NEW**: Add `linenums_style` option to set line number output to Pygments `table` or `inline` format. Also provide a custom `pymdownx-inline` format for more sane inline output in regards to copy and paste. See Highlight documentation for more info. (!360) - **NEW**: Remove deprecated Github and PlainHTML extension. Remove deprecated Arithmatex option `insert_as_script` and deprecated MagicLink option `base_repo_url`. - **FIX**: Add workaround in Highlight extension for line number alignment issues in Pygments with certain `step` values. (!360) ## 4.12 - **NEW**: Add option to fail if specified snippet isn't found. (#335) - **FIX**: Windows issue with `preserve_tabs` option in SuperFences. (#328) ## 4.11 - **NEW**: Allow Arithmatex's "smart dollar" logic to be turned off via setting the option `smart_dollar` to `False`. (#297) - **NEW**: Add support for tabbed groups in SuperFences. ## 4.10.2 - **FIX**: Failure with code highlight when guessing is enabled, but a bad language name is provided. ## 4.10.1 - **FIX**: Update Twemoji to 2.6.0 and EmojiOne 3.1.3. ## 4.10 - **NEW**: SuperFences now adds experimental support for preserving tabs in fenced code blocks. (#276) ## 4.9.2 - **FIX**: Issues with task lists that span multiple lines. (#267) - **FIX**: Require latest Python Markdown. ## 4.9.1 - **FIX**: Output issue when no user and/or repository is specified. ## 4.9 - **NEW**: Add option to make task lists editable. (!249) - **FIX**: Remove internal references to deprecated options. ## 4.8 - **NEW**: Set progress bar class level increments via `progress_increment` instead of using the hard coded value of `20`. - **FIX**: Compatibility changes for next Markdown release. ## 4.7 - **NEW**: Bring back generic output for Arithmatex. Now under the `generic` option. (#185) - **FIX**: StripHTML should allow space before close of opening tag. - **FIX**: MagicLink should not auto-link inside a link. (#151) ## 4.6 - **NEW**: Arithmatex now *just* uses the script wrapper output as it is the most reliable output, and now previews can be achieved by providing a span with class `MathJax_Preview` that gets auto hidden when the math is rendered. `insert_as_script`, `tex_inline_wrap`, and `tex_block_wrap` have all been deprecated as they are now entirely unnecessary. A new option has been added called `preview` that controls whether the script output generates a preview or not when the rendered math output is loading. Users no longer need to configure `tex2jax.js` in there MathJax configuration anymore. (#171) - **NEW**: PlainHTML has been renamed to StripHTML. `strip_attributes` is now a list instead of a string with a default of `[]`. `pymdownx.plainhtml` is still available with the old convention for backwards compatibility, but will be removed for version 5.0. (!176) - **FIX**: PlainHTML has better script and style content avoidance to keep from stripping HTML tags and attributes from style and script content. (!174) - **FIX**: PlainHTML can strip attributes that are not quoted. (!174) ## 4.5.1 - **FIX**: If an invalid provider is given, default to `github`. If no `user` or `repo` is specified, do not convert links that depend on those default values. (#169) ## 4.5 - **NEW**: Add GitLab style compare link shorthand and link shortening. (#160) - **NEW**: Deprecate GitHub extension. It is now recommended to just include the extensions you want to create a GitHub feel instead of relying on a an extension to package something close-ish. (#159) ## 4.4 - **NEW**: Add social media mentions -- Twitter only right now. (#156) - **FIX**: Use correct regular expression for GitLab and Bitbucket. ## 4.3 - **NEW**: Shorthand format for referencing non-default provider commits, issues, pulls, and mentions. (!147) - **NEW**: Shorthand format for mentioning a repo via `@user/repo`. (!149) - **NEW**: Add repository provider specific classes. (!149) - **NEW**: Make repository labels configurable. (!149) - **FIX**: Adjust pattern boundaries auto-links. ## 4.2 - **NEW**: MagicLink can now auto-link a GitHub like shorthand for repository references. (!139) - **NEW**: MagicLink now renders pull request links with a slightly different output from issues. (!139) - **NEW**: Deprecate `base_repo_url` in MagicLink in favor of the new `provider`, `user`, and `repo`. (!139) - **NEW**: MagicLink now adds classes to repository links. (!139) - **NEW**: MagicLink now adds title to repository links. (!139) - **NEW**: MagicLink no longer styles repository commit hashes as code. (!143) - **FIX**: MagicLink repository link outputs now better reflect default user and repository context. (!143) - **FIX**: PlainHTML should not strip tags that are part of JavaScript code. (!140) ## 4.1 - **NEW**: Details can now have multiple classes defined. ## 4.0 - **NEW**: Details extension will now derive a title from the class if only a class is provided. (#107) - **NEW**: Remove deprecated legacy emoji generator format. - **NEW**: Remove deprecated `use_codehilite_settings`. - **NEW**: Remove deprecated `spoilers` extension redirect. - **NEW**: Update emoji databases: EmojiOne (3.1.2) and Twemoji to .(2.5.0) ## 3.5 - **NEW**: Add new slugs to preserve case. (!103) - **NEW**: Add new GFM specific slug (both percent encoded and normal) that only lowercases ASCII chars just like GFM does. (#101) - **FIX**: PathConverter should not try and convert obscured email address (with HTML entities). (#100) - **FIX**: Don't normalize Unicode in slugs with `NFKD`, use `NFC` instead. (#98) - **FIX**: Don't let EscapeAll escape CriticMarkup placeholders. EscapeAll will no longer escape `STX` and `ETX`; they will just pass through. (#95) - **FIX**: Replace CriticMarkup placeholders after replacing raw HTML placeholders. (#95) ## 3.4 - **NEW**: Renamed Spoilers to Details - **NEW**: No longer attach the `spoilers` class to `details` tags. - **NEW**: Provide better example of UML script in documents. ## 3.3 - **NEW**: Added support for pull request link shortening in MagicLink. (!88) - **NEW**: Added new Spoilers extension. (#85) ## 3.2.1 - **FIX**: Cannot set Highlight's CSS class. ## 3.2 - **NEW**: Add support for Twemoji 2.3.5. - **NEW**: Update to EmojiOne 3.0.2. - **NEW**: Emoji generators now also take `category` which is also no included in all indexes. - **FIX**: Excessive new lines at end of code blocks. ## 3.1 - **NEW**: Highlight extension now runs normal indented code blocks through highlighter. - **FIX**: When Pygments is disabled, `linenums` class was attached to code blocks even if `linenums` was disabled and not enabled via fence headers. ## 3.0 - **NEW**: Added Keys extension. - **NEW**: Generalized custom fences (#60). `flow` and `sequence` fence are now just custom fences and can be disabled simply by overwriting the `custom_fences` setting. - **NEW**: Remove deprecated `no_nl2br` in GitHub extension. (#24) - **NEW**: Remove deprecated HeaderAnchor extension. (#24) - **NEW**: Remove deprecated PyMdown extension. (#24) - **NEW**: Remove deprecated GitHubEmoji extension. (#24) - **NEW**: Remove deprecated `nested` option in SuperFences. (#24) - **NEW**: Wrapper extensions (such as GitHub and Extra) can now allow setting the included sub extensions settings (#61). Workaround settings that directly set specific extensions settings has been removed. - **NEW**: Deprecated `use_codehilite_settings` in SuperFences and InlineHilite and now does nothing. The settings will be removed in the future. If `pymdownx.highlight` is used, it's settings will be used instead of CodeHilite. Eventually, the both SuperFences and InlineHilite will require `pymdownx.highlight` to be used and will have CodeHilite support stripped. - **FIX**: Fix MathJax CDN references and usage in documentation. MathJax CDN is shutting down and must now use Cloudflare CDN. (#63) ## 2.0 - **NEW**: SuperFences and InlineHilite can be configured via the new Highlight extension. - **NEW**: InlineHilite now has all highlighting features pushed to the Highlight extension. This removes all the CodeHilite code that used to be in it and instead relocates it to Highlight. - **NEW**: Deprecate the nesting option in SuperFences. Nesting is default and the only acceptable behavior moving forward. The ability to turn off nesting will be removed in 3.0. ## 1.8 - **NEW**: MagicLink special repository link shortener for GitHub, GitLab, and Bitbucket. (#49) - **FIX**: GitHub asterisk emphasis should never have had smart enabled for it. (#50) - **FIX**: MagicLink fix for compatibility with wrapped symbols like `~`, `*` etc. which are commonly used. - **FIX**: MagicLink encodes emails like Python Markdown does for consistency. - **FIX**: MagicLink doesn't allow Unicode for email and does allow Unicode in a URL. (#53) - **FIX**: InlineHilite now returns a proper `etree` element so that the `attr_list` extension and function properly with it. (#48) - **FIX**: InlineHilite will no longer break if Pygments is not installed (478b410a2199d55f3e70b452516511d3810c61a5). ## 1.7 - **NEW**: Arithmatex now supports `\(...\)`, `\[...\]`, and `\begin{}...\end{}`. - **NEW**: Arithmatex has an option to embed the math code in MathJax script tags. - **FIX**: Unfortunately the wrap option is now run through an HTML escaper and HTML tags can no longer be fed in this way. Arithmatex also now wraps "wrapped" content with spans to containerize content and keep one equation from bleeding into the next. - **FIX**: Better handling of escaped Arithmatex inline tokens. - **FIX**: Better handling of escaped InlineHilite tokens. - **FIX**: Update InlineHilite and SuperFences so that the language option can accept things like `c#` and `.net` etc. - **FIX**: Snippets now removes carriage returns from imported files to prevent breakage. ## 1.6.1 - **FIX**: Don't install tools or tests folder when installing from Pypi. ## 1.6 - **NEW**: EscapeAll has the option to perform more like Pandoc in that you can enable escaped newlines to be `hardbreaks`, and escaped spaces to be `nbsp`. - **NEW**: Rework poorly thought out snippets format to require quoting file names with single line format. Add a block format. Allow commenting out lines temporarily. And allow a way to escape them by placing a space after them. - **FIX**: Fix documentation issues. ## 1.5 - **NEW**: New EscapeAll extension. - **NEW**: New Snippets extension for including external files into a Markdown file. - **NEW**: Arithmatex now has configurable output wrapper. - **NEW**: PathConverter no longer verifies existence of path to allow it more flexible usage. - **NEW**: PathConverter now only converts relative paths when converting to a relative or absolute location. - **NEW**: Improved support for path path identification for PathConverter and B64. - **FIX**: Fixed issue where Arithmatex was un-escaping `$` within math region. - **FIX**: Fixed issue where plugins would append globally changing the escape list opposed to just in the in the Markdown instance. - **FIX**: Fixed logic issue where the `mark`, `caret`, and `tilde` extension weren't quite modeling `betterem` inline behavior. - **FIX**: Critics shouldn't allow escaping critic marks as it is not in the spec. ## 1.4 - **NEW**: HeaderAnchor extension is now deprecated. It will be removed in a future version. - **NEW**: HeaderAnchor is no longer included in the `pymdownx.github` extension. - **NEW**: Slugify functions are moved to `pymdownx.slug` in preparation of HeaderAnchor removal. - **FIX**: GitHubEmoji is not "pending" deprecation, but is actually deprecated. ## 1.3 - **NEW**: New Emoji extension that aims to replace GitHubEmoji. By default it is configured for EmojiOne and Gemoji (GitHub's emoji). - **NEW**: GitHubEmoji is deprecated. Please use the Emoji extension instead. - **NEW**: PyMdown extension is deprecated. PyMdown extension was just a wrapper, please configure the desired individual extension(s) instead of relying on PyMdown. - **NEW**: `github` extension now turns off `nl2br` by default in order properly emulate recent changes in GFM. `no_nl2br` option is deprecated and will be removed in the future as it no longer reflects GFM behavior. ## 1.2 - **NEW**: Add option to output task lists in a more customizable way. ## 1.1 - **NEW**: Add pypi 3.5 info in setup - **NEW**: Add option to MagicLink extension to allow the stripping of link protocols (`http://` etc.). - **NEW**: Add option to `github` extension to disable the use of `nl2br` to reflect recent changes to GitHub Flavored Markdown. Currently the default is the legacy (uses `nl2br`), but a warning will be displayed. In the future, the option will be defaulted to not use `nl2br`. ## 1.0.1 - **FIX**: Ordinal number 11th, 12th, and 13th ## 1.0.0 - **NEW**: Initial release. pymdown-extensions-10.9/docs/src/markdown/about/contributing.md000066400000000000000000000052651465124271600250610ustar00rootroot00000000000000# Contributing & Support ## Become a Sponsor :octicons-heart-fill-16:{: .heart-throb} Open source projects take time and money. Help support the project by becoming a sponsor. You can add your support at any tier you feel comfortable with. No amount is too little. We also accept one time contributions via PayPal. [:octicons-mark-github-16: GitHub Sponsors](https://github.com/sponsors/facelessuser){: .md-button .md-button--primary } [:fontawesome-brands-paypal: PayPal](https://www.paypal.me/facelessuser){ .md-button} ## Bug Reports :material-bug: 1. Please **read the documentation** and **search the issue tracker** to try and find the answer to your question **before** posting an issue. 2. When creating an issue on the repository, please provide as much info as possible: - Version being used. - Operating system. - Version of Python. - Errors in console. - Detailed description of the problem. - Examples for reproducing the error. You can post pictures, but if specific text or code is required to reproduce the issue, please provide the text in a plain text format for easy copy/paste. The more info provided, the greater the chance someone will take the time to answer, implement, or fix the issue. 3. Be prepared to answer questions and provide additional information if required. Issues in which the creator refuses to respond to follow up questions will be marked as stale and closed. ## Reviewing Code :material-glasses: Take part in reviewing pull requests and/or reviewing direct commits. Make suggestions to improve the code and discuss solutions to overcome weakness in the algorithm. ## Answer Questions in Issues :material-comment-question: Take time and answer questions and offer suggestions to people who've created issues in the issue tracker. Often people will have questions that you might have an answer for. Or maybe you know how to help them accomplish a specific task they are asking about. Feel free to share your experience to help others out. ## Pull Requests :octicons-git-pull-request-24: Pull requests are welcome, and a great way to help fix bugs and add new features. If you you are interested in directly contributing to the code, please check out [Development](./development.md) for more info on the environment and process. ## Documentation Improvements :material-pencil: A ton of time has been spent not only creating and supporting this tool and related extensions, but also spent making this documentation. If you feel it is still lacking, show your appreciation for the tool and/or extensions by helping to improve the documentation. Check out [Development](./development.md) for more info on documentation. pymdown-extensions-10.9/docs/src/markdown/about/development.md000066400000000000000000000255621465124271600246760ustar00rootroot00000000000000# Development ## Project Layout There are a number of files for build, test, and continuous integration in the root of the project, but in general, the project is broken up like so. ``` ├── docs ├── pymdownx ├── requirements ├── tests └── tools ``` Directory | Description -------------- | ----------- `docs` | This contains the source files for the documentation. `pymdownx` | This contains the source code for all the extensions. `requirements` | This contains files with lists of dependencies required dependencies for continuous integration. `tests` | This contains the various tests that are run in order to ensure code health. `tools` | This contains various tools that are necessary during development. ## Coding Standards When writing code, the code should roughly conform to PEP8 and PEP257 suggestions. The PyMdown Extensions project utilizes the Flake8 linter (with some additional plugins) to ensure code conforms (give or take some of the rules). When in doubt follow the formatting hints of existing code when adding or modifying files. existing files. Listed below are the modules used: - @PyCQA/flake8 - @PyCQA/flake8-docstrings - @PyCQA/pep8-naming - @ebeweber/flake8-mutable - @gforcada/flake8-builtins Flake8 can be run directly via the command line from the root of the project. ``` flake8 ``` ## Building and Editing Documents Documents are in Markdown (with some additional syntax) and converted to HTML via Python Markdown and this extension bundle. If you would like to build and preview the documentation, you must have these packages installed: - @Python-Markdown/markdown: the Markdown parser. - @mkdocs/mkdocs: the document site generator. - @squidfunk/mkdocs-material: a material theme for MkDocs. - @timvink/mkdocs-git-revision-date-localized-plugin: inserts date a page was last updated. - @facelessuser/pymdown-extensions: this Python Markdown extension bundle. These can be installed via: ``` pip install -r requirements/docs.txt ``` In order to build and preview the documents, just run the command below from the root of the project and you should be able to view the documents at `localhost:8000` in your browser. After that, you should be able to update the documents and have your browser preview update live. ``` mkdocs serve ``` ## Editing Document Theme It isn't expected that people will need to mess with the theme, but if it is needed, a little additional work is required. The documents use the [Material][mkdocs-material] theme for [MkDocs][mkdocs] with some additional local tweaks and additions. JavaScript additions are provided in `docs/src/js` and are in es2020 syntax and are converted to es5. Stylesheets are located at `docs/src/scss` and are written in SCSS, and are converted to CSS. All conversions are done in a `Node.js` environment. In order to get up and running, ensure you have a [`Node.js`](https://nodejs.org/en/) version >= 10. Then install the required modules with: ``` npm install ``` After that you can begin making changes. When ready, you can run the following commands to get a live preview while you make edits, lint your changes, or build the final output. Commands | Description ------------------- | ----------- `npm run serve` | Create a live preview at `localhost:8000` that will pick up your changes as you make them. `npm run build` | Build the final output which will package, minimize, and revision the scripts and stylesheets. It will also update the `mkdocs.yml` file to point to the new revisioned files. `npm run lint` | Run just lint on the files. `npm run clean_all` | This will clean out the generated CSS and JavaScript files. It will also cleanup the generated MkDocs' site. If you need to make changes to the `mkdocs.yml` file, do not update the one in project root directly, but update the one in `docs/src`. The build environment copies the one in `docs/src` to the project root and injects the revisioned script name(s) and stylesheet name(s). When serving via `npm`, if you want to make sure that the local version of `pymdown-extensions` is used, you need to configure `npm run serve` to call with Python instead of calling the MkDocs binary: `npm run serve --mkdocs="python3 -m mkdocs"`. This is because if you are calling Python, it will look in the current working directory first for a given module when importing, but if you call the MkDocs binary, it will instead import the installed `pymdown-extensions`. Configuring the `--mkdocs` option is also useful if `mkdocs` is not in your path, or you want to call with a specific version of Python. ## Spell Checking Documents During validation, we build the docs and run a spell checker on them. The spell checker uses @facelessuser/pyspelling and [Aspell][aspell]. As it can be trickier to run Aspell under Windows, it is not expected that everyone will install and run the spell checker locally. In order to perform the spell check, it is expected you are setup to build the documents, and that you have Aspell installed in the your system path. If you wish to run the spell checker locally, the recommended way is with Tox, which is covered in ["Running Validation With Tox"](#running-validation-with-tox). You can also run the spell checker by first installing the requirements (assuming a Linux system): ``` pip install -r requirements/docs.txt sudo apt-get install aspell aspell-en ``` Then build the docs: ``` mkdocs build --clean ``` And then run the spell checker: ``` pyspelling ``` It should print out the files with the misspelled words if any are found. If you find it prints words that are not misspelled, you can add them in the dictionary which is found in `docs/src/dictionary`. ## Validation Tests In order to preserve good code health, a test suite has been put together with pytest (@pytest-dev/pytest). There are currently two kinds of tests: syntax and targeted. To run these tests, you can use the following command: If you wish to run the tests locally, the recommended way is with Tox, which is covered in ["Running Validation With Tox"](#running-validation-with-tox). You can also run the tests by first installing the requirements: ``` pip install -r requirements/project.txt pip install -r requirements/extra.txt pip install -r requirements/test.txt ``` And then run the tests with: ``` python run_tests.py ``` ### Syntax Syntax tests are essentially text files containing Markdown. They are found under `tests/extensions`. `test_syntax.py` scans all the files and converts the files to HTML with the extensions and options defined in `tests/extensions/tests.yml`. They are then compared to the current stored HTML output. If the two differ, the test fails. To run **only** these tests, from the root of the project run the following command: ``` python run_tests.py --test-target syntax ``` You could also run them directly with: ``` py.test tests/test_syntax.py ``` To run a specific syntax test: ``` python run_tests.py --test-target syntax --file tests/extensions/arithmatex.txt ``` To accept the differences in tests due to a change(s) you made, you can run the following command: ``` python run_tests.py --update ``` To update and accept the differences in a single test: ``` python run_tests.py --update --file tests/extensions/arithmatex.txt ``` ### Targeted Targeted tests are unit tests that target specific areas in the code and exercises them to ensure proper functionality. These tests are found in `test_targeted.py`. You can run **only** these tests from the root of the project with: ``` python run_tests.py --test-target targeted ``` You could also run them directly with: ``` py.test tests/test_targeted.py ``` ### Running Validation With Tox Tox (@tox-dev/tox) is a great way to run the validation tests, spelling checks, and linting in virtual environments so as not to mess with your current working environment. Tox will use the specified Python version for the given environment and create a virtual environment and install all the needed requirements (minus Aspell). You could also setup your own virtual environments with the Virtualenv module without Tox, and manually do the same. First, you need to have Tox installed: ``` pip install tox ``` By running Tox, it will walk through all the environments and create them (assuming you have all the python versions on your machine) and run the related tests. See `tox.ini` to learn more. ``` tox ``` If you don't have all the Python versions needed to test all the environments, those entries will fail. You can ignore those. Spelling will also fail if you don't have the correct version of Aspell. To target a specific environment to test, you use the `-e` option to select the environment of interest. To select lint: ``` tox -e lint ``` To select Python 3.7 unit tests (or other versions -- change accordingly): ``` tox -e py37 ``` To select spelling and document building: ``` tox -e documents ``` ## Code Coverage When running the validation tests through Tox, it is setup to track code coverage via the Coverage (@bitbucket:ned/coveragepy) module. Coverage is run on each `pyxx` environment. If you've made changes to the code, you can clear the old coverage data: ``` coverage erase ``` Then run each unit test environment to and coverage will be calculated. All the data from each run is merged together. HTML is output for each file in `.tox/pyXX-unittests/tmp`. You can use these to see areas that are not covered/exercised yet with testing. You can checkout `tox.ini` to see how this is accomplished. ## Generating Emoji Indexes The Emoji extension has emoji indexes generated from the source of Gemoji, EmojiOne, and Twemoji. Below is the process for auto-generating these indexes. In the case of Twemoji, it will also reference EmojiOne's short name index, so you may need to do both EmojiOne and Twemoji if the support is not satisfactory. 1. Ensure you have Requests (@requests/requests) installed: `pip install requests`. 2. Fork the repository and checkout to your machine. 3. Navigate to the root of the project. 4. Call the generator script: `python tools/gen_emoji.py --gemoji`, `python tools/gen_emoji.py --emojione`, or `python tools/gen_emoji.py --twemoji`. If you already have the latest tag locally, you can specify `--no-download`. It will prompt you to select a tag to download and/or use. Please pull the latest **official** tag. Please don't pull experimental tags. This should update the indexes. 5. Then you want to update the tests. 6. Force the tests to update via `python run_tests.py --update`. Make sure only the emoji tests get updated. Nothing is fool proof. If they make a breaking change to the files that the script parses, or the location of the files change, the auto-update tool may need to be updated itself (hopefully this would be a rare occurrence). If such a change does occur, and you are feeling brave, a pull request would be appreciated, but in time, they will be resolved regardless. pymdown-extensions-10.9/docs/src/markdown/about/license.md000066400000000000000000000000241465124271600237600ustar00rootroot00000000000000--8<-- "LICENSE.md" pymdown-extensions-10.9/docs/src/markdown/about/releases/000077500000000000000000000000001465124271600236235ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/about/releases/6.0.md000066400000000000000000000051711465124271600244540ustar00rootroot00000000000000# 6.0 Migration Notes {: #\6.0} ## Overview While there are a number of new features and bug fixes, the only backwards incompatible changes are with SuperFences' custom fences. In an effort to make custom fences more useful, we wanted to be able to pass the `Markdown` object to the formatters. This gives custom formats access to things like metadata if required. The format of custom fence formatters already had two different versions: ones without custom options and one with custom options. As adding yet another parameter would cause more complexity behind the scenes, we decided to introduce the breaking change of creating a unified format for formatters with custom options and without. In addition to unifying the format, we also now pass the `Markdown` object to the formatters as an additional parameter. While we were breaking custom formats, it seemed like a good time to go ahead and change the defaults for the `custom_fences` options. Most people who are using SuperFences aren't even using the default, niche `flow` and `sequence` custom fences. Instead of hijacking fence names that most people aren't even using, it seemed more appropriate to define no custom fences. Below are instructions on how to upgrade if you were relying on the either the default settings of `custom_fences` or if you had written your own custom fence formatters. 1. If you've written your own custom fence formatters, the number of parameters needed has changed, so you must update your existing formatters. The needed parameters are the same regardless of whether you are using an options validator or not. ```py3 def custom_formatter(source, language, css_class, options, md): return string ``` 2. `flow` and `sequence` are no longer defined by default. If you were relying on the default custom fences, you will have to define them manually now. The needed settings are found below: ```py3 extension_configs = { "pymdownx.superfences": { "custom_fences": [ { 'name': 'flow', 'class': 'uml-flowchart', 'format': pymdownx.superfences.fence_code_format }, { 'name': 'sequence', 'class': 'uml-sequence-diagram', 'format': pymdownx.superfences.fence_code_format } ] } } ``` If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../../faq.md#function-references-in-yaml) to see how to specify function references in YAML. pymdown-extensions-10.9/docs/src/markdown/about/releases/7.0.md000066400000000000000000000062371465124271600244610ustar00rootroot00000000000000# 7.0 Migration Notes {: #\7.0} ## Tabbed Extension A new extension called Tabbed has been added. With the arrival of this general purpose tabbed content extension, it has made the old SuperFences tabbed content feature redundant. By default, SuperFences will now change the classes it uses for it's tabbed feature to match those of the new Tabbed extension. CSS should be updated accordingly. The classes that have changed are `superfences-tabs` and `superfences-content`, which have changed to `tabbed-set` and `tabbed-content` respectively. Example CSS is updated in SuperFences for [reference](../../extensions/superfences.md). To help with the transition though, you can quickly switch back to the old style classes by simply enabling the SuperFences' global option `legacy_tab_classes`: ```py3 extension_configs = { "pymdownx.superfences": { "legacy_tab_classes": True } } ``` To learn more about migrating to the Tabbed extension, checkout the [Tabbed documentation](../../extensions/tabbed.md). SuperFences' tab content feature will be removed in 8.0. There is no formal date for when this will occur, but it is recommended to begin migrating as soon as possible, but `legacy_tab_classes` can be used as a stop gap for the short term. ## Option Deprecation in SuperFences SuperFences has deprecated `highlight_code`. This option now does nothing and will be removed in some future release. If this option was used, you will have to use [custom fences](../../extensions/superfences.md#custom-fences) to implement this behavior with your own custom formatter. ## SuperFences Configurable Classes and IDs Additional classes and IDs can now be injected into fenced code blocks with the format ` ```{.lang .more-class} `. The attribute list feature also impacts the the custom formatter. While the default formatters will still inject classes and IDs to the top level element to preserve backwards compatibility, the formatter now must accept the new keyword parameters `classes` and `id_value`. If you have a custom formatter that does not adhere to this new requirement, you will see a user warning. The new format is: ```py3 def custom_formatter(source, language, css_class, options, md, classes=None, id_value='', **kwargs): return string ``` While it is recommended for a user to update their custom formatters to receive the new parameters, at the very least, users should add `**kwargs` to future proof their formatters. ## CodeHilite Separation SuperFences and InlineHilite no longer sync settings from CodeHilite. To configure either of the extensions, Pymdown Extension's Highlight extension must be used. CodeHilite can be run along side Highlight if desired, but CodeHilite cannot be used to augment SuperFences or InlineHilite's behavior. ## Keys Alias Changes Previously `alt`, `left-alt`, and `right-alt` had aliases `menu`, `left-menu`, `right-menu`, `lmenu`, and `rmenu`. These aliases have been removed. `menu` will now be an alias for `context-menu`. It is known that *Alt* has been referred to as *Menu* in the real world, but so is the actual *Menu*/*Apps* key. This will hopefully create less confusion in the long term, even if there is a little in the short term. pymdown-extensions-10.9/docs/src/markdown/about/releases/8.0.md000066400000000000000000000162451465124271600244620ustar00rootroot00000000000000# 8.0 Migration Notes {: #\8.0} ## Overview In general, there are a couple things to be aware of when upgrading to 8.0. - Some previously deprecated features are now removed: tabbed code blocks via SuperFences and ExtraRawHTML. These were originally deprecated as they are now redundant, and information is provided to allow you to get the same behavior as before. - One of the most invasive changes was adding the support of defining arbitrary attributes on code blocks in SuperFences via the brace header format. This caused numerous changes that affects those who define their own custom fences. If you are only using the builtin fences provided by SuperFences, you will likely notice no adverse affects, but will be able to take advantage of new the new features being offered. ## Better Support for JS Highlighters - SuperFences adds the ability, when using the brace header format (` ```{.lang .class #id attr=value} `) to add arbitrary HTML attributes to code blocks. By default, all classes, IDs and and attributes are added to the `code` block of the generated output. The one exception is that the default `highlight` class is always added to the top level element. For instance, if a user needed to specify that a line number starts with an attribute `data-linenum-start`, they could simply use the brace header format to define this new attribute: ```` ```{.python data-linenum-start="30"} import sys ``` ```` Attributes will only be used when Python Markdown's [`attr_list`][attr-list] extension is enabled. Attributes will also be ignored when using Pygments as Pygments doesn't directly support adding IDs or arbitrary attributes. This allows for more extensive configuration when using JavaScript highlighters. Now users can set the appropriate attributes to configure line numbers and other highlighter specific features without the Highlight extension getting in the way. - Some JS highlighters may require attributes and classes to be assigned to the `pre` element, so the [Highlight](../../extensions/highlight.md) extension has added a new feature called `code_attr_on_pre`. This new option will ensure that custom classes, IDs, and attributes are applied to the `pre` element instead. - By default, JavaScript ready code blocks would normally have the specified language class prefixed with `language-`. This follows the HTML 5 specification, but some highlighters may prefer something different. The prefix can now be changed with the new [Highlight](../../extensions/highlight.md) option called `language_prefix`. ## Retired Features - The legacy tab feature has been removed from SuperFences. This does not mean tab support is dead as the [Tabbed](../../extensions/tabbed.md) extension actually provides an even more useful, general purpose, solution. It was impossible to keep this legacy feature around, in its current implementation, after the restructure of for attribute list support, so we decided to officially retire this already deprecated feature. - ExtraRawHTML has officially been removed. This extension only existed because Python Markdown did not have the feature exposed in a manner that allowed you to use it without including all of their "Extra" extension, now that Python Markdown has exposed this extension by itself, there is no longer a reason for us expose it via ExtraRawHTML. Please use Python Markdown's [`md_in_html`][md-in-html] extension instead to get the same exact functionality. ## Custom Fence Changes SuperFences made numerous changes so that users who wish not to use Pygments can set arbitrary attributes via the brace header format so that can more extensively configure their code blocks for JavaScript syntax highlighters. This required changes to how custom fences were handled. - Custom fence formatters are now expected to take a new keyword attribute called `attrs`. `attrs` contains a dictionary of key/value pairs defining attributes that should be attached to the main block element generated by a given formatter. In general, custom formatters *should* handle these, but are not required to. At the very least, they should be updated to take the argument even if they don't do anything with them. Custom fences that do not accept this parameter will silently fail. If your custom fence already accepts `**kwargs` (as recommended in the 7.0 release), your fence should continue to work even you do not do anything with the attributes. No use and apply the new, attributes, you will have to read the `attrs` parameter and set those to one of the elements in your generated HTML. - Custom fence validators have been updated to handle validation of inputs by assigning valid inputs to either an `options` dictionary or an `attrs` dictionary. The new function signature looks like this: `#!py3 validator(language, inputs, options, attrs, md):`. - `inputs` contains all the parsed key/value pairs and should **never** be modified. `options` should have inputs added to it that configure a formatter's features. You should parse, format and assign all inputs that are considered options to the `option` dictionary. - `attrs` normally would contain copies of any non-option key/value pairs from inputs, unaltered. These would usually be applied to HTML elements as attributes. - `md` is the `Markdown` class instance and is useful if you want to access meta data or anything else in your validator. SuperFences will detect if you are using an older validator and should gracefully transition and use the old format, but it is strongly recommended to use the new format. If you run into any issues, you are required to update to the new format. In a future version, the graceful transition will be removed. - Since attributes and options are now parsed via the [`attr_list`][attr-list] extension, custom fences can no longer allow inputs in the form `key=` (with no value), they must be in the form `key`, `key="value"` or `key=value`. When defining an input in the form `key` (with no value), the value will be the `key` name (this is how [`attr_list`][attr-list] handles such cases). To specify an empty `key`, please use `key=""`. - If a custom validator fails, SuperFences will now gracefully handle the error and try the next custom fence in the queue. If a custom formatter fails. If you suspect your custom validator is not working, you should add your own debug code to your custom fence to verify whether it is failing or not. - SuperFences will gracefully handle the error and abort processing the fence. If you suspect your custom formatter is not working, you should add your own debug code to your custom fence to verify whether it is failing or not. ## New Extension [SaneHeaders](../../extensions/saneheaders.md) implements Markdown headers more like CommonMark. Headers require a space after the `#` symbol in order for the line to be treated as a header. This allows you to use [MagicLink](../../extensions/magiclink.md) issues at the start of a line. See [SaneHeaders documentation](../../extensions/saneheaders.md) for more information. pymdown-extensions-10.9/docs/src/markdown/about/releases/9.0.md000066400000000000000000000153741465124271600244650ustar00rootroot00000000000000# 9.0 Migration Notes {: #\9.0} ## Overview There are many new features that come with 9.0, and a little housecleaning as well. This guide will touch on migration concerns related to removals, deprecations, and/or breaking changes. In general, there should be no breaking changes in 9.0 unless you were still using old, already deprecated features. ## Gone \& Deprecated Removed deprecated features: - Highlight's `legacy_no_wrap_code` option was removed. This used to allow people to output code blocks in Pygments' original way, which simply inserted code in a `#!html
` block. This was added all the way back in 6.3 and was
    only added to help transition people to the new output which is HTML5 compatible and wraps code in
    `#!html 
` blocks. If you have styling or logic that depending on this old, deprecated option, you will
    have to update said styles and/or script logic to account for the new output.

-   Highlight's `highlight_code` option has formally been removed. This option as been a NOOP for a long time and was
    just left around in order to not break people's usage of Highlight. It has now been removed. If it was still hanging
    around in your config, it should simply be removed. Nothing functionally will change.

-   SuperFences, in 7.0, changed up the format of the custom fences. When custom fences were added, a full vision of how
    they would/should be used had not fully cemented, so unfortunately they have been revised occasionally, 7.0 being
    the most recent time. To help transition people, a fallback was left in with a warning. This fallback code has now
    been removed. Information regarding how to upgrade the format is available in the
    [7.0 release guide](./7.0.md#superfences-configurable-classes-and-ids).

As far as deprecated functions and features are concerned:

-   Arithmatex has deprecated all of its SuperFences custom fence functions and instead has replaced it with two
    configurable methods. MkDocs users may have some concerns that these will not work in the YAML configuration, but
    fear not as things work just fine. Check out [Arithmatex Custom Fences](#arithmatex) for more info.

-   PyMdown Extensions provided a number of slugify functions which, like with Arithmatex, have been consolidated into a
    single configurable function. With this consolidation, two new options have been added that allow applying Python's
    default case folding on slugs and allow configuring Unicode normalization. Personally, we feel NFC is the way to go,
    but if others disagree, this is now configurable. Check out
    [One Slugify to Rule Them All](#one-slugify-to-rule-them-all). Much like the new Arithmatex formatters, these slugs,
    even though they are configurable, will work with MkDocs just fine.

## Arithmatex

Arithmatex now as two new custom fences that can be used for InlineHilite and SuperFences: `arithmatex_inline_format`
and `arithmatex_fenced_format` respectively. They can do everything the old methods can do and are configurable. The old
formatters are still available, but have been deprecated.

`arithmatex_inline_format` is meant for InlineHilite and replaces all other inline formatters. The table below shows how
to migrate:

Name                            | Migration
------------------------------- | ---------
`inline_mathjax_preview_format` | `#!py arithmatex_inline_format(mode="mathjax", preview=True)`
`inline_mathjax_format`         | `#!py arithmatex_inline_format(mode="mathjax")`
`inline_generic_format`         | `#!py arithmatex_inline_format(mode="generic")`

`arithmatex_fenced_format` is meant for SuperFences and replaces all related fenced style formatters.

Name                           | Migration
------------------------------ | ---------
`fence_mathjax_preview_format` | `#!py arithmatex_fenced_format(mode="mathjax", preview=True)`
`_inline_mathjax_format`       | `#!py arithmatex_fenced_format(mode="mathjax")`
`inline_generic_format`        | `#!py arithmatex_fenced_format(mode="generic")`

These new, custom fences also add some new features, like being able to change the wrapper element. If you happen to
use MkDocs with Arithmatex, and happen to use `mkdocs-minify-plugin`, you may notice that some math blocks don't render
proper. This is because the plugin butchers white space in the wrapper `#!html 
` element. Now you can wrap your math in a `#!html
` and move on :smile:. This is configurable as an Arithmatex option called `block_tag` and
`inline_tag`. The custom fences and formatters also have a `tag` option where this can be configured.

/// note | MkDocs Users
Fear not, this works for MkDocs as well! Using the following syntax can allow you to specify the function with
keyword arguments:

```yaml
markdown_extensions:
  - pymdownx.superfences:
    custom_fences:
      - name: math
        class: arithmatex
        format: !!python/object/apply:pymdownx.arithmatex.arithmatex_fenced_format {kwds: {mode: generic, tag: pre}}
```

While the above is a personal preference as it keeps the arguments on the same line as the function, you can also
specify them in this way which some may find cleaner:

```yaml
markdown_extensions:
  - pymdownx.superfences:
    custom_fences:
      - name: math
        class: arithmatex
        format: !!python/object/apply:pymdownx.arithmatex.arithmatex_fenced_format
          kwds:
            mode: generic
            tag: pre
```
///

## One Slugify to Rule Them All

Previously, the `slug` module provided numerous slugify functions, they have all been reduced to one configurable
function. Migration is shown below:

Name                     | Migration
------------------------ | ---------
`uslugify`               | `#!py slugify(case="lower", percent_encode=True)`
`uslugify_encoded`       | `#!py slugify(case="lower", )`
`uslugify_cased`         | `#!py slugify(percent_encode=True)`
`uslugify_cased_encoded` | `#!py slugify()`
`gfm`                    | `#!py slugify(case="lower-ascii", percent_encode=True)`
`gfm_encoded`            | `#!py slugify(case="lower-ascii")`

Additionally, you can now set `case="fold"` to use Python's default case folding and set `normalize` to different
Unicode normalization modes (`NFC` is default).

/// note | MkDocs Users
Fear not, this works for MkDocs as well! Using the following syntax can allow you to specify the function with
keyword arguments:

```yaml
markdown_extensions:
  - markdown.extensions.toc:
      slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
```

While the above is a personal preference as it keeps the arguments on the same line as the function, you can also
specify them in this way which some may find cleaner:

```yaml
markdown_extensions:
  - markdown.extensions.toc:
      slugify: !!python/object/apply:pymdownx.slugs.slugify
        kwds:
          case: lower
```
///
pymdown-extensions-10.9/docs/src/markdown/about/security.md000066400000000000000000000000251465124271600242060ustar00rootroot00000000000000--8<-- "SECURITY.md"
pymdown-extensions-10.9/docs/src/markdown/extensions/000077500000000000000000000000001465124271600231055ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/extensions/arithmatex.md000066400000000000000000000374671465124271600256160ustar00rootroot00000000000000[:octicons-file-code-24:][_arithmatex]{: .source-link }

# Arithmatex

## Overview

Arithmatex is an extension that preserves LaTeX math equations during the Markdown conversion process so that they can
be used with libraries like [MathJax][mathjax]. If you prefer to use something other than MathJax, Arithmatex can output
a more generic format suitable for other libraries like [KaTeX][katex].

Arithmatex searches for the patterns `#!tex $...$` and `#!tex \(...\)` for inline math, and `#!tex $$...$$`,
`#!tex \[...\]`, and `#!tex \begin{}...\end{}` for block math. By default, all formats are enabled, but each format can
individually be disabled if desired.

The Arithmatex extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.arithmatex'])
```

## Input Format

By default, [`smart_dollar`](#options) mode is enabled for the `#!tex $...$` inline variant. With `smart_dollar` it is
expected that the opening token (`#!tex $`) is to be followed by a non-whitespace character, and the closing to be
preceded by a non-white-space character.  This is to help avoid false positives when using the dollar sign in
traditional ways such as: *I have $2.00 and Bob has $10.00*.  The previous statement requires no escaping of the
`#!tex $` character.  But when needed, the `#!tex $` character can be escaped using `#!tex \$`. `smart_dollar` can be
disabled and will capture any `#!tex $...$` whose dollar symbols are not escaped (`#!tex \$`).

```tex title="Inline"
$p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\).
```

/// html | div.result
$p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\).
///


/// tip | Inline Configuration
When using MathJax, for best results, it is advised to not use [`generic`](#options) mode, and configure MathJax
without the `text2jax` extension since MathJax automatically detects Arithmatex's default output.

If using generic mode (for libraries like KaTeX), Arithmatex will convert dollars to the form `#!tex \(...\)` in the
HTML output. This is because `#!tex $...$` is extremely problematic to scan for, which is why MathJax and KaTeX
disable `#!tex $...$` by default in their plain text scanners, and why Arithmatex enables `smart_dollar` by default
when scanning for `#!tex $...$`.

It is advised that if you are outputting in in `generic` mode that you do not configure your JavaScript library to
look for `#!tex $...$` and instead look for `#!tex \(...\)`, and let Arithmatex's handle `#!tex $...$`.
///

For block forms, the block must start with the appropriate opening for the block type: `#!tex $$`, `#!tex \[`, and
`#!tex \begin{}` for the respective search pattern. The block must also end with the proper respective end: `#!tex $$`,
`#!tex \]`, and `#!tex \end{}`. A block also must contain no empty lines and should be both preceded and followed by an
empty line.

```tex title="Block"
$$
E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j
$$

\[3 < 4\]

\begin{align}
    p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\
    p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right)
\end{align}
```

/// html | div.result
$$
E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j
$$

\[3 < 4\]

\begin{align}
    p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\
    p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right)
\end{align}
///

## MathJax Output Format

/// note | Format Dropped in MathJax 3
The title is a bit misleading. Yes, MathJax 3 dropped supporting the format as a default recognized form, but you
can still use the form with MathJax 3, you just have to add a little more configuration.

This used to be a supported format for MathJax 2. It appears this form was dropped in MathJax 3. While it is the
current default for Arithmatex, it may be relegated to a secondary option in the future. If this output is preferred
method, setting `generic` to `#!py False` will prevent any surprises in the future if/when the default changes.
///

The math equations will be wrapped in a special MathJax script tag and embedded into the HTML. This format does not
require the `tex2jax.js` extension when setting up MathJax. The tag will be in the form of
`#!html ` for inline and `#!html ` for
block.

By default, Arithmatex will also generate a preview span with the class `MathJax_Preview` that can/should be hidden when
the math content is actually loaded. If you do not want to generate the preview, simply set `preview` to
`#!py3 False`.

All elements are additionally wrapped in a `#!html 
` container by default (`span` if outputting inline math). ## Generic Output Format If [`generic`](#options) is enabled, the extension will escape necessary symbols and normalize all output to be wrapped in the more reliable `#!tex \(...\)` for inline math and `#!tex \[...\]` for display math (unless changed via `tex_inline_wrap` and `tex_block_wrap` in the [options](#options)). Lastly, everything is inserted into a `#!html ` or `#!html
` for inline and display math respectively. With the default settings, if in your Markdown you used `#!tex $...$` for inline math, it would be converted to `#!html \(...\)` in the HTML. Blocks would be normalized from `#!tex $$...$$` to `#!html
\[...\]
`. In the case of `#!tex \begin{}...\end{}`, begins and ends will not be replaced, only wrapped: `#!html
\[\begin{}...\end{}\]
`. ## Loading MathJax Arithmatex requires you to provide the MathJax library and provide and configure it to your liking. The recommended way of including MathJax is to use the CDN. Latest version at time of writing this is found below. /// tab | MathJax 3 ```html ``` /// /// tab | Legacy: MathJax 2 ```html ``` /// Generally, it is best to add your own configuration to get exactly what you want. Here we show some simple examples of configurations done in JavaScript. We've provided two basic configurations below: one that is configured for Arithmatex's [MathJax Output Format](#mathjax-output-format), and one that works with the [Generic Output Format](#generic-output-format) by using `tex2jax`. These are a good starting point, so feel free to take them and configure them further. Please see the [MathJax][mathjax] site for more info on using MathJax extensions/plugins and configuring those extensions/plugins. As noted below, the non-generic methodology is more complicated in MathJax 3 as they abandoned the approach via wrapping math in script tags, but the solution is easily configurable as a simple copy/paste configuration. /// tab | Generic - MathJax 3 ```js window.MathJax = { tex: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ], processEscapes: true, processEnvironments: true }, options: { ignoreHtmlClass: ".*", processHtmlClass: "arithmatex" } }; ``` /// /// tab | Script - MathJax 3 ```js window.MathJax = { options: { ignoreHtmlClass: 'tex2jax_ignore', processHtmlClass: 'tex2jax_process', renderActions: { find: [10, function (doc) { for (const node of document.querySelectorAll('script[type^="math/tex"]')) { const display = !!node.type.match(/; *mode=display/); const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display); const text = document.createTextNode(''); const sibling = node.previousElementSibling; node.parentNode.replaceChild(text, node); math.start = {node: text, delim: '', n: 0}; math.end = {node: text, delim: '', n: 0}; doc.math.push(math); if (sibling && sibling.matches('.MathJax_Preview')) { sibling.parentNode.removeChild(sibling); } } }, ''] } } }; ``` /// /// tab | Legacy: Generic - MathJax 2 ```js MathJax.Hub.Config({ config: ["MMLorHTML.js"], extensions: ["tex2jax.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], tex2jax: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ], processEscapes: true, processEnvironments: true, ignoreClass: ".*|", processClass: "arithmatex" }, }); ``` /// /// tab | Legacy: Script - MathJax 2 ```js MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"] }); ``` /// Notice that in our generic configuration, we set up `tex2jax` to only load `arithmatex` classes by excluding all elements and adding an exception for the `arithmatex` class. We also don't bother adding `#!tex $...$` and `#!tex $$...$$` to the `inlineMath` and `displayMath` options as Arithmatex converts them respectively to `#!tex \(...\)` and `#!tex \[...\]` in the HTML output (unless altered in [Options](#options)). But we do have to enable `processEnvironments` to properly process `#!tex \begin{}...\end{}` blocks. ## Loading KaTeX In order to use KaTeX, the generic output format is required. You will need to include the KaTeX library: ```html ``` And the KaTeX CSS: ```html ``` Though KaTeX does have its own auto load script, we want to ensure it *only* loads math content from elements with the `arithmatex` class. Below is a script that would do just that. Notice we check for and strip wrappers `#!tex \(...\)` and `#!tex \[...\]` off the content of the elements and send it through the renderer. We also don't bother adding `#!tex $...$` and `#!tex $$...$$` to the `inlineMath` and `displayMath` options as Arithmatex converts them respectively to `#!tex \(...\)` and `#!tex \[...\]` in the HTML output (unless altered in [Options](#options)). ```js (function () { 'use strict'; var katexMath = (function () { var maths = document.querySelectorAll('.arithmatex'), tex; for (var i = 0; i < maths.length; i++) { tex = maths[i].textContent || maths[i].innerText; if (tex.startsWith('\\(') && tex.endsWith('\\)')) { katex.render(tex.slice(2, -2), maths[i], {'displayMode': false}); } else if (tex.startsWith('\\[') && tex.endsWith('\\]')) { katex.render(tex.slice(2, -2), maths[i], {'displayMode': true}); } } }); (function () { var onReady = function onReady(fn) { if (document.addEventListener) { document.addEventListener("DOMContentLoaded", fn); } else { document.attachEvent("onreadystatechange", function () { if (document.readyState === "interactive") { fn(); } }); } }; onReady(function () { if (typeof katex !== "undefined") { katexMath(); } }); })(); }()); ``` ## Alternative Math Blocks /// new | New 9.0 Added new formats `arithmatex_inline_format` and `arithmatex_fenced_format`. Both are configurable and effectively replace all other previously available formats. /// /// warning | Deprecated 9.0 The old formatters `inline_mathjax_format`, `inline_mathjax_preview_format`, and `inline_generic_format` have all been deprecated and will be removed at some future time. It is advised to use the new `arithmatex_inline_format` which is configurable and will give the same results as the above three. /// [InlineHilite](./inlinehilite.md) and [SuperFences](./superfences.md) both have a feature where you can specify your own custom inline and fence blocks respectively. Arithmatex provides a number of compatible formats that can be used in conjunction with InlineHilite and SuperFences to create an alternative (and possibly more preferable) syntax for math. In InlineHilite, by simply providing the following configuration (no need to include `pymdownx.arithmatex` as an extension), you can create a familiar inline math format: ```py3 import pymdownx.arithmatex as arithmatex extensions = [ "pymdownx.inlinehilite" ] extension_config = { "pymdownx.inlinehilite": { "custom_inline": [ {"name": "math", "class": "arithmatex", "format": arithmatex.arithmatex_inline_format(which="generic")} ] } } ``` /// tip | YAML Configuration Format If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../faq.md#function-references-in-yaml) to see how to specify function references in YAML. /// ```text title="Inline Math" `#!math p(x|y) = \frac{p(y|x)p(x)}{p(y)}` ``` /// html | div.result `#!math p(x|y) = \frac{p(y|x)p(x)}{p(y)}` /// In SuperFences, by providing the following configuration (no need to include `pymdownx.arithmatex` as an extension), you can create math fences: ```py3 import pymdownx.arithmatex as arithmatex extensions = [ "pymdownx.superfences" ] extension_config = { "pymdownx.superfences": { "custom_fences": [ {"name": "math", "class": "arithmatex", arithmatex.arithmatex_fenced_format(which="generic")} ] } } ``` ````text title="Math Fences" ```math \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} ``` ```` /// html | div.result ```math \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} ``` /// Provided formats are found below: Name | Description ------------------------------- | ----------- `arithmatex_inline_format` | Returns a formatter for creating inline math. Generic mode will wrap math in `#!tex \(...\)`. `arithmatex_fenced_format` | Returns a formatter for creating block math. Generic mode will wrap math in `#!tex \[...\]` Options apply to both formatters: Name | Description --------- | ----------- `mode` | Sets to output mode to either `generic` or `mathjax` (script output). `generic` is the default. `tag` | Sets the tag type of the parent container. By default, it is `div` of fenced blocks and `span` on inline. `preview` | Sets whether a preview is generated for `mathjax` mode only. ## Options Option | Type | Default | Description ----------------- | -------- | ------------------------------------- |------------ `inline_syntax` | [string] | `#!py3 ['dollar', 'round']` | Syntax to search for: dollar=`#!tex $...$` and round=`#!tex \(...\)`. `block_syntax` | [string] | `#!py3 ['dollar', 'square', 'begin']` | Syntax to search for: dollar=`#!tex $...$`, square=`#!tex \[...\]`, and `#!tex \begin{}...\end{}`. `generic` | bool | `#!py3 False` | Output in a generic format suitable for non MathJax libraries. `tex_inline_wrap` | [string] | `#!py3 ['\\(', '\\)']` | An array containing the opening and closing portion of the `generic` wrap. `tex_block_wrap` | [string] | `#!py3 ['\\[', '\\]']` | An array containing the opening and closing portion of the `generic` wrap. `smart_dollar` | bool | `#!py3 True` | Enable Arithmatex's smart dollar logic to minimize math detection issues with `#!tex $`. `preview` | bool | `#!py3 True` | Insert a preview to show until MathJax finishes loading the equations. `block_tag` | string | `#!py3 'div'` | Change the default block tag element wrapper. `inline_tag` | string | `#!py3 'span'` | Change the default inline tag element wrapper. pymdown-extensions-10.9/docs/src/markdown/extensions/b64.md000066400000000000000000000035221465124271600240240ustar00rootroot00000000000000[:octicons-file-code-24:][_b64]{: .source-link } # B64 ## Overview B64 allows for the embedding of local PNG, JPEG, and GIF image references with base64 encoding. It simply needs a base path to resolve relative links in the Markdown source. The base path is the assumed location of the Markdown source at time of conversion. Using the base path, B64 will search and find the actual `img` tag references (both absolute and relative) and base64 encode and embed them in the HTML output. If you would like to distribute a Markdown output without having to also distribute the images separately, B64 can help. In a normal website, this would probably not be desired. ```text title="B64 Image" ![picture](../_assets/bg.png) ``` /// html | div.result ```html

picture ``` /// The B64 extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.b64']) ``` ## Options Option | Type | Default | Description ----------- | ------ | ----------- |------------ `base_path` | string | `#!py3 '.'` | A string indicating a base path to be used to resolve relative links. pymdown-extensions-10.9/docs/src/markdown/extensions/betterem.md000066400000000000000000000074701465124271600252460ustar00rootroot00000000000000[:octicons-file-code-24:][_betterem]{: .source-link } # BetterEm ## Overview BetterEm is an extension that aims to improve emphasis (bold and italic) handling. It provides two modes that control both asterisk's and underscore's bold and italic syntax: **smart** when `smart_enable` is turned on and **normal** if `smart_enable` is turned off. BetterEm overrides all the current bold and italic rules in Python Markdown with its own. When **smart** is enabled for either asterisks and/or underscores, it is enabled for all variants: single and double. When **smart** is enabled, the behavior will be very similar in feel to GFM bold and italic (but not necessarily exact). The BetterEm extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.betterem']) ``` /// danger | Reminder Remember to read the [Usage Notes](../usage_notes.md) for information that may be relevant when using this extension! /// ## Rules /// note | Note For all examples on this page, underscores are __smart__ and asterisks are not. /// BetterEm requires that non-whitespace characters follow the opening token(s) and precede the closing token(s). ```text title="Whitespace" This * won't emphasize * This *will emphasize* ``` /// html | div.result This * won't emphasize * This *will emphasize* /// BetterEm allows for a more natural nested token feel. ```text title="Nested Token" ***I'm italic and bold* I am just bold.** ***I'm bold and italic!** I am just italic.* ``` /// html | div.result ***I'm italic and bold* I am just bold.** ***I'm bold and italic!** I am just italic.* /// BetterEm will try to prioritize the more sane option when nesting bold (`**`) between italic (`*`). ```text title="Prioritize Best" *I'm italic. **I'm bold and italic.** I'm also just italic.* ``` /// html | div.result *I'm italic. **I'm bold and italic.** I'm also just italic.* /// BetterEm will ensure smart mode doesn't terminate in scenarios where there are a large amount of consecutive tokens inside. ```text title="Consecutive Token" ___A lot of underscores____________is okay___ ``` /// html | div.result ___A lot of underscores____________is okay___ /// BetterEm will also ensure that smart mode breaks proper when an inner like token signifies an end. ```text title="Smart Break" __This will all be bold __because of the placement of the center underscores.__ __This will all be bold __ because of the placement of the center underscores.__ __This will NOT all be bold__ because of the placement of the center underscores.__ __This will all be bold_ because of the token is less than that of the surrounding.__ ``` /// html | div.result __This will all be bold __because of the placement of the center underscores.__ __This will all be bold __ because of the placement of the center asterisks.__ __This will NOT all be bold__ because of the placement of the center underscores.__ __This will all be bold_ because the token count is less than that of the surrounding.__ /// BetterEm will allow non-smart emphasis to contain "floating" like tokens. ```text title="Floating Token" *All will * be italic* *All will *be italic* *All will not* be italic* *All will not ** be italic* **All will * be bold** **All will *be bold** **All will not*** be bold** **All will not *** be bold** ``` /// html | div.result *All will * be italic* *All will *be italic* *All will not* be italic* *All will ** be italic* **All will * be bold** **All will *be bold** **All will not*** be bold** **All will not ***be bold** /// ## Options Option | Type | Default | Description -------------- | ------ | ------------------- | ----------- `smart_enable` | string | `#!py3 'underscore'` | A string that specifies whether smart should be enabled for `all`, `asterisk`, `underscore`, or `none`. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/000077500000000000000000000000001465124271600243625ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/api.md000066400000000000000000000457061465124271600254710ustar00rootroot00000000000000# Blocks Extension API ## Block Structure The various different block types are created via the `Block` class. The `Block` class can define all the various parts and handling of the various block parts. The basic structure of a block is shown below: ``` /// name | argument options: per block options Markdown content. /// ``` ## Block Extension Anatomy Normally with Python Markdown, you'd create a processor derived from the various processor types available in the library. You'd then derive an extension from `markdown.Extension` that would register the the processor. Block extensions are very similar. A Block extension is comprised of two parts: the `Block` object and the `BlocksExtension`. It should be noted that we do not use `markdown.Extension`, but `BlocksExtension` which is derived from it. This is done so we can abstract away the management of all the various registered `Block` extensions. It is important to note though that when using the `BlocksExtension` that we do not override the `extendMarkdown` method, but instead override `extendMarkdownBlocks`. In all other respects, `BlocksExtension` is just like `markdown.Extension` and you can register traditional processors via the `md` object or register `Block` objects via the `block_mgr` object. Below we have the very bare minimum required to create an extension. ```py from pymdownx.blocks import BlocksExtension from pymdownx.blocks.block import Block import xml.etree.ElementTree as etree class MyBlock(Block): NAME = 'my-block' def on_create(self, parent): return etree.SubElement(parent, 'div') class MyBlockExtension(BlocksExtension): def extendMarkdownBlocks(self, md, block_mgr): block_mgr.register(MyBlock, self.getConfigs()) def makeExtension(*args, **kwargs): """Return extension.""" return MyBlockExtension(*args, **kwargs) ``` Then we can register and run it: ```py import markdown MD = """ /// my-block content /// """ print(markdown.markdown(MD, extensions=[MyBlockExtension()])) ``` /// html | div.result ```html

content

``` /// ## The Block Object The block object allows us to define the name of a block, whether an argument and/or options are allowed, and how we generally handle the content. ## Global Options Global options are often set in the `BlocksExtension` object like traditional extensions. They are meant to globally control the behavior of a specific block type: ```python class AdmonitionExtension(BlocksExtension): """Admonition Blocks Extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { "types": [ ['note', 'attention', 'caution', 'danger', 'error', 'tip', 'hint', 'warning'], "Generate Admonition block extensions for the given types." ] } super().__init__(*args, **kwargs) ``` These options are available in the instantiated `Block` object via the `self.config` attribute. ## Tracking Data Across Blocks There are times when it can be useful to store data across multiple blocks. Each block instance has access to a tracker that is specific to a specific block type and persists across all blocks. It is only cleared when `reset` is called on the `Markdown` object. The tracker is accessed by a given `Block` extension via the `self.tracker` attribute. The attribute contains a dictionary where various keys and values can be stored. This can be used to count blocks on a page or anything else you can think of. ## Accessing the Markdown Object Some plugins occasionally need access to the current Markdown object. If this is needed, it can be accessed via the class attribute `self.md`. ## Argument The argument is used to declare a common block specific input for a particular block type. This is often, but not exclusively, used for things like titles. It is specified on the same line as the initial block deceleration. Blocks are not required to use an argument and it is not required by default and must be declared as either optional or required in order for the block to accept an argument. An argument is declared by setting `ARGUMENT` to `#!py True` if it is required, `#!py None` if it is optionally allowed, or `#!py False` if it is not allowed. The argument is always parsed as a single string, if it is desired to validate the format of the argument or even to process it as multiple arguments, this can be done in the [`on_validate` event](#on_validate-event). ```python class MyBlock(Block): # Name used for the block NAME = 'my-block' ARGUMENT = True ``` ## Options Options is how a block specifies any per block features via an indented YAML block immediately after the block declaration. The YAML indented block is considered a part of the header and is great for options that don't make sense as part of the first line declaration. An option consists of a keyword to specify the option name, and then a list containing the default value and a validator callback. The callback function should take the input and validate the type and/or coerce the value to an appropriate value. If the input, for whatever reason, is deemed invalid, the callback function should raise an error. After processing, all options will be available as a dictionary via the instance attribute `self.options`. Options will be accessible via the keyword and will return the resolved value. /// tip | Built-in validators A number of Built-in validators are provided. Check out [Built-in Validators](#built-in-validators) to learn more, or feel free to write your own. /// ```py class MyBlock(Block): # Name used for the block NAME = 'my-block' OPTIONS = { 'tag_name': ['default', type_html_indentifier] } ``` /// warning `attrs` is a reserved option that is automatically applied to all `Block` extensions. This should not be overridden. `attrs` takes a dictionary of `str` keys and `str` values describing the attributes to apply to the outer element of the block as returned by the [`on_create`](#on_create-event). The `attrs` input input is sent through [`type_html_attribute_dict`](#type_html_attribute_dict) and is accessible to developers via `self.options['attrs']`. The result is a dictionary of key/value pairs where the key is a `#!py3 str` and the value is a `#!py3 str` (or `#!py3 list[str]` in the special case of `class`). /// ## `is_raw` ```py def is_raw(self, tag: Element) -> bool: ... ``` This method, given a tag will determine if the block should be considered a "raw" tag based on the Blocks extension's internal logic. ## `is_block` ```py def is_block(self, tag: Element) -> bool: ... ``` This method, given a tag will determine if the block should be considered a "block" tag based on the Blocks extension's internal logic. ## `html_escape` ```py def html_escape(self, text: str) -> str: ... ``` Takes a string intended for an HTML tag's content and returns it after applying HTML escaping on it. Escapes `&`, `<`, and `>`. ## `on_init` Event ```py def on_init(self) -> None: ... ``` The `on_init` event is run every time a new block class is instantiated. This is usually where a specific block type would handle global options and initialize class variables that are needed. If the specified block name in Markdown matches the name of a registered block, that block class will be instantiated, triggering the `on_init` event to execute. Each block in a document that is encountered generates its own, new instance. Only the global `config` is available at this time via `self.config`. The `Markdown` object is also available via `self.md`. The can be a good way to perform setup based on on global or local options. ## `on_validate` Event ```py def on_validate(self, parent: Element) -> bool: ... ``` Executed right after the per block argument and option parsing occurs. The argument and options are accessible via `self.argument` and `self.options`. `parent` is the current parent element. `on_validate` is a hook meant to allow the developer to invalidate a block if the options, argument, or even the parent element do not meet some arbitrary criteria. This hook can also be used to make adjustments variables and even do some initialization of class variables based on the results of specific options, arguments, or even the parent element. If validation fails, `#!py3 False` should be returned and the block will not be parsed as a generic block. ## `on_create` Event ```py def on_create(self, parent: Element) -> Element: ... ``` Called when a block is initially found and initialized. The `on_create` method should create the container for the block under the parent element. Other child elements can be created on the root of the container, but outer element of the created container should be returned. ## `on_add` Event ```py def on_add(self, block: Element) -> Element: ... ``` When any calls occur to process new content, `on_add` is called. This gives the block a chance to return the element where the content is desired. This can be useful if the outer element is not the element where the content should go. Keep in mind that content can also be rearranged if needed in the [`on_end` event](#on_end-event). ## `on_markdown` Event ```py def on_markdown(self) -> str: """Check how element should be treated by the Markdown parser.""" ... ``` The `on_markdown` event is used to declare how the content of the block should be handled by the Markdown parser. A string with one of the following values _must_ be returned. All content is treated as HTML content and is stored under the [etree][etree] element returned via the [`on_add` event](#on_add-event). Only during the [`on_end` event](#on_end-event) will all the content be fully accumulated and processed by relevant block processors, and only during the [`on_inline_end` event](#on_inline_end-event) will both block and inline processing be completed. Result\ Value | Description ------------- | ----------- `block` | Parsed block content will be handled by the Markdown parser as content under a block element. `inline` | Parsed block content will be handled by the Markdown parser as content under an inline element. `raw` | Parsed block content will be preserved as is. No additional Markdown parsing will be applied. Content is expected to be indented and should be documented as such. `auto` | Depending on whether the wrapping parent is a block element, inline element, or something like a code element, Blocks will choose the best approach for the content. Decision is made based on the element returned by the [`on_add` event](#on_add-event). When using `raw` mode, all text will be accumulated under the specified element as an [`AtomicString`][atomic]. If nothing is done with the content during the [`on_end` event](#on_end-event), all the content will be HTML escaped by the Python Markdown parser. If desired, the content can be placed into the Python Markdown [HTML stash][stash] which will protect it from any other rouge Treeprocessors. Keep in mind, if the content is stashed HTML escaping will not be applied automatically, so HTML escape if it is required. /// warning | Indent Raw Content Because Python Markdown implements HTML processing as a preprocessor, content for a `raw` block must be indented 4 spaces to avoid the HTML processing step. The content will not be indented when it reaches the [`on_end` event](#on_end-event). Failure to indent will still allow the code to be processed, but it may not process as expected. An extension that uses `raw` should make clear that this is a requirement to avoid unexpected results. /// ## `on_end` Event ```py def on_end(self, block: Element) -> None: ... ``` When a block is parsed to completion, the `on_end` event is executed. This allows an extension to perform any post processing on the elements. You could save the data as raw text and then parse it special at the end or you could walk the HTML elements and move content around, add attributes, or whatever else is needed. ## `on_inline_end` Event ```py def on_inline_end(self, block: Element) -> None: ... ``` When a block is parsed to completion and all inline parsing has been applied, the `on_inline_end` event is executed. It is the very last event for a block. This allows an extension to perform any post processing on an element _after_ inline processing. ## Built-in Validators A number of validators are provided via for the purpose of validating [YAML option inputs](#options). If what you need is not present, feel free to write your own. All validators are imported from `pymdownx.blocks.block`. ### `type_any` ```py def type_any(value: Any) -> Any: ... ``` This takes a YAML input and simply passes it through. If you do not want to validate the input because it does not need to be checked, or if you just want to do it manually in the [`on_validate` event](#on_validate-event), then this is what you'd want to use. ```py class Block: OPTIONS = {'name': [{}, type_any]} ``` ### `type_none` ```py def type_none(value: Any) -> None: ... ``` This takes a YAML input and ensures it is `None` (or `null`) in YAML. This is most useful paired with other types to indicate the option is "unset". See [`type_multi`](#type_multi) to learn how to combine multiple existing types. ```py class Block: OPTIONS = {'name': [none, type_multi(type_none, type_string)]} ``` ### `type_number` ```py def type_number(value: Any) -> int | float: ... ``` Takes a YAML input value and verifies that it is a `float` or `int`. Returns the valid number (`float` or `int`) or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [0.0, type_number]} ``` ### `type_integer` ```py def type_integer(value: Any) -> int: ... ``` Takes a YAML input value and verifies that it is an `int`. Returns the valid `int` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [0, type_integer]} ``` ### `type_ranged_number` ```py def type_ranged_number(minimum: int | float = None, maximum: int | float = None) -> Callable[[Any], int | float]: ``` Takes a `minimum` and/or `maximum` and returns a type function that accepts an input and validates that it is a number (`float` or `int`) that is within the specified range. If `#!py None` is provided for either `minimum` or `maximum`, they will be unbounded. Returns the valid number (`float` or `int`) or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [0.0, type_ranged_number(0.0, 100.0)]} ``` ### `type_ranged_integer` ```py def type_ranged_integer(minimum: int = None, maximum: int = None) -> Callable[[Any], int]: ... ``` Takes a `minimum` and/or `maximum` and returns a type function that accepts an input and validates that it is an `int` that is within the specified range. If `#!py None` is provided for either `minimum` or `maximum`, they will be unbounded. Returns the valid `int` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [0, type_ranged_integer(0, 100)]} ``` ### `type_boolean` ```py def type_boolean(value: Any) -> bool: ... ``` Takes a YAML input and validates that it is a boolean value. Returns the valid boolean or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [False, type_boolean]} ``` ### `type_ternary` ```py def type_ternary(value: Any) -> bool | None: ... ``` Takes a YAML input and validates that it is a `bool` value or `#!py None`. Returns the valid `bool` or `#!py3 None` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': [None, type_ternary]} ``` ### `type_string` ```py def type_string(value: Any) -> str: ... ``` Takes a YAML input and validates that it is a `str` value. Returns the valid `str` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': ['default', type_string]} ``` ### `type_insensitive_string` ```py def type_insensitive_string(value: Any) -> str: ... ``` Takes a YAML input and validates that it is a `str` value and normalizes it by lower casing it. Returns the valid, lowercase `str` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': ['default', type_insensitive_string]} ``` ### `type_string_in` ```py def type_string_in(value: list[str], insensitive: bool = True) -> Callable[[Any], str]: ... ``` Takes a list of acceptable string inputs and a boolean indicating whether comparison should be case insensitive. Returns a type function that takes an input and then validates that it is a `str` and that the `str` value is found in the acceptable string list. Returns the valid `str` or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': ['this', type_string_in(['this', 'that'], type_insensitive_string)]} ``` ### `type_string_delimiter` ```py def type_string_delimiter(value: str, string_type: Callable[[Any], str] = type_string) -> str: ... ``` Takes a delimiter and string type callback and returns a function that takes an input, verifies that it is a `str`, splits it by the delimiter, and ensures that each part validates with the given string type callback. Returns a list of valid `str` values or raises a `ValueError`. ```py class Block: OPTIONS = {'keyword': ['default', type_string_delimiter(',' type_insensitive_string)]} ``` ### `type_html_identifier` ```py def type_html_identifier(value: Any) -> str: ... ``` Tests that a string is an "identifier" as described in CSS. This would normally match tag names, IDs, classes, and attribute names. This is useful if you'd like to validate such HTML constructs. Returns a `str` that is a valid identifier or raises `ValueError`. ```py class Block: OPTIONS = {'keyword': ['default', type_html_indentifier]} ``` ### `type_html_classes` ```py def type_html_classes(value: Any) -> list[str]: ... ``` Takes a YAML input value and verifies that it is a `str` and treats it as a space delimited input. The input will be split by spaces and each part will be run through `type_html_identifier`. Returns a list of `str` that are valid CSS classes or raises `ValueError`. ```py class Block: OPTIONS = {'keyword': ['default', type_html_classes]} ``` ### `type_html_attribute_dict` ```py def type_html_classes(value: Any) -> dict[str, Any]: ... ``` /// note The returned dictionary will have all values set to string except classes which will be a list of strings. The `class` attribute is processed with `type_html_classes`. The `id` attribute is also run through `type_html_identifier` to ensure a good ID that can be targeted with traditional CSS selectors: `#!py3 #id`. /// Takes a YAML input value and verifies that it is a `dict`. Keys will be verified to be HTML identifiers and the values to be strings. Returns a `dict[str, Any]` where the values will either be `str` or `list[str]` as previously noted or raises `ValueError`. ```py class Block: OPTIONS = {'attributes': [{}, type_html_attribute_dict]} ``` ## `type_multi` ```py def type_multi(*args: Any) -> Callable[[Any], Any]: ... ``` Takes a multiple type functions and returns a single type function that takes a YAML input and validates it with all the provided type functions. If the input fails all the validation functions, a `ValueError` is raised. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/index.md000066400000000000000000000140141465124271600260130ustar00rootroot00000000000000[:octicons-file-code-24:][_blocks]{: .source-link } # Blocks --8<-- "blocksbeta.md" ## Overview Blocks is an extension aimed at providing generic blocks inspired by reStructuredText directives. While inspired by directives, generic blocks are not meant to behave or mirror directives as a 1:1 solution. The idea behind blocks is to solve a few issues that have existed within Python Markdown block extensions. 1. Markdown has numerous special syntaxes to define various elements, but as people try to add numerous extensions to perform specialized translations, it can become difficult to continuously come up with new, sensible syntax that does not conflict with some other extension that is desired by users. 2. Traditionally, Python Markdown has implemented any block processors that behave more as containers for multiple child blocks using an indentation format (think Admonitions as an example). While this works, this can be tiring to some authors who'd like to not have so many nested indentation levels in the documentation. Additionally, most code editors will syntax highlight such nested constructs as indented code blocks which can make reading the source difficult. Blocks is an extension type that essentially allows for the creation of its own extension type that function as fenced containers. Each extension can do whatever it wants with the content inside the container and allow for a single generic format to create as many different block style extensions as desired. As the blocks are fenced, indentation is not required to determine the start and end of the blocks. Blocks also allows for per block options giving the extension authors an easy way to extend functionality and users an easy, predictable way to specify such options. Blocks itself isn't used directly, but there are a variety of extensions created with it. All of which can be registered in the traditional way. ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.blocks.']) ``` Pymdown Extensions provides the following extensions. Extension | Description --------------------------------------- | ----------- [`admonition`](./plugins/admonition.md) | The admonition block allows for the creation of admonitions. [`define`](./plugins/definition.md) | Allows for the creation of definition lists. [`details`](./plugins/details.md) | The details block allows for the creation of collapsible details/summary constructs. [`tab`](./plugins/tab.md) | Aims to replace the [Tabbed](../tabbed.md) extension and allows for the creation of tab containers. [`html`](./plugins/html.md) | HTML is a block that allows for the arbitrary creation of HTML elements of various types. ## Syntax Syntax for Blocks requires the desired content to be included between fences. Fences are denoted by using three or more forward slashes. The opening fence must specify the name of the block to invoke it. ``` /// name-of-block content /// ``` /// tip | Content and New Lines While there is no hard rule stating that the first content block must have a new line after the header, it should be noted that some special content blocks may require an empty line before them, this may simply be due to how they are implemented. Simple paragraphs should not require an empty new line before them, but we cannot make a blanket statement about all blocks. If in doubt, use an empty line before the first content block. /// Some blocks may implement a special argument in the header for things such as, but not limited to, titles. This argument can be optional or sometimes enforced as a requirement. This is up to the given Blocks extension to decide. ``` /// note | Did you know? You can create a note with Blocks! /// ``` //// html | div.result /// note | Did you know? You can create a note with Blocks! /// //// Lastly, a given Block extension may allow for additional options that don't make sense in the first line declaration. This may be because they are rarely used, more complicated, or just make the first line signature more confusing. These options are per block specific use a YAML syntax. They must be part of the header, which means no new line between the block declaration and the options or between individual options. The options also must be indented at least four spaces. For instance, all extensions inherit an option `attrs` which allows you to set HTML attributes to the outer element of a generic block. ``` /// html | div attrs: {style: 'font-size: xx-large'} Some content. /// ``` //// html | div.result /// html | div attrs: {style: 'font-size: xx-large'} Some content. /// //// Some blocks may take raw content (and should note this in their documentation) which will avoid further Markdown processing on the content. This is done by requiring the content to be an indented code block. Due to the way Python Markdown works, these content blocks must be indented to avoid having the HTML processor from altering content. Raw blocks cannot shield content from all preprocessor transformations, but by requiring the content to be indented code blocks, the content will survive any alterations that a traditional code block would survive. ``` /// html | pre Pre blocks are _raw_. Additional Markdown parsing is *avoided*. Content should be indented. /// ``` //// html | div.result /// html | pre Pre blocks are _raw_. Additional Markdown parsing is *avoided*. Content should be indented. /// //// /// tip | Indented Content Indented content should always be separated from the block header by one empty line so that it is not confused as a YAML option block. /// ## Nesting Generic blocks can be nested as long as the block fence differs in number of leading tokens. This is similar to how fenced code blocks work. The minimum requirement is that at least three tokens are used. ``` //// note | Some title /// details | Summary type: warning content /// Content //// ``` ///// html | div.result //// note | Some title /// details | Summary type: warning content /// Content //// ///// pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/000077500000000000000000000000001465124271600260435ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/admonition.md000066400000000000000000000102711465124271600305270ustar00rootroot00000000000000[:octicons-file-code-24:][_admonition_block]{: .source-link } # Admonition /// danger | Using `pymdownx.blocks.admonition` with `admonition` The new `pymdownx.blocks.admonition` extension is meant to replace `admonition`, they are not meant to be used together. Their output is identical making it easy to transition by simply swapping out the syntax, but using them both together can cause issues as they both generate the same output and confuse each other. If you are switching from `admonition` to `pymdownx.blocks.admonition`, ensure you disable `admonition` to avoid issues. /// --8<-- "blocksbeta.md" ## Overview Admonition blocks are an alternative to using Python Markdown's [built-in extension][admonition]. The output is identical, but they use the new generic block syntax. By default, the meta-plugin is registered when `pymdownx.blocks` is registered, but if you were customizing which meta-plugins get loaded, you can do so by doing the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.blocks.admonition']) ``` ## Usage Admonitions can be specified using the generic block syntax and the name `admonition`. A title can be specified in the header. ```text title="Admonition" /// admonition | Some title Some content /// ``` /// html | div.result //// admonition | Some title Some content //// /// If desired, you can attach a class to an admonition using the the option `type`. If type is set, a class with that name will be added, and if there is no title, the class name will be used as the title: `note` -> `Note`. ```text title="Admonition" /// admonition | Some title type: warning Some content /// ``` /// html | div.result //// admonition | Some title type: warning Some content //// /// As a shortcut, Admonitions registers a number of admonition blocks that attach common classes: note, attention, caution, danger, error, tip, hint, warning. These require you to use their special name. When using these, you do not need to attach class `note`, `attention`, etc. as they are already done for you. ```text title="Note" /// note | Some title Some content /// ``` /// html | div.result //// note | Some title Some content //// /// These default types can actually be overridden or extended by using the global `types` option. Keep in mind that names cannot conflict with other registered Block plugin names you are using. ```py3 import markdown from pymdownx.blocks.admonition import Admonition md = markdown.Markdown( extensions=['pymdownx.blocks.admonition'], extension_configs={ 'pymdownx.blocks.admonition": { 'types': ['note', 'warning', 'some-custom-type'] } } ) ``` And then you can use your defined types: ``` /// some-custom-type | Some title Some content /// ``` If further control is desired, you can optionally configure a custom block with a name that differs from the actual attached class. You can also configure a default title that is not derived from the attached class. ```py3 import markdown from pymdownx.blocks.admonition import Admonition md = markdown.Markdown( extensions=['pymdownx.blocks.admonition'], extension_configs={ 'pymdownx.blocks.admonition": { 'types': [{'name': some-custom-type', 'class': 'custom', 'title': 'My Default title'}] } } ) ``` Now when using: ``` /// some-custom-type content /// ``` It would be the same as using: ``` /// admonition | My Default Title type: custom content /// ``` As with all block plugins, you can always add new classes IDs or other attributes via the `attributes` option. ``` /// note | Some title attrs: {class: class-name: id: id-name} Some content /// ``` /// new | New 10.5 Specifying custom blocks with specific classes and default titles is new in 10.5. /// ## Global Options Options | Type | Descriptions ------- | ---------- | ------------ `types` | \[string\] | Specify new plugin subclasses to register for specific admonition types. ## Per Block Options Options | Type | Descriptions ------------ | ---------- | ------------ `type` | string | A class name to apply as the admonition type. `attrs` | string | A string that defines attributes for the outer, wrapper element. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/definition.md000066400000000000000000000052241465124271600305200ustar00rootroot00000000000000[:octicons-file-code-24:][_definition_block]{: .source-link } # Definition /// danger | Using `pymdownx.blocks.definition` with `def_list` The new `pymdownx.blocks.definition` extension is meant to replace `def_list`, they are not meant to be used together. Their output is identical making it easy to transition by simply swapping out the syntax, but using them both together can cause issues as they both generate the same output and confuse each other. If you are switching from `def_list` to `pymdownx.blocks.definition`, ensure you disable `def_list` to avoid issues. /// --8<-- "blocksbeta.md" ## Overview The definition blocks are an alternative to using Python Markdown's [built-in extension][def-list]. The output is very similar, but they use the new generic block syntax. By default, the meta-plugin is registered when `pymdownx.blocks` is registered, but if you were customizing which meta-plugins get loaded, you can do so by doing the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.blocks.definition']) ``` ## Usage Definitions can be specified using the generic block syntax and the name `define`. Simply create paragraphs for terms and use a list to provide one or more definitions. ```text title="Definition" /// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. /// ``` /// html | div.result //// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. //// /// Multiple terms and definitions can be define in the same block. The terms will all be under the same definition list. ```text title="Multiple Definitions" /// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. Orange - The fruit of an evergreen tree of the genus Citrus. /// ``` /// html | div.result //// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. Orange - The fruit of an evergreen tree of the genus Citrus. //// /// Also, multiple terms can be associated with the same definition. ``` /// define Term 1 Term 2 - Definition a Term 3 - Definition b /// ``` /// html | div.result //// define Term 1 Term 2 - Definition a Term 3 - Definition b //// /// As with all block plugins, you can always add new classes IDs or other attributes via the `attributes` option. ``` /// define attrs: {class: class-name: id: id-name} Term 1 - Definition a /// ``` ## Global Options Definitions provide no global options. ## Per Block Options Options | Type | Descriptions ------------ | ---------- | ------------ `attrs` | string | A string that defines attributes for the outer, wrapper element. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/details.md000066400000000000000000000103761465124271600300210ustar00rootroot00000000000000[:octicons-file-code-24:][_details_block]{: .source-link } # Details /// danger | Using `pymdownx.blocks.details` with `pymdownx.details` The new `pymdownx.blocks.details` extension is meant to replace `pymdownx.details`, they are not meant to be used together. Their output is identical making it easy to transition by simply swapping out the syntax, but using them both together can cause issues as they both generate the same output and confuse each other. If you are switching from `pymdownx.details` to `pymdownx.blocks.details`, ensure you disable `pymdownx.details` to avoid issues. /// --8<-- "blocksbeta.md" ## Overview Details blocks are an alternative to using [`pymdownx.details`](../../details.md) and, in fact, aim to potentially replace them in the future. The output is identical `pymdownx.details`, but they use the new generic block syntax. By default, the meta-plugin is registered when `pymdownx.blocks` is registered, but if you were customizing which meta-plugins get loaded, you can do so by doing the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.blocks.details']) ``` ## Usage Admonitions can be specified using the generic block syntax and the name `details`. A summary can be specified in the header. Additionally, you can apply a specific class like with admonitions if desired. ```text title="Details" /// details | Some summary Some content /// ``` /// html | div.result //// details | Some summary Some content //// /// Like with [Admonitions](./admonition.md), you can specify a special class to define the type via the `type` option. If `type` is set, a class with that name will be added, and if there is no summary, the type will be used as the summary: `note` -> `Note`. ```text title="Details" /// details | Some summary type: warning Some content /// ``` /// html | div.result //// details | Some summary type: warning Some content //// /// If you wish to specify a details as open (or not collapsed), simply use the option `open`. ```text title="Details Open" /// details | Some summary open: True Some content /// ``` /// html | div.result //// details | Some summary open: True Some content //// /// Like admonitions, you can specify and register special shortcuts for certain details types, but unlike admonitions, details does not register any default types by default. ```py3 import markdown from pymdownx.blocks.details import Details md = markdown.Markdown( extensions=['pymdownx.blocks.details'], extension_configs={ 'pymdownx.blocks.details": { 'types': ['details-note', 'details-warning', 'some-custom-type'] } } ) ``` And then you can use your defined types: ``` /// some-custom-type | Some summary Some content /// ``` If further control is desired, you can optionally configure a custom block with a name that differs from the actual attached class. You can also configure a default title that is not derived from the attached class. ```py3 import markdown from pymdownx.blocks.details import Details md = markdown.Markdown( extensions=['pymdownx.blocks.details'], extension_configs={ 'pymdownx.blocks.details": { 'types': [{'name': some-custom-type', 'class': 'custom', 'title': 'My Default title'}] } } ) ``` Now when using: ``` /// some-custom-type content /// ``` It would be the same as using: ``` /// details | My Default Title type: custom content /// ``` As with all block plugins, you can always add new classes IDs or other attributes via the `attributes` option. ``` /// details | Some title attrs: {class: class-name: id: id-name} Some content /// ``` /// new | New 10.5 Specifying custom blocks with specific classes and default titles is new in 10.5. /// ## Global Options Options | Type | Descriptions ------- | ---------- | ------------ `types` | \[string\] | Specify new plugin subclasses to register for specific admonition types. ## Per Block Options Options | Type | Descriptions ------------ | ---------- | ------------ `open` | bool | A boolean that determines if the details block is open or closed. `type` | string | A class name to apply as the admonition type. `attrs` | string | A string that defines attributes for the outer, wrapper element. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/html.md000066400000000000000000000106371465124271600273400ustar00rootroot00000000000000[:octicons-file-code-24:][_html_block]{: .source-link } # HTML --8<-- "blocksbeta.md" ## Overview The HTML block allows a user to wrap Markdown in arbitrary HTML elements. By default, the meta-plugin is registered when `pymdownx.blocks` is registered, but if you were customizing which meta-plugins get loaded, you can do so by doing the following: ```py3 import markdown from pymdownx.blocks.html import HTML md = markdown.Markdown(extensions=['pymdownx.blocks.html']) ``` ## Usage Generally, HTML blocks can be defined simply by specifying the `html` generic block type followed by the tag name. ```text title="HTML" /// html | div some *markdown* content /// ``` /// html | div.result //// html | div some *markdown* content //// /// Classes and IDs and arbitrary attributes can be specified by using selector-like notation: - `#!css div.my-class` will add a class of name `my-class` to a tag of name `div`. - `#!css div#some-id` will add an ID of name `some-id` to a tag of name `div`. - `#!css div[attr]` will add an attribute of name `attr` to a tag of name `div`. You can also add values (`#!css div[attr=value]`), quoted values (`#!css div[attr="quoted value"]`), and even multiple values (`#!css div[attr1=value attr2="quoted value"]`). - Attributes can also be chained: `#!css div#some-id.class[attr=value]`. ```text title="HTML" /// html | div[style='border: 1px solid red;'] some *markdown* content /// ``` /// html | div.result //// html | div[style='border: 1px solid red;'] some *markdown* content //// /// By default HTML blocks will automatically have the content rendering determined from tag name, so `div` blocks will be treated as block elements, `span` will be treated as inline elements, and things like `pre` will treat the content as raw text that needs HTML escaping, and things like `script` will be treated as raw content does not need HTML escaping. With that said, there may be cases where an HTML element isn't properly recognized yet, or the user simply wants to control how the element processes its content, in these cases, the `markdown` option can be used to specify how Markdown content is handled. Markdown\ Modes | Description --------------- | ----------- `block` | Parsed block content will be handled by the Markdown parser as content under a block element. `inline` | Parsed block content will be handled by the Markdown parser as content under an inline element. `raw` | Parsed block content will be preserved. No additional Markdown parsing will be applied. Content will be HTML escaped to preserve the content as is. `auto` | Depending on whether the wrapping parent is a block element, inline element, or something like a code element, Blocks will choose the best approach for the content. Decision is made based on the element returned by the [`on_add` event](#on_add-event). `html` | Like `raw`, content will be preserved, but the content will _not_ be HTML escaped and will be passed through as unmodified HTML. Any required sanitizing should be provided by the user post Markdown processing. /// tip | Raw and HTML Mode When using _raw_ tags or forcing _raw_ mode with `markdown: raw` (HTML escaped) or `markdown: html` (no HTML escaping), code must be indented. This is because Python Markdown will look for and process raw HTML in non indented blocks. The only avoid this is to use indented code blocks. If content is not indented, the content may be missing at the end. Recognized raw block tags: `canvas`, `math`, `option`, `pre`, and `textarea`. Recognized raw HTML tags: `script` and `style`. Also, make sure to have a new line before indented content so it is not recognized as an attempt to specify YAML options. /// In the following example we force `pre` to handle content as Markdown block content instead of the usual raw content default. ```text title="Pre as Block" /// html | pre some *markdown* content /// /// html | pre markdown: block some *markdown* content /// ``` /// html | div.result //// html | pre some *markdown* content //// //// html | pre markdown: block some *markdown* content //// /// ## Per Block Options Options | Type | Descriptions ------------ | ---------- | ------------ `markdown` | string | String value to control how Markdown content is processed. Valid options are: `auto`, `block`, `inline`, `html`, and `raw`. `attrs` | string | A string that defines attributes for the outer, wrapper element. pymdown-extensions-10.9/docs/src/markdown/extensions/blocks/plugins/tab.md000066400000000000000000000114411465124271600271340ustar00rootroot00000000000000[:octicons-file-code-24:][_tab_block]{: .source-link } # Tab /// danger | Using `pymdownx.blocks.tab` with `pymdownx.tabbed` The new `pymdownx.blocks.tab` extension is meant to replace `pymdownx.tabbed`, they are not meant to be used together. Their output is identical making it easy to transition by simply swapping out the syntax, but using them both together can cause issues as they both generate the same output and confuse each other. If you are switching from `pymdownx.tabbed` to `pymdownx.blocks.tab`, ensure you disable `pymdownx.tabbed` to avoid issues. /// --8<-- "blocksbeta.md" ## Overview Tab blocks are aimed at replacing the [Tabbed extension](../../tabbed.md). They function identical to Tabbed in every way, even using the same classes, except they use the new generic block syntax. By default, the meta-plugin is registered when `pymdownx.blocks` is registered, but if you were customizing which meta-plugins get loaded, you can do so by doing the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.blocks.tab']) ``` ## Usage A tab can be defined using the generic block syntax and the name `tab`. Tabs should also specify the tab title in the header. Consecutive tabs will automatically be grouped. ```text title="Tabs" /// tab | Tab 1 title Tab 1 content /// /// tab | Tab 2 title Tab 2 content /// ``` /// html | div.result //// tab | Tab 1 title Tab 1 content //// //// tab | Tab 2 title Tab 2 content //// /// If you want to have two tab containers right after each other, you specify a hard break that will force the specified tab to start a brand new tab container. ```text title="New Tab Group" /// tab | Tab A title Tab A content /// /// tab | Tab B title Tab B content /// /// tab | Tab C Title new: true Will be part of a separate, new tab group. /// ``` /// html | div.result //// tab | Tab A title Tab A content //// //// tab | Tab B title Tab B content //// //// tab | Tab C title new: true Will be part of a separate, new tab group. //// /// If desired, you can specify a tab to be selected by default with the `select` option. ``` /// tab | Tab 1 title Tab 1 content /// /// tab | Tab 2 title select: True Tab 2 should be selected by default. /// ``` As with all block plugins, you can always add new classes IDs or other attributes via the `attributes` option. ``` /// tab | Some title attrs: {class: class-name: id: id-name} Some content /// ``` ## Tab IDs By default, tabs generate IDs for each tab using the following template `__tabbed__`. If it is desired to implement jumping to a specific tab with more intuitive IDs, it may be preferable to generate IDs from slugs. To do so, two [options](#global-options) are provided: `slugify` and `separator`. /// tip Jumping to tabs via IDs may require additional JavaScript to select the targeted tabs. /// If `slugify` is given a slug function (you can use any that [ship with Pymdownx Extensions](../../../extras/slugs.md)), the Tabbed extension will generate IDs from the tab titles just like headers. `separator` allows for the specifying of the word separator (`-` is the default). If you'd like the slugs to be prefixed with the slug of the parent header, you can enable the `combine_header_slug` option. If you had the following example, normally the header slug would be `header` and the content tab would have the slug `tab`. ``` # header /// tab | tab content /// ``` With `combine_header_slug` enabled, the header slug would still be `header`, but now the content tab slug would be `header-tab`. /// new | New 10.1 `combine_header_slug` is new in 10.1 /// ## Additional Topics As Tab shares the same output and functionality as the [Tabbed extension](../../tabbed.md), you can check out the documentation there to learn the following: - [How to style the tabs?](../../tabbed.md#styling-with-css) - [How to link tab selection on an entire page?](../../tabbed.md#linked-tabs) - [What is the alternate style and how do I style them?](../../tabbed.md#alternate-style) ## Global Options Options | Type | Descriptions --------------------- | -------- | ------------ `alternate_style` | bool | Use the experimental, alternative style. `slugify` | function | A function to generate slugs from tab titles. `separator` | string | Default word separator when generating slugs. `combine_header_slug` | bool | Combine the parent header slug with the tab content slug. ## Per Block Options Options | Type | Descriptions ------------ | ---------- | ------------ `new` | bool | Force the current tab to start a new tab container. `select` | bool | Force the given tab to be selected in the parent tab container. `attrs` | string | A string that defines attributes for the outer, wrapper element. pymdown-extensions-10.9/docs/src/markdown/extensions/caret.md000066400000000000000000000026241465124271600245310ustar00rootroot00000000000000[:octicons-file-code-24:][_caret]{: .source-link } # Caret ## Overview Caret optionally adds two different features which are syntactically built around the `^` character. The first is **insert** which inserts `#!html ` tags. The second is **superscript** which inserts `#!html ` tags. The Caret extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.caret']) ``` ## Insert To wrap content in an **insert** tag, simply surround the text with double `^`. You can also enable `smart_insert` in the [options](#options). Smart behavior of **insert** models that of [BetterEm](betterem.md#differences). ```text title="Insert" ^^Insert me^^ ``` /// html | div.result ^^Insert me^^ /// ## Superscript To denote a superscript, you can surround the desired content in single `^`. It uses Pandoc style logic, so if your superscript needs to have spaces, you must escape the spaces. ```text title="Superscript" H^2^0 text^a\ superscript^ ``` /// html | div.result H^2^0 text^a\ superscript^ /// ## Options Option | Type | Default | Description -------------- | ---- | ------------ | ----------- `smart_insert` | bool | `#!py3 True` | Use smart logic with insert characters. `insert` | bool | `#!py3 True` | Enable insert feature. `superscript` | bool | `#!py3 True` | Enable superscript feature. pymdown-extensions-10.9/docs/src/markdown/extensions/critic.md000066400000000000000000000225341465124271600247120ustar00rootroot00000000000000[:octicons-file-code-24:][_critic]{: .source-link } # Critic ## Overview Critic is an extension that adds handling and support of [Critic Markup][critic-markup] which uses a special syntax to represent edits to a Markdown document. This extension runs before all other extensions to parse the critic edits. Critic allows you to automatically accept edits or reject the edits and render the output accordingly. It also allows for visually displaying the changes in HTML output ([mileage may vary](#limitations-with-previewing-critic-markup)). The Critic extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.critic']) ``` ## Usage Critic Markup uses special markup to insert, delete, substitute, highlight, and comment. To insert or remove text you can use `#!critic-markup {++insert me++}` and `#!critic-markup {--remove me--}` respectively. You can also denote a substitution with `#!critic-markup {~~substitute this~>with this~~}`. You can also highlight specific text with `#!critic-markup {==highlight me==}`. Or even comment, which is generally done by highlighting text and following it with a comment: `#!critic-markup {==highlight me==}{>>Add a comment<<}`. ```critic-markup title="Critic Markup Accept" Here is some {--*incorrect*--} Markdown. I am adding this{++ here++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some text==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test remove * test remove * test remove * test remove * test remove --} {++ * test add * test add * test add * test add * test add ++} ``` /// html | div.result ```md-render --- extensions: - pymdownx.critic extension_configs: pymdownx.critic: mode: accept --- Here is some {--*incorrect*--} Markdown. I am adding this{++ here++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some text==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test remove * test remove * test remove * test remove * test remove --} {++ * test add * test add * test add * test add * test add ++} ``` /// When previewing, you can style them to stand out (see [CSS](#css) for more information): ```critic-markup title="Critic Markup Preview" Here is some {--*incorrect*--} Markdown. I am adding this{++ here++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some text==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test remove * test remove * test remove * test remove * test remove --} {++ * test add * test add * test add * test add * test add ++} ``` /// html | div.result ```md-render --- extensions: - pymdownx.critic --- Here is some {--*incorrect*--} Markdown. I am adding this{++ here++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some text==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test remove * test remove * test remove * test remove * test remove --} {++ * test add * test add * test add * test add * test add ++} ``` /// ## Limitations with Previewing Critic Markup Parsing CriticMarkup is very straight forward. If you need to reject critic marks or accept them, the Critic extension will work quite well. But when trying to render the edits visually **and** trying to convert the document to HTML, things can get ugly. I think this is the one unfortunate problem with CriticMarkup. The existence of the critic edits can alter the actual source. Its a fantastic idea, but it should be understood that when using CriticMarkup beyond inline or block paragraphs, there is a possibility that invalid HTML will be created for the preview (especially in relation to lists or if breaking up Markdown syntax). I think Fletcher of [MultiMarkdown][multi-markdown] said it best here: > I view CriticMarkup as two things: > 1. A syntax for documenting editing notes and changes, and for collaborating amongst coauthors. > 2. A means to display those notes/changes in the HTML output. > I believe that \#1 is a really great idea, and well implemented. \#2 is not so well implemented, largely due to the "orthogonal" nature of CriticMarkup and the underlying Markdown syntax. > CM is designed as a separate layer on top of Markdown/MultiMarkdown. This means that a Markdown span could, for example, start in the middle of a CriticMarkup structure, but end outside of it. This means that an algorithm to properly convert a CM/Markdown document to HTML would be quite complex, with a huge number of edge cases to consider. I've tried a few (fairly creative, in my opinion) approaches, but they didn't work. Perhaps someone else will come up with a better solution, or will be so interested that they put the work in to create the complex algorithm. I have no current plans to do so. The Critic extension does its best by employing a preprocessor to inject the critic tags before all other parsing and a post-processor to clean up some of the weird side effects of the injection (only selected odd cases as others are more difficult to fix). It injects some classes into the edit region's HTML output which allows for CSS styling. There is probably a lot more post-processing that could be done to fix more issues, but whether this extension will be going further down that road has not yet been decided. ## CSS Critic renders the CriticMarkup with the following classes. Classes | Description --------- |------------ `critic` | This is applied to all critic edits. `break` | This is applied to critic inserts or deletes that encompass **only** 2+ newlines. `block` | Applied to critic HTML tags that are detected as surrounding a block region. `comment` | A CriticMarkup comment. /// settings | Basic CSS Setup //// collapse-code ```css /* Critic Markup */ .markdown-body .critic { font-family: inherit; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; border-style: solid; border-width: 1px; padding-top: 0.1em; padding-bottom: 0.1em; text-decoration: none; } .markdown-body .critic:before, .markdown-body .critic:after { content: '\00a0'; padding-top: 0.1em; padding-bottom: 0.1em; font-size: initial; } .markdown-body .block:before, .markdown-body .block:after { content: ''; } .markdown-body mark.critic { border-color: #ff8600; background: #ffddaa; } .markdown-body ins.critic { border-color: #00bb00; background: #ddffdd; } .markdown-body del.critic { border-color: #dd0000; background: #ffdddd; } .markdown-body ins.break, .markdown-body del.break { font-size: 0; border: none; } .markdown-body ins.break:before, .markdown-body del.break:before { content: '\00a0\b6\00a0'; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .markdown-body ins.after, .markdown-body del.after { content: ''; } .markdown-body ins.break:before { color: #00bb00; border: 1px solid #00bb00; background: #ddffdd; } .markdown-body del.break:before { color: #bb0000; border: 1px solid #bb0000; background: #ffdddd; } .markdown-body span.critic { background: #ddddff; border: 0; border-top: 1px solid #0000bb; border-bottom: 1px solid #0000bb; } .markdown-body span.critic:before, .markdown-body span.critic:after { font-size: inherit; background: #ddddff; border: 1px solid #0000bb; } .markdown-body span.critic:before { content: '\00a0\bb'; border-right: none; -webkit-border-top-left-radius: 3px; -moz-border-top-left-radius: 3px; border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; } .markdown-body span.critic:after { content: '\ab\00a0'; border-left: none; -webkit-border-top-right-radius: 3px; -moz-border-top-right-radius: 3px; border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; } .markdown-body .block { display: block; padding: .02em; } ``` //// /// ## Options Option | Type | Default | Description --------- |------- | ----------- | ----------- `mode` | string | `#!py3 view` | `view` just parses the markup and displays it in its HTML equivalent rendering. `accept` strips out the critic markup and replaces them with the suggested changes. `reject` rejects all the suggestions and strips the critic markup out replacing it with the original. pymdown-extensions-10.9/docs/src/markdown/extensions/details.md000066400000000000000000000137331465124271600250630ustar00rootroot00000000000000[:octicons-file-code-24:][_details]{: .source-link } # Details /// tip | 9.10 New Approach to Details 9.10 has added a new approach to creating details. Checkout the new [Details extension here](./blocks/plugins/details.md)! /// ## Overview Details is an extension that creates collapsible elements that hide their content. It uses the HTML5 `#!html
` tags to accomplish this. It supports nesting and you can also force the default state to be open. And if you want to style some different than others, you can optionally feed in a custom class. The Details extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.details']) ``` ## Syntax Details must contain a blank line before they start. Use `???` to start a details block or `???+` if you want to start a details block whose default state is 'open'. Follow the start of the block with an optional class or classes (separated with spaces) and the summary contained in quotes. Content is placed below the header and must be indented. ``` ??? optional-class "Summary" Here's some content. ??? multiple optional-class "Summary" Here's some content. ``` ```text title="Details" ???+ note "Open styled details" ??? danger "Nested details!" And more content again. ``` /// html | div.result ???+ note "Open styled details" ??? danger "Nested details!" And more content again. /// It is also possible to provide only a class. If this is done, the title will be derived from the *first* class. ```text title="Class from Title" ??? success Content. ??? warning classes Content. ``` /// html | div.result ??? success Content. ??? warning classes Content. /// Details will be output in the format below. The content will always be encapsulated in tags of some kind. ```html
Text

Content

``` ## Browser Support Unfortunately, due to how new `#!html
` tags are, not all browsers support them yet. In order to have them supported in all new browsers, you will have to provide some fallback styling and JavaScript until all browsers catch up. This extension's goal is not to provide you with the perfect polyfill, but this is a basic example that provides basic support. There are more elaborate polyfills available that support jQuery, add keyboard events, or even support back to IE8. Feel free to modify what is here or find a solution that fits your needs. /// settings | Basic Polyfill Setup Here is the basic CSS that that can be used. It is meant to provide a consistent CSS in both browsers that support `#!html
` tags and those that do not. //// collapse-code ```css details { display: block; } details[open] > summary::before { content: "\25BC"; } details summary { display: block; cursor: pointer; } details summary:focus { outline: none; } details summary::before { content: "\25B6"; padding-right: 0.5em; } details summary::-webkit-details-marker { display: none; } /* Attach the "no-details" class to details tags in browsers that do not support them to get open/show functionality. */ details.no-details:not([open]) > * { display: none; } details.no-details:not([open]) summary { display: block; } ``` //// And below is the JavaScript that will detect browsers that do not support `#!html
` tags and apply a `no-details` class to all details in those browsers. It will also attach a click event that will toggle the open state. The CSS above will target the `no-details` class and the `open` attribute to hide/show the content of your `#!html
` tag. Just run the code after the HTML content is loaded. There are plenty of things that aren't covered here, like jumping to a footnote or ID inside a closed polyfilled detail element, but this is left up to the user to figure out, or for a complete 3rd party polyfill. //// collapse-code ```js (function () { 'use strict'; /** * Converts details/summary tags into working elements in browsers that don't yet support them. * @return {void} */ var details = (function () { var isDetailsSupported = function () { // https://mathiasbynens.be/notes/html5-details-jquery#comment-35 // Detect if details is supported in the browser var el = document.createElement("details"); var fake = false; if (!("open" in el)) { return false; } var root = document.body || function () { var de = document.documentElement; fake = true; return de.insertBefore(document.createElement("body"), de.firstElementChild || de.firstChild); }(); el.innerHTML = "ab"; el.style.display = "block"; root.appendChild(el); var diff = el.offsetHeight; el.open = true; diff = diff !== el.offsetHeight; root.removeChild(el); if (fake) { root.parentNode.removeChild(root); } return diff; }(); if (!isDetailsSupported) { var blocks = document.querySelectorAll("details>summary"); for (var i = 0; i < blocks.length; i++) { var summary = blocks[i]; var details = summary.parentNode; // Apply "no-details" to for unsupported details tags if (!details.className.match(new RegExp("(\\s|^)no-details(\\s|$)"))) { details.className += " no-details"; } summary.addEventListener("click", function (e) { var node = e.target.parentNode; if (node.hasAttribute("open")) { node.removeAttribute("open"); } else { node.setAttribute("open", "open"); } }); } } }); (function () { var onReady = function onReady(fn) { if (document.addEventListener) { document.addEventListener("DOMContentLoaded", fn); } else { document.attachEvent("onreadystatechange", function () { if (document.readyState === "interactive") { fn(); } }); } }; onReady(function () { details(); }); })(); }()); ``` //// /// pymdown-extensions-10.9/docs/src/markdown/extensions/emoji.md000066400000000000000000000663201465124271600245410ustar00rootroot00000000000000[:octicons-file-code-24:][_emoji]{: .source-link } # Emoji ## Overview The Emoji extension adds support for inserting emoji via simple short names enclosed within colons: `:short_name:`. This is accomplished by using a short name index to map easy to remember names to associated Unicode data. The Unicode data is then converted into actual Unicode emoji characters and/or special HTML elements (usually images) that represent the emoji. ``` :smile: :heart: :thumbsup: ``` /// html | div.result :smile: :heart: :thumbsup: /// The Emoji extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.emoji']) ``` ## Supported Emoji Providers There are a number of emoji short name conventions that people may be aware of. These conventions are always tied to a specific emoji set. These conventions differ because there is no official Unicode short name convention. At the present, Emoji chooses to focus on three specific emoji sets: /// tab | EmojiOne [EmojiOne][emojione] (:smile: :heart: :thumbsup:): EmojiOne is a high quality emoji set with support for gender and skin tone modifiers. Their free emoji set includes PNGs in sizes of 32x32, 64x64, and 128x128 which are all available via a CDN. The older EmojiOne (version 2.2.7), is what is used by default. It is the last truly free version. EmojiOne has rebranded with the name JoyPixels and now has an even more restrictive license for their graphical assets. Their latest short name list is still used for Twemoji as that portion is available under the MIT license via their toolkit repo @JoyPixels/emoji-toolkit. /// /// tab | Twemoji [Twemoji][twemoji] (:smile: :heart: :thumbsup:): Twemoji is Twitter's open source emoji set which also covers a great many emoji with skin tones and gender modifiers. The hosted CDN provides 72x72 PNG emoji or SVG emoji. While Gemoji and EmojiOne have a short name convention, Twemoji does not, and there are very few 3rd party projects that provide short names anywhere close to all the provided emoji that Twemoji supports. Since JoyPixels has an MIT licensed index of short names closest to what Twemoji supports, we use their short name list for Twemoji. There will be a reasonable attempt to patch in emoji not found in JoyPixels' index, but if JoyPixels is ever significantly behind, we may wait for JoyPixels to catch up. /// /// tab | Gemoji [Gemoji][gemoji] (:smile: :heart: :+1:): Gemoji is GitHub's open source emoji solution. It contains a lot of common emoji and a couple special, non Unicode emoji (like Gemoji's `:octocat:` :octocat:). If you are a GitHub user, you are probably familiar with some of the short names associated with it. Their associated CDN contains the emoji in 75x75 PNG format. /// /// warning | Emoji Image Licensing PyMdown Extensions has no affiliation with EmojiOne, Gemoji, or Twemoji. The indexes generated from their sources are covered under their respective licensing. When using their images or CSS, please see their licensing terms to ensure proper usage and attributions. //// tab | EmojiOne - https://github.com/joypixels/emoji-toolkit#joypixels-version-2 - http://creativecommons.org/licenses/by/4.0/ //// //// tab | Twemoji - https://github.com/jdecked/twemoji/blob/main/LICENSE-GRAPHICS //// //// tab | Gemoji - https://github.com/github/gemoji/blob/master/LICENSE //// /// All short name indexes that Emoji uses are generated from EmojiOne's or Gemoji's latest official source tag -- Twemoji uses JoyPixels' index as the Twemoji repository does not ship with a short name index. The indexes contain the emoji names, short names, values, etc.; everything needed to insert Unicode emoji characters or specially crafted HTML elements. ## Emoji Output Formats Depending on your needs, you may have different requirements for how emoji get displayed in your documents. You may want to use PNG images, or maybe you really like SVG images. Maybe you just want to convert short names to the actual Unicode code points. There are a variety of ways you may want to output emoji, and the Emoji extension has you covered. Emoji provides various output formats that take the Unicode data associated with a short name (or the short name itself in the case of a custom emoji) and generates an HTML output. Not all of the provided output formats will work for each emoji index, but there are a few that should work for all three. Check out [Default Emoji Generators](#default-emoji-generators) or [Custom Emoji Generators](#custom-emoji-generators) to learn more. ## Default Emoji Indexes By default, Emoji provides three indexes: `emojione`, `gemoji`, and `twemoji`. All indexes are generated from the most recent official release tag source (in the case of Twemoji, short names are acquired from the generated index in @JoyPixels/emoji-toolkit). They can be used by passing in one of the three functions below via the `emoji_index` parameter. Pass the actual function reference, not a string. If you need to create your own, just check out [Custom Emoji Indexes](#custom-emoji-generators). /// tip If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../faq.md#function-references-in-yaml) to see how to specify function references in YAML. /// /// tab | EmojiOne ``` pymdownx.emoji.emojione ``` This is the default function that is used. EmojiOne was rebranded as JoyPixels and is no longer permissible enough to be used. The release used here is for 2.2.7 which is the last usable, truly free version of EmojiOne. Users are still required to comply with acknowledgments. JoyPixels 3.0+ graphical assets will not be supported moving forward as the license is too restrictive, tough the latest index of their friendly names is supported under the MIT license and is used to generate friendly, short names for Twemoji. You can always find out what tag it was built with by doing the following: ```pycon3 >>> import pymdownx.emoji1_db as e1db >>> e1db.version 'v2.2.7' ``` To see the full list of short names for this index, see the index [source][emojione-index]. /// /// tab | Twemoji ``` pymdownx.emoji.twemoji ``` This function provides an index of the latest Twemoji supported emoji (at the time of release). The associated short names are currently borrowed from JoyPixels' index found in their @JoyPixels/emoji-toolkit repo. JoyPixels short name index is available under the MIT license and is used as Twemoji does not provide its own list of short names. There are a few emoji that are currently Twemoji specific, two of which are likely to always be as they are not part of the official emoji spec. The short names are listed below. //// details-info | Twemoji Specific Emoji Twemoji provides some non-standard emoji. We've made them available following the naming patterns that EmojiOne follows as we are using their short name index. The emoji are either some that only Twemoji supports, rarely supported by others, or emoji that have tone and/or gender modifiers that aren't supported in the Unicode specifications. We've also provided appropriate aliases for consistency with other like emoji. ``` :pirate_flag: :shibuya: :skier_tone1: :skier_tone2: :skier_tone3: :skier_tone4: :skier_tone5: :woman_levitate: :woman_levitate_tone1: :woman_levitate_tone2: :woman_levitate_tone3: :woman_levitate_tone4: :woman_levitate_tone5: :woman_in_business_suit_levitating_tone1: :woman_in_business_suit_levitating_tone2: :woman_in_business_suit_levitating_tone3: :woman_in_business_suit_levitating_tone4: :woman_in_business_suit_levitating_tone5: :woman_in_tuxedo: :woman_in_tuxedo_tone1: :woman_in_tuxedo_tone2: :woman_in_tuxedo_tone3: :woman_in_tuxedo_tone4: :woman_in_tuxedo_tone5: :transgender_sign: :transgender_flag: ``` //// You can always find out what tag it was built with by doing the following: ```pycon3 >>> import pymdownx.twemoji_db as twdb >>> twdb.version 'v12.1.3' >>> twdb.index_version '5.0.5' ``` To see the full list of short names for this index, see the index [source][twemoji-index]. /// /// tab | Gemoji ``` pymdownx.emoji.gemoji ``` This function provides an index of the latest Gemoji supported emoji (at the time of release). You can always find out what tag it was built with by doing the following: ```pycon3 >>> import pymdownx.gemoji_db as gmdb >>> gmdb.version 'v3.0.1' ``` To see the full list of short names for this index, see the index [source][gemoji-index]. /// ## Default Emoji Generators Emoji provides six default emoji generators. PNG output and Unicode code point output are supported for all three indexes. SVG output is only supported for Twemoji and the older 2.2.7 EmojiOne set. PNG sprites and the "Font Awesome" like format are only supported by EmojiOne. SVG sprites is only supported by the 2.2.7 EmojiOne. You can select a generator to use by passing in one of the functions below via the `emoji_generator` parameter. Pass the actual function reference, not a string. If you need to create your own, just check out [Custom Emoji Generators](#custom-emoji-generators). /// tip If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../faq.md#function-references-in-yaml) to see how to specify function references in YAML. /// /// tab | PNG ``` pymdownx.emoji.to_png ``` This is a general purpose generator which provides EmojiOne, GitHub, and Twemoji CDN path(s) out of the box. Depending on the index you've chosen, the appropriate CDN will be provided. If this ever gets out of date, a new CDN can be passed in via `image_path` and/or `non_standard_image_path`. EmojiOne actually has multiple PNGs sizes of 32, 64, and 128, but the default CDN path is the one for size 64: `https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/64/`. You can change it for a larger or smaller PNG size by updating the size in the URL and passing the new URL in through `image_path`. The PNG output form is as follows: ```html 😄 ``` **Generator Specific Options** Option | Type | Default | Description ------------------------- | ---------- | ------------------------------ | ----------- `classes` | string | Name of the index used | Specifies the class(es) to be used in the image element. `image_path` | string | CDN for the default index used | This can be either a local path or a CDN containing the assets. By default, an appropriate CDN is provided for EmojiOne, Gemoji, and Twemoji depending on which index is being used. `non_standard_image_path` | string | CDN for the default index used | This can be either a local path, or a CDN containing the assets. This is often used for non-standard emoji that do not have an actual Unicode number, and cannot be found in this way. Gemoji used to use this for non-standard emoji like `:octocat:`, but none of those are available by default anymore. `attributes` | dictionary | `#!py3 {}` | A dictionary containing tag attributes as key value string pairs. The dictionary keys are the attribute names and dictionary values are the attribute values. /// /// tab | SVG ``` pymdownx.emoji.to_svg ``` This generator was written to output SVG images and supports EmojiOne and Twemoji. EmojiOne's SVG support is only for the free 2.2.7 release, so the default CDN still references the 2.2.7 release. EmojiOne short names added after 2.2.7 will not find images. You can of course reference local SVG images as well by pointing `image_path` to them as well. The SVG image outputs as: ```html 😄 ``` **Generator Specific Options** Option | Type | Default | Description ------------ | ---------- | ------------------------- | ----------- `classes` | string | Name of the index used | Specifies the class(es) to be used in the image element. The default will match the name of the index used. `image_path` | string | A CDN for EmojiOne images | This can be either a local path or a CDN containing the assets. By default, an appropriate CDN is provided for EmojiOne. `attributes` | dictionary | `#!py3 {}` | A dictionary containing tag attributes as key value string pairs. The dictionary keys are the attribute names and dictionary values are the attribute values. /// /// tab | PNG Sprite ``` pymdownx.emoji.to_png_sprite ``` This generator was written to support PNG sprite output for EmojiOne. It is expected that this will be used in conjunction with the the official EmojiOne CSS. You can include the CSS from the CDN in your document. The CSS comes in three sizes: 32, 64, 128. Make sure to set the correct size in the options to generate the appropriate classes. Example CDN for the 2.2.7 version with 64px PNGs: `https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/sprites/emojione.sprites.css`. `to_png_sprite` outputs the emoji as a span in the form below. The CSS will apply the appropriate mapping in the sprite PNG to the background image of the span. ```html 😄 ``` **Generator Specific Options** Option | Type | Default | Description ------------ | ---------- | ---------------------- | ----------- `classes` | string | Name of the index used | Class(es) used for the span where the classes are inserted as "class" in the following template: `#!py3 '%(class)s-%(size)s-%(category)s _%(unicode)s'`. `size` | int | `#!py3 64` | Integer specifying the size for the class above. `attributes` | dictionary | `#!py3 {}` | A dictionary containing tag attributes as key value string pairs. The dictionary keys are the attribute names and dictionary values are the attribute values. /// /// tab | SVG Sprite ``` pymdownx.emoji.to_svg_sprite ``` This was written to support EmojiOne SVG sprite output. The output form was taken directly from an example in the EmojiOne source. It is expected that the the user will provide a local version of the official SVG sprite and the path to it. Unfortunately there is no free 3.0 SVG sprite, so you will need to [download][emojione-sprites-svg] the old 2.27 one. The output is: ```html 😄 ``` **Generator Specific Options** Option | Type | Default | Description ------------ | ------ | ---------------------- | ----------- `classes` | string | Name of the index used | Class(es) to apply to the `svg` element where the classes are inserted as "class" in the following template: `#!py3 '%(class)s-%(unicode)s'`. `image_path` | string | `#!py3 ''` | Path to the SVG sprites. /// /// tab | Alt ``` pymdownx.emoji.to_alt ``` This generator supports all emoji indexes. The generator outputs the alt value directly to the document. The output can be Unicode characters, HTML entities, or even just the short name depending on what the global setting of `alt` is set to. ```html 😃 ``` There are no generator specific options. /// ## Custom Emoji Indexes ```py3 def emoji_index(options, md) ``` In order to provide a custom index, the Emoji extension must be given a function that returns a suitable emoji index. The function should simply return the custom index. It accepts both an options dictionary and the markdown object. The options dictionary is the same object that is specified in in the extensions [settings](#options). The index should be returned in the following format: /// collapse-code ```py emoji_index = { # Name is the name of the index. This is passed into the emoji # generator functions and can be used to differentiate logic # for different indexes if required. "name": "myindex", # The actual index. A dictionary of all the emoji. # Different emoji short names with the same Unicode data # can be mentioned under aliases. "emoji": { # Key is the short name. ":zero:": { # Name is the long name. "name": "keycap digit zero", # Category of emoji. # Not needed if this is a non-Unicode, custom # emoji with no category "category": "symbol", # Unicode is the representation of the Unicode # code points, but it is not necessarily valid Unicode # code points. Essentially it is what represents the Unicode # and is used as the image name for pngs and svgs. Depending # on the index, it may not be code points alt all. It is also # sometimes used as part of special class names in the HTML # output (depending on the generator). # # In the case of Gemoji and EmojiOne this is the Unicode code # points with variations and joiners striped out. In the case of # Twemoji, it is usually full valid code points though leading # zeros are stripped from the beginning. # # Do not include this if the emoji is a custom, non-Unicode emoji. "unicode": "0030-20e3", # This is the full Unicode code points and is # used for the "alt" attributes in the HTML output of images. # It is redundant to include this if it is the # same as 'unicode', but it won't hurt anything if it is. # # Do not include this if the emoji is a custom, # non-Unicode emoji. This shows a fully qualified emoji code, # but it could just as easily be "0030-2033" which is also valid. # Some indexes will provide fully qualified, some may not. "unicode_alt": "0030-fe0f-20e3" }, # No need to specify 'unicode_alt' as it is the same # as 'unicode'. ":thumbsup:": { "name": "thumbs up sign", "unicode": "1f44d", "category": "people" }, # Should not specify any unicode fields # as this is not a real unicode emoji. ":octocat:": { "name": "octocat" }, }, # Short names that share previously defined Unicode data # like '+1' and 'thumbsup' etc. "aliases": { # Key is the alias. # Value is the short name it maps to in the # previously defined 'emoji' key. ":+1:": ":thumbsup:" } } ``` /// /// new | New 7.1 Emoji indexes now accept `options` and `md`. The old sans argument format will still be accepted, but in the future the arguments will be expected. /// ## Custom Emoji Generators ```py3 def emoji_generator(index, shortname, alias, uc, alt, title, category, options, md) ``` Each different kind of output is controlled by a different emoji generator function, but all generator functions have the same input format. The options object is the same object that is specified in in the extensions [settings](#options) and is shared with the index as well. Parameter | Type |Description ----------- | ---------- | ---------- `index` | string | The name of the selected emoji index. `shortname` | string | The current short name. This may differ from the actual name used in a document as aliases get translated to the main short name. `alias` | string | If the specified short name is an alias, that alias will be set here, and the main short name will be found under `shortname`. This will be `None` if the name used was not an alias. `uc` | string | This is a string representation of the Unicode, it could technically be anything as this is normally used to reference image files. So while some indexes will have this be code points, it may not contain code points at all or it may strip out code points for simpler image names. So the value here will not always be practical for calculating the actual Unicode points of an emoji. This will be `None` for non-standard emoji that are not Unicode. `alt` | string | This is the alternative emoji value (or fallback value). Its format will differ depending on the extension setting `alt` and also the index being used. This will be returned as either the full valid Unicode characters or HTML entities, or it will be the short name used. See the `alt` setting for more info. `title` | string | This is the title that can be used in image elements. Depending on the global extension setting `title`, this will either return the full long description, the short name, or `None`. See the `title` setting for more info. `category` | string | Category of the emoji, or `None` if there is no category for the emoji. `options` | dictionary | This is a dictionary to specify generator and index function specific options. This can be anything, and it is up to the generator function and the index function to parse relevant options and provide defaults. `md` | class | This is the Markdown class object. This is mainly used to access specific things needed from the Markdown class when formatting your output. If you needed to stash your output, you would do something like: `#!py3 md.htmlStash.store(alt, safe=True)`. /// warning | Non-Unicode emoji Keep in mind that Gemoji ships with some non-standard emoji like `:octocat:` that do not have Unicode code points. `uc` and `alt` are affected by this and will return `None` and the short name respectively instead of strings describing the Unicode points. For example `:octocat:` will just return `None` for `uc` and `:octocat:` for `alt`. If you are parsing an index with custom emoji, like Gemoji has, then you need to be aware of this. /// ## Using with MkDocs This project uses these extensions with [MkDocs][mkdocs] to generate the documentation. It might not be obvious how to set the index or generator functions in MkDocs' YAML settings file, but it is actually pretty easy. The functions are referenced like you would import them in Python except you also append them with a special prefix to let the YAML module know that the setting value is a Python object. For instance, to specify the `to_svg` generator, you would simply reference it like this: `#!yaml !!python/name:pymdownx.emoji.to_svg` (or you could use your own custom module :wink:). ```yaml markdown_extensions: - pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_svg ``` ## Emoji Index Updates The Emoji extension might at times be behind on having indexes built from the latest repositories. We try to keep the indexes updated with new releases, but if they fall out of date, you can open an issue on the this project's issue page to alert the maintainer(s) and they will update them when someone gets a chance. Pull requests are also welcome. The process for updating the indexes is automated, so it is fairly easy to do a pull request. See [Generating Emoji Indexes](../about/development.md#generating-emoji-indexes) for more info. ## Options Option | Type | Default | Description --------------------------- | ---------- | -------------------- | ----------- `emoji_index` | function | `emojione` index | A function that returns the index to use when parsing `:short_name:` syntax. See [Default Emoji Indexes](#default-emoji-indexes) to see the provided indexes. `emoji_generator` | function | `to_png` generator | A function that takes the emoji info and constructs the desired emoji output. See [Default Emoji Generators](#default-emoji-generators) to see the provided generators. `title` | string | `#!py3thon 'short'` | Specifies the title format that is fed into the emoji generator function. Can either be `long` which is the long description of the emoji, `short` which is the short name (`:short:`), or `none` which will simply pass `None`. `alt` | string | `#!py3thon 'unicode'` | Specifies the format for the alt value that is passed to the emoji generator function. If `alt` is set to `short`, the short name will be passed to the generator. If `alt` is set to `unicode` the Unicode characters are passed to the generator. Lastly, if `alt` is set to `html_entity`, the Unicode characters are passed encoded as HTML entities. `remove_variation_selector` | bool | `#!py3thon False` | Specifies whether variation selectors should be removed from Unicode alt. Currently, only `fe0f` is removed as it is the only one presently found in the current emoji sets. `options` | dictionary | `#!py3thon {}` | Options that are specific to emoji generator functions. Supported parameters can vary from function to function. /// new | New 7.1 `options` is now shared between index and generator functions opposed to being passed to the generator function only. The generator and/or index function should decide which of the arguments are relevant for its usage and parse accordingly. /// /// tip | Legacy GitHubEmoji Emulation The Emoji extension was actually created to replace the now retired GitHubEmoji extension. Emoji was written to be much more flexible. If you have a desire to configure the output to be like the legacy GitHubEmoji extension, you can use the settings below. This shows the full setup. To learn more about the settings used, continue reading the documentation. ```py3 import pymdownx.emoji extension_configs = { "pymdownx.emoji": { "emoji_index": pymdownx.emoji.gemoji, "emoji_generator": pymdownx.emoji.to_png, "alt": "short", "options": { "attributes": { "align": "absmiddle", "height": "20px", "width": "20px" }, "image_path": "https://assets-cdn.github.com/images/icons/emoji/unicode/", "non_standard_image_path": "https://assets-cdn.github.com/images/icons/emoji/" } } } ``` /// pymdown-extensions-10.9/docs/src/markdown/extensions/escapeall.md000066400000000000000000000035541465124271600253670ustar00rootroot00000000000000[:octicons-file-code-24:][_escapeall]{: .source-link } # EscapeAll ## Overview If you ever have to stop and try to remember, *Can I escape this char?* or *Will a backslash escape this?*, you are not alone. EscapeAll makes `\` escape everything making such questions moot. Now instead of questioning or looking up what can be escaped, you can expect that `\` will escape the character following it. So if you need a literal `\`, just escape it: `\\`. Keep in mind this will not escape things in code blocks of any kind. ```text title="Escaping" \W\e\ \c\a\n\ \e\s\c\a\p\e \e\v\e\r\y\t\h\i\n\g\!\ \ \â¤\😄 ``` /// html | div.result \W\e\ \c\a\n\ \e\s\c\a\p\e \e\v\e\r\y\t\h\i\n\g\!\ \ \â¤\😄 /// There are two special escapes among all of these escapes though: escaping "space" characters and escaping "newline" characters. If `nbsp` is enabled, an escaped space will be converted into a non-breaking space: `#!html  `. If `hardbreak` is enabled, an escaped newline will be converted to a hard break `#!html
`. The advantage of `hardbreak` is that you can visually see the hard break opposed to Markdown's default method of two spaces at the end of a line. So in short, EscapeAll escapes all inline characters. /// question | Q & A **So all ASCII characters?** _It escapes everything._ **What about Unicode?** _It escapes everything!_ **What about...** _EVERYTHING! IT ESCAPES EVERYTHING!_ /// The EscapeAll extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.escapeall']) ``` ## Options Option | Type | Default | Description ----------- | ---- | --------------- | ---------- `hardbreak` | bool | `#!py3 False` | Escaped newlines will be hard breaks: `#!html
`. `nbsp` | bool | `#!py3 False` | Escaped spaces will be non-breaking spaces: `#!html  `. pymdown-extensions-10.9/docs/src/markdown/extensions/extra.md000066400000000000000000000050321465124271600245520ustar00rootroot00000000000000[:octicons-file-code-24:][_extra]{: .source-link } # Extra ## Overview Python Markdown has an `extra` extension that provides features similar to PHP Markdown Extra. PyMdown Extensions aims to provide not only new features, but to improve behavior in Python Markdown's existing feature set. Some of these things can be at odds. Python Markdown's `smartstrong` and `fenced_code` are not compatible with PyMdown Extensions' `betterem` and `superfences`. `smartstrong` should never be loaded at the same time as `betterem`, and `superfences` should not be loaded at the same time as `fenced_code`. For these reasons, it is not possible to use Python Markdown's `extra` and PyMdown Extensions' `superfences` and `betterem` at the same time. To make this less frustrating, PyMdown Extensions provides it's own implementation of `extra`. PyMdown Extensions' `extra` is just like Python Markdown's extra except `smartstrong` is replaced by `betterem` and `fenced_code` is replaced by `superfences`. All other features and extensions should be identical because we are using the same ones. This extension is a convenience extension, and it currently provides no other additional features. But remember **don't use `pymdownx.extra` while also using `markdown.extensions.extra`**! /// danger | Reminder Remember to read the [Usage Notes](../usage_notes.md) for information that may be relevant when using this extension! /// Extensions: Extension | Name ---------------------------------- |-------- [BetterEm](./betterem.md) | `pymdownx.betterem` [SuperFences](./superfences.md) | `pymdownx.superfences` [Footnotes][footnotes] | `markdown.extensions.footnotes` [Attribute Lists][attr-list] | `markdown.extensions.attr_list` [Definition Lists][def-list] | `markdown.extensions.def_list` [Tables][tables] | `markdown.extensions.tables` [Abbreviations][abbreviations] | `markdown.extensions.abbr` [Markdown in HTML][md-in-html] | `markdown.extensions.md_in_html` The Extra extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.extra']) ``` ## Options If you wish to configure the individual extensions included via this extensions, you can configure them by placing that sub extension's settings under a setting value that equals the sub extensions name. ```py3 extension_configs = { 'pymdownx.extra': { 'markdown.extensions.footnotes': { 'BACKLINK_TEXT': 'link' } } } ``` pymdown-extensions-10.9/docs/src/markdown/extensions/highlight.md000066400000000000000000000270571465124271600254110ustar00rootroot00000000000000[:octicons-file-code-24:][_highlight]{: .source-link } # Highlight ## Overview Highlight is an extension that adds support for code highlighting. Its purpose is to provide a single place to configure syntax highlighting for code blocks. Both [InlineHilite](./inlinehilite.md) and [SuperFences](./superfences.md) can use Highlight to configure their highlight settings, but Highlight will also run all non-fence code blocks through the highlighter as well. The Highlight extension is inspired by [CodeHilite][codehilite], but differs in features. PyMdown Extensions chooses not to implement special language headers for standard Markdown code blocks like CodeHilite does; PyMdown Extensions takes the position that language headers are better suited in fenced code blocks. So standard Markdown code blocks will just be styled as plain text unless `guess_language` is enabled. If you wish to highlight lines and define line numbers per code block, it is advised to use the SuperFences extension. The Highlight extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.highlight']) ``` ## Syntax Highlighting If [Pygments][pygments] is installed, it will be the default syntax highlighter, but if it is not, or if `use_pygments` is turned off, code tags will be rendered in the HTML5 format for JavaScript highlighting: ```html
``` `highlight` is the default class name, and will be applied to code blocks, whether Pygments is disabled or not. This class name can be changed with the `css_class` option. By default, the prefix `language-` is applied to language classes when Pygments is disabled or when Pygments code blocks enable language classes via `pygments_lang_class`. This prefix can be changed via the `language_prefix` option. The language class, and any attributes added via the [`attr_list`][attr-list] extension, are added to the `#!html ` element. The `code_attr_on_pre` option will force them to be attached to the `#!html
` element.

All other options specifically control the Pygments highlighter and will have no affect if Pygments usage is disabled.

## Extended Pygments Lexer Options

If using Pygments, some lexers have special settings. For instance, the `php` lexer has the option `startinline` which,
if enabled, will parse PHP syntax without requiring `#!php  0, "bar" => 1);`
////

//// tab | Markdown
````
`#!php-inline $a = array("foo" => 0, "bar" => 1);`
````
////

//// tab | Config
```py
extend_pygments_lang = [
    {"name": "php-inline", "lang": "php", "options": {"startinline": True}}
]
```
////
///

/// new | New 9.2
`pygments_lang_class` added in 9.2.
///

## Preserve Leading/Trailing Newlines

/// new | New 10.1
///

It is not uncommon for Markdown parsers to preserve both leading and trailing newlines in things like fenced code. This
doesn't usually happen for indented code blocks.

To be clear the [SuperFences](./superfences.md) extension does not strip leading and trailing new lines, this is the
default behavior of the Pygments syntax highlighter, not the SuperFences extension's parsing logic. When Pygments is
disabled, both leading and trailing newlines are preserved.

While it is rare for people to actually need leading and trailing newlines, if such behavior was desired, it can be
retained by disabling the [`stripnl`](#options) option in Highlight which will ensure that all Pygments lexers have this
option disabled.

Inline code blocks, such as those provided by [InlineHilite](./inlinehilite.md), will be unaffected. Indented code
blocks will also not be affected as leading and trailing newlines are never retained in indented code blocks.

## Line Number Styles

Pygments has two available styles when outputting source code with line numbers enabled: `table` and `inline`. `table`
is the default output and creates a table output for lines with numbers.  `inline` places the line numbers directly in
the source code output and can sometimes be undesirable as copy and paste will always copy the line numbers as well.

The Highlight extension provides a third line number style called `pymdownx-inline`.  Instead of writing line numbers
directly in the pre like Pygments' default `inline` style does, it writes the line numbers as
`#!html `. This way the line numbers are un-selectable and can be
displayed with CSS:

```css
[data-linenos]:before {
  content: attr(data-linenos);
}
```

Line number styles are set with the option `linenums_style` as described in [Options](#options).

## Options

All options below control the Pygments' output. The three exceptions are `use_pygments` which disables Pygments,
`css_class` which sets the name of the class assigned to the generated code blocks, and `code_attr_on_pre` which only
apply when Pygments is disabled. Many of these options are demonstrated in the [SuperFences](./superfences.md) documentation.

Option                    | Type           | Default               | Description
------------------------- | -------------- | ----------------------| -----------
`css_class`               | string         | `#!py3 'highlight'`   | Default class to apply to the wrapper element on code blocks. Other extensions can override this.
`guess_lang`              | bool \| string | `#!py3 False`         | Guess what syntax language should be used if no language is specified. `#!py3 True` for always, `#!py3 False` for never, `#!py3 'block'` for block code only, and `#!py3 'inline'` for inline code only.
`default_lang`            | string         | `#!py3 ''`            | The assumed highlight language of a code block when no language is set. If something other than plain text is desired for indented blocks or for fenced code blocks (via [SuperFences](./superfences.md)) that have no configured language, this can be set to a language other than plain text. InlineHilite requires you to specifically set its own option (`style_plain_text`) to control this for inline code blocks.
`pygments_style`          | string         | `#!py3 'default'`     | Set the Pygments' style to use.  This really only has an effect when used with `noclasses`.
`noclasses`               | bool           | `#!py3 False`         | This will cause the styles to directly be written to the tag's style attribute instead of requiring a stylesheet.
`use_pygments`            | bool           | `#!py3 True`          | Controls whether Pygments (if available) is used to style the code, or if the code will just be escaped and prepped for a JavaScript syntax highlighter.
`linenums`                | bool           | `#!py3 None`          | Enable line numbers globally for *block* code.  This will be ignored for *inline* code. If set to `#!py3 False` line numbers will be disabled globally and can not be turned on, not even per code block.
`linenums_special`        | int            | `#!py3 1`             | Globally sets the specified nth lines' gutter with the class "special".  This can be overridden in [SuperFences](./superfences.md) per fence if desired.
`linenums_style`          | string         | `#!py3 'table'`       | Controls the output style when `linenums` are enabled. Supported styles are Pygments default `table` and `inline`, but also supported is the pymdown-extensions `pymdownx-inline` which provides a special inline mode, see [Line Number Styles](#line-number-styles) for more info.
`linenums_class`          | string         | `#!py3 'linenums'`    | Controls the name of the line number class when Pygments is not used.
`extend_pygments_lang`    | list           | `#!py3 []`            | A list of extended languages to add.  See [Extended Pygments Lexer Options](#extended-pygments-lexer-options) for more info.
`language_prefix`         | string         | `#!py3 'language-'`   | Controls the prefix applied to the language class when Pygments is not used. By default, uses the HTML5 prefix of `language-`.
`code_attr_on_pre`        | bool           | `#!py3 False`         | By default, the language class and all attributes added via the [`attr_list`][attr-list] extension are attached to the `#!html ` element. This forces them to be attached to the `#!html 
` element.
`auto_title`              | bool           | `#!py3 False`         | When using Pygments, for all code blocks generate a title header with the name of the lexer being used. The lexer name is pulled directly from Pygments and title cased appropriately.
`auto_title_map`          | dict           | `#!py3 {}`            | A dictionary used to override certain titles returned by `auto_title`. Simply specify the title to override as the key and the desired title as the value.
`line_spans`              | string         | `#!py3 ''`            | Controls the Pygments option of a similar name. If set to a nonempty string, e.g. `foo`, the formatter will wrap each output line in a `#!html ` tag with an id of `foo--`.
`anchor_linenums`         | bool           | `#!py3 False`         | Enables the Pygments option of a similar name. If set to `#!py True`, will wrap line numbers in `#!html ` tags. Used in combination with `linenums` and `line_anchors`. If `line_anchors` is not configured, `__codelineno` will be assumed as the ID prefix.
`line_anchors`            | bool           | `#!py3 False`         | Controls the Pygments option of a similar name. If set to a nonempty string, e.g. `foo`, the formatter will insert an anchor tag with an id (and name) of `foo--`.
`pygments_lang_class`     | bool           | `#!py3 False`         | If set to True, the language name used will be included as a class attached to the element with the associated `language_prefix`.
`stripnl`                 | bool           | `#!py3 True`          | Strips leading and trailing newlines from code blocks. This is Pygments default behavior. Setting this to `#!py False` disables this and will retain leading and trailing newlines. This has no affect on inline code.

/// new | New 7.1
`linenums_class` was added in `7.1`.
///

/// new | New 7.2
`linenums` now accepts `#!py3 None` as the default for allow line numbers to be enabled per code block.
`#!py3 False` now disables line numbers globally preventing line numbers even if specified per code block. `True`
still enables globally.
///

/// new | New 9.0
`auto_title`, `auto_title_map`, `line_spans`, `anchor_linenums`, and `line_anchors` were all added in `9.0`.
///

/// new | New 10.7
`default_lang` added in 10.7.
///
pymdown-extensions-10.9/docs/src/markdown/extensions/inlinehilite.md000066400000000000000000000164721465124271600261160ustar00rootroot00000000000000[:octicons-file-code-24:][_inlinehilite]{: .source-link }

# InlineHilite

## Overview

InlineHilite is an inline code highlighter inspired by [CodeHilite][codehilite]. Borrowing from CodeHilite's existing
syntax, InlineHilite utilizes the following syntax to insert inline highlighted code: `` `:::language mycode` `` or
`` `#!language mycode` ``.  In CodeHilite, ` #! ` means "use line numbers", but line numbers will never be used in
inline code regardless of which form is used. Use of one form or the other is purely for personal preference. As this
feature is discussed further, we will call these specifiers (` #! ` and ` ::: `) mock shebangs, mainly due to the first
options similar syntax to a real shebang.

```text title="Inline Highlighted Code"
Here is some code: `#!py3 import pymdownx; pymdownx.__version__`.

The mock shebang will be treated like text here: ` #!js var test = 0; `.
```

/// html | div.result
Here is some code: `#!py3 import pymdownx; pymdownx.__version__`

The mock shebang will be treated like text here: ` #!js var test = 0; `.
///


When using the colon mock shebang, 3 or more colons can be used.  Mock shebangs must come **immediately** after the
opening backtick(s) and must be followed by at least one space.  If you need to escape a mock shebang, at the start of a
code block, just put a space before it, and it will be treated as part of the code.

The InlineHilite extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.inlinehilite'])
```

## Code Highlighting

Assuming Pygments is installed, code highlighting will be handled by [Pygments][pygments]. If Pygments is not installed,
or disabled, code blocks will be output for JavaScript syntax highlighters as:


```html

```

Highlighting can be further controlled via the [`pymdownx.highlight`](./highlight.md) extension. You must include
`pymdownx.highlight` in the extensions list in order to be able to configure it.

## Using JavaScript Highlighters

If using [Pygments][pygments], the elements will be highlighted without issues, but you may need to adjust CSS to get
the general style of the inline block the way you like it.

If you are using a JavaScript highlighter, such as [`highlight.js`][highlightjs], you will most likely need to construct
a JavaScript method to target the inline blocks as these may not be targeted out of the box. You may also find it useful
to tag inline code with a different class than what is used for block code so you can also process and style them
differently. By default, it uses whatever [`pymdownx.highlight`](./highlight.md) uses, but this can be configured
independently for inline code in the [options](#options).

## Custom Inline Blocks

Like [SuperFences](./superfences.md), InlineHilite now provides a support for custom inline blocks.

```text title="Inline Math"
`#!math p(x|y) = \frac{p(y|x)p(x)}{p(y)}`
```

/// html | div.result
`#!math p(x|y) = \frac{p(y|x)p(x)}{p(y)}`
///

/// tip
For more indepth information on how to reproduce the example above, check out [Arithmatex Documentation
](./arithmatex.md#alternative-math-blocks).
///

Custom inline code blocks are created via the `custom_inline` option.  `custom_inline` takes an array of dictionaries
where each dictionary defines a custom inline code block. The dictionaries requires the following keys:

Keys        | Description
----------- | -----------
`name`      | The language name that is specified when using the fence in Markdown. If given `*`, it will override the base inline logic, the default for all inline names not handled by other custom inlines.
`class`     | The class name assigned to the HTML element when converting from Markdown to HTML.
`format`    | A function that formats the HTML output. The function should return either an ElementTree object or a string as HTML.

/// new | New in 7.0
Starting in 7.0, you can override the base inline logic (the syntax highlighter) by specifying the custom inline
with a name of `*`. This means that if an inline does not match any other custom inline, the default, fallback
inline would be handled by your custom `*` inline. This can be useful for tailoring a inline for a specific,
favorite JavaScript highlighter.
///

### Formatters

```py3
def custom_formatter(source, language, css_class, md):
    return el  # Or string
```

In general, formatters take four parameters:

1.  The source found between the backticks.
2.  The specified language.
3.  The class name originally defined via the `class` option in the `custom_inline` entry.
4.  The Markdown class object.

It Should return a either an ElementTree element or a string as HTML. When returning a string, InlineHilite will treat
the string as ready for HTML, so escape what needs to be escaped as it is expected to be fully ready HTML and will be
stashed and re-inserted at post processing.

When returning an ElementTree object, remember to wrap string content as `markdown.util.AtomicString` to prevent it from
being processed further, you can also stash raw HTML string content assigned to elements like InlineHilite does by
default above. InlineHilite will not try and guess what you intend, you must manage your content in the ElementTree
objects or the Markdown parser may apply other conversion to your HTML content.

### Exception Handling

In general, if an exception occurs in the formatter, InlineHilite will gracefully ignore the formatter. If this occurs,
the code content will just be abandoned.

Some users may want such failures to not silently go by. InlineHilite exposes a special exception called
`InlineHiliteException` which, if raised, will not gracefully be handled. If `InlineHiliteException` is raised, this
will bubble all the way up and cause Markdown parsing to halt.

```py
def format_fail(src, language, class_name, md):
    """Inline formatter"""

    raise InlineHiliteException('Fail!')
```

`InlineHiliteException` can be used to to raise other exceptions if desired.


```py
def format_fail(src, language, class_name, md):
    """Inline formatter"""

    try:
        raise ValueError('Nooo!')
    except ValueError as e:
        raise InlineHiliteException from e
```

/// new | New 9.5
`InlineHiliteException` added in 9.5
///

## Options

Option                    | Type            | Default       | Description
------------------------- | --------------- | ------------- | -----------
`css_class`               | string          | `#!py3 ''`    | Class name is applied to the wrapper element of the code. If configured, this setting will override the `css_class` option of Highlight. If nothing is configured here or via or Highlight, the class `highlight` will be used.
`style_plain_text`        | bool \| string  | `#!py3 False` | When `guess_lang` is set to `#!py3 False`, InlineHilite will avoid applying classes to code blocks that do not explicitly set a language. If it is desired to have plain text styled like code, enable this to inject classes so that they can all be styled the same. By default, plain text is assumed, but if this option is set to a language string, the specified language will be used for any inline code blocks that does not explicitly set a language.
`custom_inline`           | [dictionary]    | `#!py3 []`    | Custom inline code blocks.

/// new | New 10.7
`style_plain_text` now allows specifying a default language to be assumed.
///
pymdown-extensions-10.9/docs/src/markdown/extensions/keys.md000066400000000000000000000321001465124271600243760ustar00rootroot00000000000000[:octicons-file-code-24:][_keys]{: .source-link }

# Keys

## Overview

Keys is an extension to make entering and styling keyboard key presses easier. Syntactically, Keys is built around the
`+` symbol.  A key or combination of key presses is surrounded by `++` with each key press separated with a single `+`.

```text title="Keys"
++ctrl+alt+delete++
```

/// html | div.result
++ctrl+alt+delete++.
///

The Keys extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.keys'])
```

/// tip | Special Characters Before/After Key
You might have noticed that in this page many keys show special Unicode symbols before (and sometimes after) a key's
text. The Keys extension only provides ASCII labels out of the box. Any special Unicode characters that are seen in
this document are provided by using additional CSS.

If desired, you can provide your own symbols by doing one of the following:

1.  You can use CSS styling.  The elements are created with classes that are derived from the main key code name (not
    the aliases) so that you can target them to provide special styling. Check out [Formatting](#formatting) for more
    info.

2.  You can also override the label that is output for the key by provided your own text via the `key_map`
    parameter. This would require no additional CSS. More info is provided [here](#extendingmodifying-key-map-index).
///

## Formatting

By default, Keys outputs keys in the form:

```html

  Ctrl
  +
  Alt
  +
  Delete

```

Separator `span`s will be omitted if a separator is not provided via the [options](#options).

Notice the wrapper `span` has the class `keys` applied to it.  This is so you can target it or the elements under it
with CSS. Each recognized key has its own special key class assigned to it in the form `key-`. These
individual key classes are great if you want to show a special modifier key symbol before the key text (which is done in
this documentation).

The wrapper `keys` class can be customized with options, and the individual key classes are generated from the
[key-map index](#key-map-index).

separator `span`s will be omitted if a separator is not provided via the [options](#options))


## Custom Keys

If you would like to generate a key which isn't in the key index, you can extend the key map via a special
[option](#extendingmodifying-key-map-index).  But if you don't need a key with a special class generated, or you need a
way to quickly enter a one time, arbitrary  key, you can just insert it directly, instead of specifying the key's name,
by quoting the content displayed instead of a key name. You can also enter HTML entities if desired.

```text title="Quoted Keys"
++ctrl+alt+"My Special Key"++

++cmd+alt+"Ü"++
```

/// html | div.result
++ctrl+alt+"My Special Key"++

++cmd+alt+"Ü"++
///

## Strict `KBD` Output

According to HTML5 spec on [`kbd`](https://dev.w3.org/html5/spec-preview/the-kbd-element.html), a literal key input, is
represented by a `kbd` wrapped in another `kbd`:

```html

  Ctrl
  +
  Alt
  +
  Delete

```

This is not how many people traditionally use `kbd`s for key inputs, but if you are a stickler for rules, you can enable
the `strict` option to use a more "proper" format.

## Key-Map Index

By default, Keys provides a key-map index for English US keyboards. The key-map index is a dictionary that provides all
the supported key names along with their corresponding display text. There is also a separate alias dictionary which
maps some aliases to entries in the key-map index.

## Extending/Modifying Key-Map Index

If you want to add additional keys, or override text of existing keys, you can feed in your keys via the `key_map`
option. The `key_map` parameter takes a simple dictionary with *key names* that are represented by lowercase
alphanumeric characters and hyphens (`-`). The values of the dictionary represent the the text that is displayed for the
key in the HTML output.

So if you wanted to add a custom key, you could do this: `#!py3 {"custom": "Custom Key"}`.  If you wanted to override
the output of the `option` key and change it from `Option` to `Opt`, you could do this: `#!py3 {"option": "Opt"}`.

### Alphanumeric and Space Keys

Name    | Display   | Aliases
------- | --------- | -------
`0`     | ++0++     |
`1`     | ++1++     |
`2`     | ++2++     |
`3`     | ++3++     |
`4`     | ++4++     |
`5`     | ++5++     |
`6`     | ++6++     |
`7`     | ++7++     |
`8`     | ++8++     |
`9`     | ++9++     |
`a`     | ++a++     |
`b`     | ++b++     |
`c`     | ++c++     |
`d`     | ++d++     |
`e`     | ++e++     |
`f`     | ++f++     |
`g`     | ++g++     |
`h`     | ++h++     |
`i`     | ++i++     |
`j`     | ++j++     |
`k`     | ++k++     |
`l`     | ++l++     |
`m`     | ++m++     |
`n`     | ++n++     |
`o`     | ++o++     |
`p`     | ++p++     |
`q`     | ++q++     |
`r`     | ++r++     |
`s`     | ++s++     |
`t`     | ++t++     |
`u`     | ++u++     |
`v`     | ++v++     |
`w`     | ++w++     |
`x`     | ++x++     |
`y`     | ++y++     |
`z`     | ++z++     |
`space` | ++space++ | `spc`

### Punctuation Keys

Name            | Display           | Aliases
--------------- | ----------------- | -------
`backslash`     | ++backslash++     |
`bar`           | ++bar++           | `pipe`
`brace-left`    | ++brace-left++    | `open-brace`
`brace-right`   | ++brace-right++   | `close-bracket`
`bracket-left`  | ++bracket-left++  | `open-bracket`
`bracket-right` | ++bracket-right++ | `close-bracket`
`colon`         | ++colon++         |
`comma`         | ++comma++         |
`double-quote`  | ++double-quote++  | `dblquote`
`equal`         | ++equal++         |
`exclam`        | ++exclam++        | `exclamation`
`grave`         | ++grave++         | `grave-accent`
`greater`       | ++greater++       | `greater-than`, `gt`
`less`          | ++less++          | `less-than`, `lt`
`minus`         | ++minus++         | `hyphen`
`period`        | ++period++        |
`plus`          | ++plus++          |
`question`      | ++question++      | `question-mark`
`semicolon`     | ++semicolon++     |
`single-quote`  | ++single-quote++  |
`slash`         | ++slash++         |
`tilde`         | ++tilde++         |
`underscore`    | ++underscore++    |

### Navigation Keys

Name          | Display         | Aliases
------------- | --------------- | -------
`arrow-up`    | ++arrow-up++    | `up`
`arrow-down`  | ++arrow-down++  | `down`
`arrow-left`  | ++arrow-left++  | `left`
`arrow-right` | ++arrow-right++ | `right`
`page-up`     | ++page-up++     | `prior`, `page-up`, `pg-up`
`page-down`   | ++page-down++   | `next`, `page-dn`, `pg-dn`
`home`        | ++home++        |
`end`         | ++end++         |
`tab`         | ++tab++         | `tabulator`

### Editing Keys

Name        | Display       | Aliases
----------- | ------------- | -------
`backspace` | ++backspace++ | `back`, `bksp`
`delete`    | ++delete++    | `del`
`insert`    | ++insert++    | `ins`

### Action Keys
Name           | Display          | Aliases
-------------- | -----------------| -------
`break`        | ++break++        | `cancel`
`caps-lock`    | ++caps-lock++    | `capital`, `cplk`
`clear`        | ++clear++        | `clr`
`eject`        | ++eject++        |
`enter`        | ++enter++        | `return`
`escape`       | ++escape++       | `esc`
`help`         | ++help++         |
`print-screen` | ++print-screen++ | `prtsc`
`scroll-lock`  | ++scroll-lock++  | `scroll`

### Numeric Keypad Keys

Name            | Display           | Aliases
--------------- | ----------------- | -------
`num0`          | ++num0++          |
`num1`          | ++num1++          |
`num2`          | ++num2++          |
`num3`          | ++num3++          |
`num4`          | ++num4++          |
`num5`          | ++num5++          |
`num6`          | ++num6++          |
`num7`          | ++num7++          |
`num8`          | ++num8++          |
`num9`          | ++num9++          |
`num-asterisk`  | ++num-asterisk++  | `multiply`
`num-clear`     | ++num-clear++     |
`num-delete`    | ++num-delete++    | `num-del`
`num-equal`     | ++num-equal++     |
`num-lock`      | ++num-lock++      | `numlk`, `numlock`
`num-minus`     | ++num-minus++     | `subtract`
`num-plus`      | ++num-plus++      | `add`
`num-separator` | ++num-separator++ | `decimal`, `separator`
`num-slash`     | ++num-slash++     | `divide`
`num-enter`     | ++num-enter++     |

### Modifier keys

Name            | Display           | Aliases
--------------- | ----------------- | -------
`alt`           | ++alt++           |
`left-alt`      | ++left-alt++      | `lalt`
`right-alt`     | ++right-alt++     | `ralt`
`alt-graph`     | ++alt-graph++     | `altgr`
`command`       | ++command++       | `cmd`
`left-command`  | ++left-command++  | `lcommand`, `lcmd`, `left-cmd`
`right-command` | ++right-command++ | `rcommand`, `rcmd`, `right-cmd`
`control`       | ++control++       | `ctrl`
`left-control`  | ++left-control++  | `lcontrol`, `lctrl`, `left-ctrl`
`right-control` | ++right-control++ | `rcontrol`, `rctrl`, `right-ctrl`
`function`      | ++function++      | `fn`
`meta`          | ++meta++          |
`left-meta`     | ++left-meta++     | `lmeta`
`right-meta`    | ++right-meta++    | `rmeta`
`option`        | ++option++        | `opt`
`left-option`   | ++left-option++   | `loption`, `lopt`, `left-opt`
`right-option`  | ++right-option++  | `roption`, `ropt`, `right-opt`
`shift`         | ++shift++         |
`left-shift`    | ++left-shift++    | `lshift`
`right-shift`   | ++right-shift++   | `rshift`
`super`         | ++super++         |
`left-super`    | ++left-super++    | `lsuper`
`right-super`   | ++right-super++   | `rsuper`
`windows`       | ++windows++       | `win`
`left-windows`  | ++left-windows++  | `lwindows`, `left-win`, `lwin`
`right-windows` | ++right-windows++ | `rwindows`, `right-win`, `rwin`

### Function keys

Name  | Display | Aliases
----- | ------- | -------
`f1`  | ++f1++  |
`f2`  | ++f2++  |
`f3`  | ++f3++  |
`f4`  | ++f4++  |
`f5`  | ++f5++  |
`f6`  | ++f6++  |
`f7`  | ++f7++  |
`f8`  | ++f8++  |
`f9`  | ++f9++  |
`f10` | ++f10++ |
`f11` | ++f11++ |
`f12` | ++f12++ |
`f13` | ++f13++ |
`f14` | ++f14++ |
`f15` | ++f15++ |
`f16` | ++f16++ |
`f17` | ++f17++ |
`f18` | ++f18++ |
`f19` | ++f19++ |
`f20` | ++f20++ |
`f21` | ++f21++ |
`f22` | ++f22++ |
`f23` | ++f23++ |
`f24` | ++f24++ |

### Extra Keys

Name                | Display               | Aliases
------------------- | --------------------- | -------
`backtab`           | ++backtab++           | `bktab`
`browser-back`      | ++browser-back++      |
`browser-favorites` | ++browser-favorites++ | `favorites`
`browser-forward`   | ++browser-forward++   | `forward`
`browser-home`      | ++browser-home++      |
`browser-refresh`   | ++browser-refresh++   | `refresh`
`browser-search`    | ++browser-search++    | `search`
`browser-stop`      | ++browser-stop++      |
`copy`              | ++copy++              |
`context-menu`      | ++context-menu++      | `apps`, `menu`
`fingerprint`       | ++fingerprint++       | `fingerprint`
`mail`              | ++mail++              | `launch-mail`
`media`             | ++media++             | `launch-media`
`media-next-track`  | ++media-next-track++  | `next-track`
`media-pause`       | ++media-pause++       | `pause`
`media-play`        | ++media-play++        | `play`
`media-play-pause`  | ++media-play-pause++  | `play-pause`
`media-prev-track`  | ++media-prev-track++  | `prev-track`
`media-stop`        | ++media-stop++        | `stop`
`power`             | ++power++             |
`print`             | ++print++             |
`reset`             | ++reset++             |
`select`            | ++select++            |
`sleep`             | ++sleep++             |
`volume-down`       | ++volume-down++       | `vol-down`
`volume-mute`       | ++volume-mute++       | `mute`
`volume-up`         | ++volume-up++         | `vol-up`
`zoom`              | ++zoom++              |

### Mouse

Name            | Display           | Aliases
--------------- | ----------------- | -------
`left-button`   | ++left-button++   | `lbutton`
`middle-button` | ++middle-button++ | `mbutton`
`right-button`  | ++right-button++  | `rbutton`
`x-button1`     | ++x-button1++     | `xbutton1`
`x-button2`     | ++x-button2++     | `xbutton2`

## Options

Option       | Type   | Default        | Description
------------ | ------ | -------------- | -----------
`separator`  | string | `#!py3 '+'`    | Define a separator.
`strict`     | bool   | `#!py3 False`  | Use strict HTML5 output for keyboard key input.
`class`      | string | `#!py3 'keys'` | Defines a class(es) to apply to the HTML wrapper element.
`camel_case` | bool   | `#!py3 False`  | Allow the use of camel case for key names `PgUp` --> `pg-up`.
`key_map`    | dict   | `#!py3 {}`     | Add additional keys to the key-map index or override output of existing outputs. See [Extending/Modifying Key-Map Index](#extendingmodifying-key-map-index) for more info.
pymdown-extensions-10.9/docs/src/markdown/extensions/magiclink.md000066400000000000000000000543721465124271600254000ustar00rootroot00000000000000[:octicons-file-code-24:][_magiclink]{: .source-link }

# MagicLink

/// note | Icons
This documentation implements additional styling with CSS that inserts icons before special links, such as GitHub,
logos, bug icons, etc. MagicLink does not inject icons or CSS to insert icons, but it is left to the user to
implement (if desired) via the provided [classes](#css). User's are free to reference this
[documentation's source][magiclink-icons] to learn how.
///

## Overview

MagicLink is an extension that provides a number of useful link related features. MagicLink can auto-link HTML, FTP, and
email links. It can auto-convert repository links (GitHub, GitLab, and Bitbucket) and display them in a more concise,
shorthand format. MagicLink can also be configured to directly auto-link the aforementioned shorthand format.

If you happen to have some conflicts with syntax for a specific case, you can always revert to the old auto-link format
as well: `#!md `. If enabled, repository link shortening will be applied to the the angle
bracketed auto-link format as well.

/// tip | SaneHeaders
It is also recommended to use [SaneHeaders](./saneheaders.md) when using MagicLink to avoid problems when specifying
a repository bug (using the syntax `#1`) at the start of a line. Python Markdown, by default, will treat `#1` as a
header if detected at the start of a line without SaneHeaders.
///

The MagicLink extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.magiclink'])
```

## Auto-Linking

MagicLink supports auto-linking HTTP, FTP and email links. You can specify these links in raw text and they should get
auto-linked. There are some limitations placed on MagicLink to keep it from aggressively auto-linking text that is not
part of links. If you have a link that cannot be detected, you can always use the old style angle bracketed link format:
`#!md `.

```text title="Auto-Linking"
- Just paste links directly in the document like this: https://google.com.
- Or even an email address: fake.email@email.com.
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
-   Just paste links directly in the document like this: https://google.com.
-   Or even an email address: fake.email@email.com{.magiclink-ignore}.
```
///

## Shorthand Links


```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
MagicLink supports shorthand references for GitHub, GitLab, and Bitbucket issues (#1{.magiclink-ignore}), pull/merge
requests (!13{.magiclink-ignore}), GitHub Discussion (?1173{.magiclink-ignore}), commits
(7d1b1902ea7fe00043a249564ed5032f08dd7152{.magiclink-ignore}), and compares
(e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac{.magiclink-ignore}). You can also
reference repositories (@facelessuser/pymdown-extensions{.magiclink-ignore}) and users
(@facelessuser{.magiclink-ignore}). Mentions also works for social media (only Twitter is supported at this time).
```

The syntax used is actually very similar to GitLab's syntax. GitLab was chosen as its syntax bridges the gaps between
the three providers. GitLab and Bitbucket require a pull specific syntax while GitHub does not have one. Also, while
GitHub uses `#` for issues, pulls, and discussions, the idea of using a different symbol for issue
types gives us the context we need to generate the correct links for issues vs pulls, etc.

### Configuring

To enable shorthand syntax for code repository providers and social media providers, enable `repo_url_shorthand` and
`social_url_shorthand` respectively in the [options](#options).

To use this feature you must first specify in the [options](#options) your `provider` to which all shorthand references
are relative to, but you will still be able to reference outside of your defaults. And if you are specifying a code
repository provider as your default, you must also specify the `user` and `repo` (repository) which adds more context
and allows you to shorten the syntax even more for issues relating to your default `user` and/or `repo`. This is useful
if you are using MagicLink to write documentation for a project that is hosted on one of the supported code repository
providers.

If you are using this extension more generally, it may make more sense to set a social media provider as the default
`provider`. There is no need to set a `user` or `repo` for a social media provider as the context is not useful for
mentions. You will still be able to reference repository links with shorthand if it enabled, albeit in a longer format.

/// warning
Links are not verified, so make sure you are specifying valid issues, repositories, and users as they will be
auto-linked even if they are not valid.
///

### Mentions

Mentions of other users are performed with the following syntax: `@{user}`. To reference a provider other than your
default, use the format `@{provider}:{user}`

```text title="Mentions"
@facelessuser

@twitter:twitter
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
@facelessuser

@twitter:twitter
```
///

For code repository providers, you can also mention repositories.  This feature is actually inspired by the GitHub only
extension @Python-Markdown/github-links, which performs *similar* auto-linking.  The syntax to auto-link a repository
with mentioning is very similar to auto-linking a user, except you append the repository to the user name like so:
`@{user}/{repo}`. If specifying a non-default provider, the form would look like: `@{provider}:{user}/{repo}`. The
output for repository mentions omits the `@` symbol and will just show the user and repository, but you are free to
style it with CSS to make it stand out more like has been done in this document.

```text title="Repository Mentions"
@facelessuser/pymdown-extensions

@gitlab:pycqa/flake8-engine
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
@facelessuser/pymdown-extensions{.magiclink-ignore}

@gitlab:pycqa/flake8-engine{.magiclink-ignore}
```
///

### Issues, Pull Requests, and Discussions

Issues, pull requests, and GitHub discussions are specified with `#{num}`, `!{num}`, and `?{num}` respectively. When
specified in this manner, the links will assume the default repository and default user for generated links.

To specify an issue for a non-default repository under the default user, prefix the repository: `{repo}#{num}`.

To specify a repository under a non-default user, prefix both the user and repository: `{user}/{repo}#{num}`.

Lastly, to reference an external provider, use the format `{provider}:{user}/{repo}#{num}`.

The syntax was borrowed and adapted from GitLab as they use `!{num}` for pulls and `#{num}` for issues, `?{num}` is our
own take for discussions. This syntax was
mainly used to ensure we could provide context to the link generator. When rendering the actual links in your documents,
it will use the syntax associated with the specified provider. If this is unsatisfactory, you can override this behavior
with the `icons` option and all links will will use the same specified convention on output regardless of the provider.

```text title="Issues"
#1

backrefs#1

Python-Markdown/markdown#1

gitlab:pycqa/flake8-engine#21

!13

backrefs!4

Python-Markdown/markdown!598

gitlab:pycqa/infrastructure!1
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
#1{.magiclink-ignore}

backrefs#1{.magiclink-ignore}

Python-Markdown/markdown#1{.magiclink-ignore}

gitlab:pycqa/flake8-engine#21{.magiclink-ignore}

!13{.magiclink-ignore}

backrefs!4{.magiclink-ignore}

Python-Markdown/markdown!598{.magiclink-ignore}

gitlab:pycqa/infrastructure!1{.magiclink-ignore}
```
///


/// note | Note
GitHub actually gives pull requests and issues unique values while GitLab and Bitbucket can have pulls with the same
ID as an issue. So with GitHub, you can use `#{num}` format for both issues and pulls, and GitHub will redirect you
to the appropriate issue or pull.

GitLab and Bitbucket **must** specify pulls different from issues, hence the `!13` format. Though GitHub doesn't
*need* to use the pull format, you can if you like. This format was actually borrowed from GitLab.
///

### Commits

Commit shorthand syntax is simply the 40 character commit hash value: `{hash}`. And much like issues and pull requests,
you can denote a repository under the default user with `{repo}@{hash}` and a repository under a non-default user with
`{user}/{repo}@{hash}`. Lastly, to reference an external provider, use the format `{provider}:{user}/{repo}@{hash}`. If
the default provider is a social media provider, then only the latter syntax can be used.

```text title="Commits"
181c06d1f11fa29961b334e90606ed1f1ec7a7cc

backrefs@cb4ecc5e7d8f7cdff0bb4482174f2ff0dcc35c61

Python-Markdown/markdown@de5c696f94e8dde242c29d4be50b7bbf3c17fedb

gitlab:pycqa/flake8-engine@ee18ac981e3dbaf3365a817663834c7b547f83cb
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
181c06d1f11fa29961b334e90606ed1f1ec7a7cc{.magiclink-ignore}

backrefs@cb4ecc5e7d8f7cdff0bb4482174f2ff0dcc35c61{.magiclink-ignore}

Python-Markdown/markdown@de5c696f94e8dde242c29d4be50b7bbf3c17fedb{.magiclink-ignore}

gitlab:pycqa/flake8-engine@ee18ac981e3dbaf3365a817663834c7b547f83cb{.magiclink-ignore}
```
///

### Diff/Compare

GitLab offers a useful shorthand to specify links to compare differences between two commits. This has been adopted for
all the supported repository providers.

Specifying a compare link is very similar to specifying a commit link except you must specify the older hash and the
newer hash separated by `...`: `{hash1}...{hash2}`. To specify a compare for a non-default repository under the default
user, prefix the repository: `{repo}@{hash1}...{hash2}`. And to specify a compare under a non-default user, prefix both
the user and repository: `{user}/{repo}@{hash1}...{hash2}`. Lastly, to reference an external provider, use the format
`{provider}:{user}/{repo}@{hash1}...{hash2}`.

```text title="Comparisons"
e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac

backrefs@88c6238a1c2cf71a96eb9abb4b0213f79d6ca81f...cb4ecc5e7d8f7cdff0bb4482174f2ff0dcc35c61

Python-Markdown/markdown@007bd2aa4c184b28f710d041a0abe78bffc0ec2e...de5c696f94e8dde242c29d4be50b7bbf3c17fedb

gitlab:pycqa/flake8-engine@0b063a10249558ede919bcd7f67c6aa563ba74ab...ee18ac981e3dbaf3365a817663834c7b547f83cb
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac{.magiclink-ignore}

backrefs@88c6238a1c2cf71a96eb9abb4b0213f79d6ca81f...cb4ecc5e7d8f7cdff0bb4482174f2ff0dcc35c61{.magiclink-ignore}

Python-Markdown/markdown@007bd2aa4c184b28f710d041a0abe78bffc0ec2e...de5c696f94e8dde242c29d4be50b7bbf3c17fedb{.magiclink-ignore}

gitlab:pycqa/flake8-engine@0b063a10249558ede919bcd7f67c6aa563ba74ab...ee18ac981e3dbaf3365a817663834c7b547f83cb{.magiclink-ignore}
```
///

## Repository Link Shortener

MagicLink can also recognize issue, pull request, commit, and compare links, and render them in the same output format
as the [repository shortcut links](#shorthand-links) feature.

If we specify long form URLs from external providers, they will be shortened appropriately.

```text title="External Provider"
-   https://github.com/facelessuser
-   https://github.com/facelessuser/pymdown-extensions
-   https://gitlab.com/pycqa/flake8-engine/-/issues/21
-   https://bitbucket.org/mrabarnett/mrab-regex/issues/260/extremely-slow-matching-using-ignorecase
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
-   {.magiclink-ignore}
-   {.magiclink-ignore}
-   {.magiclink-ignore}
-   {.magiclink-ignore}
```
///

When specifying links that reference the configured `provider`, `user`, and `repo`, some links will be shortened
differently in light of that context.

```text title="Internal Provider"
-   https://github.com/facelessuser/pymdown-extensions/issues/1
-   https://github.com/facelessuser/pymdown-extensions/pull/13
-   https://github.com/facelessuser/pymdown-extensions/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a
-   https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac
-   https://github.com/facelessuser/Rummage/commit/181c06d1f11fa29961b334e90606ed1f1ec7a7cc
```

/// html | div.result
```md-render
---
extensions:
- pymdownx.magiclink
- pymdownx.saneheaders
- markdown.extensions.attr_list

extension_configs:
  pymdownx.magiclink:
    repo_url_shortener: true
    repo_url_shorthand: true
    social_url_shorthand: true
    social_url_shortener: true
    user: facelessuser
    repo: pymdown-extensions
---
-   {.magiclink-ignore}
-   {.magiclink-ignore}
-   {.magiclink-ignore}
-   {.magiclink-ignore}
-   {.magiclink-ignore}
```
///

MagicLink will shorten user name and repository name links, but every site has some links that will conflict, or better
stated, will have links that follow the pattern of user name and repository name links, but are not actually either.
For example, `https://github.com/support` is not a user name, nor are any links under `support` repository names. By
default, MagicLink has provided a list of exclusions for each provider to avoid treating such links as a user name or
repository name. You can override them and add more via the option [`shortener_user_exclude`](#user-excludes).

/// new | New 7.0
MagicLink added user name and repository name link shortening along.
///

## Custom Repository Hosts

It is possible that someone may be running their own private GitHub, GitLab, or Bitbucket repository. MagicLink allows
for the creating variants of either of these repository providers with a custom host. MagicLink provides no additional
control over specifics, so if this is sufficient for your needs, then it give it a try!

To specify a custom provider, you simply need to specify them via the `custom` option.

1. Simply specify the name to identify the provider (must only contain alphanumeric characters). Provider name is used
   when manually specifying a provider (`@provider:user`) and will be used to generate custom CSS classes
   `magiclink-provider`.
2. Specify the `type`. Is this a private `github`, `gitlab`, or `bitbucket` provider.
3. Specify the `label` for tooltips.
4. Specify the `host` for your private repository.

```js
'custom': {
    'test': {
        'host': 'http://test.com',
        'label': 'Test',
        'type': 'github'
    }
}
```

Host URLs assume the `www` subdomain, and will generate the URL pattern to capture explicit or implicit `www` in host
URLs, whether you specify it in the host URL or not. If your repository does not use `www` subdomain, then set the
option `www` to `#!py False`. Most people will never need to touch this.

Lastly, `shortener_user_exclude` will assume your custom provider requires the same exclude list of the specified `type`
and will copy them for your custom repository. If this is not sufficient, you can add an entry to
`shortener_user_exclude` for your custom repository provider using your specified `name`. If you manually set excludes
in this manner, no excludes from the same `type` will be copied over.

## CSS

For normal links, no classes are added to the anchor tags. For repository links, `magiclink` will be added as a class.
Also, an additional class will be added for each repository link type and provider.

Link\ Type           | Class
-------------------- | -----
General              | `magiclink`
Mentions             | `magiclink-mention`
Repository\ Mentions | `magiclink-repository`
Issues               | `magiclink-issue`
Pulls                | `magiclink-pull`
Commits              | `magiclink-commit`
Compares             | `magiclink-compare`
GitHub               | `magiclink-github`
Bitbucket            | `magiclink-bitbucket`
GitLab               | `magiclink-gitlab`
Twitter              | `magiclink-twitter`

/// tip | Styling Links
With a little bit of CSS^[†](#_fn_1)^, you can also add icons in front: 7d1b1902ea7fe00043a249564ed5032f08dd7152,
e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac, etc.

You can also use the [`normalize_issue_symbols`](#options) option to make issue type links all render with `#` and
then use CSS^[†](#_fn_1)^ to add fancy icons to distinguish them: #1, !13, and ?1173.

^†^{#\_fn_1} _CSS is not included and the examples are just to illustrate what is possible, and to explain why our
documents will often have links with special icons._
///

## Options

Option                          | Type   | Default                     | Description
------------------------------- | ------ | --------------------------- | -----------
`hide_protocol`                 | bool   | `#!py3 False`               | If `True`, links are displayed without the initial `ftp://`, `http://`, `https://`, or `ftps://`.
`repo_url_shortener`            | bool   | `#!py3 False`               | If `True`, GitHub, Bitbucket, and GitLab commit, pull, and issue links are are rendered in a shorthand syntax.
`social_url_shortener`          | bool   | `#!py3 False`               | if `True`, Twitter user links are rendered in a shorthand syntax.
`shortener_user_exclude`        | dict   | [See below](#user-excludes) | Specifies a list of user names to avoid when attempting to shorten links. See [User Excludes](#user-excludes) for more info.
`repo_url_shorthand`            | bool   | `#!py3 False`               | If `True`, you can directly use a shorthand syntax to represent commit, pull, issue, and mention links for repository providers and they will be auto-linked.
`social_url_shorthand`          | bool   | `#!py3 False`               | If `True`, you can directly use a shorthand syntax to represent mention links for social media providers and they will be auto-linked.
`provider`                      | string | `#!py3 'github'`            | The provider to use for repository shorthand syntax and shortener.
`user`                          | string | `#!py3 ''`                  | The default user name to use for the specified provider.
`repo`                          | string | `#!py3 ''`                  | The default repository name to use for the specified user and provider.
`labels`                        | dict   | `#!py3 {}`                  | A dictionary for overriding repository link title text. See [Labels](#labels) for more info.
`normalize_issue_symbols`       | bool   | `#!py3 False`               | Normalize issue type links (issues, pulls, and discussions) to all use `#` instead of the respective `#`, `!`, and `?`.

### User Excludes

Defaults for `shortener_user_exclude`:

```py
{
    "bitbucket": ['dashboard', 'account', 'plans', 'support', 'repo'],
    "github": ['marketeplace', 'notifications', 'issues', 'pull', 'sponsors', 'settings', 'support'],
    "gitlab": ['dashboard', '-', 'explore', 'help', 'projects'],
    "twitter": ['i', 'messages', 'bookmarks', 'home']
}
```

When overriding, only the providers that are explicitly provided get overridden.

### Labels

By default, MagicLink provides titles for the repository links in the form `{provider} {label}: {info}`. You can specify
different values for `{label}` by configuring the `labels` option.

The default values are:

```js
    {
        'commit': 'Commit',
        'compare': 'Compare',
        'issue': 'Issue',
        'pull': 'Pull Request',
        'mention': 'User',
        'repository': 'Repository'
    }
```

You only need to provide the options you wish to override. Assume we wanted to adopt the GitLab terminology for pull
requests, we could simply set `labels` to:

```js
    {
        'pull': 'Merge Request'
    }
```
pymdown-extensions-10.9/docs/src/markdown/extensions/mark.md000066400000000000000000000015701465124271600243640ustar00rootroot00000000000000[:octicons-file-code-24:][_mark]{: .source-link }

# Mark

## Overview

Mark adds the ability to insert `#!html ` tags.  The syntax requires the text to be surrounded by double
equal signs. It can optionally be configured to use smart logic. Syntax behavior for smart and non-smart variants of
**mark** models that of [BetterEm](betterem.md#differences).

To Mark some text, simply surround the text with double `=`.

```text title="Marking"
==mark me==

==smart==mark==
```

/// html | div.result
==mark me==

==smart==mark==
///

The Mark extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.mark'])
```

## Options

Option       | Type | Default     | Description
------------ | ---- | ----------- |------------
`smart_mark` | bool | `#!py3 True` | Use smart logic with mark characters.
pymdown-extensions-10.9/docs/src/markdown/extensions/pathconverter.md000066400000000000000000000066741465124271600263300ustar00rootroot00000000000000[:octicons-file-code-24:][_pathconverter]{: .source-link }

# PathConverter

## Overview

PathConverter is an extension that can convert local, relative reference paths to absolute or relative paths for links
and images. It was originally written for a project that wanted to preview the markdown by rendering it in a temporary
location. This extension allowed the paths to be converted to work from the temporary location. This context is
important when trying to understand why this extension was created. It's actual usage is limited to situations like
this, so it isn't something that would get used in most normal scenarios.

PathConverter takes an absolute base path. The base path is the Markdown content's assumed location at time of
conversion.  The path is used as a reference for locating images and referenced files relative to the Markdown content.
Essentially, the references in the Markdown file would currently be relative to this base path at conversion time. The
references existence is not verified, but the it is analyze to determine if it is a relative path, and if so, it is
eligible for conversion. In the case of **absolute** mode, the relative Markdown references would be converted to
absolute paths.

If PathConverter is in **relative** mode, the extension will also need a relative path to convert to.  The relative path
must be an absolute path to the location the HTML is assumed to live after conversion.  If the references paths can be
confirmed to be relative, those references will be converted to relative paths that align to the provided relative path
parameter. The idea is that a Markdown file could be found in a location that is not meant to be its final location.
References within the Markdown source would link relative to the base path, but they would then be converted to be
relative to it's new location -- the relative path parameter.

Currently PathConverter will search desired tags for `href` and `src` attributes. By default, only `a`, `script`, `img`,
and `link` tags are searched.

PathConverter is also intelligent enough to only operate on the file portion of the reference link.  Consider the
following scenario:  `path/to/file.html#header-to-jump-to`.  In the example, `path/to/file.html` will be converted, but
`#header-to-jump-to` will be left unaltered.

As mentioned before, the use cases for something like this are limited, but if you have a situation that lends well to
something like this, PathConverter can help.

The PathConverter extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.pathconverter'])
```

## Options

Option          | Type   | Default                     | Description
--------------- | ------ | --------------------------- |------------
`base_path`     | string | `#!py3 ''`                  | A string indicating an absolute base path to be used to find referenced files.
`relative_path` | string | `#!py3 ''`                  | A string indicating an absolute path that the references are to be relative to (not used when `absolute` is set `True`).
`absolute`      | bool   | `#!py3 False`               | Determines whether paths are converted to absolute or relative.
`tags`          | string | `#!py3 'a script img link'` | Tags (separated by spaces) that are searched to find `href` and `src` attributes.
`file_scheme`   | bool   | `#!py3 False`               | Produce file:// URLs instead of raw paths when converting paths to absolute.
pymdown-extensions-10.9/docs/src/markdown/extensions/progressbar.md000066400000000000000000000110121465124271600257530ustar00rootroot00000000000000[:octicons-file-code-24:][_progressbar]{: .source-link }

# ProgressBar

## Overview

ProgressBar is an extension that adds support for progress/status bars.  It can take percentages or fractions, and it
can optionally generate classes for percentages at specific value levels.  It also works with Python Markdown's built
in `attr_list` extension.

The basic syntax for progress bars is: `[=  "optional single or double quoted title"]`.  The
opening `[` can be followed by one or more `=` characters. After the `=` char(s) the percentage is specified as either
a fraction or percentage and can optionally be followed by a title surrounded in either double quotes or single
quotes.

```text title="Progress Bars"
[=0% "0%"]
[=5% "5%"]
[=25% "25%"]
[=45% "45%"]
[=65% "65%"]
[=85% "85%"]
[=100% "100%"]
```

/// html | div.result
[=0% "0%"]
[=5% "5%"]
[=25% "25%"]
[=45% "45%"]
[=65% "65%"]
[=85% "85%"]
[=100% "100%"]
///

Though progress bars are rendered as block items, it accepts `attr_list`'s inline format.
`markdown.extensions.attr_list` must be enabled for the following to work.

```text title="Progress Bars with Attributes"
[=85% "85%"]{: .candystripe}
[=100% "100%"]{: .candystripe .candystripe-animate}

[=0%]{: .thin}
[=5%]{: .thin}
[=25%]{: .thin}
[=45%]{: .thin}
[=65%]{: .thin}
[=85%]{: .thin}
[=100%]{: .thin}
```

/// html | div.result
[=85% "85%"]{: .candystripe}
[=100% "100%"]{: .candystripe .candystripe-animate}

[=0%]{: .thin}
[=5%]{: .thin}
[=25%]{: .thin}
[=45%]{: .thin}
[=65%]{: .thin}
[=85%]{: .thin}
[=100%]{: .thin}
///

The ProgressBar extension can be included in Python Markdown by using the following:

```py3
import markdown
md = markdown.Markdown(extensions=['pymdownx.progressbar'])
```

## Styling with CSS

The general HTML structure of the progress bar is as follows:

```html

100%

``` Classes | Description ------------------------ |------------ `progress` | This is attached to the outer `div` container of the progress bar. `progress-bar` | This is attached to the inner `div` whose width is adjusted to give the visual appearance of a bar at the desired percentage. `progress-label` | This is attached to the `p` element that will contain the desired label. `progress-plus` | This is an optional class that indicates the percentage of the progress bar by increments defined by `progress_increment`. /// settings | CSS Setup You are able to style your progress bars as fancy or plain as you want. Below is just a basic example. Depending on existing styles in your page, it may or may not require tweaking. //// tab | Preview ![Progress bar](../images/progress.png) //// //// tab | HTML ```html

Goals


25%

``` //// //// tab | CSS ///// collapse-code ```css .progress-label { position: absolute; text-align: center; font-weight: 700; width: 100%; margin: 0; line-height: 1.2rem; white-space: nowrap; overflow: hidden; } .progress-bar { height: 1.2rem; float: left; background-color: #2979ff; } .progress { display: block; width: 100%; margin: 0.5rem 0; height: 1.2rem; background-color: #eeeeee; position: relative; } .progress.thin { margin-top: 0.9rem; height: 0.4rem; } .progress.thin .progress-label { margin-top: -0.4rem; } .progress.thin .progress-bar { height: 0.4rem; } .progress-100plus .progress-bar { background-color: #00e676; } .progress-80plus .progress-bar { background-color: #fbc02d; } .progress-60plus .progress-bar { background-color: #ff9100; } .progress-40plus .progress-bar { background-color: #ff5252; } .progress-20plus .progress-bar { background-color: #ff1744; } .progress-0plus .progress-bar { background-color: #f50057; } ``` ///// //// /// ## Options Option | Type | Default | Description -------------------- | ------- | ------------ |------------ `level_class` | bool | `#!py3 True` | Enables or disables the level class feature. The level class feature adds level classes in increments defined by `progress_increment`. `add_classes` | string | `#!py3 ''` | This option accepts a string of classes separated by spaces. `progress_increment` | integer | `#!py3 20` | Defines the increment at which the `level_class` classes are generated at. pymdown-extensions-10.9/docs/src/markdown/extensions/saneheaders.md000066400000000000000000000023331465124271600257120ustar00rootroot00000000000000[:octicons-file-code-24:][_saneheaders]{: .source-link } # SaneHeaders ## Overview SaneHeaders is an extension that alters the default hashed headers extension to require headers to have spaces after the hashes (`#`) in order to be recognized as headers. This allows for other extension syntaxes to use `#` in their syntaxes as long as no spaces follow the `#` at the beginning of a line. For instance, [MagicLink's issue syntax](./magiclink.md#issues-and-pull-requests) issue syntax uses hashes followed by numbers (`#998`) to represent issue links. There may be extensions that use names after hashes to provide tags (`#tag`). With SaneHeaders, these syntaxes can coexist. Those familiar with CommonMark may recognize this behavior. ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.saneheaders']) ``` ## Syntax The syntax when using SaneHeaders is exactly like Python Markdown's default logic with the only exception being that SaneHeaders will not treat hashes at the beginning of a line as a header if they do not have space after them. In Python Markdown, both of these are treated as headers: ``` ## Header ##Also a Header ``` With SaneHeaders, only the first is a header: ``` ## Header ##Not a Header ``` pymdown-extensions-10.9/docs/src/markdown/extensions/smartsymbols.md000066400000000000000000000030741465124271600261720ustar00rootroot00000000000000[:octicons-file-code-24:][_smartsymbols]{: .source-link } # SmartSymbols ## Overview SmartSymbols adds syntax for creating special characters such as trademarks, arrows, fractions, etc. It basically allows for more "smarty-pants" like replacements. It is meant to be used along side Python Markdown's `smarty` extension not to replace. Markdown | Result -------------- |-------- `(tm)` | (tm) `(c)` | (c) `(r)` | (r) `c/o` | c/o `+/-` | +/- `-->` | --> `<--` | <-- `<-->` | <--> `=/=` | =/= `1/4, etc.` | 1/4, etc. `1st 2nd etc.` |1st 2nd etc. The SmartSymbols extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.smartsymbols']) ``` ## Options Option | Type | Default | Description ----------------- | ---- | ----------- |------------ `trademark` | bool | `#!py3 True` | Add syntax for trademark symbol. `copyright` | bool | `#!py3 True` | Add syntax for copyright symbol. `registered` | bool | `#!py3 True` | Add syntax for registered symbol. `care_of` | bool | `#!py3 True` | Add syntax for care / of. `plusminus` | bool | `#!py3 True` | Add syntax for plus / minus. `arrows` | bool | `#!py3 True` | Add syntax for creating arrows. `notequal` | bool | `#!py3 True` | Add syntax for not equal symbol. `fractions` | bool | `#!py3 True` | Add syntax for common fractions. `ordinal_numbers` | bool | `#!py3 True` | Add syntax for ordinal numbers. pymdown-extensions-10.9/docs/src/markdown/extensions/snippets.md000066400000000000000000000264211465124271600253010ustar00rootroot00000000000000[:octicons-file-code-24:][_snippets]{: .source-link } # Snippets ## Overview /// warning | Not Meant for User Facing Sites Snippets is meant to make including snippets in documentation easier, but it should not be used for user facing sites that take and parse user content dynamically. /// Snippets is an extension to insert markdown or HTML snippets into another markdown file. Snippets is great for situations where you have content you need to insert into multiple documents. For instance, this document keeps all its hyperlinks in a separate file and then includes those hyperlinks at the bottom of a document via Snippets. If a link needs to be updated, it can be updated in one location instead of updating them in multiple files. Snippets is run as a preprocessor, so if a snippet is found in a fenced code block etc., it will still get processed. If a snippet declaration is processed, and the specified file cannot be found, then the markup will be removed. Snippets can handle recursive file inclusion. And if Snippets encounters the same file in the current stack, it will avoid re-processing it in order to avoid an infinite loop (or crash on hitting max recursion depth). This is meant for simple file inclusion, it has no intention to implement features from complex template systems. If you need something more complex, you may consider using a template environment to process your files **before** feeding them through Python Markdown. If you are using a document generation system, this can likely be performed via a plugin for that document system (assuming a plugin environment is available). The Snippets extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.snippets']) ``` ## Snippets Notation There are two modes of inserting snippets: single line and block. Single line mode accepts a single file name, and block accepts multiple files. Snippets does not require a specific extension, and as long as a valid file name is specified, it will attempt to process it. Snippets paths are relative to base location, by default the current working directory. You can specify a new base location by setting the `base_path`. You can even allow downloading snippets from external locations. To learn more, check out ["Specifying Snippet Locations"](#specifying-snippet-locations) and ["URL Snippets"](#url-snippets). ### Single Line Format Single line format is done by placing the following markup for the single line notation: ``` ;--8<-- "filename.ext" ``` As you can see, the notation is ASCII scissors cutting a line followed by the file name. In the case of the single line variant, the file name follows directly after the scissors and is quoted. In the case of the block format, the file names follow on separate lines and an additional scissor is added afterwards to signal the end of the block. The dashes can be as few as 1 (`-8<-`) or longer if desired (`---8<---------`); whatever your preference is. The important thing is that the notation must reside on a line(s) by itself, and the path, must be quoted in the case of the single line notation. If the file name is indented, the content will be indented to that level as well. You can temporarily disable the snippet by placing a `;` before the file name: ``` ;--8<-- "; skip.md" ``` ### Block Format The second approach is known as the block format. Block format allows you to insert multiple files. ``` ;--8<-- filename.md filename.log ;--8<-- ``` The block format differs from the single format by requiring the the content to be fenced between two `--8<--`. The start and end `--8<--` must be on a line by themselves. When using the block format empty lines are also preserved within the block. Consider the example below. ``` ;--8<-- fileA.md fileB.md ;--8<-- ``` This would yield: ``` Content of file A. Content of file B. ``` If you have a file you want to temporarily ignore, you can comment it out by placing a `;` at the start of the line. ``` ;--8<-- include.md ; skip.md ;--8<-- ``` ### Snippet Lines /// new | New 9.6 /// When specifying a snippet, you can specify which lines of the Snippet file that you wish to include. To specify line numbers, simply append the start and/or end to the end of the file name with each number separated with `:`. - To specify extraction of content to start at a specific line number, simply use `file.md:3`. - To extract all content up to a specific line, use `file.md::3`. This will extract lines 1 - 3. - To extract all content starting at a specific line up to another line, use `file.md:4:6`. This will extract lines 4 - 6. ``` ;--8<-- "file.md:4:6" ;--8<-- include.md::3 ;--8<-- ``` ### Snippet Sections /// new | New 9.7 /// Specifying snippet lines may not always be ideal. The source could change by moving, adding, and/or removing lines. A way around this is to partition a snippet into named sections and then targeting a specific section to be included instead of specific line numbers. Snippet sections can be specified by surrounding a block of text with `--8<-- [start:name]` and `--8<-- [end:name]`. Then a file can simply specify the snippet using the name instead of line numbers. ``` ;--8<-- "include.md:name" ;--8<-- include.md:name ;--8<-- ``` Unlike other snippet syntax, the section start and end syntax do not have to be on a line by themselves. This allows you to embed them in comments depending on the file type. When a section is included, the line with the start and end are always omitted. If we wanted to include a function from a Python source, we could specify the snippet as follows: ```python # --8<-- [start:func] def my_function(var): pass # --8<-- [end:func] ``` And then just include it in our document: ``` ;--8<-- "example.py:func" ``` ### Escaping Snippets Notation /// new | New 9.6 /// If it is necessary to demonstrate the snippet syntax, an escaping method is required. If you need to escape snippets, just place a `;` right before `-8<-`. This will work for both single line and block format. An escaped snippet notation will be passed through the Markdown parser with the first `;` removed. ````text title="Escaped Snippets" ``` ;;--8<-- "escaped.md" ;;;--8<-- "escaped.md" ``` ```` /// html | div.result ``` ;--8<-- "escaped.md" ;;--8<-- "escaped.md" ``` /// /// warning | Legacy Escaping The legacy escape method required placing a space at the end of the line with `-8<-`, while this should still work, this behavior will be removed at sometime in the future and is discouraged. /// ## Specifying Snippet Locations All snippets are specified relative to the base path(s) specified in the `base_path` option. `base_path` is a list of paths (though it will take a single string for legacy purposes). When evaluating paths, they are done in the order specified. The specified snippet will be evaluated against each base path and the first base path that yields a valid snippet will be returned. If a base path is a file, the specified snippet will be compared against the base name of that file. For instance, if we specified a snippet of `test.md` and we had a `base_path` of `#!py3 ["some/location/test.md"]`, this would match. A specified snippet of `location/test.md` would not match. This is great if you have a one off file outside of your base directory, but you'd like to directly include it. ## URL Snippets URLs, if `url_download` is enabled, can also be used as snippets. Instead of using a file, simply specify a URL in its place. By default, a max size for content is specified with `url_max_size` and a default timeout via `url_timeout`. If either of these is set to zero, the limits will be ignored. To pass arbitrary HTTP headers in every HTTP request use `url_request_headers`. /// warning | Nested Snippets One thing to note though, if a snippet is included via a URL, all nested snippets within it must also be URLs. URL snippets are not allowed to reference local snippet files. /// /// new | New 9.5 URL snippet support was introduced in 9.5. /// ## Dedent Subsections /// new | New 9.10 /// /// warning | Experimental /// By default, when a subsection is extracted from a file via the [section notation](#snippet-sections) or the [lines notation](#snippet-lines), the content is inserted exactly how it is extracted. Unfortunately, sometimes you are extracting an indented chunk, and you do not intend for that chunk to be indented. `dedent_subsections` is a recent option that has been added to see if it alleviates the issue. When specifying a subsection of a file to insert as a snippet, via "sections" or "lines", that content will have all common leading whitespace removed from every line in text. Depending on how the feature is received, it may be made the default in the future. ## Auto-Append Snippets Snippets is designed as a general way to target a file and inject it into a given Markdown file, but some times, especially when building documentation via a library like [MkDocs][mkdocs], it may make sense to provide a way to append a given file to *every* Markdown document without having to manually include them via Snippet syntax in each page. This is especially useful for including a page of reference links or abbreviations on every page. Snippets provides an `auto_append` option that allows a user to specify a list of files that will be automatically appended to every to Markdown content. Each entry in the list searched for relative to the `base_path` entries. ## Options Option | Type | Default | Description ---------------------- | --------------- | ---------------- |------------ `base_path` | \[string\] | `#!py3 ['.']` | A list of strings indicating base paths to be used resolve snippet locations. For legacy purposes, a single string will also be accepted as well. Base paths will be resolved in the order they are specified. When resolving a file name, the first match wins. If a file name is specified, the base name will be matched. `encoding` | string | `#!py3 'utf-8'` | Encoding to use when reading in the snippets. `check_paths` | bool | `#!py3 False` | Make the build fail if a snippet can't be found. `auto_append` | \[string\] | `#!py3 []` | A list of snippets (relative to the `base_path`) to auto append to the Markdown content. `url_download` | bool | `#!py3 False` | Allows URLs to be specified as file snippets. URLs will be downloaded and inserted accordingly. `url_max_size` | int | `#!py3 33554432` | Sets an arbitrary max content size. If content length is reported to be larger, and exception will be thrown. Default is ~32 MiB. `url_timeout` | float | `#!py3 10.0` | Passes an arbitrary timeout in seconds to URL requestor. By default this is set to 10 seconds. `url_request_headers` | {string:string} | `#!py3 {}` | Passes arbitrary headers to URL requestor. By default this is set to empty map. `dedent_subsections` | bool | `#!py3 False` | Remove any common leading whitespace from every line in text of a subsection that is inserted via "sections" or by "lines". `restrict_base_path` | bool | `#!py True` | Ensure that the specified snippets are children of the specified base path(s). This prevents a path relative to the base path, but not explicitly a child of the base path. pymdown-extensions-10.9/docs/src/markdown/extensions/striphtml.md000066400000000000000000000041361465124271600254610ustar00rootroot00000000000000[:octicons-file-code-24:][_striphtml]{: .source-link } # StripHTML ## Overview StripHTML (formally known as PlainHTML) is a simple extension that is run at the end of post-processing. It searches the final output stripping out unwanted comments and/or tag attributes. Though it does its best to be loaded at the very end of the process, it helps to include this one last when loading up your extensions. ```text title="Stripping Comments" Here is a test. ``` /// html | div.result ```html

Here is a test.

``` /// Because comments aren't stripped until the end in a post-processing step, they are present throughout the entire Markdown conversion process and could possibly affect parsing, so be careful how you generally insert comments. /// caution | Warning This is not meant to be a sanitizer for HTML. This is just meant to try and strip out style, script, classes, etc. to provide a plain HTML output for the times this is desired; this is not meant as a security extension. If you want something to secure the output, you should consider running a sanitizer like [Bleach][bleach]. /// The StripHTML extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.striphtml']) ``` ## Options By default, StripHTML strips the following attributes: `style`, `id`, `class`, and `on`. StripHTML also strips HTML comments. If desired, its behavior can be configured to strip less or even more, but it is limited to attributes and comments. Option | Type | Default | Description ------------------------ |--------- | ------------ | ----------- `strip_comments` | bool | `#!py3 True` | Strip HTML comments during post process. `strip_js_on_attributes` | bool | `#!py3 True` | Strip JavaScript script attributes with the pattern on* during post process. `strip_attributes` | [string] | `#!py3 []` | A list of tag attribute names to strip. pymdown-extensions-10.9/docs/src/markdown/extensions/superfences.md000066400000000000000000000751751465124271600257700ustar00rootroot00000000000000[:octicons-file-code-24:][_superfences]{: .source-link } # SuperFences ## Overview SuperFences provides a number of features: 1. Allowing the [nesting of fences](#nested-fence-format) under blockquotes, lists, or other block elements (see [Limitations](#limitations) for more info). 2. Ability to specify [custom fences](#custom-fences) to provide features like flowcharts, sequence diagrams, or other custom blocks. 3. Allow disabling of indented code blocks in favor of only using the fenced variant (off by default). 4. Experimental feature that preserves tabs within a code block instead of converting them to spaces which is Python Markdown's default behavior. /// danger | Reminder Remember to read the [Usage Notes](../usage_notes.md) for information that may be relevant when using this extension! /// The SuperFences extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.superfences']) ``` ## Nested Fence Format 1. Start and end fence boundaries are specified with either 3 or more backticks or tildes. 2. Start and end fence boundaries must both use matching symbols (backticks or tildes) and must be of the same number of symbols. If start is 3 backticks, the fence will end with 3 backticks. 3. Start and end fence boundaries must be aligned to the same indentation level. 4. Content between fences must be indented at least the same amount as the start and end boundaries. Empty lines are exempted. 5. If you are using a fenced block inside a blockquote, at the very least, the first line of the fenced block needs to have the appropriate number of `>` characters signifying the quote depth. ```` > ``` a fenced block ``` ```` 6. Too many blank lines will cause a blockquote to terminate, so remember to use `>` markers accordingly if not marking every line. ```` > ``` a fenced block > with blank lines ``` ```` 7. If using a fenced block as the first line of a list, you will have to leave the first line blank, but remember that the list marker must be immediately followed by at least one space. To avoid accidentally deleting the space and to make your intentions clear, you might want to also add an explicit unicode space (` `) as shown here: ```` - ``` a fenced block ``` Definition : ``` a fenced block ``` ```` 8. Fenced blocks should be separated from other blocks by an empty line. ```` Paragraph. ``` a fenced block ``` Another paragraph. ```` ## Injecting Classes, IDs, and Attributes You can use the brace format to specify classes and IDs. The first provided class is always used as the language class. IDs (`#id`) can also be inserted as well. Arbitrary attributes in the form `key="value"` can be inserted as well if the [`attr_list`][attr-list] extension is enabled, but when using Pygments, only `key="value"` attributes that start with the `data-` prefix will be recognized, all others will be treated as options for Pygments and will be rejected if not valid. ````text title="Injecting Classes" ```{.python .extra-class linenums="1"} import hello_world ``` ```` /// html | div.result ```html
1
import import hello_world\n
\n
``` /// When generating additional classes on a JavaScript style code block (non-Pygments code blocks), classes are injected in the `#!html code` block. ````text title="Non-Pygments Injecting Classes" ```{.python .extra-class #id linenums="1"} import hello_world ``` ```` /// html | div.result ```html
import hello_world
``` /// When using Pygments, all extra classes and attributes will be attached to the Pygments' wrapper `#!html
`. When using a built in [custom formatter](#custom-fences), all classes and IDs are injected on to the first element `#!html
` or `#!html
`. This preserves previous behavior, but you can write your own and inject them in the
way that suites your needs.

/// new | New 9.0
Added support for `#id` in Pygments brace headers. Also added support for arbitrary `data-` attributes if the
[`attr_list`][attr-list] extension is enabled.
///

## Preserve Tabs

Python Markdown has an approach where it normalizes whitespace. This means `\r\n` is converted to `\n` and `\t` is
converted to spaces. In 99% of Markdown, this is never really an issue, but with code blocks it can be. Tabs can
sometimes be very useful for aligning certain kinds of data, especially when dealing with characters of varying width.

````text title="Tabs in Content"
```
============================================================
T   Tp  Sp  D   Dp  S   D7  T
------------------------------------------------------------
A   F#m Bm  E   C#m D   E7  A
A#  Gm  Cm  F   Dm  D#  F7  A#
Bâ™­  Gm  Cm  F   Dm  Eâ™­m F7  Bâ™­
```
````

/// html | div.result
```
============================================================
T	Tp	Sp	D	Dp	S	D7	T
------------------------------------------------------------
A	F#m	Bm	E	C#m	D	E7	A
A#	Gm	Cm	F	Dm	D#	F7	A#
Bâ™­	Gm	Cm	F	Dm	Eâ™­m	F7	Bâ™­
```
///

If you have a scenario where preserving tabs is a requirement, you can use SuperFences `preserve_tabs` option to prevent
converting tabs to spaces inside fenced code blocks. This *only* applies to fenced code blocks. Indented code blocks and
inline code blocks will still be treated with Python Markdown's default behavior.

This feature is experimental and actually applies the fences before whitespace normalization and bypasses the
normalization for the code content.

## Code Highlighting

Assuming Pygments is installed, code highlighting will be handled by [Pygments][pygments] by default. If Pygments is not
installed, or disabled, code blocks will be created using HTML5 style tags for a JavaScript syntax highlighter:
`#!html 
`. If you disable `highlight_code`, specified languages will be ignored, and the content will be wrapped in a simple `pre` and `code` tags with no classes. Highlighting can be further controlled via the [`pymdownx.highlight`](./highlight.md) extension. You must include `pymdownx.highlight` in the extensions list in order to be able to configure it. When using fenced code blocks, you can specify a specific syntax language to highlight with by specifying the language name directly after the opening tokens (either ` ``` ` or `~~~`). Whether using Pygments or some other JavaScript highlighter, the syntax is the same, but please consult your highlighter's documentation for recognized language syntax specifiers. ````text title="Highlighting" ```python import foo.bar ``` ```` /// html | div.result ```python import foo.bar ``` /// ## Showing Line Numbers Line numbers are provided via Pygments and can either be shown per code block or globally for all. To show globally via [`pymdownx.highlight`](./highlight.md), you must set `linenums` to `#!py3 True` in the respective extension. To set line numbers per code block, you can specify a special setting directly after the opening tokens (and language if present). Simply specify the starting line line number with option `linenums="1"`. The setting is followed by the equal sign and the value must be quoted. Valid line numbers are n > 0. If `linenums` is enabled globally, this will just control the starting line shown in the block. ````text title="Line Numbers" ```{.python linenums="1"} import foo.bar ``` ```` /// html | div.result ```{.python linenums="1"} import foo.bar ``` /// And, if we wanted to start with a different starting line number, we would just specify something other than `1`. ````text title="Custom Line Number Start" ```{.python linenums="2"} import foo.bar ``` ```` /// html | div.result ```{.python linenums="2"} import foo.bar ``` /// Pygments also has a few additional options in regards to line numbers. One is "line step" which, if set to a number n > 1, will print only every n^th^ line number. The other option is a setting that can mark line numbers as "special" with a span and class `special`. If the special parameter is set to a number n > 0, every n^th^ line number is given the CSS class `special`. So to set showing only every other line number, we could do the following. Line options are separated by a space, and "line step" is always the second option, so you must specify line start before line step. ````text title="Nth Line" ``` {.python linenums="1 2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ``` {.python linenums="1 2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` /// To set every other line as special, you must set the third `linenums` option (specify line start and step before it). Special must be a value of n > 0. Additionally, you can set this globally with `linenums_special` in the [Highlight extension](./highlight.md). ````text title="Special Lines" ``` {linenums="1 1 2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ``` {linenums="1 1 2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` /// For JavaScript libraries, a class of `linenums` is written to the block. This may or may not be leveraged by your chosen highlighter. It is uncertain at this time whether line number support for JavaScript highlighters will be enhanced beyond this.w what to inject. ## Highlighting Lines Via Pygments, certain lines can be specified for highlighting. This is done by specifying a special setting directly after the opening tokens (and language if present). The setting is named `hl_lines` and the value should be the targeted line numbers separated by spaces. ````text title="Highlight Lines" ```{.python hl_lines="1 3"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ```{.python hl_lines="1 3"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` /// Line numbers are always referenced starting at 1 ignoring what the line number is labeled as when showing line numbers. ````text title="Highlight Lines with Line Numbers" ```{.py3 hl_lines="1 3" linenums="2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ```{.py3 hl_lines="1 3" linenums="2"} """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` /// If you'd like to do a range of lines, you can use the notation `x-y` where `x` is the starting line and `y` is the ending line. You can do multiple ranges and even mix them with non ranges. ````text title="Highlight Ranges" ```{.py3 hl_lines="1-2 5 7-8"} import foo import boo.baz import foo.bar.baz class Foo: def __init__(self): self.foo = None self.bar = None self.baz = None ``` ```` /// html | div.result ```{.py3 hl_lines="1-2 5 7-8"} import foo import boo.baz import foo.bar.baz class Foo: def __init__(self): self.foo = None self.bar = None self.baz = None ``` /// ## Code Block Title Headers /// new | New 9.0 Title headers are new in version `9.0`. /// When Pygments is enabled, a header with a title can be applied with the `title` option. This essentially controls the Pygments' `filename` option under the hood. It made more sense to use the term `title` as people can really set any arbitrary title, not just filenames. Pygments will simply output the HTML below. The user is responsible for provided CSS to style the header. Pygments uses the class name of `filename` as that is the feature being used under the hood. ```html
Some Title
``` If using line numbers and the `linenums_style` set to `table` (the default), the title will be inserted in `#!html ` element at the start of the table set to span both the line number column and the line column. ```html
My title
1
``` ````text title="Adding Titles" ```{.py3 title="My Cool Header"} import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ```{.py3 title="My Cool Header"} import foo.bar import boo.baz import foo.bar.baz ``` /// If the `auto_title` option is enabled in the [Highlight extension](./highlight.md), the title will be auto populated with the name of the lexer used to highlight the code (unless `title` is manually specified). In the example below, no `title` is specified, but the the title is extracted from the Python lexer. ````text title="Automatic Titles" ```python import foo.bar import boo.baz import foo.bar.baz ``` ```` /// html | div.result ````md-render --- extensions: - pymdownx.highlight - pymdownx.superfences extension_configs: pymdownx.highlight: auto_title: true --- ```python import foo.bar import boo.baz import foo.bar.baz ``` ```` /// There may be some cases where a Lexer returns a result that is undesired. For example, when a user specifies the `pycon` lexer, the title that is returned is quite verbose. ````text title="Undesired Automatic Title" ```pycon >>> 3 + 3 6 ``` ```` /// html | div.result ````md-render --- extensions: - pymdownx.highlight - pymdownx.superfences extension_configs: pymdownx.highlight: auto_title: true --- ```pycon >>> 3 + 3 6 ``` ```` /// In a case like above, it may be desired to simply use the title `Python`. We can configure the [Highlight extension](./highlight.md) to override any auto returned title. Simply create mapping via the `auto_title_map` specifying the title you wish to override as the key, and the desired title as the value. ```py3 extension_configs = { "pymdownx.highlight": { "auto_title": True, "auto_title_map": { "Python Console Session": "Python" } } } ``` Now whenever we use `pycon`, we get "Python" instead of "Python Console Session". ````md-render --- extensions: - pymdownx.highlight - pymdownx.superfences extension_configs: pymdownx.highlight: auto_title: true auto_title_map: {"Python Console Session": "Python"} --- ```pycon >>> 3 + 3 6 ``` ```` ## Pygments Line Anchors and Spans /// new | New 9.0 The various line wrapping options are new to version `9.0`. /// Pygments offers a couple of options that will wrap lines, line numbers even create anchor links for line numbers. SuperFences, when using Pygments, exposes these options under similar names. In this example, we will wrap each line of code in a span. Pygments will create an ID for each span using the prefix that we provide. We simply set the global config option `line_spans` and specify the desired "prefix" (`_codeline`), and then every line will be wrapped in a span with the ID `prefix-x-y` where `prefix` is the user specified prefix, `x` is a unique number for the code block, and `y` is the line number. After that, it is up to the user to do as they with to target the ID with either JavaScript and/or CSS. /// tab | Config ```py3 extension_configs = { "pymdownx.highlight": { 'linenums_style': 'inline', 'line_spans': '__codeline' } } ``` /// /// tab | Markdown ```` ```{.python linenums="1 1" } import foo ``` ```` /// /// tab | HTML ```html


1import foo


``` /// We can also wrap line numbers with with a link and inject anchors so you can click line numbers and be taken to said line. To do this, `anchor_linenums` must be enabled and then a prefix should be provided via `line_anchors`, just like `line_spans`, `line_anchors` will produce an ID in the form `prefix-x-y` where `x` is a unique number for the code block and `y` is the line number. If you wish to not have the line numbers clickable, and just have the anchors inserted, you can omit enabling `anchor_linenums`. /// tab | Config ```py3 extension_configs = { "pymdownx.highlight": { 'linenums_style': 'inline', 'line_spans': '__codeline', 'line_anchors': '__codelineno', 'anchor_linenums': True } } ``` /// /// tab | Markdown ```` ```{.python linenums="1 1" } import foo ``` ```` /// /// tab | HTML ```html


1import foo


``` /// ## Custom Fences SuperFences allows defining custom fences for special purposes. For instance, we could create special fences for diagrams that we could later run Mermaid on. ````text title="Flow Chart" ```diagram graph TD A[Hard] -->|Text| B(Round) B --> C{Decision} C -->|One| D[Result 1] C -->|Two| E[Result 2] ``` ```` /// html | div.result ```diagram graph TD A[Hard] -->|Text| B(Round) B --> C{Decision} C -->|One| D[Result 1] C -->|Two| E[Result 2] ``` /// This would allow us access to all the diagrams Mermaid offers. Some Mermaid diagrams are less practical to use as they don't scale well, but many work great. In the above example, we have set up a custom fence called `diagram` which allows us to process special charts with [Mermaid][mermaid]. In this case, our special fence preserves the content and sends them to a an element so that [Mermaid][mermaid] can then find them and convert them when the document is loaded. To learn more see [UML Diagram Example](#uml-diagram-example). Custom fences are created via the `custom_fences` option. `custom_fences` takes an array of dictionaries where each dictionary defines a custom fence. The dictionaries require the following keys: Keys | Description ----------- | ----------- `name` | The language name that is specified when using the fence in Markdown. If given `*`, it will override the base fence logic, the default for all fence names not handled by other custom fences. `class` | The class name assigned to the HTML element when converting from Markdown to HTML. `format` | A function that formats the HTML output. The function should return a string as HTML. `validator` | An optional parameter that is used to provide a function to validate custom fence parameters. /// warning | Logging When a custom fence fails, the error will be swallowed up and the error will be handled gracefully. If logging is desired, custom logging should be added into the custom function. SuperFences will not provide any. /// /// new | New in 7.0 Starting in 7.0, you can override the base fence logic (the syntax highlighter) by specifying the custom fence with a name of `*`. This means that if a fence does not match any other custom fences, the default, fallback fence would be handled by your custom `*` fence. This can be useful for tailoring a fence output with custom parameters for a specific, favorite JavaScript highlighter. /// ### Formatters SuperFences provides two format functions by default, but you can always write your own: Format\ Function | Description ------------------------------- | ----------- `superfences.fence_code_format` | Places the HTML escaped content of the fence under a `#!html
` block.
`superfences.fence_div_format`  | Places the HTML escaped content of the fence under a `#!html 
` block. In general, formatters take five parameters: the source found between the fences, the specified language, the class name originally defined via the `class` option in the `custom_fence` entry, custom options, additional classes defined in brace style headers, an optional ID, any attributes defined in the brace style header, and the Markdown object (in case you want access to meta data etc.). ```py3 def custom_formatter(source, language, css_class, options, md, classes=None, id_value='', attrs=None, **kwargs): return string ``` or ```py3 def custom_formatter(source, language, css_class, options, md, **kwargs): return string ``` All formatters should return a string as HTML. /// tip | YAML Configuration Format If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../faq.md#function-references-in-yaml) to see how to specify function references in YAML. /// /// new | New 7.0 The addition of the parameters `classes` and `id_value` is new in 7.0. If injecting additional classes or ids via [brace headers](#injecting-classes-and-ids), only then will `classes` and `id_value` be passed in to preserve backwards compatibility with old custom formatters. Users, moving forward, should at the very least update their formatters with `**kwargs` to future proof their custom formatters in case additional parameters are added in the future. /// /// new | Changes 8.0 Formatters now take the keyword parameter `attrs`. /// ### Validators The `validator` is used to provide a function that allows the validation of inputs. Inputs are then sorted to either `attrs` or `options`. While a `formatter` can treat `attrs` and `options` however they like, the intention is that key value pairs assigned to `attrs` are assigned directly to the fenced block's element, while `options` are used to conditionally control logic within the formatter. If no validator is defined, the default is used which assigns all inputs to `attrs`. SuperFences will only pass `attrs` to a formatter if an attribute style header is used for a fenced block (` ``` {.lang attr="value"}`) and the [`attr_list`][attr-list] extension is enabled. Attribute are not supported in the form (` ```lang attr=value`) and will cause the parsing of the fenced block to abort. Custom options can be used as keys with quoted values (`key="value"`), or as keys with no value (`key`). If a key is given with no value, the value will be the key value. SuperFences will parse the options in the fence and then pass them to the validator. If the validator returns true, the options will be accepted and later passed to the formatter. `attrs` will only be passed to the formatter if the [`attr_list`][attr-list] extension is enabled. `attrs` will also be ignored during Pygments highlighting. Assuming a validator fails, the next `validator`/`formatter` defined will be tried. For a contrived example: if we wanted to define a custom fence named `test` that accepts an option `opt` that can only be assigned a value of `A`, we could define the validator below. Notice that if we get an input that matches `opt`, but doesn't validate with the appropriate value, we abort handling the fenced block for this `validator`/`formatter` by returning `False`. All other inputs are assigned as `attrs` which will be passed to the formatter if the [`attr_list`][attr-list] extension is enabled. ```py3 def custom_validator(language, inputs, options, attrs, md): """Custom validator.""" okay = True for k, v in inputs.items(): if k == 'opt': if v != "A": okay = False break else: options[k] = v else: attrs[k] = v return okay ``` Assuming validation passed, the formatter would be given the option and any attributes (though the formatter below doesn't use the attributes). ```py3 def custom_format(source, language, class_name, options, md, **kwargs): """Custom format.""" return '
%s
' % (language, class_name, options['opt'], html_escape(source)) ``` This would allow us to use the following custom fence: ```` ```{.test opt="A"} test ``` ```` /// tip | YAML Configuration Format If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please see the [FAQ](../faq.md#function-references-in-yaml) to see how to specify function references in YAML. /// /// new | Changes 8.0 - `validator` now accepts the following variables: - `inputs`: with all the parsed options/attributes (validator should not modify this structure). - `options`: a dictionary to which all valid options should be assigned to. - `attrs`: a dictionary to which all valid attributes should be assigned to. - `md`: the `Markdown` object. - If the [`attr_list`][attr-list] extension is enabled and the brace style header is used, any key/value pairs that were assigned as attributes by the `validator` will be passed to the `formatter`'s `attrs` parameter. - Options in the form of `key=` (which have no value) will are no longer be allowed. A `key` with no value will assume the `value` to be the `key` name. This brings consistency as options are now parsed with [`attr_list`][attr-list]. - If a `validator` fails, the next `validator`/`formatter` pair will be tired. /// ### Exception Handling In general, if an exception occurs in either a validator or a formatter, SuperFences will gracefully ignore the validator or formatter. In the case of validators, this usually means it will try the next validator in the line. In the case of a formatter, the fenced content will just be abandoned as we are already past the point of "validating" and will not go back to validate the use of a different formatter. Some users may want such failures to not silently go by. SuperFences exposes a special exception called `SuperFencesException` which, if raised, will not gracefully be handled. If `SuperFencesException` is raised, this will likely bubble all the way up and cause Markdown parsing to halt. `SuperFencesException` can be used to to raise other exceptions if desired. Here we have a contrived example. When no options are provided in this validator, we will try and access a non-existent key in the validator which will throw a `KeyError`. In this case, we capture the `KeyError` and raise it with `SuperFencesException`. This will display the `SuperFencesException` **and** the original `KeyError` when the failure occurs: ```py def custom_validator_except(language, inputs, options, attrs, md): """Custom validator.""" okay = True try: for k in inputs.keys(): if k != 'opt': okay = False break if okay: if inputs['opt'] != "A": okay = False else: options['opt'] = inputs['opt'] except KeyError as e: raise SuperFencesException from e return okay ``` /// new | New 9.2 `SuperFencesException` added in 9.2 /// ### UML Diagram Example /// warning | Support This example is mainly used to illustrate how custom fences work. While Mermaid is used in the example, it is the bare minimum needed to get diagrams working. Please reference [Mermaid's][mermaid] documents for more information on configuring features. PyMdown Extensions does not offer direct support for issues you may have in using [Mermaid][mermaid], feel free to use their issue tracker to report problems with their library. We do provide some [advanced notes on Mermaid](../extras/mermaid.md) if you are interested in learning how we use and configure it in our own documentation. /// This example illustrates how you can use the `custom_fences` option to do UML diagrams with [Mermaid][mermaid]. The settings below show us creating a new custom fence called `mermaid`. The special fence is set under the `custom_fences` [option](#options). The `mermaid` fences will pass the content through the `superfences.fence_div_format` format function which will wrap the content in `#!html
` blocks and attach the class `mermaid` to the `#!html
` block. ```py3 extension_configs = { "pymdownx.superfences": { "custom_fences": [ { 'name': 'mermaid', 'class': 'mermaid', 'format': pymdownx.superfences.fence_div_format } ] } } ``` This would allow a user to create fenced blocks with the `mermaid` specifier: ```` ```mermaid ...content here ``` ```` The format function we used in this example only escapes the content to be included in HTML. We will rely on the [Mermaid][mermaid] JavaScript library to render our flowcharts/diagrams in the browser. [Mermaid][mermaid], on load, will automatically find the `#!html
` elements with the `mermaid` class and render them. We can include [Mermaid][mermaid] via its CDN. ```html ``` ## Limitations This extension suffers from some of the same quirks that the original fenced block extension suffers from. Normally Python Markdown does not parse content inside HTML tags unless they are marked with the attribute `markdown='1'`. But since this is run as a preprocessor, it is not aware of the HTML blocks. SuperFences is made to work with the default extensions out of the box. It will probably not work with other extensions such as Grid Tables, since that extension allows for characters to obscure the blocks like the blockquote syntax does (though this has been designed to work with blockquotes). Ideally fenced blocks need to be handled by a block parser, but there is much work to be done on Python Markdown's internal block handlers before this is possible. SuperFences works best when following the guidelines. If the guidelines are not followed, odd results may be encountered. For the reasons above, the nested fences feature really is just a workaround. But for a lot of people, this functionality is more than sufficient. ## Options Option | Type | Default | Description ------------------------------ | ------------ | ------------- | ----------- `css_class` | string | `#!py3 ''` | Class name is applied to the wrapper element of the code. If configured, this setting will override the `css_class` option of Highlight. If nothing is configured here or in Highlight, the class `highlight` will be used. `disable_indented_code_blocks` | bool | `#!py3 False` | Disables Python Markdown's indented code block parsing. This is nice if you only ever use fenced blocks. `custom_fences` | [dictionary] | `#!py3 []` | Custom fences. `preserve_tabs` | bool | `#!py3 False` | Experimental feature that preserves tabs in fenced code blocks. pymdown-extensions-10.9/docs/src/markdown/extensions/tabbed.md000066400000000000000000000472541465124271600246640ustar00rootroot00000000000000[:octicons-file-code-24:][_tabbed]{: .source-link } # Tabbed /// tip | 9.10 New Approach to Tabs 9.10 has added a new approach to creating tabs. Checkout the new [Tab extension here](./blocks/plugins/tab.md)! /// ## Overview /// new | New 7.0 Tabbed has been newly added in 7.0. /// Tabbed provides a syntax to easily add tabbed Markdown content. The Tabbed extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.tabbed']) ``` ## Syntax Tabs start with `===` to signify a tab followed by a quoted title. Consecutive tabs are grouped into a tab set. ```text title="Tabs" === "Tab 1" Markdown **content**. Multiple paragraphs. === "Tab 2" More Markdown **content**. - list item a - list item b ``` /// html | div.result === "Tab 1" Markdown **content**. Multiple paragraphs. === "Tab 2" More Markdown **content**. - list item a - list item b /// In the rare case that you want to follow two separate tab sets right after each other, you can explicitly mark the start of a new tab set with `!`. ````text title="Tab Breaks" === "Tab 1" Markdown **content**. Multiple paragraphs. === "Tab 2" More Markdown **content**. - list item a - list item b ===! "Tab A" Different tab set. === "Tab B" ``` More content. ``` ```` /// html | div.result === "Tab 1" Markdown **content**. Multiple paragraphs. === "Tab 2" More Markdown **content**. - list item a - list item b ===! "Tab A" Different tab set. === "Tab B" ``` More content. ``` /// ## Tab Select /// new | New 9.7 /// If you'd like to force a tab to be selected, simply use `===+`, otherwise, the first tab will be selected by default. ```text === "Not Me" Markdown **content**. Multiple paragraphs. ===+ "Select Me" More Markdown **content**. - list item a - list item b === "Not Me Either" Another Tab ``` /// note If you are using JavaScript to track selected tabs across pages, or some other tab related feature that adjusts selected tabs, it may interfere with the default selected tab. This is not an indication that there is a bug, but an indication of incompatible features. /// ## Tab IDs /// new | New 9.0 /// By default, tabs generate IDs for each tab using the following template `__tabbed__`. If it is desired to implement jumping to a specific tab with more intuitive IDs, it may be preferable to generate IDs from slugs. To do so, two [options](#options) are provided: `slugify` and `separator`. /// tip Jumping to tabs via IDs may require additional JavaScript to select the targeted tabs. /// If `slugify` is given a slug function (you can use any that [ship with Pymdownx Extensions](../extras/slugs.md)), the Tabbed extension will generate IDs from the tab titles just like headers. `separator` allows for the specifying of the word separator (`-` is the default). If you'd like the slugs to be prefixed with the slug of the parent header, you can enable the `combine_header_slug` option. If you had the following example, normally the header slug would be `header` and the content tab would have the slug `tab`. ``` # header === "tab" content ``` With `combine_header_slug` enabled, the header slug would still be `header`, but now the content tab slug would be `header-tab`. /// new | New 10.1 `combine_header_slug` is new in 10.1 /// ## Styling with CSS In order to use tabbed blocks, some additional CSS is needed. You can check out the configuration below which will show the CSS and the HTML it targets. Keep in mind that the CSS provided below is just the minimum needed to get you started. You can tweak it and modify it to get it how you like it. In general, tabbed controls are wrapped in a `#!html
` with the class `tabbed-set`. They contain an `#!html ` with an ID of `__tabbed__`. All the `#!html ` elements from a specific tab set will use the name `__tabbed_`. Particularly, a user should be mindful of the ID to keep from explicitly using a conflicting ID. Auto-generated slugs shouldn't conflict though. /// settings | Tabbed Code Setup This is a very basic setup. Tabs can be styled in different ways, but this shows how to get it functionally working. Here we show what it visually looks like, what the generated HTML looks like, and what the CSS looks like. === "Preview" ![Tabbed Style](../images/tabbed-default.png) === "HTML" ```html

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

``` === "CSS" //// collapse-code ```css /* General environment setup */ html { background-color: black; height: 100%; } body { font-size: 120%; width: 100%; padding: 1em 2em; margin: 0 auto; background-color: white; height: 100%; } /* Tab style starts here */ .tabbed-set { position: relative; display: flex; flex-wrap: wrap; margin: 1em 0; border-radius: 0.1rem; } .tabbed-set > input { display: none; } .tabbed-set label { width: auto; padding: 0.9375em 1.25em 0.78125em; font-weight: 700; font-size: 0.84em; white-space: nowrap; border-bottom: 0.15rem solid transparent; border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; cursor: pointer; transition: background-color 250ms, color 250ms; } .tabbed-set .tabbed-content { width: 100%; display: none; box-shadow: 0 -.05rem #ddd; } .tabbed-set input { position: absolute; opacity: 0; } .tabbed-set input:checked:nth-child(n+1) + label { color: red; border-color: red; } @media screen { .tabbed-set input:nth-child(n+1):checked + label + .tabbed-content { order: 99; display: block; } } @media print { .tabbed-content { display: contents; } } ``` //// /// ## Linked Tabs Some sites will link tabs across tab containers. The easiest way to explain this is by example. Click a tab below and see how they seem linked: === "Python" === "JavaScript" ===! "Python" === "JavaScript" People ask about how to get this functionality from time to time, and the answer is JavaScript. It is the only real way to get such functionality. While this can be achieved with varying degrees of intelligence -- save preferences across pages for example -- we've provided a very basic example of how to accomplish this below. The function, when called, will setup click events for every tab. When clicked, it will look for tabs of the same name on the page and ensure they also get selected. It works for the default style and the new [alternate style](#alternate-style). ```js const tabSync = () => { const tabs = document.querySelectorAll(".tabbed-set > input") for (const tab of tabs) { tab.addEventListener("click", () => { const current = document.querySelector(`label[for=${tab.id}]`) const pos = current.getBoundingClientRect().top const labelContent = current.innerHTML const labels = document.querySelectorAll('.tabbed-set > label, .tabbed-alternate > .tabbed-labels > label') for (const label of labels) { if (label.innerHTML === labelContent) { document.querySelector(`input[id=${label.getAttribute('for')}]`).checked = true } } // Preserve scroll position const delta = (current.getBoundingClientRect().top) - pos window.scrollBy(0, delta) }) } } ``` /// tip | Special Considerations If you are combining this feature with something like ["tab select"](#tab-select), you may have to not link tabs on initial page load to ensure the default is not overridden. The example above does not initiate tab linking on initial page load, only registration of the event. Some may attempt to implement tab linkage such that selected tabs are remembered across pages, special consideration would be required in such situations and is beyond the scope of this simple example. /// ## Alternate Style /// new | New 9.0 /// /// warning | Experimental Feature /// The original idea behind the Tabbed extension was to provide a tabbed interface in Markdown that could be driven purely by CSS. If JavaScript was disabled or unavailable, tab functionality would remain. @squidfunk (Martin Donath), the author and maintainer of the [MkDocs Material theme][mkdocs-material], who originally collaborated on the first Tabbed style, approached us again with a newer style. The aim was to solve one big problem, namely that on narrower screen sizes (like mobile), tabs are broken onto separate lines, like here for example. ![Tabbed Style Narrow](../images/tabbed-default-narrow.png) And this is indeed a real issue with the current style. The bonuses of the current style is that it needs absolutely no JavaScript and is driven by CSS alone. It supports as many tabs as you can throw at it but the downside is that when all the tabs do not fit on a single line, they'll wrap which is not aesthetically pleasing in all themes or interfaces. So, a new style was proposed, and we once again worked to hammer out the details, and in the end, we think we have something that is better in many ways. The new style works with only CSS and does not actually need any JavaScript to be functional, but it is ideally enhanced with a little JavaScript. The reason why is that when too many tabs are on a single line, you can overflow them with CSS and make the tab container scrollable. This can provide a much more aesthetically pleasing interface, but there are two caveats though: 1. When tabs overflow, if you want a visual indicator that there are more tabs, it requires a little JavaScript. 2. The number of tabs is limited by how many tabs you define in the CSS. As for the first point, this seems an acceptable restraint. When JavaScript is available, you will get a nice visual indicator, but if JavaScript is ever not available, or disabled, tab functionality will still work, just without the indicators. As for the second point, this also seems acceptable as most pages will usually have some upper limit of tabs that are ever used. Pages can become quite cluttered when using too many tabs, and it seems reasonable that most would limit them to some practical number. /// settings | Alternate Tabbed Code Setup The example below styles the tabs, adds indicators that work as buttons to navigate to the next tab when the there are overflowed tabs, and scrolls tabs into view smoothly. === "Preview" ![Tabbed Style Alternate](../images/tabbed-alternate.png) === "HTML" ```html

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

Lorem ipsum ullamco ea aute do sint cupidatat elit nostrud exercitation dolore culpa aliquip nisi commodo nisi qui magna non laborum proident id voluptate in cupidatat duis.

``` === "CSS" //// collapse-code ```css /* General environment setup */ html { background-color: black; height: 100%; } body { font-size: 120%; width: 20em; padding: 1em 2em; margin: 0 auto; background-color: white; height: 100%; } /* Tab style starts here */ .tabbed-alternate { position: relative; display: flex; flex-wrap: wrap; flex-direction: column; margin: 1em 0; border-radius: 0.1rem; } .tabbed-alternate > input { display: none; } .tabbed-labels { display: flex; width: 100%; overflow: auto; box-shadow: 0 -0.1rem #ddd inset; scrollbar-width: none; } .tabbed-labels::-webkit-scrollbar { display: none; } .tabbed-labels > label { width: auto; padding: 0.9375em 1.25em 0.78125em; font-weight: 700; font-size: 0.84em; white-space: nowrap; border-bottom: 0.1rem solid transparent; scroll-snap-align: start; border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; cursor: pointer; transition: background-color 250ms, color 250ms; } .tabbed-labels > label:hover { color: red; } .tabbed-labels.tabbed-scroll-left::before { display: inline-block; font-size: 0.9em; position: absolute; top: 0.75em; left: 0; padding-right: 0.64em; color: gray; background: linear-gradient(to right, rgb(255, 255, 255) 75%, rgba(255, 255, 255, 0)); content: "\25C0"; cursor: pointer; } .tabbed-labels.tabbed-scroll-right::after { display: inline-block; font-size: 0.9em; position: absolute; top: 0.75em; right: 0; padding-left: 0.64em; color: gray; background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255, 255, 255) 25%); content: "\25B6"; cursor: pointer; } .tabbed-alternate .tabbed-content { width: 100%; } .tabbed-alternate input:nth-child(1):checked ~ .tabbed-content > :nth-child(1), .tabbed-alternate input:nth-child(2):checked ~ .tabbed-content > :nth-child(2), .tabbed-alternate input:nth-child(3):checked ~ .tabbed-content > :nth-child(3) { display: block; } .tabbed-alternate .tabbed-block { display: none; } @media screen { .tabbed-alternate input:nth-child(1):checked ~ .tabbed-labels > :nth-child(1), .tabbed-alternate input:nth-child(2):checked ~ .tabbed-labels > :nth-child(2), .tabbed-alternate input:nth-child(3):checked ~ .tabbed-labels > :nth-child(3) { color: red; border-color: red; } } @media print { .tabbed-labels { display: contents; } .tabbed-labels > label:nth-child(1) { order: 1; } .tabbed-labels > label:nth-child(2) { order: 2; } .tabbed-labels > label:nth-child(3) { order: 3; } .tabbed-alternate .tabbed-content { display: contents; } .tabbed-alternate .tabbed-block { display: block; } .tabbed-alternate .tabbed-block:nth-child(1) { order: 1; } .tabbed-alternate .tabbed-block:nth-child(2) { order: 2; } .tabbed-alternate .tabbed-block:nth-child(3) { order: 3; } } ``` //// === "JS" //// collapse-code ```js // Identify whether a tab bar can be scrolled left or right and apply indicator classes const tabOverflow = () => { const checkScroll = e => { // Use a margin as we just don't always align exactly on the right. const margin = 3 const target = e.target if (!e.target.matches('.tabbed-labels')) { return } const scrollWidth = target.scrollWidth - target.clientWidth target.classList.remove('tabbed-scroll-left', 'tabbed-scroll-right') if (e.type === "resize" || e.type === "scroll") { if (scrollWidth === 0) { return } if (!target.scrollLeft) { target.classList.add('tabbed-scroll-right') } else if (target.scrollLeft < scrollWidth - margin){ target.classList.add('tabbed-scroll-left', 'tabbed-scroll-right') } else { target.classList.add('tabbed-scroll-left') } } } // Change the tab to either the previous or next input - depending on which indicator was clicked. // Make sure the current, selected input is scrolled into view. const tabChange = e => { const target = e.target const selected = target.closest('.tabbed-set').querySelector('input:checked') let updated = null if (target.classList.contains('tabbed-scroll-right') && e.offsetX >= e.target.offsetWidth - 15) { const sib = selected.nextSibling updated = selected if (sib && sib.tagName === 'INPUT') { updated = sib } } else if (target.classList.contains('tabbed-scroll-left') && e.offsetX <= 15) { const sib = selected.previousSibling updated = selected if (sib && sib.tagName === 'INPUT') { updated = sib } } if (updated) { updated.click() } } const onResize = new ResizeObserver(entries => { entries.forEach(entry => { checkScroll({target: entry.target, type: 'resize'}) }) }) const labels = document.querySelectorAll('.tabbed-alternate > .tabbed-labels') labels.forEach(el => { checkScroll({target: el, type: 'resize'}) onResize.observe(el) el.addEventListener('resize', checkScroll) el.addEventListener('scroll', checkScroll) el.addEventListener('click', tabChange) }) } // Smooth scroll tab into view when changed const tabScroll = () => { const tabs = document.querySelectorAll(".tabbed-alternate > input") for (const tab of tabs) { tab.addEventListener("change", () => { const label = document.querySelector(`label[for=${tab.id}]`) label.scrollIntoView({block: "nearest", inline: "nearest", behavior: "smooth"}) }) } } // Should run after document loaded, but for illustration purposes: tabOverflow() tabScroll() ``` //// /// ## Options Option | Type | Default | Description --------------------- | -------- | ------------- | ----------- `alternate_style` | bool | `#!py3 False` | Use the experimental, alternative style. `slugify` | function | `#!py3 None` | A function to generate slugs from tab titles. `separator` | string | `#!py3 '-'` | Default word separator when generating slugs. `combine_header_slug` | bool | Combine the parent header slug with the tab content slug. pymdown-extensions-10.9/docs/src/markdown/extensions/tasklist.md000066400000000000000000000117431465124271600252730ustar00rootroot00000000000000[:octicons-file-code-24:][_tasklist]{: .source-link } # Tasklist ## Overview The Tasklist extension adds GFM style task lists. They follow the same syntax as GFM. Simply start each list item with a square bracket pair containing either a space (an unchecked item) or a `x` (a checked item). /// note All task lists in this documentation are generated with [`custom_checkbox`](#options) enabled. /// ```text title="Tasklist" Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 ``` /// html | div.result Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 /// The Tasklist extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.tasklist']) ``` ## Styling with CSS The HTML structure of a task list is found below: /// tab | Default This is the default output. ```html
  • item 1
``` /// /// tab | Custom If `custom_checkbox` is enabled, the structure will be as follows: ```html
  • item 1
``` /// /// tab | Clickable If `clickable_checkbox` is enabled, user interaction will be allowed by removing the `disabled` attribute from the `input` element. `clickable_checkbox` can be a applied to either the default or custom form. ```html
  • item 1
``` /// | Classes | Description | | --------------------- | ------------------------------------------------------------------------------------------------------ | | `task-list` | Attached to either the `ul` or `ol` tag and represents the entire list element. | | `task-list-item` | This is attached the `li` tag and represents an item in the list. | | `task-list-control` | This is attached to the `label` tag and represents the control object. | | `task-list-indicator` | This is attached to the `span` directly following the input and is used to style the visual indicator. | /// settings | CSS Setup //// tab | Basic Tasklist In order to style these we mainly remove the list type style and adjust the margins to align with normal list styles. ```css .markdown-body .task-list-item { list-style-type: none !important; } .markdown-body .task-list-item input[type="checkbox"] { margin: 0 4px 0.25em -20px; vertical-align: middle; } ``` //// //// tab | Custom Tasklist If custom check box icons are desired, custom styles can be used to give a unique look to the check marks. Below is a very simple CSS example that creates a light gray square with rounded corners and displays a green Unicode check mark when the control is checked. This can be adapted to use web fonts, images, etc. ///// collapse-code ```css .markdown-body .task-list-item { list-style-type: none !important; } .markdown-body .task-list-item input[type="checkbox"] { margin: 0 4px 0.25em -20px; vertical-align: middle; } .markdown-body .task-list-control { display: inline; /* Ensure label is inline incase theme sets it to block.*/ } .markdown-body .task-list-control { position: relative; display: inline-block; color: #555; cursor: pointer; } .markdown-body .task-list-control input[type="checkbox"] { position: absolute; opacity: 0; z-index: -1; /* Put the input behind the label so it doesn't overlay text */ } .markdown-body .task-list-indicator { position: absolute; top: -8px; left: -18px; display: block; width: 14px; height: 14px; color: #eee; background-color: #eee; border-radius: .25rem; } .markdown-body .task-list-control input[type="checkbox"]:checked + .task-list-indicator::before { display: block; margin-top: -4px; margin-left: 2px; font-size: 16px; line-height: 1; content: "✔"; color: #1EBB52; } ``` ///// //// /// ## Options Option | Type | Default | Description -------------------- | ---- | ------------ | ------------ `custom_checkbox` | bool | `#!py3 False` | Generate task lists in such a way as to allow for styling the check box with CSS. `clickable_checkbox` | bool | `#!py3 False` | Enable user to interact with checkboxes. pymdown-extensions-10.9/docs/src/markdown/extensions/tilde.md000066400000000000000000000025661465124271600245410ustar00rootroot00000000000000[:octicons-file-code-24:][_tilde]{: .source-link } # Tilde ## Overview Tilde optionally adds two different features which are syntactically built around the `~` character: **delete** which inserts `#!html ` tags and **subscript** which inserts `#!html ` tags. The Tilde extension can be included in Python Markdown by using the following: ```py3 import markdown md = markdown.Markdown(extensions=['pymdownx.tilde']) ``` ## Delete To wrap content in a **delete** tag, simply surround the text with double `~`. You can also enable `smart_delete` in the [options](#options). Smart behavior of **delete** models that of [BetterEm](betterem.md#differences). ```text title="Delete" ~~Delete me~~ ``` /// html | div.result ~~Delete me~~ /// ## Subscript To denote a subscript, you can surround the desired content in single `~`. It uses Pandoc style logic, so if your subscript needs to have spaces, you must escape the spaces. ```text title="Subscript" CH~3~CH~2~OH text~a\ subscript~ ``` /// html | div.result CH~3~CH~2~OH text~a\ subscript~ /// ## Options Option | Type | Default | Description -------------- | ---- | ----------- | ----------- `smart_delete` | bool | `#!py3 True` | Use smart logic with delete characters. `delete` | bool | `#!py3 True` | Enable delete feature. `subscript` | bool | `#!py3 True` | Enable subscript feature. pymdown-extensions-10.9/docs/src/markdown/extras/000077500000000000000000000000001465124271600222145ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/extras/mermaid.md000066400000000000000000000362441465124271600241650ustar00rootroot00000000000000# Advanced Mermaid Notes ## Overview /// warning | Support This is provided to help users get Mermaid running, but we do not officially offer technical support for Mermaid. Any issues encounter will require the user to debug it themselves. There may or may not be issues using an older or newer version of Mermaid than what we have documented here. We may not be always be up to date with the latest and greatest Mermaid version. We would be happy to accept pull requests that offer to improve things here or to correct misinformation. /// In [SuperFences](../extensions/superfences.md) we cover [custom fences](../extensions/superfences.md#custom-fences) and provide an example for using [Mermaid diagrams](../extensions/superfences.md#uml-diagram-example). What we showed in the example is the bare minimum required to get Mermaid working. While our example was mainly meant to instruct users on how to use custom fences, it was not our intent to give an in depth explanation on how to get Mermaid setup and working in the best way possible. To be honest, Mermaid is a little buggy and required some workarounds to alleviate some if its quirks. In general, we leave setting up custom fences for the user to explore, but we do get asked occasionally how to get Mermaid working, and what we are doing, so we thought we'd share some some additional information in case there is a strong desire from any of our users to implement a robust Mermaid solution. If you'd like to see exactly what we do, you can checkout our source code, but in this example, we will show the basics. ## Practical Diagrams There are a few diagrams that we feel do not work well for us, and we thought it useful to share why. The main reason is that a few of the diagrams are a bit impractical to use due to sizing and scaling issues. While there may be a way to massage them to work, we have not currently invested any time in workarounds for these diagrams. Some of the less practical examples may work better if they were pre-rendered and included as an image instead. This seems to be what Mermaid does in their own [documents][mermaid]. /// success | Practical //// tab | Flowcharts ```diagram graph TD A[Hard] -->|Text| B(Round) B --> C{Decision} C -->|One| D[Result 1] C -->|Two| E[Result 2] ``` //// //// tab | Sequence Diagrams ```diagram sequenceDiagram participant Alice participant Bob Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts
prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good! ``` //// //// tab | Class Diagrams ```diagram classDiagram Class01 <|-- AveryLongClass : Cool Class03 *-- Class04 Class05 o-- Class06 Class07 .. Class08 Class09 --> C2 : Where am i? Class09 --* C3 Class09 --|> Class07 Class07 : equals() Class07 : Object[] elementData Class01 : size() Class01 : int chimp Class01 : int gorilla Class08 <--> C2: Cool label ``` //// //// tab | Entity Relationships ```diagram erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER }|..|{ DELIVERY-ADDRESS : uses ``` //// //// tab | State Diagrams ```diagram stateDiagram [*] --> First First --> Second First --> Third state First { [*] --> fir fir --> [*] } state Second { [*] --> sec sec --> [*] } state Third { [*] --> thi thi --> [*] } ``` //// //// tab | Git Graph ```diagram gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release ``` //// //// tab | Journey ```diagram journey title My working day section Go to work Make tea: 5: Me Go upstairs: 3: Me Do work: 1: Me, Cat section Go home Go downstairs: 5: Me Sit down: 5: Me ``` //// /// /// failure | Impractical //// tab | Gantt Gantt charts usually are too big to render properly in a page. If the element is big enough to hold it, and the chart is large, they render too small to see. If the element is not wide enough, the chart can sometimes render squished and hard to read. ```diagram gantt dateFormat YYYY-MM-DD title Adding GANTT diagram to mermaid excludes weekdays 2014-01-10 section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, after des2, 5d Future task2 : des4, after des3, 5d ``` //// //// tab | Pie Pie at times can seem to work great, but other times it can be hard to read or missing labels all together. Like the others in this list, it relates to sizing and scaling. For instance, if you were to view this on a mobile device, you'd likely see the key for the pie chart missing. ```diagram pie title Key elements in Product X "Calcium" : 42.96 "Potassium" : 50.05 "Magnesium" : 10.01 "Iron" : 5 ``` //// /// ## Configuration We do some configuration via the initialization API command to tweak the diagrams a little. This includes theming and disabling of problematic features. We include the Mermaid library normally, but use a custom loader as we wrap our diagrams in a non-standard way. In addition, our custom loader allows us to workaround some problematic issues that arise when using Mermaid's default loader. For illustrative purposes, we've provided a basic, bare minimum configuration below that we use. ```js window.mermaidConfig = { startOnLoad: false, theme: "default", flowchart: { htmlLabels: false, useMaxWidth: false }, er: { useMaxWidth: false }, sequence: { useMaxWidth: false, noteFontWeight: "14px", actorFontSize: "14px", messageFontSize: "16px" }, journey: { useMaxWidth: false }, gitGraph: { useMaxWidth: false } } ``` /// note | Configuration Notes 1. We disable `htmlLabels` in flowcharts as we've had issues with it in the past. It may or may not be okay to enable. Your mileage may vary. 2. If the option is available in a diagram, we disable `useMaxWidth` as we prefer that our diagrams do not scale within their parent element, we rather them overflow with a scrollbar. You can leave these enabled if you like. Since we render our diagrams under a custom element with a shadow DOM, to get scrollbars, we simply enable `#!css overflow: auto` on the custom `diagram-div` element (under the host DOM, not the shadow DOM). 3. We disable `startOnLoad` as we provide our own loader (for reasons we will get into later). 4. We do a quite a bit of custom theme overrides. Most of this is done through the Mermaid configuration options: `theme`, `themeVariables`, and `themeCSS`. Most users would simply use one of the default themes via the `theme` option, so that is what we've shown above. /// ## Custom Loader While using Mermaid, we've found a couple of issues which we were able to solve by using our own custom loader. The loader contains all the logic needed to find the Mermaid diagrams, convert them, wrap them in a shadow DOM, and insert them into the current document. In order to use the loader, it should be attached to a `DOMContentLoaded` event to execute only after the document is loaded. We bind our logic to this event in our loader function that checks if the Mermaid library is loaded, and only if it is, we execute the payload. The issues we are working around withing Mermaid are found below: /// bug | Issues 1. Diagrams that are found in tabbed interfaces or details, where the element may be hidden on page load, don't always render at a visible size if using Mermaid's default loader. 2. Mermaid uses IDs in their SVG diagrams, and these can sometimes cause conflicts if you happen to have IDs on your page that match one that they use. 3. Mermaid does not always use unique IDs. This can cause some elements of a diagram to disappear if one diagram happens to have the same ID and it is hidden in a details element or a tabbed interface. /// We solve these issues doing a couple things in our own custom loader. /// success | Solutions 1. Using the `#!html ` element as a parent, we attach a surrogate element to it and render the diagram there. Once rendered, we then insert the diagram back to where the original custom fence was. This ensures it renders under a visible parent, and renders at a normal size. 2. We wrap each diagram in a shadow DOM element. This prevents ID leakage from one diagram to another or to the host. /// Apart from the issues we were trying to solve, we also use a custom loader for personal aesthetics as we like to render our diagrams in `#!html
` tags. This allows us to render the diagrams as normal code blocks in the rare case
that we cannot load the Mermaid library from the specified CDN.

## Putting it All Together

So, putting it all together, we have the HTML generated by SuperFences. In the HTML, we include the Mermaid library
and provide the configuration. We also have the custom loader that is runs when the document is loaded.

/// tab | Preview
![Mermaid example](../images/mermaid-diagram.png)
///

/// tab | HTML
```html

graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
``` /// /// tab | JS ```{.js .md-max-height} const uml = async className => { // Custom element to encapsulate Mermaid content. class MermaidDiv extends HTMLElement { /** * Creates a special Mermaid div shadow DOM. * Works around issues of shared IDs. * @return {void} */ constructor() { super() // Create the Shadow DOM and attach style const shadow = this.attachShadow({mode: "open"}) const style = document.createElement("style") style.textContent = ` :host { display: block; line-height: initial; font-size: 16px; } div.diagram { margin: 0; overflow: visible; }` shadow.appendChild(style) } } if (typeof customElements.get("diagram-div") === "undefined") { customElements.define("diagram-div", MermaidDiv) } const getFromCode = parent => { // Handles
 text extraction.
    let text = ""
    for (let j = 0; j < parent.childNodes.length; j++) {
      const subEl = parent.childNodes[j]
      if (subEl.tagName.toLowerCase() === "code") {
        for (let k = 0; k < subEl.childNodes.length; k++) {
          const child = subEl.childNodes[k]
          const whitespace = /^\s*$/
          if (child.nodeName === "#text" && !(whitespace.test(child.nodeValue))) {
            text = child.nodeValue
            break
          }
        }
      }
    }
    return text
  }

  // Provide a default config in case one is not specified
  const defaultConfig = {
    startOnLoad: false,
    theme: "default",
    flowchart: {
      htmlLabels: false
    },
    er: {
      useMaxWidth: false
    },
    sequence: {
      useMaxWidth: false,
      noteFontWeight: "14px",
      actorFontSize: "14px",
      messageFontSize: "16px"
    }
  }

  // Load up the config
  mermaid.mermaidAPI.globalReset()
  const config = (typeof mermaidConfig === "undefined") ? defaultConfig : mermaidConfig
  mermaid.initialize(config)

  // Find all of our Mermaid sources and render them.
  const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)
  const surrogate = document.querySelector("html body")
  for (let i = 0; i < blocks.length; i++) {
    const block = blocks[i]
    const parentEl = (block.tagName.toLowerCase() === "diagram-div") ?
      block.shadowRoot.querySelector(`pre.${className}`) :
      block

    // Create a temporary element with the typeset and size we desire.
    // Insert it at the end of our parent to render the SVG.
    const temp = document.createElement("div")
    temp.style.visibility = "hidden"
    temp.style.display = "display"
    temp.style.padding = "0"
    temp.style.margin = "0"
    temp.style.lineHeight = "initial"
    temp.style.fontSize = "16px"
    surrogate.appendChild(temp)

    try {
      const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)
      const content = res.svg
      const fn = res.bindFunctions
      const el = document.createElement("div")
      el.className = className
      el.innerHTML = content
      if (fn) {
        fn(el)
      }

      // Insert the render where we want it and remove the original text source.
      // Mermaid will clean up the temporary element.
      const shadow = document.createElement("diagram-div")
      shadow.shadowRoot.appendChild(el)
      block.parentNode.insertBefore(shadow, block)
      parentEl.style.display = "none"
      shadow.shadowRoot.appendChild(parentEl)
      if (parentEl !== block) {
        block.parentNode.removeChild(block)
      }
    } catch (err) {} // eslint-disable-line no-empty

    if (surrogate.contains(temp)) {
      surrogate.removeChild(temp)
    }
  }
}

// This should be run on document load
document.addEventListener("DOMContentLoaded", () => {uml("mermaid")})
```
///

/// tip | Live Example
For a live, working example, check out the CodePen [here](https://codepen.io/facelessuser/pen/oNeNydQ).
///

## Using in MkDocs

If you are using MkDocs, you would probably include your config, mermaid library, and then your loader:

```yaml
markdown_extensions:
  - pymdownx.superfences:
      preserve_tabs: true
      custom_fences:
        # Mermaid diagrams
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format

extra_javascript:
  - optionalConfig.js
  - https://unpkg.com/mermaid@10.6.1/dist/mermaid.min.js
  - extra-loader.js
```

Then in your documents, do something like this:

````
```mermaid
graph TD
    A[Hard] -->|Text| B(Round)
    B --> C{Decision}
    C -->|One| D[Result 1]
    C -->|Two| E[Result 2]
```
````

To get something like this directly embedded in your documents:

```diagram
graph TD
    A[Hard] -->|Text| B(Round)
    B --> C{Decision}
    C -->|One| D[Result 1]
    C -->|Two| E[Result 2]
```
pymdown-extensions-10.9/docs/src/markdown/extras/slugs.md000066400000000000000000000042051465124271600236740ustar00rootroot00000000000000[:octicons-file-code-24:][_slugs]{: .source-link }

# Slugs

## Alternate Slugify

Python Markdown's default slugify used to strip out all Unicode chars. While this is not necessarily true anymore,
PyMdown Extensions offers a configurable slugify to help those with picker preferences. These are very simple slugify
options. There are many slugify options out there, some of which are very sophisticated. Some may prefer using one of
those, but if you just want something simple, this might fill that requirement.

## Using Slugify

`slugify` is a simple Unicode slugify option. It takes various parameters to control how casing is performed in slugs,
what kind of Unicode normalization is preferred, and whether percent encoding of Unicode is preferred.

The available key word options are found below:

Parameter        | Default        | Description
---------------- | -------------- | -----------
`case`           | `#!py3 'none'` | Control case normalization of characters. See case options below.
`percent_encode` | `#!py3 False`  | Percent encode all Unicode characters after case normalization.
`normalize`      | `#!py3 'NFC'`  | Unicode normalization method. For instance, `NFD` will strip diacritics, but `NFC` does not.

Case options are described below:

Option        | Description
------------- | -----------
`none`        | Performs no case normalization preserving whatever case is provided.
`lower`       | Performs simple lower casing on the slug which will operate on Unicode and ASCII alike.
`lower-ascii` | Performs simple lower casing on only ASCII upper case characters.
`fold`        | Applies Python's case folding function on the slug.

Configuration is straight forward. Simply import the slug module and configure how you desire the Toc's extension to
utilize the slugs.

```py
extension = ['markdown.extensions.toc']
extension_configs = {
    'markdown.extensions.toc': {
        "slugify": slugs.slugify(case="lower", percent_encode=True)
    }
}
```

If you are using something like [MkDocs][mkdocs], check out our [FAQ](../faq.md#function-references-in-yaml) which gives
guidance on how to specify configurable functions in the YAML configuration.
pymdown-extensions-10.9/docs/src/markdown/faq.md000066400000000000000000000117501465124271600220030ustar00rootroot00000000000000# Frequently Asked Questions

## Function References in YAML

> How do I specify function references in YAML if I am using a module like [MkDocs][mkdocs]?

Pymdown Extensions has a number of extensions that expose customization via options that take function references. If
you are using a project like [MkDocs][mkdocs], which allows a user to configure Python Markdown extensions via YAML,
specifying function references may not be intuitive.

Keep in mind that the following examples specifically reference YAML configurations that are implemented via
[PyYAML][pyyaml] and are configured to allow Python objects.

When specifying a function reference in PyYAML, you must prepend the function with `#!yaml !!python/name:`. If you are
trying to configure a function with parameters -- like we require with `slugs.slugify` or `arithmatex`'s custom fences
for SuperFences -- then you must use `#!yaml !!python/object/apply:`. For instance, to specify Python Markdown's Toc
extension to use one of PyMdown Extensions' slugs in MkDocs, we will use the format so we can specify key word
arguments.

```yaml
markdown_extensions:
  - markdown.extensions.toc:
      slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
      permalink: "\ue157"
```

If no parameters are needed, `#!yaml !!python/object/apply:` still require `{}` at the end.

```yaml
markdown_extensions:
  - markdown.extensions.toc:
      slugify: !!python/object/apply:pymdownx.slugs.slugify {}
      permalink: "\ue157"
```

To specify a particular emoji generator in the Emoji extension, this requires just a simple function reference using
`#!yaml !!python/name:`. These take no parameters and do not require `{}` at the end.

```yaml
markdown_extensions:
  - pymdownx.emoji:
      emoji_generator: !!python/name:pymdownx.emoji.to_png
```

## GitHub-ish Configurations

> How do I get GitHub Flavored Markdown?

A recommended GitHub configuration is provided below to emulate a setup that gives a GitHub feel.

For GitHub issue, commit, pull request, and mention shorthand syntax, you will also need to specify a `provider`, `user`
and `repo` in MagicLink's options below. This gives relative context for shorthand links (like `#1`) so that links can
properly be generated.  In the example below, we will use `facelessuser` and `pymdown-extensions` as the user and
repository respectively. See [MagicLink](./extensions/magiclink.md) for more details.

/// tip
If you are attempting to configure these options in a YAML based configuration (like in [MkDocs][mkdocs]), please
see the related [FAQ question](#function-references-in-yaml) to see how to specify function references in YAML.
///

```py3
from pymdownx import emoji

extensions = [
    'markdown.extensions.tables',
    'pymdownx.magiclink',
    'pymdownx.betterem',
    'pymdownx.tilde',
    'pymdownx.emoji',
    'pymdownx.tasklist',
    'pymdownx.superfences',
    'pymdownx.saneheaders'
]

extension_configs = {
    "pymdownx.magiclink": {
        "repo_url_shortener": True,
        "repo_url_shorthand": True,
        "provider": "github",
        "user": "facelessuser",
        "repo": "pymdown-extensions"
    },
    "pymdownx.tilde": {
        "subscript": False
    },
    "pymdownx.emoji": {
        "emoji_index": emoji.gemoji,
        "emoji_generator": emoji.to_png,
        "alt": "short",
        "options": {
            "attributes": {
                "align": "absmiddle",
                "height": "20px",
                "width": "20px"
            },
            "image_path": "https://github.githubassets.com/images/icons/emoji/unicode/",
            "non_standard_image_path": "https://github.githubassets.com/images/icons/emoji/"
        }
    }
}
```

## Mermaid Diagrams

The short answer is to use [SuperFences' custom fence feature](./extensions/superfences.md#custom-fences). We provide
a basic [example using SuperFences](./extensions/superfences.md#uml-diagram-example), but in order to get a really
solid Mermaid experience, we actually go a bit further in our documents. While we don't often have time to answer
everyone's questions regarding Mermaid, we have provided some fairly extensive notes on how we achieved Mermaid diagrams
in this documents. Check out the notes [here](./extras/mermaid.md).

## Arithmatex Generic Mode Not Working in MkDocs

This question comes up every now and as there are a number of people that like to use Arithmatex in the MkDocs
environment. For whatever reason, people often gravitate towards the "generic" mode over the "default" mode. And
inevitably, we'll get an issue regarding why math rendering isn't working with Arithmatex in MkDocs.

If you are affected by this issue, the first question you should ask yourself is whether you are using the
[`mkdocs-minify-plugin`](https://github.com/byrnereese/mkdocs-minify-plugin). If you are using this plugin, you must
either discontinue using it (which is not usually the desired approach) or use Arithmatex's "default" mode and MathJax
configuration as outlined in its [documentation](./extensions/arithmatex.md#loading-mathjax).
pymdown-extensions-10.9/docs/src/markdown/images/000077500000000000000000000000001465124271600221535ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/markdown/images/mermaid-diagram.png000066400000000000000000001030661465124271600257070ustar00rootroot00000000000000‰PNG


IHDRDçjliCCPICC ProfileH‰•WXSÉž[RIhH	½	Ò«”Z©‚JŒ	Aņè²
®]D±¢«"Š®EEÔµ.ŠÝµ,”uQEQyÐu_ùÞù¾¹óß3gþS2“;€VO*ÍEµÈ“äËâ#BXRÓX¤@º@ø/_.eÇÅE(CýßåíM€(ûkNJ®ŽÿWÑå|Igäü<ˆ›À7ò¥²|ˆJ½åŒ|©A¬'ƒB¼F‰³Tx·g¨pÓ Mb<â+i<ž,Í{PÏ*àgAÍ»Hb	Z£ ä‹xˆ•±ÊË›¦ÄÛA{)Ä0à“ñgÖßø3†ùy¼¬a¬ÊkPÈ¡b¹4—7ëÿ,Íÿ–¼\ÅØh"Yd¼2XÃÛ9Ó¢”˜q·$#&VYkˆûÄUÝ@©"Ed’Ê5æË9°~€	±‹€±1Äá’ܘhµ>#SÎ…®t¦8Ÿ›±Ä‹…ò°µÍVÙ´xµ/´.SÆa«õçx²A¿J_9Il5ÿk‘«æÇ4E‰)S!¶*'Ç@¬	±³<'!Jm3¦Pĉ²‘)â•ñ[A/”D„¨ø±‚LYx¼Ú¾4O>”/¶U$æÆ¨ñÁ|Qb¤ª>Øi>o0~˜vE(a'
ñ墇rCÃT¹cBIR‚š§Oš¯š‹S¥¹qj{ÜB˜¡Ô[@ì!/HPÏÅ“óáâTñã™Òü¸DUœxa6olœ*|ˆ
X@[˜²¸µ»¾¾©FÂÈ@'µfhFÊàˆ>@!ø"!Ï‚¨ÿ4¬U=@æàhÁàŒðâ<rá»bp–dØ[2x5âxçÁƇñæÂ¦ÿ÷ú!í
j¢ÕÅG–Ö%1ŒJŒ$†íq#<÷Ç£á367Ü÷Êã‹=á)¡ðˆpƒÐN¸3U\,û&Êq ò‡«k‘ñu-pÈ鉇à2ãLÜ8áЂž=¡–£Ž[YÖ7ÜËà«_CmGq¡ ””`ŠÝ·354=‡Y”µþº>ªX3†ëÍùÖ?ç«ê`õ­%¶;„ÅNbç±&¬°°Xv	;¦ÄëëÉàêò?OäÿÃOíSYI¹KK—ËGÕX¾pf¾rãq¦IgÉÄY¢|~„,®„ï<Šåæâæ
€ò[£úûzÃü† Ì_tÅ÷Hhú¢‹†û÷p'ÜþÝ_t¶5Ðpî;¾BV ÒáÊþKhÁfL%°ƒù¸/à‚AbA"HS`•EpËÀ0,% ¬kÁ°l»Á>pÔƒ&pü.‚+à¸WOxzÀ[Ð 	¡#Ä1C¬GÄ
ñA‘0$‰GR‘t$‘ 
d²)CV!mH5òr9‰œGÚ;ÈC¤y|@1”†ê¡&¨
:õAÙhšˆNF³Ðéh!º]†V Uè^´=‰^Do íè´˜ÆÄÌ1'Ìã`±X–‰É°yX)VŽUaµX#ü¯aíX7ö'âœ…;Á‰'á||:>_ŠoÀwãuøiüþïÁ?èc‚#ÁÀ%L dfJå„„#„3p/uÞ‰D&Ñ–è
÷b*1›8›¸”¸‰¸ŸØLl#>&ö’H$C’#)€Kâ‘òI%¤õ¤½¤¤«¤RYƒlFv#‡“ÓÈr1¹œ¼‡|œ|•üŒÜOѦXSü(±ee9e¥‘r™ÒAé§êPm©ÔDj6uµ‚ZK=C½G}£¡¡a¡á«1^C¬Q¤Q¡q@ãœÆC÷4]šC›DSЖÑvÑšiwhoètº
=˜žFϧ/£WÓOÑÐû4šÎš\Mæ|ÍJÍ:Í«š/µ(ZÖZl­)Z…ZåZ‡´.kukS´m´9Ú<íyÚ•ÚGµoi÷ê0t\ubuòt–êìÑ9¯Ó©KÒµÑ
Óè.ÒÝ®{J÷1cX28>c!cã£C¨g«ÇÕËÖ+Óۧתף¯«ï¡Ÿ¬?S¿Rÿ˜~;cÚ0¹Ì\æræAæMæ‡&#Ø#„#–Œ¨quÄ;ƒ‘ÁBƒRƒý7>²ÃsWÖÞ7ÂŒÆÍ0Últƨ{¤ÞHÿ‘ü‘¥#ŽüÍ5v0Ž7žm¼Ýø’q¯‰©I„‰Ôd½É)“nS¦i°i¶éÓã¦]f³@3±Ù³fÏYú,6+—UÁ:Íê1764W˜o3o5ï·°µH²(¶Øoqß’jéc™i¹Æ²Å²ÇÊÌjœÕ««ß¬)Ö>Ö"ëuÖg­ßÙØÚ¤Ø|oSoÓik`˵-´­±½gG·²›nWewÝžhïcŸc¿ÉþŠêàé r¨t¸ìˆ:z9Š79¶"Œò%U5ê–͉íTàTãôЙéí\ì\ïür´Õè´Ñ+GŸýÙÅÓ%×e‡Ë]W]×±®Å®®¯ÝÜøn•n×ÝéîáîóÝÜ_y8z=6{ÜödxŽóüÞ³Åó“—·—̫֫ËÛÊ;Ý{£÷-=Ÿ8Ÿ¥>ç|	¾!¾ó}›|ßûyùåûôûÓßÉ?ÇçÛ1Â1;Æ<°àlhd¦n
l2âU=
¶ï~ƶgg³÷²_†¸„ÈBŽ„¼ãøqæršC±ÐˆÐÒÐÖ0ݰ¤°
aÂ-³ÂkÂ{"<#fG4G"£"WFÞâšpùÜjnÏXï±sÇžŽ¢E%Dmˆzí-‹n‡Ž;nõ¸{1Ö1’˜úXË]{?Î6nzÜÏã‰ããÆWŽï?'þl#ajž„·‰!‰Ëï&Ù%)’Z’µ’'%W'¿K	MY•Ò>aô„¹.¦¥ŠSÒHiÉi;Óz'†M\;±c’礒I7'ÛNž9ùü£)¹SŽM՚ʛz(ž’¾'ý#/–WÅëÍàflÌèásøëø/Á‚5‚.a€p•ðYf@æªÌά€¬ÕY]¢ Q¹¨[Ìo¿ÊŽÌÞ’ý.'6gWÎ@nJîþÜÔ"ÏtwSqÑàMˆÐ70ðÆR#Ÿdý›>í€ÁÞ yºêª"¼3l
T¢‚"ð¨î§_åøm”x€oû}ZÔÙŠeXIfMM*>F(‡iN’†x  ASCIIScreenshotp’€à	pHYs%%IR$ðÖiTXtXML:com.adobe.xmp
   
      
         400
         780
         Screenshot
      
   

e[ÉiDOTÈ(ÈÈ<¿È€ƒ?<‹IDATxì¸ÔÔÖ† 6Š€r”¢¢t)"ŠÒ›€‚ ½÷~è倴#½é
xAQšÒýõ" Ò¥ØETÊ?+š0eÏLÎL’Ù{òåy`’•d—wÍÌ™7e'ÅMÏD˜@@@@@@@@ „A@!„o  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï  AÑ`€€€€€„ï "†›7¯ÓŠåUƒŒ r(^¢'åÌõ¬ñjŧ;†Ò™ÓŸyE0 `lÙ‹Ó3¥ZUœeåœ<±…víeYy(@à:õÖRŠ©n,œƒ0XE€Œ 2fm{	@ìå‹ÒA@FRCÊT©¨víÉ2rC›@ÀÕvïžC'Žï&Ù…¡Ô3m({ö'\+t¬"pöìAÚ±}2É.9s¥âÅß°ªÛ(\M`åÊvtãúu‚0¸úm€Îƒ@d ‘qÃ^  2ƒÊÙCÛA 2†È¸a/Þ à>÷å=Þ €0DŒ;‚€² ʦ
ˆ	@"F‡A x€€û@Ü—sô x€DLÂ1:ìÊ€0(›:4"&aˆv€0à=î#ap_ÎÑc€0à= 1CÄè°#(K lêÐpˆ˜„!btØ@€÷¸„Á}9GA€÷€@Ä £ÃŽ  ,ƒ²©CÃA b†ˆÑaGÞ à>÷å=Þ €0DŒ;‚€² ʦ
ˆ	@"F‡A x€€û@Ü—sô x€DLÂ1:ìÊ€0(›:4"&aˆv€0à=î#ap_ÎÑc€0à= 1CÄè°#(K lêÐpˆ˜„!btØ@€÷¸„Á}9GA€÷€Àï¿ÿAåžmd¬[04åÏŸÇXÆ0Þ à>÷å=ÞB¿þú=W¡±±nö¬ôĢ&aÀûÜGÂྜ£Ç apÙ{àêÕ?ië¶=tüøjÙ¢~ÐÞC‚¢Á
//.›½qãíÛÿmÚô)uíÒ”Ò¦Mã2îí.„Á½¹GÏÝKÂà¢Üóö!C'Ñ•+WéÑGsÓ·Çí=„!(¬ð"að‚á¢Ù'ÎR›¶éÂ…µ^¼ùmºýöŒ."àî®BÜôÞ .Êûœ¹+hÊ”ÅZ!.J¼]…0ØWâ¢?ÿükjѲ¿ÑÂO>^H™2e0–1ß ñ_ôD "*qƒ0ÄibcØ-CáǰjCáKP5„A‚$ 	 à0ƒÃÀcQÝ_ýM—/ÿNo/|.\£5!gÎl4sÆ0ŸæÜqG&Jú6-ì’$¾n™ï8rô8ÝyÇí”;wºÿþ{|Êñ^¸~ý:ýòËe-”*UJºë®;ŒÕ'Ož¥¯¾:J3¦§¸—òäÉI©R¥2Öë3\_qôÛ”&MjÊ™#=ø`m^߯ÌëÏ?_ò”q’.^ü‰²f¹˜Á=÷ÜefWl„„!˜8
ß¼y“~úé}ñÅ!êÙk´ÑË•+&ùœaHŸ>-eÈžø{„ÿñÄß-ü96ñv×®]§Ì™ï¶	ñ=X?üð³¶ž¿‚}÷p9'Nœ¡o¤tiÓjßSÙ²ÝO)S¦Z6V˜'a0Ï*ž·ŒäsÆŸa…ñ¶ÛRÑwÞnàáK¥ú–ÎÿAûûþP®ìÄ¿IÌNVýN0[Ÿ·ƒ0¸ ëï¼³žFž¶§¶§ª/?§mç/3¦¥Ý{ÐâÅkµ{ ¼ãÑ“Fï*ü1°eËnêÖ=ÑØ|ïžU´ÜÓžY³–k?<ô2¤£æùÜ8É’3!i­^ý‘¾™ÏkÙ²E©{·7ˆ„š>ýôsOÿgЙ3ç6ãz»viFÕª=‡t áÅÓGާ
»†íRÕªÏÑÀíµÏ¯~‚w
u¯C«Ö	têÔ9Z»fšðÀï?Óó½1}úRž¥ìÙ ÕïMÕæõÿ~üñ1rñ÷ŽhªSç%êÔ±1¥OŸN´1“ &AÅéfÑ|ÎÞš¸€,xO#³áùžƒרWï7éàÁô^y¥
uìÐ8äÁA«~'TŽ@C’øX!á¨ðïEÇRŽY}6ýdË.êÞ}”ÐÎsãõdcYŸiÒ¤&uhÿš¾Hûö}E}úŽñ‘
c¥ßLß>­©V­Š~QÒŽFŽŸ0V®ü0`€¥'qdwºï¾Ìþ«°‚„!œ8\•\a8pðjÖ¬AbĈ®Tñ…ÒÆ²>óÝñÓT·nGmqÜØ>Äü'>»Q£f[Cü[¶¬ï3ÒÛîÝ¨Âø°ß|f11±;å}ä!ÿ*°l’„Á$¨8Ü,ÚÏ™·0T®\ŽöîýÒbÈÓ÷ß_¤ªÕZé›j¯O?]€òåË­Æä}öì9è³~þüQT ÿ#>±1cgÓÒ¥ÿ5bÜççž+é9r§Ý?ÑŽû|~\ðþ±‚É<ƒyVñ°%Yä{¡ølÝöíûŒ.U¯^Ò¥Kk,?þx>z±bâK_®ÚÊøžxþùRš˜þ;Ãgõ3%K¦‰o%øoB_}”7éiÄ—/KÒ.5âÀ©SßSÍZíŒu…b!$CH<ñµ2š›ž™DÏž-¨®ç”~Š)40|b÷‰>?ÞW­œ¤Ý “	CíÚ/RÏÍËø”¢>$#EìÔyñeD<ñüÄ‘=¨T©Âz‘Ú+¯ïÝçMãò(>á߃ád“dðåKÞ×D²~s&}ðÁ6£ì`G@
0ãCÂàƒÃ5ɹéyê´Å4{ö
ƒÍÖ-‹´ûô_Ó\ñŦÆg™ã|OD®\ÙôM´WïxÎ,Y<ÎXߣç(úøã]Æò!¨r¥rÆ2¯ÌšýŽq9¯èÚµ)5lPÕØ3æ	@Ì³Š§-­øœyŽ™
–“&ôó¹éà—‡©iÓÞ:ÿ
VýN0*ÀŒ)S˜âc£h„!Øe?Þ—0%ÿË	ü…¿-ô~>Ò·ï­S&¢bÅ&ÀÛ·¼I=ö⛟êÖëD|S5O|v‚ËÝPý÷ßרѫÝèØ±SÚ¶8Ë a0ý„Á4ª¸Ú09ÂàÓèQ==gúJ<Ö­ßB$Ë<Ó¨Q5êÒùu#Æg*^ªô†qF°S§&ôÚ«Õµõ|õæ}mý/o4Vxfx(Xn;O|0‚¯¡ö>3¢­Àa	@Â"Š»
¬úœy_UÀúDC2÷é;–6nÜ¡qô?@àÿ·?’ß	q— :ap²,UD#³g ¾Î_4ñÑA9…'ÿ£vþÂ0vLo*W®˜¨-6``’q:’Ï*¼•xi‚¾3e(÷l#ãȤ~T‘GTª]§½¾Í›H…
æ5–ýgV­Ú Ý(Éq¾TaÝÃß î_†[—!îÌ|r„	ÕªÝÞø—^*CÆv1À5mÖ;à†Gþ1ÿásŒ›“÷{ž(ݲխk¦SÖ¬÷iex¯q€?¿ÁFOÚ¼y§ÏèN|–‚Œ`JCòxÅÃÖV}μ…¡xñ'hò¤B<+V|@‰£fëxÀ}²âw‚^^Í€0˜g¥ü–Þx+ÜÆG÷øèOM›Ö¦vm¬ü…áýµ3(K–àC+Ö«ßÉ8ÚÏGø:äPÓ²eëŒÕzÝþ#3ñ%P<„[°éèÑÚÍSúú­[kGõe¼'aÎ&ž×$WæÍ_E“&-4ìØ¾T»ÀÿìÿÐ×ï‹àe©Ú¿÷YLœn^À.ø†>yÿxÈŸ?-˜k¸W}ýõ¼gÈÆ*/·Ô)ÜcCÌø€0øàpÅ‚UŸ3³ÂðÑæÏ¨W¯7
¶úw¬ø`ŒÓ ¦Q©¿¡]ÂÀÃ!ò¨F<é?ÚuZþ°{׊ —#ñ˜Î%JÖÕwMök³fu¨m›†ÚM™ú­“]ˆgÿk¬#)Ã-û@Ü’iß~&Wüo–?®/•)S„Þ3‹téç‘Ί)h\’¨_†ÀÏ‘yþ…&Æ™DÿË#ùFh¾!š'ÿk}[MÄe•z¦¾ö?#j¬ÀLH†xâr¥UŸ3³ÂÀ´m7È`¹}ÛíòA«~'cÆ4ƒiTêo(ƒ0xŸVô'Ê#¯T¯ÑÆ'Ì—&˜ú÷o«
Ù8xÈ$Z»v³±[rÊÈây ¾‚Ƀ9Nñ¶Ur…ûïýƒƒGhëÑý
*[îÖÙÈŞ˃~èAÏ€Æ%Žs挤_/ýF»7ò}Þwãïý+úóŒ3EŠÖ2¢þ8Œ˜	IÂO\®´ês­0Xõ;!.“ds§ 6–©xÙ…ŸôX¶\CY·®Í¨Aƒ—e³3S¦.¦9snʲg÷Jcd'³e`;s æ8ÅÛV‘?°qô¿d‰ç2é×(.œßxò¼÷÷nÆ“>Ì"_¢8a|?œÞ—D†;ÃàÿÓ»WK⇹aJCòxÅÃÖV}΢ÿÏp¤¿â!'N÷Âà4ñÖçý‡X?ݬ9þÏauÓsr.I
u†ÛR¹JãfþCÎГ;}¸aõë7ÞØ-ÔMÆF˜‰ˆ„!"lÊïä/›?Zà3d±¨ƒ/þD•*7­¢7G÷ò<ߥ¸¶ŽŸõðâKÍ„Û
ÞE{¾ƒ÷Jï3Š…
她s½WûÌ?~†êÔí`ÄÞJêï²ù)c3æ@ÌqЧ­¬úœE+ÌÔŠß	ñ”§úapŠ´õxŸÒçSûÁ¦X	ƒ÷8Ï|äÊ‘R‚µÕ?þÍ7ßiC¥êñ^üüˆº•ôE¼ZHÂ`!L…Šò~šÿSÞEÝi×~0íÚõ…Ï*þ.Z¿n–ϰÇÞ?N¼7ÞòÉ"ʘ1½w(àž¥æÒÝwßé³¾àóµèyú¶x
NœM¼®ñþýÀ}Œôsf…0Xñ;!^ódg¿ vÒ•¬ìw<—Œú÷’nÚ¦óè®»î¶2VÂà}Ù7,Ԙ꼞Ÿ¹àÿ|~²+?)Zê•·ã$÷Ý—™g…óž2eJá:ƒ€0gÏküG7òþJ°¾¯}3
<Ég5_šÔ¸q
Ÿ?ÍýµÆ=|b+–¦ûúÄxÁÿ!O¢òx;ÿï…4éÿýÁÛb
MšO<®µêsf…0Xñ;!sdwŸ v–¨ü={R›6·ÆÆ¨'Œ¥¡ùu}Î4ðh'Ë—¯§3—j~ñ?º¹mÛ^êÒõÖЋ9sf£Aƒ:Ðã…òùd„øŒ;›|0%ôoç³á	@Â3ŠÇ-øéÌ¥Ë40ºÆCN|k€11>y4ÿü¿W¸€`.¼¯™æíBI‰÷GÞ6qdwmÄ$žçé·ß®o³gÏÁžÿGêAž+i,cÆ<ƒyVñ´¥Ÿ3+„Áªß	ñ”'úap‚²$u\¹òÕ¨ÙÖçÈ;?!oÞ‡èðáãtèÐ1š>m¨öddÿ?ìNÝÃÀ¨ø©Ë<β÷Ä?<ž|ò1zà{éôésôÕWGŒaƒ=Ù{Üh½,îoîÜ9´3üüý	ϼžÇoçqÜ1™'a0Ï*Þ¶ôÿñÀ—òSÙù^¾ì¨U«W¨EózÝöÞ‡RåaREÓ¦MŸRï>c´Uüùß´q>¥I“Z´)ùß›À±Ä(ðýò˯´sçÿù|ïñ½sfÄ`Bšáƒ†ðŒâq+>gV³µêwB<æÉ®>Aì"+i¹¼K;Ò¬yú¨!±nÿçüÞ—k3ÿ0˜:epÀ	>c2nüZ½ú£`»úÄîHU*?ëÃBh†Ð|âyí÷ß_Ô.ýÖÇ`#y?m9Ô“–ùEå*͵ï~øbŸÞ­‚U¥ÅùiÐ,á¾3x¤¥ž‡Â»Ï!d%X©€0¸÷íçÌ*aàXñ;Á½™L~Ï!Ég¦üŸ~ºŸ
ž(üÃÚ¶mCjÖ´Žv
ÿÙò¯}77‘
Ìk,{ÏxßÈØ¢E=jÕòcõöíû|ÆP7J’±£gæòåßiê´ÅÄGýð’|6 ZÕ
Úè*)R¤ðÞÕgž¿T&M^¨AñYáYà3,õëU&¾l	Sò@’Ç+Þ¶>yò,õí7NøÙ*Y²°ç2¥„€.ë—3y¥°Ñ¿ý&åiS‡hu¶ÿùçK4~¼€3
¼žÏ,Ö®õ¢g„—ŒË0õýðš<†äñŠ·­£ùœMž²ˆæÎ]©!)Uª0½•øÁ+YLZ¶ºµîÓË
òvVýNà²0…&aÍ'n×òM¾§N£óçði»ƒør‚;îÈ$í)z†ãÇOkOzÌ•+{ÀH)fõ÷ß×èĉ3š|ð=Y²Ü‹fÀ…ØÂŽ‹V]¸ð£vYP¦L´ÁXèCÝLÌ7PÞíp?‡¡&¾÷àÀCT¼ø!Ë•¡g¤OŸŽ~øAí»C´bÉ'aH>³xÝC¦Ï™Þ–téÒR¤¿â5OVôÂ`E”.%apiâÑmW€0¸:ýè¼K	@\šxt¬ a°‚"ʵ@ÔÊZV€0XAe€€K	@\šxtÛÕ ®N?:ïR—&Ý+@¬ ˆ2@@-µò…Ö‚€ VPD àR—&Ýv5ƒ«Óλ”„Á¥‰G·AÀ
+(¢P‹„A­|¡µ `ƒ/ãò/7hæˆßï…3Í/_--.ƙʨ @’M\6õ
ùîº`
B"Ys¥¢í2ˆV¹2aP3íÿ·ãoÚ¼úªšA«[%d¢Œ·ÆSšÓ*!1Å/Gåóy€0ø²‚0øòPe	¼LA|yA|y¨²aH^¦ ¾¼ ¾<\¹¤CÆ;RS¶y\É \§woÝ1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WE!áÓ
a3‚0ˆ¹È…0˜Ë„AÌ	 æ"{Â`.C1'ƒ˜‹«¢†ðé†0ˆAÄ\dBÌe æas‘=
a0—!ƒ˜„AÌÅUQCøtCÄŒ b.²G!æ2as‚0ˆ¹È…0˜Ë„AÌ	 æâª(„!|º!bF1Ù£s‚0ˆ9AÄ\dBÌe æasqUÂ>Ý1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WE!áÓ
a3‚0ˆ¹È…0˜Ë„AÌ	 æ"{Â`.C1'ƒ˜‹«¢†ðé†0ˆAÄ\dBÌe æas‘=
a0—!ƒ˜„AÌÅUQCøtCÄŒ b.²G!æ2as‚0ˆ¹È…0˜Ë„AÌ	 æâª(„!|º!bF1Ù£s‚0ˆ9AÄ\dBÌe æasqUÂ>Ý1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WE!áÓ
a3‚0ˆ¹È…0˜Ë„AÌ	 æ"{Â`.C1'ƒ˜‹«¢ñ ‡MW¯^¥ÇÊ–ÜAÄX!b.²G†nÝZÑ—_~®¡hÕªÕªÕÀr,çÏOG~C%J”¡T©RY^>„AŒ æ"{4„áÏ?¯Òž=ŸQÁ‚OÐ]we¶9„AŒ æâª¨êÂpàÀ~êÑ£5åÎýMºÈ–ÜAÄX!b.²G†6mѱcG4M›¶¥W^yÝR,?þx‘:vlJ?üpV¬ØD·ß~‡¥åsa1Rƒ˜‹ìQÕ…áÚµk4xpÚ½{
2ŽŠ/mrƒ+„AÌÅUQ•…4ôïßIË„Áù·-„ÁyæVÔ¨º0|ÿýiêׯ39sRÃa°â]a¾ƒyV2m©²0\½ú%&&ÐgŸmÕBœgAœg.]*
ÃÍ›7iíÚ4yò›OƒÂ±ƒc¨-­Hea8xp?%$t¥?þ¸b00(™08‚ÙòJT¾ôpÈ^žËL 
Çf Ž¡–·"Õ„áܹ34~üpú¿ÿÛëÂàƒÃ‘ƒ#˜-¯DEa`A˜;w
­^½<€„!‰­ƒ­xm+\5a¸qã­[÷.Mœ8*€	„!‰íƒíˆå¯@aà/>«0eÊ!Tƒ‹­Aƒ­xm+\5aØ·o7T»_A ¢b_Â`[;KVIørÃqã†'øs0ø±Â`?cékˆ•0ðeE|ãâ©S'è§Ÿ~ lÙ¤‡ú¥OŸAÈÌû~Ñ{c{ùÚUz¬„á—_~¢#G¾¡+W~£9Òþ¥N:d7ùÌBφÜÂå+!–#u¤@§…?»§OŸðÜktŠ®_¿N™3ßKyòä35@A‡¯~l‚0#c_Â`[eJvZX¦OŸ tà}²,oÞüôê«Í©X±g(EŠzXJM¿Á9OžG©k×~ôî»KiãÆÿjÛ@TŽÍ@CmiEN–ÿý7úê«/úQ¤H	êС7eÉ’-`®\ùjÖ,¯­ãaÛµë¡Ý¿Àgô	 “pæÂàg«kqBøJ€;·yF.[(ü¼sŸøïw۶ݨ@'‚vÑ[š4iM%K–¥Ö­ÛCŽÍ@C-oEN
ÃG­×®G‰‚?!ÿ¡õ3üƒ¡J•ZÚ¸ëcÆ†0øƒspÂà l«rZÂ5Ï*víš@eËVØT†jÕêÿpÈ”évÚ°á};vˆ±-„Á@áÈ„ÁÌ–Wâ„0¬\¹˜f̘`ªí={¦
*	·eaÈ!ƒgèäÞ”={N:{ö5mZÛØÂ` plÂàjy+rJüÿÈ3>Ò?!ÏCF:~ü[úâ‹}ÚÑCþ1gÎ
í¦Nîòå_‰Úrï½÷ë!‚0(b2aˆ	ö¨+•0°dÍú <ù6hÿƒ±c§{ÈTا|ÄòÔ©ã”+Wn#îÿ]a0Ð82ap³å•8!<¢QãÆÕ¶óßk>ûŸ&M:tè+ŸûøïüÂ…kµƒÆÿÎ|÷ÝQíeý*ƒ?!ç—!Î3—®F'„áÒ¥_ï¼#Î0øb6aˆzy*¶[Î;ãRµ¦Ñáþý©L™çŒåhf ÑЋ~_CôcQ‚lÂ0bD?Ú²e£†âÉ'‹Ð¨QSBb0„ÄcûJƒíˆm©Àna8sæ$5kVÇh{íÚ
©eËÎÆ²>aÐI¨õ
aP+_¶´Önaà±—+W¾õL~Äû Ac,é„ÁŒaˆ]Lw”I®^ýÃs²’1ŠÚË/צz…äa‰Çö•ÛÛRÝÂÀÃ#ó0Éú´tézºûî{ôEãÂ` Pj Tºìi¬ÝÂÀ­8°íܹÍè@bâd*\¸¨±ì?Ã?"Ò¥KïX†0 q4ap·e•É$+W.öŒŠ4Áè[¸ïÞÂ`àŠÉ„!&Ø£®ÔiaX²deÎ|o@»gÌH¢•+iqÜÀGÚ„AÚÔ8×0'„áûïOÓë¯×òéE¬\¹¦ç/)8_¾Ä×3ûíš5k¹Ï:c#¯ƒŒÌBbÝ‚**µW¯ÁôŸÿä3ZÏwZ¶l½ýö#V¬Ø34tè­›Ÿ~3? /BnQuvÃÑ£‡¨]»ÆFkýŸâÌWðà«W/7¶áV•ïe5á†PtœYap†³Ôµ8!`éÒy4w®ïµÉü%‘7ïcžÓ–™=c5K‡m°2d/^ÚXÍ@DTœ‹AœcmeMNƒÞöܹ¡мy}âú”'Ï£ôøã…µÑ‘víÚî3z’¾M§N}´ƒ‡ú²è ¢âlÂà,o)ksJø‘ðï¾»ÄsùA’)/¾X•ºvM¹-„!$ÛWBlGlK±†`É’%;õí;Œòå+lŸ8„Á‡ãÇ‘[R¡ÝÂÀüúëÔ¥Kóí}é¥jtôèaÏ¿CÆvs箤lÙrËþ3"Î/Cœg.]N	ƒÞñ'ŽÑÌ™Iôå—_aämŠ-I5k6Ôîqð¾\IßßûuüøaôÁk´PÞ¼ùiâÄyÞ«-›ß½ñ<ýoßOT¾ZZ*\:eåª^„AÍ:)ƒ˜„AÌÅUQCøtCÄŒ b.²G!æ2as‚0ˆ¹È…0˜Ë„AÌ	 æâª(„!|º!bF1Ù£s‚0ˆ9AÄ\dBÌe æasqUÂ>Ý1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WE!áÓ
a3‚0ˆ¹È…0˜Ë„AÌ	 æ"{Â`.C1'ƒ˜‹«¢†ðé†0ˆAÄ\dBÌe æas‘=
a0—!ƒ˜„AÌÅUQCøtCÄŒ b.²G!æ2as‚0ˆ¹È…0˜Ë„AÌ	 æâª(„!|º!bF1Ù£s‚0ˆ9AÄ\dBÌe æasqUÂ>Ý1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WE!áÓ
a3‚0ˆ¹È…0˜Ë„AÌ	 æ"{Â`.C1'ƒ˜‹«¢†ðé†0ˆAÄ\dBÌe æas‘=
a0—!ƒ˜„AÌÅUQCøtCÄŒ b.²G!æ2as‚0ˆ¹È…0˜Ë„AÌ	 æâª(„!|º!bF1Ù£s‚0ˆ9AÄ\dBÌe æasqUÂ>Ý1#ƒ˜‹ìQƒ¹AÄœ b.²G!æ2as‚0ˆ¹¸*
aŸnƒ˜„AÌEö(„Á\† bN1Ù£s‚0ˆ9AÄ\\…0„O7„AÌ æ"{Â`.C1'ƒ˜‹ìQƒ¹AÄœ b.®ŠB§ fas‘=
a0—!ƒ˜„AÌEö(„Á\† bN1WEuapU§#ìlùji©pé4î»AÔÌ©.j¶ÞùVgÍ•Š´Ëà|Å’Öa41aš¥C˜Í°ú_­2QÆÛS€Ç¿ x+„Áü›ÂàË
ÂàËC•%Cò2aðåaðå¡Ê„!y™‚0øò‚0øòÀ’ÍÞ{o
>E«¥R¥²4tHgKk\¹êC9rºVf±bӔɃ,-…ù€0øòÀR䊭eì¼g÷JJ‘Gö ’Í@$Kˆ¢Íùîøiª[·£Ñú½{V󘑄A¾œÄu‹†LkÖ|¤õ±WÏž/‹J–ö÷ìÙÔ¢e:þ­ÜU+'QΜÙ,­…Ý"a¸ÅsÑ€0DÇÏɽ!NҎߺ jå V¾”omí:íéĉ³Z?-Kùò=lyŸøŸÉà©eËúÔ²E}Ëë@ÿ€0à`ƒU$í/Â`?c7ÔaP+˵ò¥tk¯\¹JeË5Ôú&MjÚ¾m	¥L™Òò>mÞ¼“zö­•Ëgø,&{@ìáêÆR!êd N®dn)„Aæì¶
ÂÈ›lÛ¶—ºt¡•^´h!š:e°-5]¿~š¼Þ‹:¦•Ï÷1ðý˜¬'a°ž©[K„0¨“yƒ:¹’¹¥™³Ø6C Dl"0yÊ"š;w¥VúoÔ¡6­ÿ9Û`GuS¦.¦9sVhEW¯^ú·³£×—	apý[À2ËPÚ^„ÁvÄ®¨Â Vš!jåKéÖ¶l•@û÷¥õá­¤*Uª°mýáz¸>žÒ¦MC[>YD·Ý–ʶúÜZ0„Á­™·¾ßë™ÚU"„Á.²î* V¾!jåKÙÖÞ¸qƒJ—i@ýõ·Ö‡­[S†élíO‡ŽCé³Ï>×ê8°=U}ù9[ëscá7fÝž>CìájG©;¨º¯LƒZ9‡0¨•/e[ûõ×G©q“žZûsçÎAË—%ÙÞ—ÅKÖÒ¸qsµzŠ‚&Oh{n«Âà¶ŒÛ×_ƒ}l­.Â`5Qw–aP+ïµò¥lk—.ý/;[k¿S÷œ>}Žš6ëC?ÿ|I«÷½w§ÐƒfQ–¡Œ
‡0Ș5ÛaP'our%sK!2g'°m†@&ˆØ@ o¿q´aÃv­äÚSµªÎ\4``­[·E«·U«W¨Eóz6ôνEBÜ›{«{a°š¨}åAìc릒½…Á©+ÜÄ×ê¾B¬&Šò„ª¼ÜÒxúòŠw&ÒCengupýú­”0`‚Vl®\Ùhå
<“ÁJÆ+iº»,ƒ:ù‡0¨“+™[
a9;mƒ02AÄb/þD•*7×Jåù†g'§zõ;ѱc§´*§MBEŠt²ú¸®Â×éu´sGqGU„!*|Øù_µÞ
µò¥dk7nÚA}úŒÕÚ^ºôÓ4a|?Gû1~Â:‡½€0ÄaRcÐ%C GQ%„!
xØ5<~P[™²
éúõëÚQýíÛ–Pš4©Ãïhñ󿝢I“j¥–(ñ$Mš8ÀâÜY„Áy·£×;¨ÚS&„Á®n+ VÆ!jåK¹Öîßÿµl• µûÑGsÓ·ÇĤ|ãuí:íéÊ•«ZýkWO£¬ÙîI[â©RC}:Ú¶ÕÙ§NÇ€Å
€0XÔÅÅAÔI>„A\ÉÜRƒÌÙ	l„!	">b*½ûîF­´.]^§F
«YTrtÅ4mÖ›<¬2tH'ªT©\tºxoƒ‹“oq×!µ±8ƒp]T4„A­dCÔÊ—R­­W¿;vJkóܹ‰T¨`^)Ú?cÆRš1s¹Ö–’%ÓÄ·þöUŠÆ)Öƒb	“¸¹‰“ã×4ƒ,FD¶˜íaˆúø®˜ŸwP¶\C­“©R¥¢Ow,%~•aúõ×ߨâ‹MéÚµëZsÞ_;ƒ²d¹W†¦)׃r)“¶ÁiSÐ0C" aˆZw0Ä~UaP%Sò· ŽôBtx†„!zÎïapž¹+jœ6}	ÍšõŽÖ××^«N:6‘ªß6n§¾}ÇimÊ;-_–$UûTi„A•LÉßNƒü9Ò[aÐIà5†hè9¿/„Áy殨±m»A´{÷­¯oŽîEåË—®ß•«´ ~ÔÚ5kæpzòÉǤk£ì
‚0Èž!uÚaP'Wur%sK!2g'°m†@&ˆDIàÆTºLú믿µ’øùüÙ¦!C'Ñš5›µfÕ®U‘úôi-[¥o„Aú)Ó@ƒ2©"ƒ:¹’¹¥™³Ø6C D¢$pøÈqjذ«VJöìÐê÷¦FY¢=»óÍwÔèÕnZá2¤§­[ÙSQ—
aˆãä:Ü5ƒÃÀ£¨Â<ìj€0(”˜0(‘&µÉORæ'*óT¹r92¸“´hب+>|\kß°a]è¥ËHÛVa1+j¶	 NÞ êäJæ–BdÎN`Û L‰’@€	´~ýV­”Þ½ZR:/EY¢}»Ï_ð.Mœø¶VA©R…é­$<“!9´!É¡…mC€0„¢#×:ƒ\ùPµ5µ2aP+_J´¶ZõÖžk\/hm]¼xå}ä!iÛýçŸÑ3¥_1Ú·þ¿3é¾ûï1–1š„!4¬5OÂ`žU¬·„0Ä:ñQ?„A­mÿ…&aÍkÍ€0˜gë-!±Î@|ÔaP+µò%}k›½Ñ‡øFkç[Iý©T©§¤o370qÔZ±â­­|“6߬)<CxFØÂƒ9N2la!ê· V!jåKêÖ^¿~J=ó
ñ+O[·,¦ÒIÝf½qÇŸ¡:u;h‹3¦§-Ÿà™:›P¯†Pt°.9 É¡Ûm!±å/µCÔÊ$„A­|IÝÚ¿¡fÍúhmTñ^žFŽèJ/¼PZ›ÇÁ	@‚³Ášä€0$W,·†0Ä’~üÔ
aP+—µò%ukß^¸š’’ækm¬Qãyê߯­ÔíõoÜ’%ïÓØqs´péÒOÓ„ñýü7Á²ƒ,FLÂ1:Çw„08Ž<.+„0¨•VƒZù’ºµ=zŽ¢?Þ¥µq@B;ªV­‚ÔíõoÜÍ›7©h±ÚFøƒõ³éÞ{ï6–1HÂÈ‘È@"㋽ ± uBÔÊ)„A­|IÝZV®˜D¹re“º½¢Æuê<ŒvìØ¯­êØá5jܸ¦h3Äþ%aÀ[Á*«HÚ_„Á~Æn¨ V–!jåKÚÖž9sžª×h£µotæžUœ>ûìsêÐq¨Öô|\Ûsú´¡ôôÓ"(EŽ]Ξ½@Õª·Ö“)Súäã…r4LÂV@$LŠ¢M‚0¨“8ƒ:¹’¹¥™³Ø6C D’I௿þ¦ÒeÐ7(eÊ”´}ÛJ“&u2K‘kózõ;ѱc§´F%ŽìN
ú®±FMœX­†Tô6Ç}ƒ·ß¾O-\ð¶š²ïåjÄÈã¾}àý^ÿ÷ujé’7Ô—÷;O
:90ž€ÒØgÊ·Õ¶mÛܼóö3ª]»v¥kwn“@sóêßÿºK
:Eí÷•kÚŒ-Ň‹¾ªÞzóçwÒÞjÊ”3KÑîi@`þ‚%ê˜c.r#G®ž|â—WR*ÏÖíèÑ£›6Ö¶B„Á¶Œ$·=Crr‡0$'W6·a°9;ÙmC²™P’@%C.TK—.wÅ¡q^J"«&G$¶îr‘ëºTyçÎÔ¤I"cZ‡69ÚlÒ„0¤2Æ{¡†B	Æw=Âër¾¬ì"ÉÊ—•­EÌÒÒҲƕwNÄŽž9^½z­YNTë¦s#œaMckF©öíÛ_u Â5ÑÊ­aHNî†ääÊæ–"6g'»mC6JB@B˯oX æ5:«Ó†657¯ÈˆÊ}*CšdRµL°–!MãÇV½zõÈ}A„Ÿ ¬ðª†äü ÉÉ•Í-ElÎNvÛ†l&”„$€0„fþ¡#²:SšDÈüˆÏ>ÛjpµR2¤É[¥I&XiHÂ`”‚ ,	A,ID›0$+C²òeek†xÒ"«1¹«Ušd(S£Ó+!±jÕjãÈÒuî܈	­s#ª«GªN:_Ÿˆ0dá<_C¾äâ¿aˆŸy9ÞaHVV†dåËÊÖ"¥MKƒ3¤I–zMß3bÉ’eÆ0 ïÎÞ§'bܸ*Õ§O/£ë#L@ Y‚0X’ˆ„7aHV†dåËÊÖ"ö¥eÙ²Ó&XïÜxnóæ-FM
iJÍ!MC‡κaÈBBAž†<Á•à2„¡ÐËð–C²’Š0$+_V¶a°2-YÚ¸q“ª«›ï.ïÚèÌaM2¤éÓO[²bsÈ&wn„;ɺƹöïªyé»ìôœåÆcT%DJž‚²h¬4"ÉÊ—•­E¬L‹q£Z—yÝ)2´iÑ¢fãë{ôhï¬Ì4^í³ÏŽLì®jjjT¿~ýŒ¯/fàëÿ¾N-]ò†úò~ç9=$“‹y+ê.ÂP À/Gb„]Æ·B’•\„!Yù²²µƒ•i)¨Q}ô©’¹óœˆÔîÕ"›6m6ª·sçÎÎR¯]‰¡1b„ѵQ!QÒ,n]CqùFY;Â%ÍÊ­aHVî†dåËÊÖ"V¦%òFmݺUÍžÓèir&XïÒT[[çl<·Éø^£Gv%"%UUUªk×®Æ×‡
DÂ+]<ÂP:öaïŒ0„%F¼ŽÂ £boÂ`onÓ2„!1©Š¼¡2éùý÷_W}ú¡ZZvqdbž³Ä<µpáBã{õïßßë‰Þˆ1cƨ_ßV Âл>CìÊG[­AÚ¢Ãg¦SRvÄ!vä!Ñ­@¾‚Ÿk•¤U«V©ÚÚZgbõ<ï_SS“Ú°aƒÑý:u’çvw‡5Mš4I;V5ÊèÚô „!†ÝǃÝùIoÂNƒã|	 ù’+ÍuCi¸—Õ]†²Jg¨‡É%¹*™5k–3'¢ÉÙt®Ñ	9þè£r…g•˦Ôp&y‰èÞ½{V\ªaH‘°ÿa°?G©")¼Ba(„^ü×"ñ3/»;"e—Rã
+ºŠ—,Y¢êëë]‰^‰ùóçëBµe™CšD*
äÆ"ZdV"V¦EÛ(„A‹…†ÀJŽ0”8åp{„¡²˜ß3D!º;¯[·NÍž=Û'2?bÝúõºð¬2Ò$=}û¬Q½z}¢=ô$gÙ׃Tûöí³b)°ƒÂ`GLZ0˜P"&ˆÂDȮϻò‘ÈÖ ‰L[$.–0äjÜܹs½áL©ù+V¬ÈžU^U5Ì™Q£vw6ž7~´5r¨#=²â(ˆŸÂ?ó|ïˆ0äKŽëÒ	 é4ì?FìÏ‘õ-D¬OQÑ·0èdùòåjΜ9Þœ™!C›L_ýúõV“&uz$ª]‘5j˜Úm·hVi2mqJ!Éù)@’“+›[Š0Øœì¶!ÙL(	Ia	¬ŒÂmÎÍ›7«3f¨W^¾Ë‰›ú«%K>Ukך
iêØ±CkO„ôFì^­ÆŒáL°¦¤œWq ÅáZŒZ†bP­¼:†dåaHV¾¬l-Â`eZbi”­ÂzøÌIÏU]ý|G"9C›º»X/[öq*<ð]†4¹=ŽHŒ­¥ä¼wïž×LafdKÂ`K&’Ý„!YùC’•/+[‹0X™–X•4aÐAùôÓõÁu;v¯vv±vdBþmß¾]žU&CšÜyŽDL?Æé‰ª†œGAÛ†¶ùØô)Â`S6’Û„!Y¹C’•/+[‹0X™–XU µmÛ65sfªoXà	DSÓbµzõZ]xV™]’ž™!Cšªª†»¬;wî”KA+„!9?	CrresK›³“Ý6„!›	%!	 !•Qx¹
C®-\ØìL°nP;z!D"š›ÍWi’Þ‡ToDõ˜ÖyÒCÁ‹IÏIú@’”-{ÛŠ0Ø›]ËÊB@Bá*«àJ]ò¤×aÆŒZG"ZçD´ÎX¤¤—Âä•Ò$=ãÆV¹ó"†ßÍäÒ²Š¡‡!9éD’“+›[Š0Øœì¶!ÙL(	Ia	¬ŒÂ†ÜÉœ5«^Í;O5Í_â
kjiY“û‚´O:tUšœe^y'T»ó"¤w¢k×]Ò¢ÊëaHN>†ääÊæ–"6g'»mC6JB@B+£p„!\2eøÒL™`½cH“¼/]ºÜ¸‘†Ô܈Ñ2/Â90 ¯ñõ6"6gÇß6„Áσ³ü ùq+ÕUC©È—Ñ}†2JfÈGABÓ„¯_¿Á`-˽69‘šñÙg[5ÑÙE2¤)}©WÙ/bäÈ!Ù–— –'(­yCó&€0ä®$"%Á^^7EÊ+ŸažaC+\l]Ý|5kv½×ÑÔ´D­\ÙbTIú¦ñãG«*G"D$ºu³wHÂ`”Z+‚+ÒøF ÉJ!¬|YÙZ„ÁÊ´ÄÒ(„!ÌÞMV¬øD͘Y«º"!«4-^ü¡÷yÐô<ȼYîuÔÈ¡î¦Aƒú]ËçC,˜#¹	Â	ÆŠ¯aHÖ¬|•¬µ2y3×ëw>P¿ºã!÷ã½÷þœºèÂSs…ª!C±3nN:Éûa(}ζlùÌÒ4{vƒ3ÁzçÆs›7o1j\ß¾²ñ\µ;¬©zÌHo‚uûöí®7
’•¤ÚÚ‡âÔÓ.÷6Ë{èÁ[U»ví´UoÚ´Yí±ÇígÆCaˆ‡s9Ü¥­¿š?\¡®¸â6÷1e³Ë›oú~ÎGîÖ­k"‡Zæ| ~€0$0i¥hòƒýQÝqÇÃÝZ¾Õ|àþ›ªƒ‹í"€0Ø•ôÖHïƒôF¤&XËüˆOœ]­M^"“&9+4ÉR¯ãª‰p†49=={v7¹\#í8îø‹µŸ…)|ôÑŸ«±5£Â\BlĆˆ–qué#ò}Ì^½z¨—^¼WuéÒ9ß*¸.C+¡
™€yøg©O
ÿàÐ1¹é¦ËÔ!ÿ¹Ÿî#ÊJaHVâd„HDmmÓ‘X¬-j6~ˆÔ¦	ãǸûEˆHìºëãëzÝ]ê¹çþfŸxĪkrQf1ç1@bžðÛM=ón/h¾qþù'ª©g|;ß˹."CD +¡šBzdÜôƒÜR	˜*ê†òH·,õ:sF;¤©±±u~„ý1yɦ‰Ǹs#RK½VU
S2ñ:ó%uÂ%™ÅÆçô.£*j ÂPT¼eWy!½ô.Øóã€0Ø“ë[RH/Ã7^ª=ä+Ö?#
GaÇ+IÑÒó "Q_¿@Éú2ÄéãW=‚iJm½ô.$"µy5aÈ[b/Z»v½’É˳ç4x±`ÁRãç1bˆ;qñµ×Þ5¾&HïBŠDé߆Òç i-ȧ—Þ»²Œ0Ø•ë[#+²~ÄÙÆëÁËÑ»`}Zón Â7º²ºpΜFW$çÉp¦Ö•š6lØÙ3Ò»ÊH*B"ÁXq•„íe wÁ®„Á®|$¢5<ø¬ºóÎGŒÚJÄ!‰M]Ñþá‡9CšjÕœ9ó¼=#d‰|^W_}Úÿ«_T2_‚Wé	 ¥ÏA[¦—Þû2Œ0Ø—ë[¦—ÞëÓYP†‚ðUÜÅ7nrWK‘•šdCsóŠPdH“Ì;ÖYêuÇÆsÇ廒'€0ΰRk0íe wÁ¾Ÿ„Á¾œ$¢E&½ô.$"•5a(_E_\èŠI)x}úôrWi’=#Üý"F9;X;2±Ë.]R!¼GLaˆhU÷·iox›µåzlzr‘)m9ÂPZþ‰½»I/Ã
7\¢¾vèWûŒ4<˜Â̈ˆÜ~ríê/ù{΀/|aw·G!5/bùòsƦ «4‰@HoÄèÑÃp6žsD¢ÿ>éaçIaÈ—¹‚zÎ;ïDuæTö]°íÇa°-#	jO[½ò?뇼5AOCSó!€0äCkR¨N¼4ušõž¹2ÒÖ­[ÝÉÕ©å^S»Xg]˜£ 5¤©ºz¤Û!ûEH¯p†p¼ˆöh«—Az^|áwôú‘Yq†0X‘†d6¢­^æ.$3§a[0„%F|&\½‡~€úéµßËמÏ_°Ä1g¶³Üë¼Eî$kYÖä%{CHOÄxg÷jé…h1Luë¶‹Éåƒ0TdÚ#}è\½ô.DŠ9ÒʆHqV^eº^z*çça¨œ\ëIsõ2dö.„½KË·7B&X§6ž“•›L^íÚµs$¢Æá΋Ø1ÁzРþ&——}ÂPö).úêzè](:ö‚n€0„‹¥—áCOWéßæÑ»P9?Cå亘OšÙ˦w!l»>˜U¯fL¯Uskç¹»W˰¦mÛ¶U#×&N£ÆŒÑ:/¢ªµGB£’^C%e»xÏzâI—º;ɧî@ïBŠ„ïƒyIT«®þñ/ÔK/ýÓmsÏžÝÕß§=œ¨öÓØü	 ù³ãÊ2{þðÈÏÔ¸qU;Š|´dÉ2gψ:wXSj^ÄêÕkîÚ:¤©FÕÔ8ó"œ!MU£d‚õ0Õ£G7£ë“„0$1köµùÑÇžW?ÿùý^ÃþõÚcÌ]ðhØw€0Ø—“À­[³]ýö:³ÿ™VVæÑEíu@ç2ÊÒ=ÂP:ö…Üù‰ß¬WKço-¤ŠŠºvÓöeêÍúŸ©¥†ûFHƒÍœ0Á™±c8“HÄ®»(nC2Ó8ýß[Ô´?G·{2)˜·úÜ«{¨î=+«÷°-:C[t,ýa0OÂ`Î*ŸH„!j¥¿a—ƒÝFvP'\ÐÚcP[×äiš5»Þ\-K¾ÊêM&/ÙdN&XWU9K½z¬‡ª:˜\nMÂ`M*B5a…K!~^ƒŸG"ÎRÂе{Guì…5‰hsÜ|oÚ
5ëíOÂP\òCqù«ö”0vÒ5xx÷bÝ&ñõ~´t½zñá…*]t%ûCÈäê3jUCÃBW$dÒµÉK&zNš4VUW;ó"ÜáL­ó"¤ÜÖÂ`kfÚnWJÆïÕOM9dpÛÁüé“w4¨
ë>C2~† I8E‚³„03Š"aˆ‚büu fÌM…AWÛæÍ[\‰˜9³NÍv–{mjZ¬d®„éKVi’yUNOÄHwXÓ05dÈ ÓË‹‡0oÑ*GÌÐ"zNƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒy!Âë2©Zz"¤G"5ÁZV›3yÉ&w^„grÿ
s'YwêÔÑäòÈb†ÈPÆZÂ`†aÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ‹!º;úiˉ˜«jk›‘X¬V®lÑ…f•ÉÐ%é=Ú?/¢oßÞY±Q Q‘Œ·„ÁŒ7 ç„0è¹X]Š0§afEÂÅøë@̘Ç%ºÖl߾ݕÒ$K¾Ê¦E‹šu¡Ú2Y¥iìØQ­ûEìè‘6lWmlØB„!,1;â³< zNƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒy)…!WE¦OŸëJD}ýwk™/aòa?~´³J“ì!“«[ß»t	·ô4Â`BÛ¾„Á,'ƒž çbu)œ„!˜QCã¯a0cn£0èZ.›ÌIO„Ì‹	Ö•s2y¥†4µÎ‰h•Š~ýriBLÈÚƒ0˜åaÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ“"¹žföœ†Ö¹Î$k‘ˆ…Ã
iª®vv¯ö6žªFŒâÞ
aÈEÜîr„Á,?ƒž çbu)œ„!˜QCã¯a0cžtaÐ=e³³[µ¬Ò$ó"æÌitWjÚ¸q“.4«L†4ɼˆþý:«
¦;˾NVÿuä
ª[·ÖMí².(QÁ¢…¯ª·Þ¼E¹·š2å̵¾Û"f9Aôœ=«K†àô ÁŒ¢ˆ@¢ ƒórÝ“oذѓ‘	YîõãWêB³ÊzõêåÌ‹ïÌ‹¨ræE8“¬wü8p`Vl\ƒž4 ç’YŠ0di=Gô\¬.E‚Óƒ03Š"aˆ‚büu fÌ+ErѨoX f8¬enD]Ý|5þ’\¡Yå'Nô$"]&²‹P€0è¡"z.™¥C&‘Ös„AÏÅêR„!8=C0£("†((Æ_Â`Ƽ҅AGiÅŠOÔ«¯¾¬¦Mû‹úèã.jÅŠMjýúõºÐ¬²¡C‡ªšš¯"ÕÑ£G¬ØB
==„AÏ%³aÈ$ÒzŽ0è¹X]Š0§afEÂÅøë@̘#zN™“ž?ûì3gHÓ÷ßÌ™3U}}½#+ôg”öìÙÓÒ”’‡ÔûàÁƒ3"ÍO=+„AÏ%³aÈ$ÒzŽ0è¹X]Š0§afEÂÅøë@̘#zN™Â RÎfsMžDÌ™=[ÍsÎM_&Lð†4¥$BÞÛ·oX G„0è¹d–"™DZÏ=«K†àô ÁŒ¢ˆ@¢ ƒs„AÏÉTtW¯\¹ÒÙ3b¦×#ÑØØ¨Ö­[§Í*“!McÆŒQé!Ç2ñ:ý…0¤ÓØyŒ0ìdÑÖ §ƒ0è¹X]Š0§afEÂÅøë@̘#zN…ƒ¾F哈¹sçªåË—ç
õ•˦Ìy;/WóçýŽeU}¤”B2€ä8Eô`=«K†àô ÁŒ¢ˆ@¢ ƒs„AÏ© »ÓâÅ‹½!MÒ+1oÞ<µ}ûv]hVÙàÁÕðaƒÔ^_Üß鑬£†©N:fÅVJÂ`–i„AÏ	aÐs±ºaNÂÌ(Š„!
Šñ×0˜1GôœâÝÝ×®]ëöFLŸ>Ý}¯««Sk֬хf•
2H=|‡@k}wd¢Oÿ¦¬ˤa0K$ ç„0è¹X]Š0§afEÂÅøë@̘#zN¥}‹”³kõoXÓôéïª>2Ûx®Gnªºz¤+UUŽDŒl‰¡Có_¥)WK]Ž0˜eaÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ='…!½¥©IÏ=zNRí;Lv†5ÕºÿªmÛ¶¥‡æ<®©‘]«eS뿪*§gÂÖÔ¹s§œ×ÄùÁ)§þ:ýô£ÔÁ}Éø¶ƒ*„AÏ	aÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ’"#Fî­¦L9Ó÷›6mng÷ê™3ëÔìÙ
jõêµ¾˜\'2¤IæAìœÑ:/¢_¿Þ¹.)Zù”}Q[·nUS§~[Þ‰F÷AŒ0)„AÏ	aÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ’,ú'Rª¡ašùA×±t©Ù*M2¤I7/bĈ!¹nUpy½ÓÖO¼Ô«çË_ÞSýè‡ç«Aƒú{eº„AG%»aÈf"%ƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒ9 çTŽÂ {Ò?–=#‰pz#dXSmí<õÙg[u¡Ye)‰HŸ!=]»î’¶à…ÿ¡®¹æW¾Ëú÷ï£~xÕyjÿý÷ö•§Ÿ é4r#z6ƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒ9 çT) {z™áΉØ1¤I„bժպЬ²Áƒxs"d>„;/‘ˆúfŶUð‹_> yä9mÈ9ç§Î9û8ígƒKV!Â…Ä-@ô\¬.E‚Óƒ03Š"aˆ‚büu fÌ=§J=¥,Xêiš>]VkªsÏsŦ—wïÞÕ‡ÔëÔJMéqéÇç_ðõöÛ3Ó‹|ǰÛÛ9·aðaÊy‚0èÑ z.V—"ÁéA‚E0DA1þ:3惞 ç’YÚÒ²ÆíHÍ	Ö›7oÉÓž»C™ÜšvL²–cgÉWŒC=C­\Ù¢½.U¸ë®\iøÒ—öL±Ó³G¢í„AÏaÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ=ÓÒfÕ;½­ó"dxÓ'Ÿ¬2ºtàÀ~JVj’kL_ßýîÉêôÓŽrÃéa0£†0è9!z.V—&IV¬X¦Þ|ó5%ï--+Uß¾ýÕ®»QÆT“&í¡Ú·o_ÖCQ°fUŠ0d!IDAÂpÙeçªY³þŸËãÜs/QGuBÞlÖ­[ëþYºt‘úøãη¬=œß#CÕàÁ»©=÷Ü[uéRøDR]ã¥=—BJeU¦ÔäjÒ$«6Eõ:äýÜÞ†ÆÔ´?oTã÷ꧦb÷Æt²dì{ゥëÜÿæ…Ån»ÉóCÔî»^õï?0*Égœ¯Ž?þôÐOµ}ûvõôÓ¨{ï½#çµ}úôS'Ÿ|–úú×T;v̗σž çuéúõÞ„¹®HˆDHÏ‚ì#‘ÏK&\O=îrµðƒÁÖÃ;An¿ýZg2ù§9õ˜cNQÇ{ªêÕ+ú=0=v„AÏÅêRÛ…AV‘¸ôÒ³Õܹq¼öÚŸ©}÷ýªQ¬iÂ`Jª°8„¡0~¥º:)Âpß}w©'žxÐÓÑGŸ¤Î9ç{F±¦Aƒž çGé•?¸]½òÊëyÝjìÐÿT_{ŠÕÂðöÛÿVW_}‰ÑóM˜ð9uÛmw«N¢Ý}aÐãGô\¬.µ]þñÿU7Ýô#Ã}öÙÏ:°Ú¶m«ú׿þ®]»©ßÿþ©H»þ¢ EC[ÔŠ“ Ë–5«ÓN;ÒÇaìØ‰Îν_q¿Uœ5kºzõÕ—}Ÿ_ý/#í±D|x½„ÁCûÁQGW-ZÔœ×}méQ<þø¯ûzdèá—¿¼¿;ŒyÉ’…êÙgó=ûqÇæŒT¸ÀWVè	 'ˆ0è¹X]j»0È|…k®¹ÌŽ0`À õ‹_ü^
¸s¼¤üRøõ¯oWÏ=÷”Çùò˯Uüuï¼Ð„¡P‚f×#fœl‹J‚0lÞ¼ÉùÝq£7¬ñæ›ïrç+¤³üç?ÿ¦n¸á^Ña‡}K]r‰ÿË
ïÃ<=4„Aϥإ2DiÿNÌû6ㆢöª9Ùê†?þñqu÷Ý?wŸñ´Ó¾ãìh=Õ÷¼ÍÍ‹Õgí•ÉßøÃ_¼ó(=E„AÏÅêRÛ…AàɆ¼[}ë[Ç8•†eñü䓜_Gxå2ñ¬³.ôÎ=@
%hv=Â`ÆÉ¶¨$ƒ0“/þô§'ÔСÕôRê^S§~[Édhyɼ¨ßü溰¼Ê=6„Aϥإ2‡á̳®2¾Mß¾½á¾“•,­ºï”=Ô¢¹Ý1éù½÷Þr¾p¬Wòwîuç·ªçŸÚûèé§_Q={öòÎ=@ô=«KK)kÖ¬V‹/P~¸Tõë7ÀÙpfŒ’I‡a_òíá7¿¹sÞÂüÇ×Ô•W^¶šœñCN4‘~€0DŠ3¶ÊJ%2‰±¡¡N­_¿V
>ÊýWèøc™/5{ö—oüÓŸþG„AaÐs)véSO½¤n¹õwmÞfÒ¤±­’°ïžjòäñ¾Ø¸—Uݰa½’aDK—.V²ê‘üÍP]=®à?î~øg§ë{½g»÷Þ'Ýß%^Aƒ  çbuiܰeËfõØc÷«^ø£ola
’t	Ê8Bйs—Tq›ïõõsÔ…žîÅHïB®o¼ CX„"À+á¥qƒôÈÒ¨©?ìÓý‹_Ü×ù]p¥»Ürz¹É±ürøá;WY“ºn¸áW&—Å zLƒžK±Ko¼éngÿÿúnÓ»wOGöð$aÀ€¾¾ÏÓOâYôD–R—ÕÍtÿ½K{ª«Ç«óÏ¿ÌYurzóŒeȳÜ#õzá…×#]!
aH‘õ¿#~‰8‹Sêêf«[n¹Æëòoо°3ÙùζB¼Ï^xáYwÙÕTÁ-·üZí±ÇS§¿##4ªa0Âd]PÜÂ@z.½ôjµÿþ…ú>_°`ž:÷Üû;œ|òÙê”SÎöÅr‚0èé!z.Å.=ýŒ+½MêÕĉծ$|É…=÷œh|Û8„á™gU÷Üó£6å3wQ„䨣RÒ{!/‘ŽŸÿ¼í^£Æ¤!i0Ò†4I9ŒKdèÑYgëÃ"½	“'ïåì69ÌY©aû
‚l¤$/ݤDßÅ;Nä?øï|çDµpa“÷ñ³ÏNs7cò

<@
hx9Â`ʲ°R	ƒÌiZ´h¾š>ý]ïú)èàµ×¦©ë¯¿Ò;å”sÜ}X¼‚=D„AÏÅêÒ8„A&^~ùyÎöõï{,d“Yµ }s$ðÊ+/ªÕ«W)’ÍÜn½õ¯^ùFP¾Œò…0DI3w]Cn66·0È„«¯¾Ù7쨥e•3Aùgêïÿ«‡jäÈÑî¤å:xe¹>üp‰:ýô£¼‹ñM#Âàáõ >‰9‰C†LJž;w–ºøâ¨šš	ù{á‘G~§}ô>¯,Ìpd¹^9X¶l©wýSO½ùæmƒ‡×w€0øp$ã$aÈÜK!ªµŽe>„üO>Õ+!ß0<üðsO‚ÊÌÂI¤8çCq¸»Ö¸…¡­žå˃ôá/¾ø*w׿ ™×Ý~ûÝêsŸ‹®wAî0è³€0è¹Ø^—0ÈÿçÛ·ï tâŸ9ÂàÐC¿¡.»ìÇFèþú×çáG;G9õÔsÕI'itm˜ „AOaÐs±º4aµÍesyEùGýã? î¿ÿ×ß¶þð‚ò8@ò€–Ç%CÐ,¸Ä&aÈ\bÙdÅ4Ù´í²ËÎñH†™?å]dp€0è!!z.¶—Æ%:2jAVY”áG<ðowÓžÁÕ«[Ü¡N©¹òw‰ì¿Ð½{Ýí
*Côø=«Kã†ôµÍ?ü¿Õ÷¾·ss¤|áȸå³Ï>λ\Æ6ÊÏ»ìÒÕ+‹êaˆŠdÛõ mó±õS›„Aýä'ßWo¼ñO—KºçžÇs¢Û´i£:çœ|Ãdï'õaÐEô\l/[jkg¹sŒæÏot7rÕñ‘eÙŸxâÿê>ò•Ý~ûµêå—_ðÊ.ºèJuÄ;‡$zDp€0è!"z.V—[¤;ñßøŠÇ ÌC醔õÒçÎýÀûäúë©öÞ{ç’ˆÞ @4¨a0€daˆmÂðûßß©ž|ò!Ô‹/¾¡Î ÒC)=•©×ñÇŸîìüz~ê4Òw„AaÐs±½4.aX¶¬ÙÝ­9õ%@[\¤§ hï”wÞyCýèGßóª™0ásîÊHíÛ·÷Ê¢<@ô4=«K‹-™“	¯¸â§ê ƒ+ˆÉsÏ=¥dE“ÔËdØA*6Ÿw„!já¯AÂ3³á
Û„áÙgS¿ýíÿñÐ<÷Ü?U—.»x穃††¹ê»ß=-uª¤—ò¾ûžÖÆzA zxƒž‹í¥qƒ1¼è¢3¼yŠÂD¤`ß}¿êîØ¾iÓ&õÞ{oz=A°~ý:ç£}{@Ý}÷£Î¦±ÕEÃ0èÑ"z.V—[dŒà‘Gè18÷ÜKœuw®uî}`x +œvÚ{ÑòâþûŸQ}ûæ·4œWQCp"üaˆfŒUÙ&é=¹†(lÙ²ÅùCätï
Áuãw¨½öšR4rƒ- çb{iÂðÃ^¤Þ}÷M…,˜"½€Ýºu÷ÊÒ'/çúï=œ¹tò‰'NuWkL}^Œw„AOaÐs±º´ØÂ Üq‡yFÿ­o£.¸àòb"®ºêBõþûo{×_rÉÜ]¡½‚" E€ª©aÐ@I@‘mÂpã?T¯¾ú²KN6p”3_²Û¼L–L½>øëÎÒÏצN‹òŽ0è±"z.¶—[–.]ä.{šâpôÑ':ó.Nzï¦ÂðÁï«ïÿ;Þu»î:Ô™ßôXÑzS7BR$üG"Îâ/(ãå%ß<ðÀ³n·bX@é¿äZÙ”é¶Û~ã,¹Vœ±‡©ö!)Å}GŠË·XµÛ$7np¾üº·‰Û7¾q´ºðÂ+|.›<žsÎñ^™ôRÊï$ùÝTÌ §‹0è¹Ø^ZlaÈÜcéñÇ_ÒŽ$Hÿ» WƒnqÓÍaÍ 'ˆ0è¹X]‡0dŽ)>ù䳔쨘ë%ÿÓÏ\íHöZ¢Sˠɵ¿ûÝjĈª\ÕDVŽ0D†²ÍІ6ñXû¡MÂðÌ3:ßþÂc•ùGlÖtñÅgªúú9^Œ¬Û.ë·û…0è	#z.¶—Æ-=ö¢ê×o@–{îù¥zæ™?¸å¹æ0¤S”ÀC9ÂémعákV¥ z˜ƒž‹Õ¥qƒŒ¾à‚S”|³—zÉФ©S/ðõ4È„$YÝD†ÈšÈ2	1õºæšËÔ›o¾–:U_úÒþm®f"½Çòâ9@
¡g~-Â`Îʦȸ…A–J½âŠkÕ˜1ã<²ÛO<älÜxW¶Ï>û©ë®Û9ùY>ÈüòB¾‘¼õÖì!K^%ÎÁn»
U;wI/ÊëaÐcCô\l/-¶046Ö:7œêaÈ\aQä_7øóŸŸôbä@–UMï-”/.¼ðt_Ìm·Ý­z÷îã+K?‘9‘½zõN/ÊûaУCô\¬.CÀìÙ3Ü¥PÓaÈ·55ãÕ!ÜuЛÕôéïzsÌ)N…G–qÉa_²¼šÜ£ÐÂP(A³ë3N¶EÅ-©ç—½ª«Ç©ææ¥jÞ¼:_ï£Ädö@67/vWHI]oúՒ̓ž8 çb{i±…A¾8ë¬ã|{¤TWWŸÿüžJVGzë­ùVOJñ’}žd¿'yI"é_V¦âÚzrye„AOaÐs±º4.a2A6LYµêÓ@&©±ˆ--+ÝU‘Ò‡"^¼#a0%eGÂ`G¶¢T«2™ñª«®WãÆíî…ÈÞ-W\q¾š9ó}¯Ìôa0%•_·R_Ulaç›3g¦ºä’³Ú|ÔÃû–jl¬wþÕzq²râ!ÃÕ#Üëëuô†@|Œ0D1î*ây6ÙÎý¾ûîR¯¿þªVä[Ã#<^xà!îê²Y‹ìÜšÏëÏ~5k.D>õÐõð× á™ÙpEœÂ +¥ì³ÏWÜ¡MM
¾ÇQ˜2e?w¨bfÏ¢|ñpì±_óÅ›žd΃0½.3ކL"­çƒž‹í¥qƒ0!E7ßüc%«&¥¿äo…N˜ªößÿ`·§á²ËÎõz#î¸ã5vìDwqƒ°½r y–éí:¦‡AOaÐs±º4naH‡±zu‹Z´Hæ5´sç+ôï?PuêÔ)=ÄŠc„!ž4 ñpŽú.qCmí,çˆ5jòä/xó	Ö®]ãüþ˜¯Úµk§d^CúÚìQ?cõ!zŠƒž‹í¥q	CŠÃŠËiXìL|îïödþ­ Ë®‹T´´¬r{;v옺´¤ïƒ? çbui)…Áj0iCÒ`ña("Ü"V‡0±ù±U0èQ#z.¶—Æ-¶óÈÕ>„AOaÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ=ÛK³!zNƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒ9 ç„0è¹Ø^Š0˜eaÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ='„AÏÅöR„Á,Cƒž çbu)œ„!˜QCã¯a0cŽ0è9!z.¶—"fBôœ=«K†àô ÁŒ¢ˆ@¢ ƒs„AÏ	aÐs±½a0Ë ç„0è¹X]Š0§afEÂÅøë@̘#zNƒž‹í¥ƒY†='„AÏÅêR„!8=C0£("†((Æ_Â`ÆaÐsBô\l/EÌ2„0è9!z.V—"ÁéA‚E0DA1þ:3惞 çb{)Â`–!„AÏ	aÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ=ÛK³!zNƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒ9 ç„0è¹Ø^Š0˜eaÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ='„AÏÅöR„Á,Cƒž çbu)œ„!˜QCã¯a0cŽ0è9!z.¶—"fBôœ=«K†àô ÁŒ¢ˆ@¢ ƒs„AÏ	aÐs±½a0Ë ç„0è¹X]Š0§afEÂÅøë@̘#zNƒž‹í¥ƒY†='„AÏÅêR„!8=C0£("†((Æ_Â`ÆaÐsBô\l/EÌ2„0è9!z.V—"ÁéA‚E0DA1þ:3惞 çb{)Â`–!„AÏ	aÐs±ºaNÂÌ(Š„!
Šñ×0˜1Gôœ=ÛK³!zNƒž‹Õ¥Cpz†`FQD QPŒ¿„ÁŒ9 ç„0è¹Ø^Š0˜eaÐsBô\¬.E‚Óƒ03Š"aˆ‚büu fÌ='„AÏÅöR„Á,Cƒž çbu)œ„!˜QCã¯a0cŽ0è9!z.¶—"fBôœ=«K†àô ÁŒ¢ˆ@¢ ƒs„AÏ	aÐs±½a0Ë ç„0è¹X]Š0§afEÂÅøë@̘#zNƒž‹í¥ƒY†='„AÏÅêÒ”0XÝHKwÀ]Ô^t¶¤5å×„!™9M	C2[«wÙApA·øoléKЬ”0„ññç^ÝCuïÙ; 	üQ@Ì“†0˜³Ê'aȇZé¯AÂåaðóBü<’r†0„ËÂàç…0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'€0øyp„ €0„€E(Ê„ÂP&‰ä1 ‚¡€€ŸÂàçÁ*ÂP	Yæ!à'að7™3@À6Sö½\y mÍR¯ÿû:µtÉÖµ‹A :Eí÷•k¬{”E_Uo½y‹uí¢A(ß>öyÕ®]‡¢#SÎ…®t¦8Ÿ›±Ä‹…ò°µÍVÙ´xµ/´.SÆa«õçx²A¿J_9Il5ÿk‘«æÇ4E‰)S!¶*'Ç@¬	±³<'!Jm3¦Pĉ²‘)â•ñ[A/”D„¨ø±‚LYx¼Ú¾4O>”/¶U$æÆ¨ñÁ|Qb¤ª>Øi>o0~˜vE(a'
ñ墇rCÃT¹cBIR‚š§Oš¯š‹S¥¹qj{ÜB˜¡Ô[@ì!/HPÏÅ“óáâTñã™Òü¸DUœxa6olœ*|ˆ
X@[˜²¸µ»¾¾©FÂÈ@'µfhFÊàˆ>@!ø"!Ï‚¨ÿ4¬U=@æàhÁàŒðâ<rá»bp–dØ[2x5âxçÁƇñæÂ¦ÿ÷ú!í
j¢ÕÅG–Ö%1ŒJŒ$†íq#<÷Ç£á367Ü÷Êã‹=á)¡ðˆpƒÐN¸3U\,û&Êq ò‡«k‘ñu-pÈ鉇à2ãLÜ8áЂž=¡–£Ž[YÖ7ÜËà«_CmGq¡ ””`ŠÝ·354=‡Y”µþº>ªX3†ëÍùÖ?ç«ê`õ­%¶;„ÅNbç±&¬°°Xv	;¦ÄëëÉàêò?OäÿÃOíSYI¹KK—ËGÕX¾pf¾rãq¦IgÉÄY¢|~„,®„ï<Šåæâæ
€ò[£úûzÃü† Ì_tÅ÷Hhú¢‹†û÷p'ÜþÝ_t¶5Ðpî;¾BV ÒáÊþKhÁfL%°ƒù¸/à‚AbA"HS`•EpËÀ0,% ¬kÁ°l»Á>pÔƒ&pü.‚+à¸WOxzÀ[Ð 	¡#Ä1C¬GÄ
ñA‘0$‰GR‘t$‘ 
d²)CV!mH5òr9‰œGÚ;ÈC¤y|@1”†ê¡&¨
:õAÙhšˆNF³Ðéh!º]†V Uè^´=‰^Do íè´˜ÆÄÌ1'Ìã`±X–‰É°yX)VŽUaµX#ü¯aíX7ö'âœ…;Á‰'á||:>_ŠoÀwãuøiüþïÁ?èc‚#ÁÀ%L dfJå„„#„3p/uÞ‰D&Ñ–è
÷b*1›8›¸”¸‰¸ŸØLl#>&ö’H$C’#)€Kâ‘òI%¤õ¤½¤¤«¤RYƒlFv#‡“ÓÈr1¹œ¼‡|œ|•üŒÜOѦXSü(±ee9e¥‘r™ÒAé§êPm©ÔDj6uµ‚ZK=C½G}£¡¡a¡á«1^C¬Q¤Q¡q@ãœÆC÷4]šC›DSЖÑvÑšiwhoètº
=˜žFϧ/£WÓOÑÐû4šÎš\Mæ|ÍJÍ:Í«š/µ(ZÖZl­)Z…ZåZ‡´.kukS´m´9Ú<íyÚ•ÚGµoi÷ê0t\ubuòt–êìÑ9¯Ó©KÒµÑ
Óè.ÒÝ®{J÷1cX28>c!cã£C¨g«ÇÕËÖ+Óۧתף¯«ï¡Ÿ¬?S¿Rÿ˜~;cÚ0¹Ì\æræAæMæ‡&#Ø#„#–Œ¨quÄ;ƒ‘ÁBƒRƒý7>²ÃsWÖÞ7ÂŒÆÍ0Últƨ{¤ÞHÿ‘ü‘¥#ŽüÍ5v0Ž7žm¼Ýø’q¯‰©I„‰Ôd½É)“nS¦i°i¶éÓã¦]f³@3±Ù³fÏYú,6+—UÁ:Íê1764W˜o3o5ï·°µH²(¶Øoqß’jéc™i¹Æ²Å²ÇÊÌjœÕ««ß¬)Ö>Ö"ëuÖg­ßÙØÚ¤Ø|oSoÓik`˵-´­±½gG·²›nWewÝžhïcŸc¿ÉþŠêàé r¨t¸ìˆ:z9Š79¶"Œò%U5ê–͉íTàTãôЙéí\ì\ïür´Õè´Ñ+GŸýÙÅÓ%×e‡Ë]W]×±®Å®®¯ÝÜøn•n×ÝéîáîóÝÜ_y8z=6{ÜödxŽóüÞ³Åó“—·—̫֫ËÛÊ;Ý{£÷-=Ÿ8Ÿ¥>ç|	¾!¾ó}›|ßûyùåûôûÓßÉ?ÇçÛ1Â1;Æ<°àlhd¦n
l2âU=
¶ï~ƶgg³÷²_†¸„ÈBŽ„¼ãøqæršC±ÐˆÐÒÐÖ0ݰ¤°
aÂ-³ÂkÂ{"<#fG4G"£"WFÞâšpùÜjnÏXï±sÇžŽ¢E%Dmˆzí-‹n‡Ž;nõ¸{1Ö1’˜úXË]{?Î6nzÜÏã‰ããÆWŽï?'þl#ajž„·‰!‰Ëï&Ù%)’Z’µ’'%W'¿K	MY•Ò>aô„¹.¦¥ŠSÒHiÉi;Óz'†M\;±c’礒I7'ÛNž9ùü£)¹SŽM՚ʛz(ž’¾'ý#/–WÅëÍàflÌèásøëø/Á‚5‚.a€p•ðYf@æªÌά€¬ÕY]¢ Q¹¨[Ìo¿ÊŽÌÞ’ý.'6gWÎ@nJîþÜÔ"ÏtwSqÑàMˆÐ70ðÆR#Ÿdý›>í€ÁÞ yºêª"¼3l
T¢‚"ð¨î§_åøm”x€oû}ZÔÙŠeXIfMM*>F(‡iN’†x † JASCIIScreenshotRh>	pHYs%%IR$ð×iTXtXML:com.adobe.xmp
   
      
         330
         1158
         Screenshot
      
   

ImiDOT¥(¥¥&V®+&"IDATxìÝy¸UUù8ðuÑPqÄRQpÄ)r¢Lrsʵ'5ÅyLÉ4õ!ÃqžsSKqzœ0œsx¤$E³D´œ sHîýñîïïÒΰ/÷pîÑóÙσ眽ÖÞkíϾÿø>ë}WCcccSCCCr @€ @€Ô—@CÓœ£¾ÙÓ @€ @€„€À¿ @€ @€@
d¡9éd©[·nuJà±	 @€ @€õ)РÆP}¾xOM€ @€Jæo€ @€ P§Y`(êOÛ™¬Nÿ<6 @€ P·jÕí«÷à @€ @€@½H%«÷¿ÏO€ @€Ô­€T²º}õœ @€¨w¡zÿðü @€ @€@Ý
4Ìž=»©[·nuàÁ	 @€ @€õ*ÐÐØØØoW²zýðÜ @€ @€@½
(>]¯oÞs @€ @€u/ ÆPÝÿ	 @€ @€êU «1¯ÎP½þ	xn @€ @ ^¤’Õë›÷Ü @€ @€@ÝÕýŸ @€ @ ^²]ÉìHV¯¯ßs @€ @€õ,­š³e½CõüWàÙ	 @€ @€ºJV—¯ÝC @€ @€RÊv%³#™? @€ @€@ý	X1TïÜ @€ @€2¬øt|S€Ú_ @€ @ ¾¤’Õ×ûö´ @€ @€¹RÉæRøB€ @€¨/,•¬©©ÉvõõõÞ=- @€ @ e!õ…ü% @€ @€êO K%‹C‚Cõ÷ò=1 @€ PßCõýþ== @€ PÇY`¨±±Q¡:þ#ðè @€ @€@}
¨1TŸïÝS @€ @€Ÿö7@€ @€¨W,•¬^Þs @€ @€êY@`¨žß¾g'@€ @€êZ@ñéº~ýž @€¨gŧëùí{v @€ @ ®¤’Õõë÷ð @€ @€@=d¡¦¦¦ÔÐÐPÏž @€ Pw5Ucèoû[Š3fÌHo¿ývzçw²ï-´PêÕ«Wöo¹å–K묳NZ}õÕ˾¬éÓ§§sÎ9'ëwä‘G¦µÖZ«ì5: @€ @€êE KSÉ>ýôÓ4a„4vìØt×]w¥)S¦äv_mµÕÒî»ïžvØa‡´å–[¦=z´»öŒ3ÎHC‡ÍÎßvÛmiàÀíú8ñ7ÝtS>|x‡8xà´ÒJ+uè	 @€ @€Úè’T²]{íµéÔSOM³fͪˆÆÁœöÝwß´ÕV[¥îÝ»§‰'fß›ï/0TšyذaiÈ!¥;µi}á…Òúë¯ß欟 @€ @€ÀE ª¡ÆÆÆtÇw¤SN9¥ìê c=6m±ÅiÅWL={öLï¿ÿ~š6mZ?~|5jTÉ€RŸ>}²¾-_‚ÀPKöß'Mš”FŽ™®ºêªöEÎqš @€|AfÏžÝÔ­[·ù>ÝìÄŠž‡~¸äX_|q:ôÐCÓâ‹/^´_¬8ºçž{R¢QžC`(RJS§NÍj85¯´*u•ÀP)m @€ @ öæ¬âiŠiÎÏ]ÉÞxã´ãŽ;¦W_}µ¨H‚¢fÍ€ŠöiÛ0sæÌlõQ¬t)w•ú_ûO~ò“tÉ%—üïD‘oCE`œ&@€ @€_ù^|ú¹çžKÛn»mÉÔ¯°úóŸÿœÖ]wÝyb=zt4hPÉk†Jò´j¼ôÒKÓàÁƒ[+ôC`¨Šs @€ @à‹#0_kMž<9KK*Ljã?¾\·’í7ß|sÚÿý‹ö*JÓ®áºë®ËÒùÚ5´9!0ÔÄO @€ ðÈjÅœ+]g(Ò¼ú÷ï_2},Æ>O?ýtEÆ¿úê«ÓG·mwµ#)zB`¨( @€ ð¥˜/©dMMMY¡éÆ”;ÆŒ“öÞ{ïrÝr·80Ûù¬íCmEŠÿ*n£… @€|™æK`hĈé˜cŽ)ë´ì²Ëf»`uïÞ½lß¼Þ}÷ÝÔ¯_¿v»•	åLI`(¿•ž @€ @à‹,íJVÉÉþýï§VX¡l±é@2dH:묳*î7nܸ´ÝvÛµº¯ÀP+Ž’?†Jòh$@€ @€_lÅМ-ë+Rã'T.¼ðÂtÒI'åzôÑGÓÖ[o«oG;í±Çéî»ïž{™ÀÐ\в_†Êé@€ @€¾M%›5kVêÝ»w®ÕB¡÷ÑG¥=zÌÈ_|1­·Þzsï-04—¢ì¡²D: @€ @€/…@¶+Y¥v$9rd:úè£sÁl¾ùæéÉ'ŸÌÕw^;rÈ!éúë¯Ï.¯T`(‚_<òHzì±ÇÒ´iÓ²Q×h©¥–JË/¿|ÛtÓMÓw¿ûÝÔ«W¯yzÁëþøÇ?¦W^y%«Ë4uêÔôúë¯gµ”–^zéÔ§OŸlìHã‹àÜ€RÏž=Þ§ÜÉù
£?ýéOÙü'OžœâßìÙ³ÓÚk¯ý[k­µRüëÛ·ojNm¼è¢‹ÒO<‘:è ´çž{–›¶v @€ @ ƒ]1´ë®»¦ûï¿?ל.¾øâ\}çµÓ?þñ´îºëf+˜|ðÁ´Ã;Ìë­Òk¯½–ÕDºå–[rßc«­¶JÆ
K›m¶YîkÚvüÏþ“n¿ýötÙe—¥‰'¶m.ùû€Hƒ
J[n¹e‡R+Š4Ÿßá‡^r®ÍQ|çwNŸ}öYúÍo~“þùÏžÎ<óÌæ.>	 @€ @€
	dŧã^Í«4æõ¾Ÿ|òIZd‘Er_~ÅW¤c=6wÿ®êŠ¡C‡¦áÇB¬Öùð˦Ðí¿ÿþYl™e–)z¶
MMMéòË/O‰UJ9b~£FjW»Ø=+Š`Ú¡‡šüñbCå:/0”‹I' @€ ÐaŠ¥’EjÕ6Ûl“{÷Þ{oŠFµ|Ìœ93
80=üðçyðÁ§.¸ E*×矞F;ì°‚}×\sÍôÐC¥•W^¹`{Ë“q¯ýöÛ/3¦åéì{¬¼Ùk¯½Rÿþý³ôµéÓ§§çŸ>pÂ	éÕW_m׿å‰øÄœË•ÅJ§¨ñ4eÊ”vÃm¿ýöéÜsÏÍRÈ>øàƒ4iÒ¤tã7Î]!Ôö¡¶"~ @€ @€ÊT,•ìŒ3ÎÈVÖäÖ/¼Ö_ý¼Ý«Þïý÷ßÏVØKßúþ÷¿Ÿî¸ãŽv+­®¹æš¢iS‘&õûßÿ>­±Æ%Ÿç”SNIçw^»>{ï½wÁ`QtüôÓOS¤®=ýôÓí®kyâå—_Î2-ϵý^‰ÀÐÉ'ŸœÍÚÞ{—]vI÷ÜsOÁÔ¶ØE._ï¼óN«Ë†ZqøA€ @€*&¥’EÚRgP·,ôœgvo¾ùfŠBɵx„G~ZnwßvžQü9R´Ú±ÚgÕUWÍŠR·m‹ßýúõKÏ=÷\ÑÝØþþ÷¿§UVY¥Ð¥Ù*¡,uïÞ½`{žU[»í¶[˜)xƒÿ²³¡gžy&EîBGì·Î:ëjÊÎEÀpƒ
6hÕ.0ÔŠÃ @€ P1,0ÔÙúB1›ŽžŽþï½÷Þ<ïš×ÏÏ#ŠbŸxâ‰E‡ˆÇÆŽ[´½ØŠŸæŽ:ê¨4bĈ柭>c¥P\_ì8õÔSÓ9çœS°9o€/Ò·–\rÉ‚÷ˆ“
…]±Ââ‘bV®U¤äEÑìæC`¨YÂ' @€¨¬@–J…·6Þxãíšõñǧ…^¸²OS»½õÖ[Ùvï¥nuÉ%—d5}Šõ¹ï¾ûR¬Ì)uL˜0¡àne‰ÀH©£TP-¶|/Wk(R¹Jͯ³¡­·ÞºhÁé;ï¼3[Uêù¢m§vJ±“\Cƒÿ @€ @€ŠT,0´Ür˵«
Sj¶±ygƒQ¥î?¯mÅj㴼߸qãJڎݸV_}õ–—´ûµv"€Ôöȳò*ÒÉÐöÒìwË€JÁsNŽ92yä‘Åš;µb(Þë,PôÞQg)‚bå|"xõ½ï}/»ÀPQN
 @€ @ SY`(þg¾³5†ò¬Ti9ÓÙ³gwzÌ–÷«Ä÷(8;Œ•;bEN©Ò±ÅýB-Tî6©PîãŽ;.]yå•%¯ZBQhºÐ‘'°…ÂO?ýôB—gç:³bèí·ßN½zõ*zïhX|ñų"ÚÄ*vD­¦Þ½{gÁÆ¡C‡¦_üâź:O€ @€Ì£@Åj­¸âŠE.šÛŒ3ÒW¿úÕBM]vî®»îJ{î¹gÙñ?üðôÄK”ì—gÕYg•†Òê>7ß|sÚÿý[kû£T*YžÀÐI'”Î?ÿü¶·û»3¡Ø-oŠ`ÔjŠšJ±­}¡ãÝwßM‘r'åêºÞ9 @€ @ ´@ÅCßüæ7³Ý¶J÷¿ÖW^y%Å*£Z:ò¬Ö‰ùæIƒ‹·&Ož\òñ",ÒÂZqïwÞyn}–mñ½\ZUW†bŽ}ûöMS¦L‰¯¹ŽØî´ÓNK›l²I®þ: @€ @€•ÈRÉ*q«<‰–ãŒ?>}ç;ßiyªä÷"ýóŸÿ,Ùg^# ѼXžt¸Hƒš9sfÙ¡J`nyñG}ÔnëúXuu€F•&Mš”ußh£ÒOúÓ´ï¾ûLÁ‹Ô«§žz*vØae‹OÏÏC1Ù}öÙ'ÝvÛm-3×÷XA)nŶºÏu @€ @€ÜrÈ!éúë¯Ï=pÞÝ©šo8¿
U·’ä#Š'GrÇî»ïžî½÷ÞrÝRª^mµÕŠö‹ZLq*è[¿?òÈ#)
53&Íš5«è}Z6´|æ–盿w&•,îñôÓO§oûÛÍ·ëðg–.¸à‚´ÒJ+uøZ @€ @€ù*V|úì³ÏÎÒœòý«_ý*~øáy»g¨9óÁ¤HC;vlÙ•1ÅnÞ¯_¿»‚ÅÎX‘Îi_dYtÑE‹]2÷|Ÿ>}ÒÔ©Sçþ.ö%jEÍ¢rdzÏ>›ú÷ï_®ÛÜöEúÙ7Þ˜í6·¡_æw`(¦²Ç{¤»ï¾»³jßõ†nH?úÑÚ78C€ @€TD b5†bòޤ†yæ™
$µ}ÚHÚo¿ý²•2mÛJý¾âŠ+²­Ú\pÁVݦOŸžb5P¹#HùŠU<åŽx •Ú«ùú(Ö}íµ×¦_þò—E‹|¯¹æš¹‚eÕ½óÎ;iûí·Ÿ›
×üýŒÝÈbW2 @€ PyŠ¥’åÝ¢½ùŽ<òȬŽNóïyùŒ1c7´Bä9b‹÷Øê½Ð«‘¾öµ¯jju.o¡¼¡XùµuŠÓ¦MKÇO#FŒ(Ö%»þ„NHÛm·]ÚpÃ
ËcªŠÉÆîiôzî¹çŠÎ=OÃO<‘¶Øb‹<]õ!@€ @€: †šššRžú:åîÛ‘ô¡¼)YåÆÌ›²÷¹é¦›²UF…îE [l±BM­ÎåwÞy=óÌ3)vtk{DêHϋŎX!tûí··ÚîýßøF͆bÞázÎ9çdÿŠ=G¹óaþòË/çz?åî¥ @€øŸ@ÅjÅ-G
ô¿»—ùöâ‹/fõ}Êt+Ù|ÆgäN5*·ò$Op,o*YÞâÓýë_³ZG-ò­·ÞJ{íµWVĹåù–ߣ.у>˜zöìÙòtªµÀPóäþò—¿¤ã?>›só¹Ž|^~ùåé¸ãŽëÈ%ú @€ @€e*–JãÄ*—ØI*oj×…^˜N<ñÄ2S,Ý|ÑEeÛ¸—îõ­Q´:¶¤/vôíÛ7M™2¥Xsv>o*Ù¶Ûn›}ôÑ’÷ŠÆØI¬åJ¥
E:X)ØClc¿Ê*«´»­†š'©|Q_êñÇo>•ëóÀ̹:ëD€ @€ä¨h*YŒ»Eý <Çæ›ožž|òÉ<]‹öéH`èÍ7ßL+¬°BÑ{qÄéꫯ.ÚÞÜ©wåŽ7Þ8Mœ8±d·M7Ý4ýáhÕ'ÏJ£ÓN;-
6¬ÕuÍ?º:0»¦?>566¦6Ú(-µÔRÍSkõùÔSOeirQ|;Ï;ɽôÒKyºêC€ @€ä¨x`è“O>I+¯¼rÉ/-çEŸ—^zé–§:ô½#¡X³üò˽ÿ­·Þš~ðƒmonˆº9=zôhþYð3ŠbGáèRGÛ·yä‘l'¯R×DÛ/¼Ö_ý‚ݺ:0)ck¯½v6·‹/¾8
<¸à<›OFaêSN9%×êªX‘Ö½{÷æK} @€ @€h˜³Â£©[·n¼MëËïºë®Å—ó·ÜrKмæõ¨d`(Ò·–[n¹²Syýõצq5_«f\pÁæŸE?#(²É&›Ìm«•;Þÿý¢+qj)0+†žþùr“µ_sÍ5éðÃ/Ù÷¿ÿýo.×’7ÑH€ @€Ìh˜“ò“åEå)¼<÷ª_~ö³Ÿ¥óÏ?¿lÏwÜ1ýîw¿+Û¯X‡J†bŒ(p|å•W.;?a„´Ùf›í+“z÷î]´=¶Ùf›4nܸV}vÝu×tÿý÷·:WèG©”¸Z
ÅÜ×.ôLq.VwÞy›¥Ýìè$ @€ [ ¢Å§[ŽúùçŸgiQyŠßsÏ=i·ÝvkyyîïQÀú¤“NÊÕ¿\*YÜ$V­¶Új%ï«[=ôТ}b÷³­¶Úªh{4DÚX¨nyä©Kýï¾ûÚ=ôPŠ@[¹#¼Jí®»îº’Ï×|ÿB)m-SÉ¢_Ût¹æk}Θ1#-³Ì2…šÒ±Ç›®¸âŠ‚mN @€ @€ó&PñC-§ñ¯ý+m¹å–éÕW_myºÝ÷>}úd}Yd‘vmåNœzê©éÜsÏ-×-kÏŠŽ̈´®bGÔ!úío[¬9[õ«_Š?üáÓÍ7ßÜ®9ÏjŸ¸(
1?ûì³iÑE{í±Çs—ú«¢bû÷bÇ¥—^Z¶6P\[håTÛÀPô+‹ó…Žb+×~ýë_§8 Ð%Î @€ @€ó(ÕŠk+]g¨y>QgàÀe‹ï²Ë.Y°%¶bïȵŒ¢¦Qž#o`(Ïj§÷Þ{/õìٳݰŸ}öYZo½õŠÃ"öâ‹/¦%—\²Ýµ‡rHºþúëÛ/t"ŠOG€)VØŒ3&=øàƒ…º<·æškf¬o¸á†lmnŸxâ‰)
G—;bܽ÷Þ»U·B¡x§QOi­µÖjÕ·í7Þx#­ºêªmO§˜o˜}å+_i׿ @€ 0ïó-•¬å”"X©@‘‚UêˆbÅ÷Þ{oÉ-å[^ÿÊ+¯¤¯ýë-O•üž707‰¾›o¾yš2eJÁ{uÔQiĈíÚ†žb;ùBGH"ÍlÃ
7,Ôœ¥JýøÇ?.Ø6?O¶¬¼ØUnÖ¬Ye‡Œ:IjYh»P`(n´ì²Ëfµ›öÚk¯¢AÈ(BÁ¦¶G¤#ÆÊ3 @€ PYª†š§|ÕUW¥“O>¹lÐáè£NGqDÑ-ÙcEÏÕW_Ž9æ˜æ[—ýŒbØC‡M/¼pÙ¾ÍÞ~ûí´óÎ;§‰'6Ÿjõ)g‘ʶÐB¥¨DáèbéN‰”ªXMTìˆ`Tbw´y9b.±«Ú	'œûò˜Wì¶À¤Ûo¿=}öÙ?‚y‘šŸ|5O¨ÿþYM¨XñÔ·oßôñǧ—^z){7…V=tÐAiÔ¨QÍ—û$@€ @€*(íJV¬®KÇ™{«™3g¦Ë.»,~úésÏû)Dk¬±FZi¥•R¬:Št·×^{-K+Ê<‰ë
”mƒ¾ôÒK¦äùX9«xF]°_CV\qÅ4yòä‚íq2
QGAçrE­£ïSO=•_s1‡HA‹”½fõêÕ+×µ1ŸÇ{,ó6lX2dH®ë
uŠ•^±«Z¹ÀP¡k‹‹:Oìj¹"©X_ç	 @€ @€Žd+†ælY_4½§ã·ÌwÅôéÓ³T¬;ï¼3Mš4)ßE9zÅ
–}öÙ'Ûµ«#ifån5r¢öÎøñãËuÛ—Ø~=VÓt$øÁšXõSÎ%êEàäÀlUˆú¾ûîËê•JúhV¯&Ò¶¦NZ6Ý,VÉD¡âo}ë[)‚Al°AZwÝuÓb‹-Vl˜Šœ¹;6E $¾O›6-û)YÐèÝ»wÚtÓM³Õ3™×#‚uQT;êëĶðŸ|òIêÞ½{–^Ï;“ÅÊ¢b™£s¤îEÑæwß}7[qF‘ª¶ÓN;¥ÕW_}^§Vòº7ß|3{þXáõÀdï¦ù‚X-5–"¥.V~½þúëY@+vW‹»æçŠ9¶Üq­ùzŸ @€ @€@e²]Éæ×Žd™jÔúàƒÒŒ3²:4ð‰`ÐK,‘zôèÑ™[»– @€ @`Ž@M¬ò& @€ @€ª/ŸŽa;R§úÓ4" @€ @€@¥j6•¬Òê~ @€ @€­¤’µöð‹ @€ P7Y*YSSSÕ·«¯aJ€ @€¨Q,0¤¾P¾Ó"@€ @€ÌG,•,V	ÍGe·&@€ @€Ô €ÀP
¾S"@€ @€TC 566ª1T
mc @€ @€jH@¡z¦B€ @€¨¦€ÀP5µE€ @€¨!,•¬†æc* @€ @€Uª´a @€ @€µ& øt­½ó!@€ @€TI@¡*A† @€ PkRÉjí˜ @€ @ JY`¨©©)544TiHà @€ @€Ô‚€CµðÌ @€ ÐRɺÝ @€ @€ZJVoÁ @€ @€]  0Ôè†$@€ @€Ô‚@ÃìÙ³›ºuëVs1 @€ @€*
44666Åxv%«¢º¡ @€ @€5  øt
¼S @€ @€t…€C]¡nL @€ @€@
d5†bêÕÀÛ0 @€ @€@¤’UÛP @€ @€Zª¥·a. @€ @€*
d»’Ù‘¬Šâ†"@€ @€Ôˆ@¶bhΖõjÕÈ1
 @€ @€@µ¤’UKÚ8 @€ @€Èv%³#Y½Ó!@€ @€TAÀŠ¡* ‚ @€ P‹Yñ阘Ôµøz̉ @€ 0ÿ¤’Í?[w&@€ @€Ô´€T²š~=&G€ @€˜Y*YSS“íê矱; @€ @€jR ©/T“ïÆ¤ @€ @€óU K%‹C‚CóÕÙÍ	 @€ @€5' 0Ts¯Ä„ @€ @€ÕÈCjUÇÛ( @€ @€šPc¨f^…‰ @€ @€ª+ 0T]o£ @€ @€jF K%«™Ù˜ @€ @€@Õ†ªFm  @€ @€@m	(>][ïÃl @€ @€UPc¨jÔ"@€ @€Ô–€T²ÚzfC€ @€¨š@jjjJ


UÔ@ @€ @€]/ ÆP׿3 @€ @€t‰€T².a7( @€ @ ë¤’uý;0 @€ @€@—u	»A	 @€ @€]/Ð0{öì¦nݺuýLÌ€ @€ @ ª
M1¢]ɪên0 @€ @€@—(>Ýå¯À @€ @€]# ÆP׸• @€ ÐåY¡˜…:C]þ.L€ @€ PUN§’]sÍ5U°Á @€ @€Úôë×/
0 }C‰3C%p4 @€ @€¾Š={öìÐt³]É:³#Y¬j¼C#ëL€ @€ PQ†šæs¶¬ŸçC&LÈC}
7#@€ @€è°À<†:<Š @€ @€¾ðÙ®dv$û¿G@€ @€è°@§‹OwxD @€ @€Ô„@V|:fÒ™Ô5ñ$&A€ @€ Ð!©dâÒ™ @€ ðåJöåy—ž„ @€ Ð!,•lÎŽõó¼]}‡FÓ™ @€ @ f²ÀúB5ó>L„ @€ P5,•,V	UÍÜ@ @€ @€šª‰×` @€ @€êd¡ÆÆF5†ªooD @€ @€@—
¨1Ô¥ü'@€ @€t€ÀP×Ù™ @€ Ð¥Y*Y—ÎÀà @€ @€]" 0Ô%ì%@€ @€t½€âÓ]ÿÌ€ @€ Ð%ju	»A	 @€ @€]/ðÿÿÿ#¬Î­‚IDATíÝiŒeEÙàº=8(B„,² ,²d	’BÙÁˆ¬FQÙ0(ƒ;	HØÂ$„@HØPpQÜ †DE…é¾_¿•ÜNo3Ü­OžûœnßsꜷÎSý£óNÕ[æè‘ @€ @€'ЈÄÐè‘ÆÀ½¼&@€ @€²@NŒŒ¤¡¡¡Avðî @€ @€ȉ¡{k/L€ @€ ,%óK@€ @€P‰¡x¯M€ @€h7Õò‹@€ @€<Æháé¼]½]Éoð½1 @€ 0ØŠOöø{{ @€ @`€ÔàÁ÷ê @€ @€À`äCA ÎÐ`ÿ"x{ @€ @`ð,%¼1÷Æ @€ @€, 1ä @€ 0 yW2;’
èè{m @€ @` òŒ¡Ñ-ëÕè_/O€ @€¢@ÏKÉ^ßv·AtóÎT(0çŽÿ«0šP @€˜½+¬°BGÏ»’õ²#™ÄPGÞ Ð…€ÄPhn!@€ @` :N5G^¤$†zÑs/íHµ£¤
 @€Rê814Z_('†º-@-1ä׎™šiaÏ'@€ @`Iè814<<Ü´”lI~ïA`ÉZ2ÇÕ[ @€ ÐŽC–’õ<‘þ
Hõ×ÓÓÌ6W_}5ýñLo¿ývZo½õÒZk­•æÌ™Sì5FÿQ-ÅJü¥–Zê}ûð裦‡z(Í›7/}üãßö @€zè81KÉâ›ng
YJÖ빟÷z?!×	,™O<ñDúö·¿,X0áW\qÅtÎ9ç¤Ýwß}ÂùÉ_N:é¤tñÅO>=í÷gžy&­²Ê*Ó^‹“.LW_}uºë®»Ò=÷Ü“Ûm¶ÙféøãO;ï¼sš¼$ÿ­·ÞJ§vÚXü'Ÿ|2­¾úê‹|¾ @€~	t•šüÇL'‘êDK[ºêFÍ=f·Àå—_ž“.‹{‹#Ž8"zê©‹lòÉO~2=÷Üs‹¼Þº°ÑF¥|°õuÊgÌXúú׿ž~õ«_M¹'Ö_ýtðÁ§~ô£é/ùKzüñÇÓo~ó›ôæ›oæö‘<:ñħ½×I @€@¿:NÅt¡ÑcÊ¿tµÛ1‰¡v¥´#@ [‰¡nåÜG`v
Üÿýiß}÷m«ó7Þxcž±3¹ñßÿþ÷´ùæ›O>=í÷ùóç§cŽ9fÚk/¼ðBÚa‡Òk¯½6v}«­¶Ê3^zé¥tôÑG§¿þõ¯c×&ÿ°ì²Ë¦§Ÿ~:-·Ür“/ùN€˜‰¡aõPJ
H•Ô›@µo¼ñFÚxãól›Hª|êSŸJÿüç?§,'kõ*–sÝ{ï½­¯cŸ×\sM:öØcǾ/î‡Ç{,­½öÚSšŒ.·OŸÿüçÓ<0áZ,q[sÍ5ó¹Ö̦ŸÿüçéCúPZyå•ÓòË/Ÿ¶ÞzëœL:ÿüóÓA4á~_ @€3)ÐUb(þðQch&‡Å³	èE@b¨=÷˜]­DK,ûþ÷¿Ÿ“-ñþóŸÓ~ûí7íÒ°˜Í3¹u$cbé×É'Ÿ¼X€HæxàÓ¶¹êª«r£ñ£nÐá‡>vêG?úQ:ï¼óÒË/¿œæÎ›ÏGý£hKÌb‰Z;EªÇè @€@'†¢ø´C=ª»šQ^'PØíkË-·Ll°Aºá†¦ô+j÷ì´ÓNSΟÁÿ÷¿ÿåz?‘Hj·øô”‡ŽžøÌg>“þð‡?Œ]ŠLúÓŸÆ’Uqá€ÈI«ßýîw¹]$ˆZ»Å,¢x†ƒ P¥€ÄP•Úb P‰€ÄP%Ì‚(.Åš/ºè¢±BÎÓuhr²&Ú<õÔSiÕUWkþë_ÿ:í±ÇéÐCMûᅧ]ÌÖXc±ëíüðöÛoOÙEì[ßúÖ„H¯¿þzZo½õÒ>ûì“b¦SÑæÚk¯MŸýìgÓM7ÝÔN(m @€}è81”+O÷Ðŧ{Às+m	HµÅ¤øÊW¾’~ñ‹_Lx×ÉKÉ~üã§sÏ=wB›HERi›m¶ÉI›ÕV[mÂõÉ_,XvÜqÇ	§y䑜jüéOš~øÃ¦Ûn»-m·Ýv¹Èô§?ýé|ù¡‡Jn¸a«©O @€@eC•QD€@UCUI‹C þ±Ôlü.`_úÒ—¦$"ùK¾w|ç;ßɳ{–Yf™i›EŒˆ5þˆB­šŒ±d,
c¯³Î:)vQ‹#fE¡êH^E! @ „@W‰!ŧK•˜´+ 1Ô®”v–lýë_Sv{øá‡s‘çÖ›¿øâ‹yW³Ö÷Å}n¿ýö)¶»ÿà?8¥ÙÂ…ÓJ+­4áü«¯¾šIG
£½öÚ+=ú裩UGèž{îI_øÂrûHJÅ¥8âç¸3ˆþñä%mQìz×]wÍ×ý ÐoŽCŠO÷{<~Hõ[ÔóÌNÉ[Ðÿà?˜²%}$zŽ<òȶ_pq³{b·±Øu¬urÈ!91uË-·ä¢ÔÇsLš?~Š$RÌRŠYFñ=Îǵ†¢æÐtÇYg•¾úÕ¯NwÉ9 @€@O'†ÔêÉÛÍT  1T²j.³…6ÝtÓªãˆ;—]vÙ”mê{ì±ŧcÙ×/¼b·°˜E´¸ã™gžI«¬²Ê”&ï½÷^:ñÄSl[?ù8餓ÒqÇ—bg×VÂ*
`G¼˜KÕ&ßwÔQG¥M6Ù$'›¢O¯¼òJúÀ>0ùѾ @€zè*14šÊØtYñénÔÜC€@'ChiK`ɈÙA^xa~¹Øñëºë®KsçÎmëeŸ}öÙtï½÷¦n¸!ˆž|Ó\·Ÿ|¾õý‰'žH‘pz饗Қk®™vÚi§±]ÐÞxã¼t-V±3YÔŠ8ßøÆ7Z·çÏŸüä'c3™®¼òÊœ8Š$RÔ(r @€ú)ÐUbH¡~g Ðo‰¡~‹zÙ%ðûßÿ>ï$½ž7o^ŠÄÊtuÞï­bP…>ûì³'4=á„Rü×ÍqÚi§ågn¶Ùféî»ïNQ‡(ŠR·f6Å3?ñ‰OäkK-µTñàƒ¦=÷Ü3­Žk @€@?ºJõÒ3†zÑs/íHµ£¤
%S ¶¢mæcéU,»ä’K¦Ìú÷¿ÿEK/½t[±‹Ø¾ûî;Öök_ûZ:óÌ3Ǿ·ûC“n%vî¼óδÕV[¥SN9%þùqë­·¦Ö6öqáúë¯Oßüæ7ÓóÏ?Ÿ–[n¹	m}!@€ô*ÐUbÈR²^ÙÝO€ÀL
Hͤ®g¨¯ÀøÝ¿b'¯sÏ=7ï
6¾ÇÿùÏÒFm”gí´v}Q?G
 ˜yÇñÇŸk	-ªí¢ÎqÄég?ûYžýÓª'´Ë.»äÝÊZ÷|ìcK?þø„%ûQtú‘GIO=õT«™O @€@ß$†úFéAÔE@b¨.#¡ªˆeî±»ØM7Ý”bFÏé§Ÿž†††&t ÚÄ®_Qo(–gE‚¨Ý#fñ|ùË_ÎÍï¸ã޼«X»÷F»¤wÜ1ßõ‡Ö^{íKÕV^yå	_[(.´fvØaù&4ö… ÐŽCÃÃÃÍÉhuÒKÉ:ÑÒ–n$†ºQsÙ-ÛÄÇvñqD'vÿjÿýïSìRÅ›c©YQÛgΜ9y§²˜Å³ÖZk¥/~ñ‹içwnÝ6á³U zÙe—MûÛߦÌDšÐxÒ—˜i½Ûn»¥‡~8}ôÑyùX4yë­·Òk¬1¡u½ŽúC­ã»ßýnºâŠ+òv÷“Û¶Úø$@€ô"Ðqbhô_Ûšpü\t@b¨-m	èF@b¨5÷˜½±»W,ïj÷Øn»íÒm·Ý–—pÅR®ñG$†¢@tÌèi.LŸûÜçòNcQ³¨“%hñŒÛo¿=rÈ!)’JO>ùdZ~ùå[Î;”E=¤ÖñÛßþ6­»îºùkk–RÜÛJzµÚù$@€ôK ãÄÐè¿zåÄP·êVÎ}´+ 1Ô®”vf¿À-·Ü’=ôÐŽ^$–“|òÉéÆoÛ~ò"Ñ´ûî»§wß}7š¾ë®»RÌÞùÞ÷¾7¹éb¿GÝ£m¶Ù&=÷Üs鬳ÎJQ/hüqÆgäó­s±.þ{àr²+fÝ|óÍé#ùH«‰O @€@_ºJ)>Ý×1ð0ú, 1ÔgP#PS_þò—iï½÷î¸w×^{m^ÚK¶Øb‹÷½ÅWLóçÏÏKÍ:]N饗æBÕQT:
HÏ;wB¼Xæ¶Ç{äÙH.Œ~‰Ì"ñ5~†Ñä6¾ @€zè815†"h§µ:jÆPKÂ'3% 14S²žK ^ãw
ë¤g±œkõÕWÏ·Ä`—]vYŠ-é[õ‡ZÏZýõsâ騣ŽJþð‡[§ÛþŒºF›nºizóÍ7SÔ(š7oÞ´÷ÆRµØñì¾ûîK¯¼òJÚvÛmS,wÛ~ûí»Š;m'	 @€‹è81d)Ù"$&@ 6Cµ
!0«žþùœŠB«­¶ZG¦§{ÑwÞy'EÍ ¨ËI @ ŽCu}"@ '‰¡žøÜL€ @€À	tœŠ]ɺݑ,\-% ß.¯J €ÄP!xa	 @€˜u'†b)ÙhrH¡Y7Ô:L`p$†g¬½) @€½	t•ê%¤C½è¹—v$†ÚQÒ† @€)uœŠ]ɺݑ,À%†üÚ 0ÓC3-ìù @€,)'†ìJ¶¤½÷ °ä
H-¹cëÍ @€è¯@lj¡(>]è¶µCý@O#@`ª€ÄÐTg @€ 0@lj!KɦctŽ:	HÕi4ô… @€:tœ²”¬Îéo„€Äß @€´'Ðqb(–’]oWß^·´"@€ @€¨›@#CÝÖªÛËè @€ @€@û˜.4zt]|ºýPZ @€ @€ÔI@b¨N£¡/ @€ @€
rbht9™C¢E€ @€¨ƒ€Cu} @€ @€*€.$ @€ @ y)Y:¢ @€ @€Õ
HUë- @€ @ 6ŠO×f(t„ @€ P­€CÕz‹F€ @€¨€¥dµ
!@€ @€T+CÍf35j#‹F€ @€ PT@¡¢ü‚ @€ @€Ê	XJVÎ^d @€ @€@QKÉŠòN€ @€(' 1TÎ^d @€ @€@QÆððpshh¨h''@€ @€¨^ 122ÒŒ°v%«_D @€ @€@IŧKê‹M€ @€(( ÆPA|¡	 @€ @€%r¡è€:C%‡Al @€ @€@õ–’Uo." @€ @ Cµ @€ @€T/w%³#Yõð" @€ @€JäC£[Ö«1Tz$Ä'@€ @€T,`)YÅà @€ @€ê"w%³#Y]†C? @€ @€Õ	˜1TµH @€ @€Z	äâÓÑ#¨k5.:C€ @€˜qKÉfœX @€ @€@=,%«ç¸è @€ @`ÆòR²f³i»ú§€ @€ P/œR_¨^ƒ¢7 @€ @€*òR²˜1$9T· @€ @€úHÕg,ô„ @€ P©@NŒŒ¨1T)»` @€ @€òj•= @€ @€*Â.( @€ @ ¼@^JV¾z@€ @€ Pµ€ÄPÕââ @€ @€j" øtMB7 @€ @€U¨1Tµ¸x @€ @€šXJV“Ð
 @€ @€@Õ91Ôl6S£Ñ¨:¶x @€ @€Ô*ˆ/4 @€ @ ¤€¥d%õÅ&@€ @€°”¬ ¾Ð @€ @€’C%õÅ&@€ @€h7‡††
vAh @€ @€‘‘‘f¶+Y	~1	 @€ @€åŸ.g/2 @€ @ ¨€CEù'@€ @€”È5†"¼:CåAd @€ @€@	KÉJ¨‹I€ @€¨€ÄP
A @€ @€%ò®dv$+A/& @€ @ ¬@ž14ºe½CeÇAt @€ @€@å–’UN.  @€ @ yW2;’Õc0ô‚ @€ P¥€CUj‹E€ @€¨‘@.>ýQ€ºF£¢+ @€ @€
,%«Y @€ @€@,%«ã¨è @€ @ ¼”¬ÙlÚ®¾l! @€ @€uȉ!õ…ê4$úB€ @€¨F /%‹C’CÕ€‹B€ @€¨‹€ÄP]FB? @€ @€äÄÐÈȈCÃG€ @€(- ÆPéŸ @€ PH@b¨¼° @€ @€Òy)YéNˆO€ @€ P½€ÄPõæ" @€ @€j! øt-†A' @€ @€Õ¨1T½¹ˆ @€ @€ZXJV‹aÐ	 @€ @€@õ91Ôl6S£Ñ¨>ºˆ @€ @€ÅÔ*F/0 @€ @ ¬€¥deýE'@€ @€°”¬½À @€ @€²CeýE'@€ @€h7‡††Šu@` @€ @€2‘‘‘f„¶+Y™• @€ PJ@ñéRòâ @€ @€
¨1Tx„'@€ @€”È5†"¸:C¥†@\ @€ @€@KÉʸ‹J€ @€(. 1T|t€ @€ PF ïJfG²2ø¢ @€ @€J
äC£[Ö«1TrÄ&@€ @€°”¬º @€ @€:ä]ÉìHV‡¡Ð @€ @€@µfUë- @€ @ 6¹øtôFêÚŒ‰Ž @€ @€*°”¬fA @€ @€õ°”¬~c¢G @€ @€JòR²f³i»úJ¸!@€ @€ÔG '†ÔªÏ€è	 @€ @ *¼”,fIUE. @€ @ Cõ½ @€ @€T.C###jUN/  @€ @ ¬€CeýE'@€ @€*F/0 @€ @ ¬@^JV¶¢ @€ @€”*¡.& @€ @ ŠO×`t @€ PB@¡êb @€ @€j `)Y
A @€ @€%rb¨Ùl¦F£Q"¾˜ @€ @€…Ô*/, @€ @ ´€¥d¥G@| @€ @€@!KÉ
ÁK€ @€(-ðÿšlö1Ž}!­IEND®B`‚pymdown-extensions-10.9/docs/src/markdown/images/tabbed-alternate.png000066400000000000000000002054101465124271600260610ustar00rootroot00000000000000‰PNG


IHDRŠ”B&ƧliCCPICC ProfileH‰•WXSÉž[RIhH	½	Ò«”Z©‚JŒ	Aņè²
®]D±¢«"Š®EEÔµ.ŠÝµ,”uQEQyÐu_ùÞù¾¹óß3gþS2“;€VO*ÍEµÈ“äËâ#BXRÓX¤@º@ø/_.eÇÅE(CýßåíM€(ûkNJ®ŽÿWÑå|Igäü<ˆ›À7ò¥²|ˆJ½åŒ|©A¬'ƒB¼F‰³Tx·g¨pÓ Mb<â+i<ž,Í{PÏ*àgAÍ»Hb	Z£ ä‹xˆ•±ÊË›¦ÄÛA{)Ä0à“ñgÖßø3†ùy¼¬a¬ÊkPÈ¡b¹4—7ëÿ,Íÿ–¼\ÅØh"Yd¼2XÃÛ9Ó¢”˜q·$#&VYkˆûÄUÝ@©"Ed’Ê5æË9°~€	±‹€±1Äá’ܘhµ>#SÎ…®t¦8Ÿ›±Ä‹…ò°µÍVÙ´xµ/´.SÆa«õçx²A¿J_9Il5ÿk‘«æÇ4E‰)S!¶*'Ç@¬	±³<'!Jm3¦Pĉ²‘)â•ñ[A/”D„¨ø±‚LYx¼Ú¾4O>”/¶U$æÆ¨ñÁ|Qb¤ª>Øi>o0~˜vE(a'
ñ墇rCÃT¹cBIR‚š§Oš¯š‹S¥¹qj{ÜB˜¡Ô[@ì!/HPÏÅ“óáâTñã™Òü¸DUœxa6olœ*|ˆ
X@[˜²¸µ»¾¾©FÂÈ@'µfhFÊàˆ>@!ø"!Ï‚¨ÿ4¬U=@æàhÁàŒðâ<rá»bp–dØ[2x5âxçÁƇñæÂ¦ÿ÷ú!í
j¢ÕÅG–Ö%1ŒJŒ$†íq#<÷Ç£á367Ü÷Êã‹=á)¡ðˆpƒÐN¸3U\,û&Êq ò‡«k‘ñu-pÈ鉇à2ãLÜ8áЂž=¡–£Ž[YÖ7ÜËà«_CmGq¡ ””`ŠÝ·354=‡Y”µþº>ªX3†ëÍùÖ?ç«ê`õ­%¶;„ÅNbç±&¬°°Xv	;¦ÄëëÉàêò?OäÿÃOíSYI¹KK—ËGÕX¾pf¾rãq¦IgÉÄY¢|~„,®„ï<Šåæâæ
€ò[£úûzÃü† Ì_tÅ÷Hhú¢‹†û÷p'ÜþÝ_t¶5Ðpî;¾BV ÒáÊþKhÁfL%°ƒù¸/à‚AbA"HS`•EpËÀ0,% ¬kÁ°l»Á>pÔƒ&pü.‚+à¸WOxzÀ[Ð 	¡#Ä1C¬GÄ
ñA‘0$‰GR‘t$‘ 
d²)CV!mH5òr9‰œGÚ;ÈC¤y|@1”†ê¡&¨
:õAÙhšˆNF³Ðéh!º]†V Uè^´=‰^Do íè´˜ÆÄÌ1'Ìã`±X–‰É°yX)VŽUaµX#ü¯aíX7ö'âœ…;Á‰'á||:>_ŠoÀwãuøiüþïÁ?èc‚#ÁÀ%L dfJå„„#„3p/uÞ‰D&Ñ–è
÷b*1›8›¸”¸‰¸ŸØLl#>&ö’H$C’#)€Kâ‘òI%¤õ¤½¤¤«¤RYƒlFv#‡“ÓÈr1¹œ¼‡|œ|•üŒÜOѦXSü(±ee9e¥‘r™ÒAé§êPm©ÔDj6uµ‚ZK=C½G}£¡¡a¡á«1^C¬Q¤Q¡q@ãœÆC÷4]šC›DSЖÑvÑšiwhoètº
=˜žFϧ/£WÓOÑÐû4šÎš\Mæ|ÍJÍ:Í«š/µ(ZÖZl­)Z…ZåZ‡´.kukS´m´9Ú<íyÚ•ÚGµoi÷ê0t\ubuòt–êìÑ9¯Ó©KÒµÑ
Óè.ÒÝ®{J÷1cX28>c!cã£C¨g«ÇÕËÖ+Óۧתף¯«ï¡Ÿ¬?S¿Rÿ˜~;cÚ0¹Ì\æræAæMæ‡&#Ø#„#–Œ¨quÄ;ƒ‘ÁBƒRƒý7>²ÃsWÖÞ7ÂŒÆÍ0Últƨ{¤ÞHÿ‘ü‘¥#ŽüÍ5v0Ž7žm¼Ýø’q¯‰©I„‰Ôd½É)“nS¦i°i¶éÓã¦]f³@3±Ù³fÏYú,6+—UÁ:Íê1764W˜o3o5ï·°µH²(¶Øoqß’jéc™i¹Æ²Å²ÇÊÌjœÕ««ß¬)Ö>Ö"ëuÖg­ßÙØÚ¤Ø|oSoÓik`˵-´­±½gG·²›nWewÝžhïcŸc¿ÉþŠêàé r¨t¸ìˆ:z9Š79¶"Œò%U5ê–͉íTàTãôЙéí\ì\ïür´Õè´Ñ+GŸýÙÅÓ%×e‡Ë]W]×±®Å®®¯ÝÜøn•n×ÝéîáîóÝÜ_y8z=6{ÜödxŽóüÞ³Åó“—·—̫֫ËÛÊ;Ý{£÷-=Ÿ8Ÿ¥>ç|	¾!¾ó}›|ßûyùåûôûÓßÉ?ÇçÛ1Â1;Æ<°àlhd¦n
l2âU=
¶ï~ƶgg³÷²_†¸„ÈBŽ„¼ãøqæršC±ÐˆÐÒÐÖ0ݰ¤°
aÂ-³ÂkÂ{"<#fG4G"£"WFÞâšpùÜjnÏXï±sÇžŽ¢E%Dmˆzí-‹n‡Ž;nõ¸{1Ö1’˜úXË]{?Î6nzÜÏã‰ããÆWŽï?'þl#ajž„·‰!‰Ëï&Ù%)’Z’µ’'%W'¿K	MY•Ò>aô„¹.¦¥ŠSÒHiÉi;Óz'†M\;±c’礒I7'ÛNž9ùü£)¹SŽM՚ʛz(ž’¾'ý#/–WÅëÍàflÌèásøëø/Á‚5‚.a€p•ðYf@æªÌά€¬ÕY]¢ Q¹¨[Ìo¿ÊŽÌÞ’ý.'6gWÎ@nJîþÜÔ"ÏtwSqÑàMˆÐ70ðÆR#Ÿdý›>í€ÁÞ yºêª"¼3l
T¢‚"ð¨î§_åøm”x€oû}ZÔÙŠeXIfMM*>F(‡iN’†x Š ”ASCIIScreenshotöFÚ³	pHYs%%IR$ðÖiTXtXML:com.adobe.xmp
   
      
         660
         906
         Screenshot
      
   

*C$hiDOTJ(JJÄ®X¬V@IDATxì˜EúÆ+ÉÆ=Øáp¸îr~øG.¸;œàÁ58.Á!Á‚;Ã%¾Iv³Iæ_o'_çëšêžž™žÉìÎ[ϳÛÓÕÕUÕ¿ª®®·´]ÎCC$@$@$@$@$@$@³´£Pd^      Ð(5
þ&     0ŠÌ$@$@$@$@$@$@мÔ/¼pž}µ->øàóÈ#˜}÷Ý—ãÝ+?7y²™1ú·Ì|nß§¯i׳WIþMÿñ{c¦OÏ»þÁßVeìsLù¼™úúHÓyãÍLÇÕ×6¶9µèGˆebßõösÏ[´¼!¼x7\Ó®S'Ó~¾ùë4nÜû³>Ï5N43ÆŽñzÛaA[~ÛÖ|š•~OçPÙ•kšb¦}ú_3í«ÏMnâÓáKšŽË®`ÚÏû‡¼T*Ô¡P—ÊÊÌ=÷ܦOŸ>E{7mÚ4óÍ7ßxï›þùM÷îݽײ¶ô	E	c¾ùæ3;í´“™gžyÄŠÇ
 P¬XŸ·&L0·Ür‹3f湡'þ\{÷Ü×u×]gößÿÐzíµ×6¯¾újxžöÇÞ{ïmn»í¶<çk¬±†…Ýc=f.½ôRóüóÏQxûí·ÍŸÿüç96fóÏš‰GÙ3v?aéºË?Jòo̖뛿æl;mº¹éuÁU%ù9§nšpÒfêSÃÂà»<Ät? øÆ¥1›­efŒú#?:o¾•éyî9å1cO=Æ4?öPž¯
˯dúÜú@`ŸÆMž[4=rŸit‚××¹^|Ï´ëÞÃ{–3	Tú=íúÏL÷CŽ©*îæçž4“Î;Í[ntÝgÓmÀA¦]·ê†ª>øìá‡6ÿûß3‹Á•W^i:è ¢ýûßÿþg]tQï}W\q…9øàƒƒkqõK±—£×£–IBQn_a…‚‘yè” ©
ÅÊpÍóõý÷ßz´f̘^+G(ž趇›qãÆ™‹.ºÈì¾ûîf¹å–Ö+¯¼²Ao›6ï¼óŽYuÕUµUø=¡×\sMð§'ÿöÛoæä“O6žÚÌ	¡8vìXsóÍ7›‹/¾Ø`ˆ¯6ŠšFv¿›ŸÆL<úÀˆ‡·ÜÎ4¬ºº1S¦˜I—œ¹†“.»þÃ4,½¼iùïûfê“ÃlÏˤÐM÷ãO7]wÝ3Ø4?ýxä¶ŽÿÕô¾èšˆ]-ŸÌó»³™íAT³~ϽiÐ#å3Mßk¦ÿò“é¾ßa‘ËÓ¿ûÖLr¾™:üéˆ=…bGæ'襛tõŦùþ»#~k¡˜ÆMäæ
œä¦6›¦Gï7“Î95Ïw
EcZ>xÇ4Ýw§éqÒ™¦]—舛LßÓo¾²‚ýxÞ{‘t¨¶PœtùfÊÍ×Fâàž4¬²šésÝÆtèà^ây‰zè!³Ã;DîÞc=Ìl`&MšdŽ9&¿±Bõ56qâÄð~-êBË”?Þ|óM³Ï>û˜?þ8rÞ?üðˆN
‰ÂB×ó<´i„"îë`ó æ.b#Mö(³gñ±¥¥ÅÜ{ï½æ‹/¾ˆØã¤l¡˜çcôen‡ÃüñC]ñrãErÍÒK/m>ÿüóˆõk¯½fÖZk­ˆN~úé'³Ê*«˜_ýÕŒ?ÞôêÕ+â‚ÂS›j
EhW_}µAág(ãÈ”gß<âi3ñ˜™-—íûÍez½×tXh‘ÀÓi_|jÆýŸ3×^éuù¦ÓºnPÙ?`w3ý£‚ór„"LÿÁ]óÎ;o0Ei‰%–<ñÕ¯páñÇ7[n¹eàæ—_~1n¸aX§+G(ÂóÏ>;è<ŸõOÅ8ñ'örÔ÷ó;­P?1$B[˜‰=å P,_âÝß}÷¹ãŽ;Lss³×]%„¢ó¯½öZ3zôhsÙe—y…"^ú#<2¼m¥•V2èýt
†qn¶ÙfáNŸPÄØzŒ_צšB¢L·ÝvÛ žÃ‡×Q	~S(æ!ÉÄ¢yøSfâ±W$Âs_%öZ(â|Æo¶B¶÷ŽÁ°ÑîÇjºî¶7¬K2Ó¿ýÚŒÝqóȽ­M("òãÚÏ´¼0;wÙs_ÓãÈ“"Ï…“¿þbÆî´yPÉwEˆ8ö¥…¢Ð©ÜsÇl¾N$7Ò¸‰xP¡“±;l6ÖH>q$×ÚüÑ6¶Ž?poÓòöëÁ£Æ±Èò=mþ¤-K‰ ­–PDïö˜¿®„Ýaq;qõµLÎŽiù‚w*®æz)¿¾‰2+®¸¢¹ä’KÊZY¿PÔñ+ô»ÑX®PDœ 7ß|sƒÑm4¥ Pt¹Åôԅήû¬	ïóüð
Åÿ/
\5jT°Ð¢ˆDô(bLxÆb:‹-¶XpÄÊV®édÉÀ*Rb|cÔq
Y=gpûŠz:Åi3ì'	qû‡?üÁ¬»îº+¯fa0‡RO솟ŠYÍ÷oòµCLϳ.Î[h¥¡Ÿ'ž~œé´Éæ3{Ïìù4»Ø
üŸñóO&×Ôd[¯ç6íç™×t\uÍà˜»;FÂÐSqmyçu3íóOM‡E3
Ë®h–øSØzîóÏg‡çòm÷Áöv+Žéß|í»5°Ãóíºv⪵Ÿ{ƒ^B´â»¦]ï>¦Ãü3{ʱtý„‰pßa‘?Ú•L/y«í}lXb©à·/ÂE;²`Ú§™©vˆ]Î.šÐaÑÅMç
ìÆÆ%nQ23ðÒÒNîõQYõmã ¹ÌøùGƒUxsÍM¦ó¦çÊjÿrÆ™,ûÿéÇ&7~œi?ÿ¦ÓÚxÝêû¦ÿðiyÿ;Ôwf<Ú÷ég·
˜Ï4,µ¬iøÓ2Úiø;,ä4ùòƒ‚<ƒmN||Úõêm:,°8M<%í·sŠñMûü»m‹­”ÙÅ©þ´tÝm\fŒkßá½á7,eÙÙÞ«6-0×vÚÇÚç™Ç4,³¼mxš9Ò{£µÄÖXlŒfüdý·ß¢¶|¶rXÉ®p]Âb+“oºÊL¾òâ¼ ÑÖ®[·ÀïÕôß~ñ¦‹Îž§Å
ÅRórÞÃÙ2 É®°Üi½L{[ÎøŒ;ÄnúÜùˆM÷å|ÎiW$¼ÓO?=˜²ä®âYŒPD°Xˆóõ¶ß~{ƒµ2FŒa¾üòËp?Œ¸Zd‘E̦›n»ÝEœP<ì°ÃÌ'Ÿ|b^zé¥`ÁDôÜA˜¢#¢PŽ¥ï_úlBQ‚E}pçwŽn×V |¹·ÞŠ伄÷ÜsOðãW(ãã«ba9dô ŠP±(çgfŠy“ÿü§¿Ç{Jë–LÞé·ß~8ÅE,˜ƒ!²*iÏž=CQ‡¾†
–·XN^À,(ªÒeŸ@AоE¥–wÞ0ƒÏ0Ó!ȬÁüGw‹‡ŽmjzžpfPY×÷ú„"Véé©v˜¬kP9êyö%E	£¸-'àw—Ýö2]vÞÃŒÛeæ"nx8ï¼Ù–¦ëÞ͸½vŒ\îvè1Àl~tæö	ú"ö´ëûȈÀªqð ÓôŸÛôå¼ß£ýžx9°÷¥„b×b&ØEp\¶˜Ôë²òzˆóñX”“vïB«Æ‹Ï6Mw
ÏåGÀågÌ»…ÞN×ûÜz¿]àgö"[îVxNYq·‹nÌuöª„i¼ðŒp¾¨¾GâQƒ!ÓW¶\¸¿4žøòƒ„üÛkÈÁʶSn¹^¬ƒcçív2=O;?bw’V("¾ˆSË+/y½êhzž>8²o)VUm<=:2EnžkÄ[¦Ñ9o~è^±
Á³aµbwȵm˜bóÿ”ë¯ÓÏ—.(7Ät°Û’ô¾4ÊG®ÉQFGÈyܱßc/šI×\êM—rÞÓb„b)y9îyÒØ7ž{j°ú«v;×ïšv=zj+þ®b…¢D«ÔŸvÚiÁ"„°ÃôLÓÑÂïÂ/´¯XtZƒO(bÎ"¶PÃâXù~®¹æ2دÿú׿1æÍ¥ÃKû;K¡(a.¾øâ€–ޱç1ž…b<›TW
-X“äI9BÑ×RÁ:räÈ`Òó‡~éQÄ*¦Ø n0´«“bµ¬í¶Û./Šè•D¯ã믿n°
×UW]Š8qŒJiñ°Ծ}û¦îQt÷nÄ’ÐhõÂ>ŒØfã7â×Õn^ª¡P,•\¶÷ù
BHŠèQ·×ADPùë{ÿSÁ&ÏXX¡q­4?óDI,ºÐçÆÿôœˆñ	E¹Áh_ÛSÝ=q½o¾7¶5]î—#z9}"±ÇÑ'=z¹Ç§gºlc¢¸Ùc檊ÁþdûÛ¥ÇíâQ“o»ÞL¹îr}[À@„_óÓÃÌ´Ï>É[ÆãÎÛíÜ×Î6ÀtÛç€à·/ÀF„Rp¢þAhöµ¬]ïa¹i§‚Ïû‰žÖæ'íªŒƒNŒ\Ã37¬±NžH„£ÎÛîˆüžxêÑv_Çñ3Ø®Ïzh'žuR(RÜ…C¦ÿôƒE–fíCÙëê[L§5׳ên†™|ûÁœÚÀÃYÿÜ–B"·rƒí+&Y!Õt÷­:¨àwÏ‹®67üK—`1ýߘ±;ع¬Öt³{ïuµâ·]§t{Œ¥Š-ï¿m&²o˜g‚F;’=y˜§<Õ.|ƒ4xm°´fÆt»ñ[fü~ÿ˜y®þw\wƒXÑ	gyCÑ­_N8<Òèƒívz‹}ÿ~_|{©bXù†+Ìä«g
åµ6=N?ßtÙv§à1½ÁJá}øáVž‰@Ü“Æ
IÆl¾vžxéqæE¦ËV³ãQ9zåMЫõ »Ú¡‚He
	EÄa쎛+‹‡Û
KÎL÷]GúÜ÷Td8úø»Û¡ßoÊíá¢'S_}!¯!ÀÍÓ¾Þɾ=g:,¼hàŸ›fì°à^ç1í0T8fXe‘Y?ÆúÏ<ñꛣ˜õ{šF(–š—Ýg,æC¹G¯;{Z
îísÇÃAùQŒ?t[b…"ê}pbГ†Ùÿ"=Ú !ãŠè‘Ä‹¶ŠÕð1œÂS÷,b%—Œ~—J•Šò|˜2µãŽ;Ôƒiâ	P(Ƴ‰½RÌ‚5±žØeEçx_|ñÅP(¢°HZõ{î`œ¹6•Šx)ÑK)æC1—_>»Erýõ×zEåºOʵBG
ÅB„ªsÝ­lŠMÜð]÷;ÔtÇ蚪(V(bzÏ:ëD·åyâ‰'þaPïCýOt0üã³\}Bñ¬³Î2ÿþ÷¿ƒÛPß„hD¯%D©ˆÅå–[.ìÉDï]©¦ÒB±K—.Ð律É)D¡˜Ì'ï*^yôÑGƒÅ`ò.iQ	¡ˆ(Ó£XM¡ØØØh0Q›óÎ;/²¢êßÿþwóðÃ3‡†Áæ*bˆC)†B±jÙßS´P´QÄ@ÓòÒ̹xˆ‘;ô,¯Í'ÅðS1>¡èÛGqì.3Ó¿ž]ÁÄý=ϺÈtÞrvøwœ8èxÓüÈý‘˺—Çí݇s¿nç^ÚÙ/8#Rˆ¹‡n¡É¸êK—IóóϘ‰GF?ºt¤é6ààˆ]ÒI¹i—ä·\ó	Åžç_n:ÿuËÀ	†_¶¼÷¦é¸òjÁšÝ3lçóeµb\ÃDßžžO<ù(ÓüÄ#¦ßã/™öó͉W¡“$¡ˆa¿£×‰.Zâ6¾ÀôÌ¢‡V›¹ßü̶rt¬|BÑí™ò½—s¿aý˜Õ;ꦿ+$1GvüÀ=tŒ~'#bNjU(–“—cµ 5s¢4tm{Ù‹è­.$(V(N¶
X\F/èQ‡mÐ`°à*«¬	=ŒXLGŒO(ºû(bý‹¿þõ¯¡ÑxÔQGåÕ÷Äß´ÇJ	E7ÅZm´Q05m|êÕ…bÊ”/uÁš$ïËŠ1ÃNk¹GÑWÐm±ÅaX¡wQ›ÇüGˆÉR…b)Ô²¿Ç'PJl¢½†{¦Üx¥Ýèú
ÛS´…én‡Ê<¹iŸ}lÆí[ëöò¤Š0§ÊYÜ&¯g¯ÌÙ¿ïÌaŠâ´ãjk™Þ×ݬŠ:æoëFz²Ä
–•Çü­1]Ë4¬´ªé}åÍriæqÅ©/0‰G±B±Ü´‹sâ
8ë÷Ìkv^Üì¡VúÖ)v¾Ù¤óO×VÁ‚CZ$´s‡Kþ„8â%SŸyÜt°éÔÃMî°ØÁ}Xet±Gæmá‚îQNÓ[˜ÆDÔ· ˆÌ«ÌMj4£7\Å`Î_ïËóý?âŽIB
*pÚèžq±÷õöõ}ôùpåÕ4BÑ+6•P7`·pßP„ë
Å©oŒ4ì/Q
ŽÝ?ÍtÝu¯ˆ]ÒI­
ÅròrÒó&]ÓÃô‘·z]tmd8qÒ½¼–
_ý	>c­	ìè3˜“ˆEj~úé'sàšcŽ™9*õYôî»ï¾‘ÛN:é$ƒ•îÅŠ2œ¢ëIH"ŽXØ+«ÖZ"†™bMŒrÖ¿>õr¤PL‘ÒX°/ÕTÛ¢š¥)K(&D¤V{xà³ÓN3çö$D?ri¯½ö
ö¥ŒX¦<¡PL	ªÂÎJŠn”àG³]`bê°
¶(pM©BqÒv(ÝÐÙCéàoç-·¶ùpÈ=·6cwÜÔÓ~ùå—P(¢G«Úcª•ržæ˜e"Ä+æSÊi§›™(ÝœàôÔ}ñÅÁv®³,νBÑ	?/œ×k¹Gñæ›oÎÛ’cÏ=÷4_lWÌ‹1˜lN¥
ÅR¨eOÉBÑæõ©#Ÿ7“íÊŸ²ÒæaGwq˜R…â”ûï4“Î95òÐz•ÌÈ…„ßܾnì/‡a‰XBÛ`è…V°ÀFû?Ìo¦Ù^Ó~Ͼž_ùjÍB±Œ´KÀ^*V(ú¶—ÀHÿâo‰G@èÁÖÂùxŠÝ_¯ùéÇÃxtÙs_3Õž»+lVR("pwõIØaõÓ&›Ÿ±eE’h†Û8“$›ºÇ4žyRäÖN[lcz3{¡\œxâaF°ëqª]¼iû™‹7e!Ñ;öï
‡B"Œ^—]ÌEÅï‰v›”æÇÂÏÀ Ü(võÞZŠYäeáR舕~Ñ»‹üì¹zÆEyÛ”ûšÚyhØ;–¦rJŠ‚zË-·CJe[ìUa§Ø:C›b…¢ˆ?Œüz÷ÝwC¡Q¶Ûn»™e–Y&¹G±@}6¡ˆ:$¦/aáÄ9âQÚy|¾<¢çÜÍ	¡1>f³ü­2ð€î"=‘‡.p’$§÷­íÅûKć´s±÷'LVB1ðÌn•2þˆåmcò¢aéeL+ž1/6ÅšZŠåäåÔìêÅA¯¬]Iö§Äž¯cËá`ðí7™^v~u§µ×\æI¶ŠŠ˜2µîºëšï¿ÿ>ŒÈÀ
ö±†ÉB(J=¢[Ÿ‰PÄñØcíªËvÏÆ91G[ì°Ã¦Gá³óGé(‹`7Åî!…Má118SŽPÂé6¯ÕEèÞ=ÿƒ}çwšÝwß=)
ÆÎ;—¼Ç
…bÒ9b1íóO̸ݣ=ɈHÜœ¡æ'¶+7FçEzÝ2ŠÏ<1Üh]àè=Å.ÍÑ·¿#zy°¢£·"î^wÁ±ö(f‘v1'Å
Å©o¼b7Ù;Ï7½÷ž¾ˆÅP:.³‚™a‡»ÍFú’é°ø’¦ï½O†vsB("ðÆ‹Ï6MwD¬	öN|x8v”ãWÌ7âÞpï@Ïþ•á¢M*w!š`§_㔕P„p…PiyþÙ ‡·Ç˜X`æH4(•ijU(–š—ÛõJ?…C÷ c(~$?ÙFŠÜ¤I¦åݷ¡¿ýž}ôïÛ¯Lâ¼=‰€o•R¸[Ìâíúë¯x‰u"  `²Šâ9ÓÁHô$âo0'žx¢\Ž"*#–NŠíQDë`,¼°Z=¼@¼\˜…baFy.°ÿ̈#lÇF.ïZ1eEO`q=Š'œpB ÆÞzë­`ì8â
SKÝãÓO?
ÜW\aî¿ÿþ€4
mÜ¡¥î>Šp‹-30D¹ŠAü6ÝtÓà¥ÇäëbMSS“wU«áÇ›M6Ù¤Xïè¾¾¥êá]Ïs.1·È“®½ÌL±óµéd÷»ëe‡ÁøV4M5ôÔ³¤+8|s®t<ÛVxô¸èÅvzœrŽéò÷Ù{(ºÃO{üû,ÓeÇÿózëÛŽ½2èÑÆÝÖ!XØä¥÷'˜/ÖáKû3V£G1‹´ÓÏ÷{Ìfkå­$;×óï˜v={yoÁà±ÛošwO t®¹-Î,7Ê^…Ý?Ý®núǼÕ3¾6,l
€=í ŒôÜSøzúû¯fÌ3‡]Jn~õmÚ{å8íë/̸]¢s,Ý=ÅmÚc¢P´ž¸sqóöQôˆÉ§gºl·sßJÃîö®ØÄÍz{Œ`/Á6ç†öø÷™ö=Êol-á‡O(Ê6$Sìõ©Ï>¬lœõ{ÚlWaÆWÚȪ¶°+5/wÝuOíeìoߪª±Ží… qÂníCSYèØxãó‰khw÷¤Æ¨¯|ðÌ©n¼ñÆ`eRíaš¡§zK3Ô7üñÇ`J¢ô(öïß?؆£q¨ã“V(6Øm¦°‚¾lý¡ýàïò	P(–ÈðçŸzÑKVª©„PD\0Ÿòª«®2Øß£G¶£FÚ©2Ä,ºè¢ÁêWÓíG/¶»úÕÈ‘#ƒ!ò\Xæ…Š6˜[±çÎ)§œbðBã>NÚ@Ž;ÖÖ©:Ö?üðƒYh¡…´“à7Dâ?ÿùO³Øb‹™GyÄ`cXØ}øá‡™wcŒE\¡Šç?ôÐCcî¢u%L¹s¨q·@8]û4Ý;>/HßP?8Ââ0¶‹9Xí‹,hƒ
k¯+†B¡ÃyÅdPÁÁVðgíçÖòá{fü>³+°ð¯ß“¯˜öóÌn°Ða¤ù=ù¶ÌäKgoçöÆÌºÙksxÛîÕçoé÷­n	oæ~í“È‚®Ø…ÌÃ0Ýæ‡î5½®¾ÅÎ[Ï.0ò˜]hÄ2Têô½{XhÓôàLãYÑù’Ŭ›EÚ…‘‰ù‘0zƒü…	Ðˇ޾8ã›c·èÕE­‚›©O=Ìóë´ÞF¦×¥×Ù½íÖ'Î~|¸ó;,±”i~øÞ¼=q½÷
wY;óâ|Û§äåEÏ+®øëšñw7-ï¼Z—²w¢ÜŒ9i£×Y^NÃcŸ;±Ã8g­^h¿c!ŒíÂ>bôP×ihmšÙcëØ½Ù6ô©a‹cíœ6ݘw½.¹ÎtÚpSü†–c‹Ù³o¦¥1z¸ï¤+íjÅ7]#—‚¡¥þ¶i×½‡i‡ÞÄ
¦ýæ´ŸïvX÷rA¾hשsè>ÍßhƒŽ+Ù­GÖÙÐL¾vˆé:ðÓý€#LÖïéd»
ód»³66ÝÜôºàªÐª”¼,å^è‰çGóÓÃlq„çJ¼•ožj¼k^)•ö/<òÈ#ónÇÏÁƒçÙ£AüùçŸØ£î…NƒQ£F™‹.º(r
'{ì±G°e†¬bûßöè‘DϤ,ˆƒá¬"W[m5ƒ9‹å9¿	E„±êª«Ûƒ@,ÒT†…b\!´Ð›öÉ'¶âV‚)K(Æ;EÄ!
‰j‹8ÇðÙÿþ÷¿ø‚h:óÌ3óbŽ=fÎ?ÿüpÈçÍžÕJå&Œ‡˜ûꫯ‚Âá™gž‘Káñ¸ãŽÆ«£ ¹ûCMÃìÌçž{ΠG2­ùöÛo
„(âsÖYgEÆæ‹ðφÂûéôíÛW.ñ˜!ÜÄ	vNÞg¶ý‘™|õ¥y•>	
‹OȦè"Ðâz 垎^ÃLÿæë¼Þ!\—–w_¯#®ck÷Ù}ïþg‡­tDXaE¥¼ç¹—†«&Âm)Fï‡×e—˜'DÊŸÒk,qÚùÞ`¦ó•™däp7r‡ã®´+¿0í{÷	î8èxÓüÈý^¤‡áj¨|Êê±Ú1z5á^,ìãn–6Ý;ÕtÙÊŠÏlg‘v:nîo4<4Ý}«{Ét´s¤ÐøÐqù•ÁçÀZ4dšþc{„c¯«n	øbÅ1[o›ÑÃÛ~ÃU´·IXí+ô¶¼í†»®ý÷3]÷hЛXÈMÜŠ’ºbŸvÎ¥Ž£üFÃËd»¢«o‘ŽlbzØáx·&sÁ¾Š0O=NµùØ6â4þûÓòÁ{=8ö¼àÊpÿD,øÔôÐÌäË£"ŽÖ\Çô8ò¤Àí”ûîðºÁª©x¿;,¼¨ñmÁóy¸×%×šŽ«¯ã"ߺéÑûMãéù
Yp‰^´>vÎôŒŸÌö=µû˜N|FX.éXõ8ùlÓe[»MŬ
q±yYûåûíÛ{ÒçεCÏ{ÚÞJ÷^ž'7nœÁœwÞyÇœzê©yúr7êqX´uÕ…:ñãÌ®»î¬»á».ÃYµPDÝI:°]ÜV[meÐ Øa‡…CNQ¯‚Hœgžy¡XÉE/ŵ>}f~}ÏA»lP(fÀÂ-,3ìгbLYB±@@¯¾új°ÑªˆEzш¹–{ï?gG¼ÅËÙe—§ÄX%Ë]Jy³Í63‘(˜´>Éýî‚/µˆklöúÚkvîŠc T¯½öZ3ß|ó9W’Oÿò—¿-MköÙg3thtŽOÚ{é.™ÀT[1žpð>ÉŽÔUôv8»§wò­×™É—E[IÁrì)¦Ë6;š¦'ÍÛ'­ÛáÇ™n{zE(•U»G!z4O9*¬Äª 
téyÒ™¦ý\óhë’ˬ>·?d–]!Ï~Úûú»D¯Ï4žq¢i²½UqðΛn\ÎMgƲožÄÖ
Ýí
®èIñ
ÕÔ~£×aº"Q»I;©Ü´Óaº¿/9Ç4ÙÅ3’z;m0«wÊãö4:ÁßаÏþA/Q°hÒ¬{QžxôAyb±«uÛmÀÁXÈÛˆÞîʼnF‚IÛøHÇ–—Ÿ/èFÒÚ}ôŽùËšAÜÐÐQÊÞ‰ð³éñ‡ìûqŒë}xÞe÷þ¦Ç1³+XLgÒe癦{îÝè]þooÓýðãÃ}
q­Px»î´{°ï¨öKÿ–¹Ê¾Þqí.îwïkoO/gL7¶áÄÝÿ
=OŒ<¨ö{ÚïéW#åT±y9ŽìÏ?-6=“îë}Ëý¦ã
+'9áµ	<ýôÓÁÊ´·4(”p}¿±ýؽ÷F¿#K-µTPÄè/w#ÄàþóŸ ‡~ˆPÄ>‰X-õÍ7ßF¦É6X¬F†›b¤ÂëØÑöè{L)¢Ñ×£ˆu.Ы¹ÄKxB¡U%P(ºTczêBg1×ÑÒrë­·šßÿ=tZè‡W(ÆøúUàº~ÍgŸ}f0L­/hmÂâ0¥¬¢…–-@+®¸¢Aƒ!­åô¾÷Þ{7ø‰?y !¿üdZÞÇä¦L6µ«Úa’Z&Ã8§}òQ°×Ví°Ð"rÉ '›¢wÙrûÈ0Mô´Øáq¹Æ‰¶‡äO¦Áþµ³»,
æŽM³ÃZeß8×oÄ¡yäó¦+æTÙ¡3™[©þÍ(Û‹ûIÀÃíÚÏ[\CK&ñ˜åI9i—eãtäw;zÀجÜð§eƒžÇJoÈΧmšŸy¢¨Çtoš›ƒ¼l·±Ës›†%—
ÎAÃSI¦ïi‘y¹¤xó¦VK‹à`:†f.·ÜrAKÄê‹XkD ÁuÖ	„Ÿ<ìG}d¾ùæ³Í6Ûˆ•AÇÖ¨@]õÉ•W^9mzè§ÔCåÞìþ(PŸÕBÓ—0œ=§¡)p?VHOüƺTß?(3N½ÄjRiŒW(¦¹±H7_Ö"ý£s  êÈÙi-ï¾4n´·«{Â`ÏÀ1[× ÷C7ëÅ+ž^t–iyiæ"*7²=Èíñf{[g|ûMd'FèUˆë…Ÿ“Z#Š+¬°B VËéèhÏ_+q¦P¬@J ç
c¸Ñó–dÊŠqâϵwÏ“âÃk$@$@µGÀ]Iö­›|ÓÕÁæò}ïÊ®ÐZ?C±0ÔWæHº+»©'C½aïÛ÷ÑuÏs tâê—b/Çt¾å»ÂŠ÷o¼q02ÿ*mªE€B±B¤!1Öû믿Ž
¡¡xš²Û¼Ü—5öxH€H âÜ=»ì¶—é¶Ïf¬Ý"¢a•?›Þ—×Ï\kéEè²e…œ»Ç©/7ŽÜ/°înçvµ‹LÑ	dK P=³ÐõlcCß²$@¡˜%M_o¿ý¶yì±Ç¼{.–-=á¹/£{î¹…V$@$@5L@öv”(b;l¿¹‘}îzÔn±¬\jûGÛ@:v×-ÃE¬˜ÚóÄ3íÜÁÅ¢Ïn7oþ¤]í÷¢`ø)¡é=ÄnóT`åÞ¨'<#ˆ#W¿{9ÆÝOûÖA€B±
é„í)n¹å3~üøHh•Š‘fðeõQ¡		´ØZbì¶ç­¼¬ô»÷ÌÞ²Öñ$ÙÄrÚ矘I—6-¯¼z([•`Ñ™?ý®j‹Õ’»îwhГخJñ		¤ @¡˜RN Ö†
¬%þ•%c†º¢Ð=—°y$ h=°Â(¶i±{bbEÛŽ«­m:®¸Jëy€
Ä4XùØ®~Œ}GgüúK°êl;»jv»=Mû¹çµ{j®d·¨YÑÀކH [qõK±—c¶¡Ò·j P¬2qlL¹‹-¶Õ³,¡XD¼ù²‹NI€H€H€H€2#Àzhf(«î…¢‹<¦§.t–Áõ¦ææ`UTìsxÄG„^?Êôß}Ýóh`<#    âÄÕ/Å^ޱ¾–Yß-{ŸÄBáÇF¼¾.P(ÎÁô7nœéÓ§OÅcPðe­x					@k"@¡ØšRKÅ5Nü¹öî¹ò‚?I€H€H€H€H€HÀK€BÑ‹¥•X¦ì6§Xl%éÉh’				@ P¬‘„È*®(tϳ
‡þ					´]Šm7mÃ'£XQð					@
Š) Õ¤“˜a§®(tÏkòY)     š"@¡XSÉQ™ÈP,V†+}%    ¶J€BÑMÙ˜žºÐY_wE¡{>					@
Å0mÉšb±-¥&Ÿ…H€H€H€H€*O€B±òŒ+BœøsíÝóŠD†ž’					´)Š­99
ƒõl‹­9‘w    ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
Åê3gˆ$@$@$@$@$@$PÓ(k:y9     ¨>
E‡yss³cÃS     ¶J sçÎmõÑÊz.
Eß×_íØð”H€H€H€H€H ­X|ñÅÛ꣕õ\Š>
EOk‚@¯]6¯‰x0$@$@$Ð	L¸÷éÖmƹJ(ý ).ŠžÖ
ÅšHF‚H€H • Pl¥	W¥hS(úAS(ú¹Ð–H€H€H€H€H€ê–…bÝ&=œH€H€H€H€H€ü(ý\hK$@$@$@$@$@uK€B±n“žN$@$@$@$@$@~Š~.´%     º%@¡X·IÏ'     ?
E?Ú’					@Ý P¬Û¤çƒ“					€Ÿ…¢ŸmI€H€H€H€H€H n	P(ÖmÒóÁI€H€H€H€H€HÀO€BÑÏ…¶$@$@$@$@$@$P·(ë6éùà$@$@$@$@$@$à'@¡èçB[     ¨[Šu›ô|p תz´@IDAT    ð Pôs¡-						Ô-
źMz>8						ø	P(ú¹Ð–H€H€H€H€H€ê–…bÝ&=œH€H€H€H€H€ü(ý\hK$@$@$@$@$@uK€B±n“žN$@$@$@$@$@~Š~.´%     º%@¡X·IÏ'     ?
E?Ú’					@Ý P¬Û¤çƒ“					€Ÿ…¢ŸmI€H€H€H€H€H n	P(ÖmÒóÁI€H€H€H€H€HÀO€BÑÏ…¶$@$@$@$@$@$P·(ë6éùà$@$@$@$@$@$à'@¡èçB[     ¨[Šu›ô|p     ð Pôs¡-						Ô-
źMz>8						ø	P(ú¹Ð–H€H€H€H€H€ê–…bÝ&=œH€H€H€H€H€ü(ý\hK$@$@$@$@$@uK€B±n“žN$@$@$@$@$@~Š~.´%     º%@¡X·IÏ'     ?
E?Ú’					@Ý P¬Û¤çƒ“					€Ÿ…¢ŸmI€H€H€H€H€H n	P(ÖmÒóÁI€H€H€H€H€HÀO€BÑÏ…¶$@$@$@$@$@$P·(ë6éùà$@$@$@$@$@$à'@¡èçB[     ¨[Šu›ômÿÁÇŽkî¼óN3fÌÓ¿³È"‹´ý‡®Ó'Ìåræ½÷Þ3=ö˜ùàƒÌ=÷ÜKùâÙgŸ5>ú¨Ùm·ÝÌÖ[oë–H€ªGà‹/¾0<ð€Yi¥•Ì–[nY½€+¿A›±·¯¼òJï6ÜpC³ÕV[™†††²Cøí·ß̰aÃÌ„	Ìá‡^¶ô€æ
E‡ü^{íeÞxã
ÇÖzá…šm·ÝÖ‘¶sœÀvÛmˆDdÞyç5?üðC&€9þ`Œ@@à_|Ñ<õÔS0üõ×_ûž={gÁùñÇ›gžyÆ<þøãÁQ®]uÕUæÀ”SI€ªH ±±Ñ¼öÚkAÃ̓>h>ÿüó ô!C†˜C=´Š1©LPüU†k–¾¾õÖ[f5Ö½¼á†Ì€Âó´?¦M›fÞyç3bĈ Áò¥—^
nÝ~ûíÍC=”Öº#š#@¡è$ÉsÏ=gÞ|óMs×]w=Îåàtß}÷5k®¹¦ÙxãÍÒK/ísB»9L…vÇŽ#±@…d­µÖŠØñ¤õ@ë¯|ŒõS¸BñùçŸ7›l²‰vþ¦PQð	T@Ü;ÜÞK~ƒªžJ

þÇ{lx/z²Ñ X¬9ãŒ3Ìi§–wÛ.»ì’8Â%ïZ@ PŒI3f˜UW]5O,B@þßÿý_Ì]´®%ºñðË/¿˜®]»ÖR—2Lœ8ÑtïÞÝ<üðÃfÇw}r…bKK‹Áûùddî…¢¦ÃßmÀ¸qゞË.»¬Õ<戭·Þza|‡jöÙgŸð¼µþ˜“ß Ö˜æD:£sÚñÁˆcݺu+9*nO2ÖG¸ùæ›Kö/Íï¾û®Á;tðÁ§q^–Lå8ýôÓÍ~ûíg\pÁ²üâÍ­ƒ…bB:]sÍ5yó—ð’Ð	Ôô(bŽL’PÄõÏþsy
Å´ø>a&ôš·¦oÕgŸ}f–Yf™0n½õVƒõhJ#ÐZóAiO[{wõêÕË`Ä„ç7ÞX±H¢A`µÕVFÀÝwß}G˜3´²UE,Œƒr*atƒÀN;íd*-õÂ?Š•HÑÚô“B1!](àð	Ô
ÅJFeŽ9r¤Yýõð[³PĶF»ï¾{ø,ü‘ž@kÎ韲¶]j¡ˆ!š×^{mE"|Á˜ãŽ;.ð»ÒB«Š£çòûï¿£P¬H’Ö¦§öcBCছnÂ8ÓðÏöTĸÌÎÚŽoÏMŸ>½dí‚9;æ>¼¿ÿý÷ð¼Ð}o!·­ézSSSÎ.šP0Êv¸Hž»Rî»ï¾Ë³/d–vKŽÜO?ýTÈ)¯—IÀ~$S½§öãºÃ»m{S…Œ÷ii÷jÌÙ9¯©î©5G(Ww¼å˜4ïQ9þ»÷–S&577ç¾üòË܇~˜›2eŠëu¦ç(;ì6,9»`ù¥šÆ®þ›Ã÷I¯J	¿ÖÅ„‡|¨ß£O?ý4w»h\1Þ¥*Û‹ò0Æ1¾¯ß|óMIé›öd×AÈï\šïxVù /‹¬Êש­ÀÅ."qxY1“Ãw»c·l)ê6„oET¤Þ¥ßÅ8 •H_|ŸðIc.½ôÒÈ;ƒo`ZSì÷qZn¹å"á!®4õAÃShbTC(¢ »ýöÛsvÌwníµ×_D;±?°ÃµB•øñÄOäì~=ÁývuÏàÃ9xðà°ò`çeåìþyOŠžm•ÊÙ%œsv¯Áàþ¥–Z*gç‡ä^~ùå<÷Ú²Ýz g‡ç÷Ik÷ÂÊÙUìrv™éÀþ¢Ce@›1cÆäÎ:ë¬ð¹áá[IÐ~êßàöÂ/äìÐ ¾ç‡{Äëì³ÏÎá¹Áã‰'žòCñ³+Þæ¾úê«ÀMÜ?\O]iÇâ…mõº³K˜GÜé“J	E»Lz–ø
&v‘‚‚•·9ÈÛ'Ÿ|rn³Í6‹äå…Z(È‹(+
y?À÷áùqĹ]ð+‡÷=KƒrĶÀå
ÞI	o‡vÈÙ¹k‘
™/\ˆC;ô.Ì·:íPžzê©™	TF>úè[	ï¦íË‹bÖïÝÔ;RÖHø[o½uNþð-ð™W_}5à!ùåÞM»‡aÉï¹/ØÙž®ÜA©pâ=Âûn÷8‘÷GÝVÎ÷ïüÃÈÒFÂ+¥áXXðXû¢µÌÚoUcX)¡ˆ—KWöÑ‚ä3v‰óÈ‹‰E¬ðÁEk“öK^d´²áC„aòáGპ%q‡Þ'× bæú‰¡Ab *1äÊW £‚Eæ¡h‘"á¢BçÎûÃð¹Ž#†•jPHêŠ.üÓBQüýñÇ#aÂ>˜k¤
*Û:nø·6ºðGo¥Ïˆ ö]Ó•ð3.wíìQéÃ%7¾Èn…Õ÷\¸=¨8ŠAOä#\Ço}]Ü¥9"ßê¸Å	E<‡vW-¡ˆü­Ãõ‰b—¯ž3§ÓÃ%þ®H”ôq	ÞÚè|¼ˆ2Á5¨¼ha†0!’K1`.åD®kP9BúËsá(éŭîáÃuôÀ»=Yâ*‰¥Íþùz8u%=!®Éú=²ñI*?¤wï°;Rq„ÐF8ÂÊÉRzrÅ/ôú¹"Qüt‚Oœºñò•çðÏmTäŸb
¾Ÿw”¹>##h °]“ö„^pÞ/ááQ,
¸ð½nú:F¬øLÚ|à»×g—EyrÎ9çDâ'ñÝÔϨ…¢ÄÍ7	"IÏáDÙäŠSø{ýõ׋7á#Xt˜qBõq‡w‰â!Âw8ú„¢þ†£ÜsÎ{ðã‘Gqï’Ïë3å~ÏÄÏ3Ï<3ò\å4ÀˆŸ<¶Š	éT)¡ˆa‘ò‚c˜”når££{p¯Rí~1ƒ94âÇQÎPß=qvÚ_ž–û´;_wY=Åû¢ÃÅÐ6׸¢=Ô>£ý©FèFä!·¥Zâè6BéÞ	]!Bü}óìÄôèègÄoÌ»)Ö`øã˧ðO÷àˆ[ÝXáàb£o¡"·"Zl<Åýi§EçÙmWäRxÔ•A¼³>£ã[î{F   ’‹pѨgÜŒ)Ö@(é²5®\¿nÙê6`B`ê^6ÌkŒ3([uÏ1žÃúŠ5å#éf¾wI1ŸÛgÒ~ƒÜFMý>Š¿à)ñÁÑ7jnÓäñ³Ð1‹òa¸Ãœã„¢މgô	Eôækh‰k€ðMép¿½¨iÿâ„"„¹¸ÃÜÔ8ã–Ÿ¾†/Ýû¼å7Nè)wÛÐ×pÕ÷ŒBÑMú9¯eÖƒØ'­„PDåZ
}-Í:B((µ{üþä“O´“`®vƒyrqFiE/†Jøþ¤¥TüõµzÝrË-‘¸a2¹ÏèLø×Ë{ueÀ¼>¿“ìP9øã'uË?„{œAá­ã?‡ª¹”èÕá¡wÅý€a¸*Oº×UÂËZ(B(H|â„+ÂÆ|-q‡cœÑ=¦p§çåÄÝg¯Ã+·‚Œ0²ŠðO÷<¹•V\wß˸y~ÕNÙ¶q#äeŒ6@Þǰ$ÝpãV®d(îó·§Ïíi÷Ý£íÜÖs_y;ßbZT¢(0T¾|-ÞnO`©C¦PKÊŸˆÐ\ ¼|FÒ
Çr߃4GI˜¨øÅ±Öq‡û$Qé{.Øé†D”yZÔ»÷ /ÝwÎ’¾í§›Î¾Ê¸vïûòMÇ	e¨np•{Pn»#5äZÚoûιóžÅ?½°
â†÷Ø5iò{OÜyå	üÎR(ºC.±ðRœ!¯ÓÑW.èrÚ'Ýòõ¸8ãŠ<ŸPDþ–8¡¡ßgä:Žh¸wMZ¡ˆû²øž¹BÓŸhêƒ@|­°>ž?ñ)+!1ÏPip[GÑ þ Ãï¤BÌm	×q)ô-SÚ¤ŠX@û$õðKwî—;Ío7ýÊŠSðx&Yq
×t´Ú®°‡[Ÿ™SBQÏ!B¼ãŒÛ‹¦çÕÆÝg/|p,·‚Œ0²ŠðCÂ\‘„Ê.bôB7x=÷ŠÑ$±žUè…\ ìK1º¼ISÁÖÃÁ"©±Å·'PçB¿}½T&­‡ì!LœãÝuzôa_Ü’ìPQC¥C¤µÁô”q:íÁÔgôó•û¤"¤u¸i~Ç	]ß3‰C“Œ;ÙŠX¹RdzP#•O ĉ‹—;dá£qÀ—çâüHû
J+1ŒQsp"4ù .¾®}å	ü¬¤PDÙ™dÜQYzܧßUŸPÄw^¸§)áFÜÇ	A4RaM×à]Ðs
áò¿k\¡ˆµ’L¹ß3W(¢œ¥©ñµÂúxþħtù4D¢‡ö"¶aG´’2º÷¸ó€ŠŠº‚‹Šë
7Üê-ºnëeZ¡ˆ9™ú™“„¢‹…{´ž–cÜôËB(¢×T?‹Û{¢…®v‡¡Rq­ÄòŒsJ(º%‰{tçrŒ1Âu’ú\³)·‚Œ@+!õà'ùV¥ÓÏP®PÌ"
ÐK­ãôßÿþW?Bªßi‡·iÏ|j_¹¾GÿÖ=ñà›¶L‚;ßÜIí7*3˜û¬+nšQ9BQ‡ƒßhHñ-:‚ðª-}#@GÍ•÷´¬Ky×uXè™J2®PtCÝUMõŒqþj¡Š4(åôto½€M\Ò~ƒÒ
EwšI!¡—ââ«í³(OÄ¿9)ÝúOrM!¡¨¿/hl*dtÞŠÚŒ†@žw{Œ%Ï¥ŠÅLÕ)å{æ
Eß¼lýLüÝvP(&¤¥[Èãå/׸“öÓ|¼\A†¡‚Ú¸aR¢n!LlÚÿ¸ßn¼â†žºœ¤pk](ºÃ^_mÐ{êöZHaüƒ<å
n¹N	E·!BâãëQ(⃪W{CڢыWHºâX®PÌ"
0ONÇÉ7oÎMS÷Ü­°§m¬Ñ-ÄAÏÝuÃpÏuå7iª{_Ò9ž½XÂbXUU¯¸ŒkYEôˆê9}Ø‚=zøf-E·—Í7ÿ+‰i1×ܰ
­0ëæ;W(êŠ7ÒÍgæ‹›žS†{°åN±á¸þHžÂCúô°m×·×XY‹B1‹òDxÌI¡ˆaÊ:Íô¶?]~ùzu½)ÍH'_“„"òk$|Á
ß笄b9ß3W(&Õ3…+mƒ…bB:º…|B½'ºHZ(B¢æÍrF(F(ê°}«qI˜iŽõ(Ýßü)q?üš{܇ƒB1?×inI"B·ø&½§î¼#ß‚'Ó|,D$ƳRBÑ]‰õÁ”è¦>b‘	Í2XùN$ýÝù%º²M¡8“¢°Â±Z=Šn¯š»q;bV‹Bó¶4/ä¹Bsøð,èÇ»,•ÝÊ
ÿ
-?ôÐË´½¸FÏQDxi{~°*a²r©»
oheVBó„58»"ÏUkBqÒåʘ¸ž0¸Õߘ¸^síN~£§Vøàˆp“Â*$ÝE\ŸBÆ÷›ô]ôù…ßÂ'Ø
C7Èsú¶Èqë­I(fUž€íœŠz뤕¯!*I("þº~¸
‡p£~Ï\¡ˆ’uþ‰kÄ•|…c¡·eLVß3W(¦éÕ×Lø»õ PLH;·ÇË_¬‘
¥Wp‡¾¡@ët’qãáV€ŠŠz¾ÂN3Þ­òxvwŸžzŠ
R€ƒ‰^	øÕQBZîÅsþ´ÑB×ã–“ok=ŠI½
šWµ„¢^Jáû†ØÈ{-ñ‹«Dë
H\…y «^]â†mn
Ì›†8”üæ6&G!£ÃMJ'Ÿ?XER8âˆ÷ªÐb%è½Áꎈ·4¸èÞž8±š…Ptç)Ç-"Q¬P,÷=H³ÚåÚk¯aÅZ
™ú€ò¾ƒtÔéŠïXœq…"VÒÕÆmLÀHBÆæ!ù»Ð}r¢ñ÷5¶ Ç\ϧ‡;ßÜ7÷Û]m¡ˆ÷²£ßk|xÄðŒËcð««ê0“öq…{×`ÕTÍ	~¡bækùǽ‰˜wX年üó·ÒäMõÝãÚ¹ïA\-M¹’å{à®ê
é
.0KJ/Œ@ñŽ&å—Îݼˆ^™¸4…pÐéçŠJ4¦jVp›ÔÓü ó*¹ÅŠqs}Që8ùTÒ~ƒÜ9íq+d»[=H#‰~¶4ù@»Oúí¦!¸[žÀ7ßʼn#}%yᥗ^Ê‹^1B‹J‰_8ºìâ¹Î+îupsë­·Fü_¾ýáÖ-‹\Q‰'øíÔ»´߃a‹;ÄAо{’ìô²ûðóÚk¯õ:w?(ØeÞ“Ü€¡…/}#ˆPÄußPDݺé«| WG‡ßhD%ú”SN	+m:màf„­[8Ýù%pgD0HØXNÜg´P†[|K5nÚÀ?ôº_sÍ59̵À¹TR%^8¢gÃõû„¸Î7p‡¤Ï¸•MwXîA𓸅ô…(—°|ÇÛo¿=hýw¯á£+ÃjðQv[èáûÿéÆ| Ý8Ã
|ôèI~ƒ(ÇZâ/aƒ'쵟ò,…Žrà ~¹GðÇ;àk¬AŽ«ÈÛèÉa©ýÀû‹kÒj~´°úÂÄû®{ô‘^IïÒ-í¾|
Fx_æd Ýܹ>šüFËy’°CÃ[AžFº ²†!yÂ	=ä™r¸K…Qâè;"ßIO ÏìÞ‹Š–[)7îÞ´Ú_ßow«ø#G's+Vr
!b²xÄ/w•J	GôŠ‹à‚û4ù÷wÜqe5Ö¡ÂWyÖñó½çÈèQÒñÆ7Ã-Û¤rŒ2e³ôÒ"oÆ5^
³¤£Šˆ+ÂÅȼûøNë²ú‰'ž½*æ„wÌŸŒ°PgÀ)[‘oÝÆe¸Ã7e°6Åäƒ0Ò	?²*OÎ:ë¬ØòÏ¡än«{ä-Ž|BîP.à[€Æ?]ná~·Q	‹^Hr_Còý—_~áŠ{ð­@XIzT”¸Ãw
¨Ë ?ëø‰9BÔ"
µÐ•k8âšiÒ×å7†=Ãdñ=ƒ?x÷|ßO„‡ç‰kœÅ½4­›…¢“~¾—\^¼Rsq•û¤Ê^Lˆ:×À.M|âz‡à†ÀÆXøÈ¢²ƒž6¨
W†n¸C|÷AHúÆÿ»nãZbuÜðÛ7„ÍõçºõWETô!¨¤¬ïÅóø*¨RÇ~á#¦E‰Ü+GôVè%|0•VUƒ=*ŽZÈ»­Ér¿>¢Ú7|N»ÁoTÞ`â>â¬J1hèp[Òá'†Wɼ@©@‚	â-'„çV%>úˆ´Õ=¹úšû[¿+àãÆhàŠ+*‹â ŽHÛZIôöùø"=Q	”vãîhyf9â¹uo’…®¡²ŸÔH¶Ia¡È}wÑ…†-1z*eè	–47…ŽÈ‡¾tFžÁŒ!–"ZÀ
å‚oïÂrßW_ÅÃ-ÇqF=¸=8’¦ø&ZÙQ‡[è7žÛ}Ÿò"Þ)0“säͤraÁ?7%î8"ß5ªP´¯K‰2$.,”Áît´ß T¬uœ}¿!²‘ß}×´¾YÚ“ô}I¿Ë-OðŽÉ·KÇy¢yy×Àk'øz]¡ˆòÇÝv~À_\ÓßGý|qiªã&kKèû7}å*îCÊñÍ({Üò‚Q7@ã^܃Ær‰/Þ	<ƒÄîÝé=ñny	Ü^ôr¾gúÙ%}$N8b¨³:«ÝówÛ Ða›f°-†Æ@ÆÆÆ*fÕUW5+¯¼²Yd‘E*3Û²„ýñÇ›ùçŸß,»ì²æü£iß¾}Åî…ÀÙÇ
¢b+3æ³Ï>3¶õÌ€‡íq1¶¥2H‹†††ÄèÚŠ¡±•oÓ·o_c[xmÉ3¶²blÁmºwï0íÖ­[¢rѶZñ€û¹æš+ˆC»ví‚ˈ~ÛJž8oµG?VûQ8-³Ì2f¾ùæŸÇVÂÌb‹-\-«ôÃV\Œ­¨¤ÞÃ…^8ï°½ÓA:/½ôÒ¦sçÎUŠYqÁØaÆö®¢Q0`»è¢‹çu|÷å“uäe”QË/¿¼I›§‹	ï„שS§ ¼›i#®x‡ñ>.±ÄfžyæÉå-Òe¼WyŽRX œ°
nqüÓŸþdzôè¹ËVä‚2דÊò,ß[iØ	7“ŒmÜ0¶Á2(ëÀËŠDó‡?ü!é–’¯9ò?Áû„°P®"­l%Ôl´ÑFÁyšð~¢ì€Èß½zõ2¶—?(«ûõë—Æ‹D7H;°Á7éƒrå¹mÌÊ^|PÖת)6¤}Žr˼3H/+ø‚rïµäQÄÙŽ¶1+¬°Blt¬
¾‰âÀ®y`.»ì² }ð.Ú!ÿAXrÉ%ÅIEŽVÏaE_Xo·ÆŠCc†LïÞ½ÃFžBž{o¼p›†íÙ4.¸`b^Cyf{MƒzÞ)_™–Õ÷õS+Xƒ²ï@¡g”gá±õ Pl½iǘgDÀ'3òšÞ			dD N(fä=½!pP(:@xZ(ë/ÍùÄ$@$@­…bëK3Ƹu PlÝéÇØg@€B1ˆô‚H€H€*L€B±Â€é=	8( <­?˜_†yW0s94$@$@$@µEóúX`0Rv»sõÕW‡çüA$-
ÅlyÒ·VF‹+¸`Ò·o2x+{4F—H€H€Ú»‰Ùj«­Âg²«»buxÎ$@Ù PÌ–'}keì¶-’ÚØíLÌþûïŸzõ=}/“			dO+nÚ-/ŒÝ'âùÈ‘#ͺë®±ã		@6(³áH_Z¡C‡»÷R°¤t\Ô±ÔúÃ?Ü&¶¡ˆ{FÚ“		@­8øàƒˆ-4|[Sl¸á†fذa¾Ë´#(‘…b‰àx[ë&€}e^bÜ“tíÚÕl½õÖq—iO$@$@$PÏ=÷\°GbRPØëv­µÖJrÂk$@E P,“					@['@¡ØÖS˜ÏG$@$@$@$@$@E P,“					@['@¡ØÖS˜ÏG$@$@$@$@$@E P,“					@['@¡ØÖS˜ÏG$@$@$@$@$@E P,“					@['@¡ØÖS˜ÏG$@$@$@$@$@E P,X)οýö[óÄO˜'Ÿ|Ò2Ä,²È"^o¾þúksÛm·™ùæ›Ïì±Ç¦W¯^^w´¬_Ó§O7o¾ù¦yðÁÍþûïo_|ñú…QCOþÊ+¯˜xÀl¸á†f«­¶2


5»tQiÏîIÓ»úí·ß̰aÃÌ„	ÌᇞþÆ]ær9óÞ{ï™Ç{Ì|ðÁæž{î)Ñ'ÞVIcÇŽ5Ï>û¬yôÑGÍn»íf¶ÞzëJ×*ý.&/·…²§-Ê]rÉ%¹Í6Û,Ìx߯ºêªÚˆd
Ä¢”¼ÜÊž¶ði³ÏÅ_ÉÿŸ|òIÚ[S»c}85ªª84U	¥Î4hPäEJ#_{íµ¼{lïQ‘ã㺚››óò…䧸FמW–À\I£-·Ü²²VÀ÷¶ðY`‰+»wÙe—,¼÷ú¡©¼Û8R(zqÍË#FDÞqN㓤”¼ÜÊž¶ð³S1ù¾o:ÿãÙ³6¬gM´<ÿ(Ëãç½{Ò¤I¹iÓ¦åÞ~ûíÜrË-y©â*÷ãÆ‹¸ÛvÛm½~Ó²þŒ3&g‡aä6ÞxãH©DK^ýÑ-ÿ‰‡I´¸¶6Óž!æ(»Ñ+rçwFÒÔNÈÂ{¯vXk‚vèr$L
E/®9b‰QBMMM¹~ø!‡F]Q¦Pœ$¥äå¶Pö´…g˜ŠÉ¿ÜÆ4ô¦fmXΚhyþQ(–ǯàÝ'žxbä£'áÑÈ‘#sýû÷ÏpÂ	¹ï¾û® ßzxÅWtWÏ0dC€¿ÿþûVáÜsÏä¥/¾ø¢Õ?S[xTòïºë®Ü;ì»üòËs…„ˆãTÈY&×Ó¼¥g2Éí´ÓNÅÜVwn!¤Áÿý÷ßoõÏŽ¹o:/}õÕW­þ™êñÞzë­ «ÕÈÓ–Þjæ5yßöÝwߪÆ	“B±*È‹
´’F8R(ú2/û¹Ð–Z
Å
§˜TÒäÃ’…PD¡PŒO@=Á¼-
ÅQ£FÅ?<¯Ô$#FʃjŶöT3QµP0`@U‚Fy.ß

Ū /:|K$p¤Pô#d^ös¡-	´6ŠN±JÅÁƒ‡*
EþòË/¹…Z(äÔ…¢ÝvÅÿðÿÏÞ™@ßwMwü„H$!‘"BPª”Ö"JJ«¦V¤«º°jYŠ ŠYLEÒ?b¢$„$†eHþ!†Ä”Ö‰¨ú«”FÐAŒ-}=ŸË¾ëûöïœ{ï{ï¾ßûý~Ù{­ßïÜwï÷9gŸýÝgŠ·’ì[fï±)™ËŠ[±¬gÅ*P|Ô£µ.I‡r½.l^(‘ŠÃØmyŸÂWp`£s €â’kh^ ø£ý¨˜³W¼â­¢‰Â96P$]f,•øïk\Ð÷³>³ïgúÁ~0ùæ7¿ÙÔøC„†EÒÐòóüýï¿+¹¥}cö‰ýF~éé·¾õ-û4š«e-Ò"š7?‹Ö£j2OÖK}—Ókô MõÝY€" “vïØ›°ì¼éÄ]*C_š‹öoÂðDœëÑÿ8ŽýòË/Ÿêû
ýèGû¬uþ¦¾Ø·4+-ª\/Zž×âÂÁCiÞþ:4~óoé0³Þ4P¤}ùºA&pHÙ=;Œ³Ê~–ßäóë_ÿúäË_þòä§?ýéà ó¶åYem޶@>=ñîŠ+®ð¯—þ{Hh´%Ú5ç) o-ƒàG‰OôñYêÖòF;ôe°oêRGŒI\õ5
áç<ñF˜a ØÃ'ø»Þõ®É“Ÿüä	›³Qøã.¥cŽ9¦W¡š(2`p_ž?¬Y#Û¶m›R4ŠÜ«—/ûmÿØh?+1óð†7¼¡M÷«_ýj"§ýÙiq׃Æâ$0ó¹÷½ïÝÞ	€ã`€”žþô§OÝ/F~:è É³žõ¬É=îqÉY‚É/:“hy¿Ë]îÒòÈŸ`ˆÀ†oÜ•†øÁ;fnMY¼ýío?yå+_Ù´Úþ=ç9Ï™b³úÝžŸö´§Mù+ýàò§÷%’6iøý®cE€7Ç[³”ÙÒ¼Å-n1yèCÚÜZÊ#‡‘ÇÚß)§œÒð°ö½ë”4„“N:iž0òA}PŸìw9õÔS§yŸ·¡õø™Ï|Æm”zòýð‡?¼M×ÚmŒöA¬Ñe—]Ö,%åÞTú£e²>mqâR>í»¥¬Þ÷¾÷5mIÃñÌòUú‘WìIwž>@¸®2ð݆Œã?¾á™fè/ô÷g<ã“ç+úYó¢½hB'¬÷
êQûÄÏi{c*ÌÈ#Ÿ
Æ_ò@_à ëû|늴½ÓO?½‘È&‹¸‘™|C©ê£Y•ë1êKÛ§à3„¡…å¶VÚ)ï<}êSŸjc<„_ü!ïÿøÇOÆ^ñ@[9òÈ#›±WëùÀX€ÜVB†™ìUWó…,ÐoöLÛ£?”h(PDÞ¾}{k úЇ>ÔÈß¶á1é¢+tÉò2<(•¡ï`âÕ¯~u»LÞÚ.í„1€6ßE³´åYeÏ×¾öµ&ª[7d*m£O¾¾;žÿüç·ÙäÙêXݳÎ:«õCÙõ›>shY†” ˆlyÒ“žÔôøad¼T>SôÎEez%¼`¼ þ“O>¹IІœÖ¾ôÀ>pܾ袋>£3¼ìe/kâ+ýãÛ&ee#=ÆCú,õW£.}¸&Þ/‡;øJõ×»¹R]
QP´Nü‡úžQ\t°rªü@uÞyç5ƒ´ú³gÀ0ƒm€ÉÞãÒn¼XKÄ B[Ñ0þ¾`…7š§ýÕ3(äà}PâÛʲÎ`îõ¯ýš¸=Pôû2ÙoÚJ˜°´1N˜£¿hߢOy~ú|[üÞ%­¡e°|™ûñ¼í›ÄK^Ô>Ã;lÍ(–køëå¼G®ø™WegR ˆ¢ïèÕôì¹( ÈEµxÌEY/½·ï¸Èd§§Eä«ï7ãíÀòÅx‹ÜáúÚ¶½T”f§,þ¾¶<¯ìyÇ;ÞÑæƒcFÔR{ ¯ôè«´%ßn0”æè€J?>"#”†–6ó”§pФJ(¼ÀªhßqôG,q#ú]ŸU×÷((u­ï=P´¼ XÕ_
(¢¬èì	–\%Ú3lÏ‹\ù¡³“œ¶|„YJ!Ã?\³Ó>c…õyÒÚ˜Ön({I²ÈÔÌ/J Í^0ëìë€a€m‘z$mÚ…õÚ½ßÚ)+^#f9µ¯/€ÑÄÚ-~/¸à‚6Yäß-s™eªQŸrmá­?.YÞ‹h¿ö[]“Ó´g«êöÓŸþtÓv)/3ŒÊ¿ímo³lÏì2î©ÑÎ+êÌjyf•„’ͤ˜?ŠêOXüÎáŸÉKS]ŒŸ(ð^ΚŸÒÁI‹È-cß3üV#ã„ý[
<\ÙT£¾¶<ìlŸÏÒh%êž6l~p(š_¯Ã)P4?¸~»‡oCËpâ‰'®Ñ{4<3F¢où÷ü¦L¾¬šÏÒ3­+‹Wõ/ä7²ÍûÃý܈ñ–6íýg	(¢cY@¦{Ò»õÛP}XÃÄóò9@±Âc³jÓÈýŒ
A°®ZÇÃEÑWEÏ¢õ²*ÒæeÅfÏ,^ýnÏt^ûŽ»¨…€ 37Š€®“gǾá"J„°3^a6ÿÔ^™ÀÚ¤„2iñÔ–'0㆔OG}t?ª¨š_x‰UÞ𥇋¥<°4ÄòÊò1È×A
(Ò4ÎPÄjþü2VË+ Ë€óE¬…–>O€3ÏfK¤JqjÛÌ/ƒ‘»R´AkûÄç	åEÛéP?FóÖ#F4)oi³|Æ+\Ú‚'ïGy ~ÕÂJ\(+%‚šfIqdùšúѾjqéæwhìjKP"î™q£•˜¹ðmšxAf¸À?
¥‡‹uz^Â`qQ—$Z¼~6¼÷ÚOjK°t„´I×¾,Ý>åcÔý‘~ãaã
`#ŒÍ€QN»Xnå(ÍúüQÞï|ç;VÄ™\–â[ž¼’nÙjóGþ”X•aßpk@‘Ùõ7/P$mÚº‚‹—íjÌÅÈ¢ÆóǪ£±äÅ×å2ÓnyÀ=í´ÓÖxgÕˆùA¶×hH[&ìPÙà K—ÙùÚ˜ÂRvó‡[ŠtÔO
(z~ÔÚàÐ2”Œ«èšº…€±½Nódz-­ñ»ôžvˆ\òqø´‘¦ð_Ò™HCTø+E5ŠÒ¯Jd«0J߆êÃ¥°ñn|P,ðàaËÀ÷Ææióc.–hOC"áP0-.Üy²ˆÒdñû<¢¬ë, ùó³~¡‚]÷üP´¬(Œ:㤂E£4( |ÇG>òËbë΢${¥–N‰åp€F%Í{
(â_ý•€"J‹ú±™4MËž™ÅU¿~É¡ùësM±‚ç^y·°ò,½RÞñoä™_”LíC¥e,–®žâëgÌŸÎ [:¾ÎZºt}­%5åÒßÔŠ
Ï<ÁCËî¢@žj|r0¤ðB•Ú®“@±~+ß(Ët=a‘ײ–fQ¬ÕOÉBíã­ýF^Z\ì‘©‘Jü—,[·¸08tYü½A¥&3ú”ëeÔK¬,ŒJ€Z“¿È|ä1~™Õ®‘W:™)˜•Ô`Pµ<øx<÷mHû9ù®Eoü](’GfR§¸ºAËp©_fÆ’_—{î¹çNå£tõ‡ÔµøúÚ²…þ¶Ñ¨@IDAT"{Ð
tœaihX&«¼,E\ꧽѣ‡”übÜÕt©wút‰üxOè’1¥8xÇVM“¾‰‘˳Ãê°W"?‹_ŠjœAÆ—È€µ2
чKñÆ»ñ9PF#ã§³©bÔÃ
œÀÒŸZ“é`%PéA˜YeK1ë­uÖ’„Š}Ç(êR,â,Í2‘].€?„¨’ÎtY	ƒòg
‡•G-f~ÂÆƒ5âA˜ 4{òJ2Öñù™Ÿ>²<ãÖ”>âP%°¥ŠriæHóá÷ÛÌu)KªKíšw6[kùg®‘W.¨Wë,Cì"9&­Z~P,/æzP9K=š‘¸j†Ë7ípÍ̶Ÿù6?V^â
ßô¦7Yð5®ZíKý%Öø€«{³,²YúaúÊàå{®º¥JóŸ=ye¨Ö¦ui6q¢˜ÍJžg;:öýxÅÏEÂjÙ˜=ê"Ÿ6a/¾øâ5Aú”ëeÔ_îÆò±âÁÊMûªõW¿ TÖÒb	º¥U›­%,uÅÊÆ–hªÁ‘響ôË?.Šq¼|£/*!4¾Ú3J»é?ô×Ò¬’ï×¥•Äß×–5}²‡ý‚ÆKüÖÀqú-ëI·¯øñ[‡8ô©F:FYÙKõQoïÙNbáq1¨–ˆ±Mýéždõïù[Šl«Ð¸Ð}ÁtÆš¼¢k¾âyy èxË £
|–ç’…zÙ@‘½k‹’W>JŠ)ix)ûÊŒXú¦¼bè#]rIX`~¹
ß+]‡ßhz^IîšÝôuÔ¥@ZZÖy¢ok~É”¥e®_&VSªÍÉݶmÛT=i9úž±l×È+üÄÅÒ’ÒrlÃ̾<èwßf©G³fÖEiˆ’à—žrŠk±4ÓÏ03‹J<~¹xißÛ,}€|ô•å?Æœ.*):¼Sòí¦Ö¦Yú©i{¥Cã¬=&,ŽhõáðcþU6á~Û7\Ú^ùVfÂ<õ)×˨5Vu„È«-ûçyú˜ÎtÖf7<ÿJ¿7
Pdéd»Z^xêï¢ò –vé=ã¥.ÿÆ¿Ñ
tUù,-{Ç_[ÆQŸìÑ4u¶Õ«ëÌFŠ¢ÔE~%BmHWC¢Ÿí,ñtü*¨PÔa&ÐJƱZÞ(Ö8³þï(:žû™,”ó¡¥ý^y{F±oʯøs(Pd°N«@‘½~ú
kpéìa™5PÒå73a~6SÃñì•d=)Óûõu´^@Ñ·µ>eÈE¯tûr•~+À@AÚ¶i#]³8ºLÌêŠ0}¤–G¬‹Cóƒ?¿ôy–zÔÙqöˆ,J}Šñ{ XÚÿSË3¯XòuÖÞøŒ;(võÒí+ƒ?ÕtÈ}ŽXøÙ¡@Ñ/+ž(ªâ:dùjPÔøßµÎêTgãCô¤y,ÙeÔ¦Ù•'(ˆCû«¯w_nÿ›YmߺŸÊûíû½€"ePÀNÙ¹‚ FóȃZ\}ï\Q¥u¯u³l è÷ú÷é[	(ú1­¶E¢«‡EŒtZ¯‹Eòã·*YÜlY¨µ•«} èøï÷;t)Ç.hñ§ïè[(¢0˜ À-)AžAþÄJ¯±F÷iü<³Ç[]-
»ÀŸ¯£.¿¿æeÞEßÖJKh-=\Ïãy€¢Z­kû-4ÍYžýò)Òª-+±x”–æš¿!î,õ¨€¹´pHzê§dáw ˆB¨'øpດ¶8(öµë¾2xE±¶·Dùâû/ׯ(­'PÔ¶ïOŠÕ<Ù³–×Ï(ú2‡!–«Ü(ÍŒ(hóò|ižˆkŒ:Ð4»€¢Ÿ!®íá3þ-â2N*¯ºÆÍ¾t6Pô‡ßp@ЧEä«ï7€Ëõ£.²‡ýˆeE€ª¶…Úá(Vž­ýòe’™•V¹ÞLg‚µ‘cìíÒ¯(ÎZÓËó@ÑñÖ+›óž,iÑúøº¼!Kºv¸yö~XÞÌcF‘N¯ùê:èÂÒ--/õ‚ƒß~`ÒtXÒT:•ÖE¿ŸÍò€ëë¨O¡&Œæa^ èg%ºö°¦Š,Eš•4ߥ“gOýûkH«´[èÙ²Eh–zÔÃ#X¸(õ,â÷@±´§YóÁ¾m~ÏÛ ØÕH·¯úºÕk14ßúì—:û}/ëTÚö}¤¼÷{‰¼¬ætÎ>òˬ¹zÅ“‚6Ò÷´Œ:Ð4»€¢?c‘k/|¹üoªï™gžé½þ½Y€¢Ÿqöò}Qy0˜aÙ£®¸ Mèd~â²¢_yÄ!R]´•€¢/»Ž]<Ðo«Šäý«^Æ«ö8Í·—±ú-ž×—¿¹TV2ƒû"ä•×­
Y;¯|«]iáy©aºö± ”ªB£á˜‰ò{á6PôÇx÷üâ"»YI÷I±,p,ºð§ê_ë§k™°ß§Z›!’Oß׺¿¿±t
Ü4Í*ðC³éŠZƒ¿f@Ñ/#훇7þhv¿¼Ú+µ%I:óLÛšué©7°‡7JY]š«@Ñï%ÒýŽÄÕ7ËAœþ´@»—ÐÒÃUWŠË¨M³(rd½ökŒË"NñÕ´à÷¼´Y€"ÆU+³¯û1äÁPþaܳ|0#äëzEL²üà–fâµl[	(êõ0”½KTèó*¢åƒ±B³ZŸ5½'€¢qoõnEW~ßXÉêë‚4?QDX:‚¬¤¾¯£é^á2s§ù)=1£è7B3Ðõ-‹B9W¡û-¥Û\…¡KÈ,¼¿ÀÅ®Ù_G]ÃøgéâRo5R~i¥?£\uÉ%yëqZ&&5e˜lm‰	–hµF“à´v´½îQįŸqÒ<è3ƒÊ»ž¸7K=ꉊ¤Ëìî¢M¢ˆxš(Öf¡üaþÒkÒž(võâì+ƒ?P~÷‘^Ÿ}ßZ/ H>ÕHB^<øöeéŠþ`/ÀV’I×þJ{T´y°@ü˨M³(’¾ò„öRZÍ?O´•Ò¬·÷g¿ýõS¤ë÷$›_u‘,ñU#ÀfŠvmíCxcÉåSí™6ií·´¼x½"wjžh£Þ0¬åÙJ@Q¯Ž‚óRWÑøJè®\‘¤2Äê•ož†èÃ>Lü^(:¾ú;‹hÈœàÔG¶lÄ_ì•×.‹ÐŽáâzžzÚu˜
³,ê"?êž9»ç¨¤0uP¥ŽüÚ}—yêi—1Á!®Šœ¦ßy†'5ò@±vYx-<ïu¿é
Ù«…E™º­]Åbm Ä@`ÀÑʇŸù;¯H§ï”NPc©ª0¾¯yP¢ésÙ½å
—tÙÿÓEfD*Íö,âõKOk§žêQøä­´dt ØÕÈ__<¨ï»‡8½Lów_®'P|ðƒ xÐAMñÇúÈ–Üv]SŠCÛ#|æÊž>bï(rAÛ™Š5ãØØ÷(úýe]§ž²—[Ûy6KX|]î¶°Þ@‘üj?ãÙ¯LÐ2qú/Êbú…ù«(i+æWuM“gm¯µU%þz¿RÁÇ©[3jqú0þ÷*€"í·¶B œQ¾–öãú±Ã—+~¯(xíg]°DwYãMédòä•×E¢?¬oÊç§ô{ŒEâõ3I:]Äu&,$õ*äµ½)€XL•üþ¿®er¾Žº†¥¡i×”+ø'*rü)–:«ª~yöŠL¨ôaíwIÁíºk®¾ÒÑÖVOÔ£ò¸”{œ<±OUXâA¡¯YNiÿìËÅÀYi–zôF
⣜µå¼€È'²@Á©¥¯eÀˆQ"2pm†ÖAJÏïá*í]™¥ß¾2„´ÝÃ3ê¹FðIãÄxãi(PôÇÄ—êÀÇíÌɳþyÞ…!~õçA%†1Œê‡ö×Ez0ˆ—Nuxíiu iÖd™åÃUʤFÌ*PâeåÁ,„TùËsíÔGêã™Ï|fユ’Ïsi&ÿþêúk‰¼l+]JO¸Y€¢¶MúŒÊ¿±äA©,úηyòQ"\ýÒT£íªÔ–ͮʉ’üô÷¨Ò÷j+–Ì0am§}ÖÆ]ô‹·kåI_(ç,@Ù¤i—KÄÙGcE?cëôäÇŒ3µñ=XËVšT ØW³ë÷=€b×^ˆÐ tguÖÔ`ÇŒ«í{Ié i‡¨Y3Ɇß7¥ƒ…fSãcV¥	«å¬3Mt-ÞÚ!'Ÿ|òTYü=vXE=ðQð eà‹“¥é ºLJW@ï°æ±,B“?„¥Ì[޲Φs%„©çeõ§€R_Æs:ê(ªyf¦Û/¹õ
Ñš@•Ê7Kp¦ûÃP¼8ÅÔÒô‡y5í³ë»_vÈTIYDѲ|˜‹_F ^LiÔù嬳֣Ÿ]%mú§Ñ2¸Âxrì±Ç¶ù«niùÆ¥m”ÈË”…6L_Ær¬ñy%†¼ùe”(Ã.Éš¥VÓ¬•ÁŸÜ‰ÌÒ4‰ÇH—ZÂ×’<;ôÐC§Ò­æg»îô´ô½K>ý>”»Òµ!^&Òε-·_@k³Š^AÔÃA4ŸÖ¾­.ô›=]:îô)ô%Ãye¿µîóEÎÑ&‰ï%C†•§æÚJã…¹:–
“ùaÅíÝ€ûzò«XE¡rˆvᜤE¿/³–ÜÚl”е”Aû³žcɃRYô<ÑrñìÇUŒV§æ¹y90¤-[únIöø3ðÕz$®;v´†M‹³ýÊ1䀗=ÞG|]+p,=ÜRÈŸ—È•Úòm3ˆcö¼ägí;/ÏjÑùýÃ%}ŀⶎ}ÌÚŽ¨7O*—àAiüðaâ÷r8@±ÂW¯˜¨@¨¨`ç[i?Qûãá9,§F¦t[Zµ»£`á—ƒÎ?ÿüÆíÊK-]0Cmà3Plù+	iûŽ‹0(-SEŒòøAÆ€"q”îMB±6 F:I9UI%êŒÀ³P?[1d‰”?\ƒ4Ø£zâ‰'NìP„|ç¥$ì93¡ñÖRü1²ž%…ooWM¡©Õ··æY\¸(»üÁ#{O%ë­
døU%ÑÒe¿çŸùÅ/
iZzêžoV×|#=?¨ϬõHÔÒÕ<Ø3Êd‰üÌ1ùóí™p~ßñr]Š,
.eåAL>þ8(Ȧ[žÌ%,Kóà“ŸYúÀÐ2Ð^ýL39žXÆ« L
3ê×—§fHÓ¸(³7Riœ]Ï~¶¸¨/øE³™)ã­¹Èg”ã/éx€A_ö€‹ÎŽ•úqÑf|{,ýƬâòã×uF=ã‰w­¯j¿¯õ›®4ì[WZ>mê‘vì	YáýRO´„Bk²Õóž2w?cêº_–lé{ HéJú¾åYëÛÏXò@Ó­=û~F¾XµÄ¸åÛ‰å™÷È^øh4´-ã¨ì!–¦¹Ô97t¨ÍO	(’®/²“úÆÀf ×VÓX\¸Ô·ß~0´(ŸÉ}R÷ÐÓ.Uæàgò V"ô-gm騿֫t±Eâ+íMV𪺘æË×OMÖ0ñ¼P¬ð+_XÔågàèè€#¿–Ÿ0bî"²C8PÀ™}BQÑ8yFX1«âg¡JñZX?UŠ×¼fY!³„:¨‚‰Ù$Û+F^ýòTóÇŒ˜K%ny¢Ã3à3_t	%–²Ò>DŠÄàfÖ+3ÖiT‹ÿýï¿%ݺäYó`~q€(Xõý¬ß	Çly-$A«ÅOðKkipcÐU`…Rm“æÓ?—%JÆ<3‹z_ï>=~“¿wöª@™Y¡ÒïJyæòf?û^š%+å‡ÁÜ,ØÔõ³H=¢{ÃK)]ÿic	Øè>K‰ÛFö©šu©NÅ„àEWÝÐöé%%†¾fõÕ×hÃó”x½ÌŒU´käuÊG9J—ÑSÿ¶·Uù@?`ÉŸ)Ë(`ŒáŸvïùÛ0°çŸWt4}{VåÝÞÑßë:óô3Ùôdõ@[5ƒ
ñ°§ÏÏxц9ÍL–.'<òÍÏœ,Z„§½±R@Óã™þ€|€÷>¯ÆZ•á>¼þ¦0ÎK¤?$-ÚÛ¥—^ZM° ùòÏŒþ=àLjÃxW’û´)?›\ŠÄO^©k‡‚Snk÷Z±äÆY{.Í¢)O0{Pdßi«³´åYe`É@½¥é]êÆëG5 ÈÁx>¼þ¦žèÃúŽgÒ0ãõ¬e(Eâd\³6¡ãå-Ekõ§ïÑ¥q‚m´+ˆ:Cæz`F¾˜Ý¶¥Åè‹èv¥:ÀxB»0R H<È=f"I“8--x©ÛºÈˬú°¥îò8@±ƒ·R()5¥
¥¯Ô‰u¶ŒNRûCh”–zÿ€K%ò…PVä±fµ×°ú\1'ò3ê‡göybЬ)Åž™µšaGÉSöÿQ*kK¸È¿”œt™©À|ØÍ|Zž¼Ë`_#Òö3"„ÇÀ`ûÊŒÇ,DÈ–âgÉ!K8JJõ€ƒp'~5Ê“*¬µäÁ+åÒ®»îÚ„Ùk¯½ìÓ(.yË 0e+XʃFÓ6öÝwß6nÊ~“›Ü¤ùÖ¾ìyÈ0eÁœ®vµ«5ao~ó›7!²å-å&eaO³}ÎVÑ”ç”O‹kø}«[Ý*Ýô¦7MW¹ÊUf‹h$ßYajòB›Ùe—]Ò­o}립P‡Ë¦<+Ñ´5ê5+Œi·Ýv=I⦽d¥'í¿ÿþÍ_)‘¬4r‡~sÀ¤ÝèFkê$ÏÆ§l¥M¿õ[¿Õ´ñR<Ëìä‘öO]噯F&Ò>éãûì³O);ê]„M¾ésÈÚ>ýÊŠqÊŠNšEf “éKð¾ßîv·kxAý-‹V]ÈiÆFúÎÍnv³f,ºþõ¯¿”âæY’¦¾èCÈÙßøÆ3¥“•ÿ&Ù´ýËá@>Í4Ýýîwo#ïÛ£Øz\‡ö›³Ò(˜ò‰Úö3ÜàÀ†ä@Å
Y-‘©à@p 86+òɽ)Ÿ<Ùf?ŸTòIíïxXÞøÆ7¦G<âmä	Œå«¼Ò!‡Òæ-ßi˜òI¡íïxlDP܈µy
‚Áà@p`Sr€SUïz×»6§7[8)ýø@sz±½w\\vÙeéþèšSe-fNIÏwø¥eÄkéô¹œ‚œ¯¼Hùú‘)¯ŸøÄ'Òï|ç©wñ#8°‘8@q#ÕFä%8‚ÁMÉ®k¸×½î•PþkpÉ—«§|onÍK¼Ÿ‘€¯|/sKA¹–áàƒNoûÛKŸ—þî±}l¹‚¥DäÃÂÙgŸ]úï‚+å@Å•²?‚Áà@p`+p€;ã¶oßÞ[îåã.¹ q8À}ÅÜûØEÜÌ=–« óÎ;¯¹#±+mîɽÓîÔå%¾VŠ+a{$‚Áà@p 86.(nܺ‰œ‚Áà@p 8‚Á•p €âJ؉‚Áà@p 8‚ÁËŠ·n"gÁà@p 8‚Áà@p`% ¸¶G¢Áà@p 8‚Áà@p`ãr €âÆ­›ÈYp 8‚Áà@p 8X	(®„í‘hp 8‚Áà@p 8ظ ¸që&r‚Áà@p 8VŠ+a{$º‘9ð½ï}/}öÙé‡?üaz⟸‘³:wÞ>ùÉO¦3Î8#Ýõ®wM‡rHÚyç玫ð?ÿó?Ó[Þò–ôÿñéÐCMp@Íë¦ÿo|#vÚiiß}÷M~ðƒÓž{î¹éËŒÅý×MïÿûÓ>ðtüñÇ/UüøÇ?nÒúæ7¿™žúÔ§ŽU„ˆ'80˜Ë~ò“Ÿ¤óÏ??sÎ9éU¯zÕ༄ÇàÀ¢ ¸(#ü¦çÀ/~ñ‹ô¹Ï}.}øÃNï}ï{ÓÇ?þñ¦Lþçž¶oß¾éËçðOÿôOé÷~ï÷Úׯ{ÝëÒ_ýÕ_µ¿Çz¸ï}ï›Þóž÷4Ñ]ïz×Kßþö·—HÇÊï¼ñüô§?mâW\ÑDñ‡<¤óÆá‚›ÿû¿ÿ›>ó™Ï¤~ðƒýÒ—¾Ô‰çßùßiñpÉ%—¤sÏ=·ˆÈpèö·¿}úìg?;FôGp`0Æh×ûØÇšv}æ™g¶y˜L&ís<–ÍŠËæpÄ¿á9ð¼ç=/mÛ¶mM>ÿâ/þ"½ýío_ó~³¿xéK_šžö´§µÅ¸Ï}î“Þ÷¾÷µ¿Çx|_íjW›ŠêþáÒît§©w[áǧ?ýétÐAMå—¿üeºÊU®2õ.~®,¨ÉTÊ?6P<ï¼óÒ½îu¯5¬
 ¸†%ñb80Öxð‘|$Ýýîw_“ãk^óšÍj§5âEp`I ¸$ÆF´›‡,éØ`‰fÙ Ïo~ó›íç–q™9½Ç=îÑ–ç¸ãŽKO~ò“Ûßc=°¬ÕfgܾûÝï¦ÝvÛm¬è7L<ÿýßÿ®u­kµùù³?û³ôîw¿»ýÁ+©»îºkú⿘úЇ¦‹.º¨eÁØ@‘ˆYfŠ\{ä#Ù¦@±eE<¬#Ƙ•gvòk_ûZ3^ÛŠ•ŠëX™‘TÊÑ‚¿æ€Ÿc_ÝßøÆ-ÇŸÿû¿ÿkfJ™-0¢\í¾ûsÇŽéÕ¯~ub¯âᇞîp‡;ŒžÆF‰=Ÿ¯}íkÓ~ûí—ûØÇ¦Þð†%k‘àÀJ9ð¬g=+{ì±m–-rö_~ùåÍÏŠÆ•p×›cò'’>ô¡5Å`F×ÍB,“}Îsž“õ¨G¥ý÷ß³d;ò) (̈Çà‡˜åõú׿>˜‚sràïÿþïÓãÿø6ô2âïxÇôÿøMZ[–ÇÃ&ç³ò§Ÿ~zSŠÍ1?îqkVüîïþî&¯‰+gö(^9ë=J]á€Exá — à@p 8˜¦(ZèŠÆ‰pƒÃ8 @‘Õ*—^zé°€+ö¥ç±=€âŠ+dÎä(Îɸ¶59 @‘¥'tÒÖ,h”*8¬(®“#‰-ÍÍY~à¦û·kê&€âæm¢g¬;öwq¿‡r°Y^b?Ü2î®›7?›)ÜX¼c£ø~ô£të\'í´ÓN
(>úÑN'œpÂ`ÖpÒ%ñ,ó´KÚùÞc=¦òÅ;6¿“ÿY‰{Ç||¥8¸‘e¹X4¯zÕ«–¼Tßýüç?oÂ,£Ísp|¹Æ5®1•>{#عÏ>ûL½_ö¡ü\v>ÿþçË5mëæ7¿yºúÕ¯>w”ÿõ_ÿÕô½öÚk®8È´Ë.»L…çàäð5åÏÿ¸ì²Ë&ù‚×I^609ꨣšÏ”4yɇ”LHòä»ù&/{ÙË&Y°NE‘yžä«&&YÀ5þÈ;ñäK˜§üÕ~ŒÁ;‹›4ŸùÌg6ü³z¤NÉß'>ñ‰©úÍ@Ñ‚]x÷
4¼6Þ'åƒÿ|ó¼(FÔó’8È[¾Òb’÷'Lò=}Mˆ¬ôL²ÖòŸ´óá4“¼¯²'ÆÉ„:Í{‡š:ýÓ?ýÓªÿ¬ˆOžþô§7é¿p)/mŸôò¡5Åðä›¶™—ð6õžïU+ú›õ%íú%/yISgðÃòEzøÃ>¹ðÂ'yyÛänw»[“?‹?_øÝ´QÚ©þåöæ¥qóLòÔwóÿk¤}“ü,J«êsÐ7mÊúªñ7ïùšüÝßýÝ„v?„òá“|ìTÛAVÐòLý$ï%›d_
žæÓc'ùP©¦ŽO>ùäÆï¿ÿû¿OžñŒgLõÕ>ð“|êe5.û@Û¸ßýî×¶+2€~ïÝ3¯s»ËÈ7™YT.CŽarÆøŒK߬Ѣí¾jiÑ^!úRÞ#ÙŽ?|Çm(ƒ†ZV¦Þ/Ê{"ûÖ·¾ÕèȬ'=éIMü´Gä”å™÷厗ÈR“KêþáþaSÞ©Ìÿú‡Ê¨õÔJyñï2œÐ¿ä•¿×¼æ5Sã|º÷½ï=A¶Ôù„¬Ï÷ 7|E?ãÝ‹_üâVfÐ6jãQ¾Ô¾ÑHÇô=t&äÐË_þò5zU)ÊkòÜGÈAÆ4d¥I8Æ×SN9¥ó­ ›»(ƒêF¾æ3ZÞ16"÷N=õÔI6UƒÃ«7¼á
ŽIz´{(ƒ¼I>¾m§´atœ¯ýëkâBÏ4×òŒK›£|üWÐæá@Þ3£å žÏ9çœÉgœ1Õf9(ô5úÙÏ~6É×­´×–gUúC›Žä}@æËÀ˜Iýù÷ú›~Ký@¸ÈmÆ/hWÈ5,Ïè&JÈsÆ[óÇx‚®f†u{ÏxŒ\ô4ïxðío»ý?i滎×Ãì;m¶Fy¦±8ZX\Æ¿o|ãSQÐFý¸ˆ_úÆ‹^ô¢–'ÏÈî¼Êh*®.OÃOŠš+ÕƒàQá PÂ¥žç|—“zi¬Xj½F!ÅÚc„°W+
q L!@°’ûtì·)Ì.fRˆËIf1-
¾r\T!$>”4©Ï}îs‹ép ÁÊ§åÉÜw½ë]­ÀÂÖ[,\>€µ1À-Ê;W?ùñ³ÀÌ$XÞÍe¶´Dw-Ç\ÐzCÑå»ÅaîöíÛ[?C,KêÛÒç™0þH0©?K`ªUà2•PØ­lyÃzû‰gò¦íÄü-
™M·¸hû°JXe½aC¢ù…/®Šæþ«?QæÈ‡Õ…úµ8fqWÙçwªd³‚@‰ÙkU˜òuúyê™ÕÆ£rÀ¾•\ú
°¦eþTfÑŽéŸÞ~ž0P_*cñËì¿¥ƒ‹Ò7+-#ßcÈÁ±åȬ|ÇjÚ†µ>y.õSó£³uV¾1x¯c˜¥…‹,)ÉH¾ÑV!›I·p
-¸ÞP¥@qUúƒæ¯öŒü®A«+ú9†)íûÆÜÓN;­‰ž™-}¯Ï
þô=mÅ(3•òYdDü>¬âRšg<ÀÈÊnùò«»ÐSü˜]ŠªŒoÈÙ¼D´É+p<›*Ñ!4–M@Øa‡µi˜oPg¬`’ã­ùÁ¥]òž¿®	åi–ÛÙ8
?³Û”]ÿ0´zƒ÷´Of\5=ži‡_|ñ„­6œÐ^ð‚©05 øÂ¾pÊŸÅUéž—]¿,¥z;ûì³§‚z©Oå#<4~QVVèøl~1^ÑÇ©{‹ã‘Kã!þJ:yò4t<`|Q †¹DÌ<[9pK@}ÎÆ &8&ï(»–уRÍ£W=P$¬Æõ”§ì-óƒÛ70V«Œ¯é-NÕɯ’_
Á6šÒ3´Ê7ž=¨Ô-:|¯ñü6	Ý~byó@±tðù
wcs`qfc—o®ÜéZô’uzH¤º¼
ÁÒG¡¸†
zöj\5 ˆ¥Hý±Ô¥D*к”V¿±¾ïüÌ—îñãû˜¼ÓeFCêA¯P²ÏPùUÖ”ÁHËBXf¡ç!ÌJmÃâT5„_­ÓPdŠ–•gf¶j³Ä–¾ºœž¦qÌÕp3kÖx ùcF±O1P¾yÖúY>gyšNÝ+ñ…Áï'ÒåHæß·w{¯®—;5ƒËPÀ•ïéšjgÇsŒ&×>l‰Ó†}Ú&üÞJ¦ë÷XùV^i÷CÆ•cÈ‘.>Ø·!@Ñü.Úþ(Ö–Ì[Z^‘UÀ±ÞkûªíÍ·¼á®
(Ž­?h™jÏ(rZØÛ¨¼ÄÀ¥äÛ[—q¦qùÙGמ9çAÃx=}ã§¶jºœÞÒQW÷¡ú~ëgã5Þ¾g?žŠo{ÛÛ¦òÏþHO¾uÍÔú°ñ{cq €¢«Ö»kçêëÀ.xó«“Æ‚ÕG%ÅÜÖÞ[Ø¡@ÑÏØÕ€"ñj>uo¤¥‰;TiõÊ–Æ¡Ï~¯Œ®ó›wºÜfH=tE,ÎÊ/¿‡BËhÏ\½ aj<6ÿ5w¨‚Ç béÕ@ih–€"~ü·dA$ŒÒX@‘üYÚ³ÖaîfŠcô9­3}f`Çz¯}BùVŠjùƯ_-`ñkœ5kúPÀåÇP´´q™ÁÂhc{ô\<¯PìÊ÷ØrÐÊ>¶±x»\¯¸—fKáçi³EVwh½s²3´,ÞkZ(Ž­?”êÖ¿›(Vyé(¾½uE¿Z¥¶]Cóë«C†xêŠ>¥¥›gPäŠ,ãýûu¯{Ýà?ŸîP ¨+4H{Pô'­jùâycs €¢«1ët¸C5ÆŸ–X$êßžUy'mÔûP èÙzEЬ\ÞíŠcóNëêûHXo)TaMý(À­Å«ûÃòÜyhlOÛZ
(¢Lû6GìÃMt¹µ/×X@QóÚ7K@´·:P£Ïùz£êžPf4Qü‘ý% èý°„Ï'?[­)ËŠ´i)kS¸ÌÜøå[«ŠcËA«ƒ±åˆÅÛåz¥¸oL]¤ýÍý¡V´hY¼×6¿‘âØúCWÛ°o³E=¾êÞNßÞº€"²@ëeˆ!ן°ê*eêŠèšni ñWu?£¨quí£×øjÏËŠ]õPËO¼ß èêÁŸòYÛTí‚Mýô{pX²7„l	?kã•öZœczSªÈW×2¸1”Ö1y‡Rh¼Äõ¶Ä?œ"ªä…×áÎ/éÚ7haJîØ
žÖi
(’`¯ü+OQÌôÊÍû@ÑÏ´÷í!!}­ÃŠ¿ª‘.ãŒÖ™î=An©±ÊïQ,E›QþÓVüåØªœq°UÆŠ”Eû[!#Œ´]¯(Ž)­|¸Zþ.y¨¶ZÒx»ž½âÞm³Eò¬rÐºËâ½¶¯ŠÓ-fV ¨º’oǾ½u?FqMDù1‰zU Jx¯+ø8ýa0]{2	ÛÑɬmÑ¿¡eE¿r‘|FØõå@EÇo½DíÄPlê§?T„NÌæù>Ò%v„ñ'ü]€â˜¼óã’@÷u¢J.{.•t¿#q±i¾ü}›,œ‡ÆVðTAꊖWNæÕe¼”ßþ°b–Ú·„çÙ£è ~úHë°¦äZÞqÔk¤þº¬µ}ŠA-þÚ{­Ÿeg,'+/K|½ò2(+´ˆ“CÁXҦ˷Q–KíÆò3&Pä„gÍ×
y²²ã®(Ž)µœcË»öì÷P£ýÍ
1†X½Û
’eñÞÒÁ
 8ÝZfŠZo\é äÛ[Pô{‡¬X!-­KÚœ§¾ñ@¯ë!.ôÎ.êŠ~Ï$íw^
 8/ç¶v¸Š®~¹÷K…Ê…_Çí‚4?9(e†fYÒ™øj{u4.äJ³W ?ÆäJ@=”îüÓ:PeÒE¿{ÈÆw¿ß£¶KóPzVžxªú: @¤lüLép†¦a}¥4ÐIÓ/3*ȉ?#­ÃŠ¿âJߌ"íÒê·´\}(P$E£Ðøô9Wj[V掹ÚEÛl
xkW
áöyò6Æ¢qŽ!G¬®º\¯¸—€âXíOÇÐ>¥ßõšåÓX¼×ö@qºÅÌ1.)/·mÛ6™oo]@Ñ„ÅØ¡«¦"þõøš~©.û€"òEãèZYA²]@Q÷(géÔçR9¯è8zzõ2"Ææ ÍÉŠ…zS%šŽÇÅâ}DGfp±µæþâRösõ‘¦[𽏲Å1yÇ5#*»f¨Xê”ü•Ä{ùå—«—5Ï,•ð5
/TqCÁÓ¶VŠÌþQ¾’‘„ò>÷¹Ï__ò’—¬Éµ/û<3ŠDêg2ûfeµ‡Å®åÀÚvJ}Ò
ݧ˜¿¡®ÖO
Ø×˽‰Gy\2Rág(PDÚ	ÈÌ ²äˆ¾ÃÞž®DÒP(úí5cÖõFŠcÊAãëØrÄâír½â^Šcµ¿Y€¢ß‹¨ùZïµ}•À…ç¡?õÔoE1ÿCïQ\•þ`ùìrgŠŒ¡ÊK?®øöÖ1ìëxA¼È‹.òK“‘‹žúÆ®ÔÐ2 s1\ÔH"Æo%N.Õ¸(]„æŠ䦻L §žvÕÈÆþ@±P?|ä#§:°´T‰ »dZïœ9ÿüó§â óršZ8]U;{é‚Þ_¬ÚN4ÍÚFî¡J«ñÁ⬕µovcLÞzê©S|%oµ)oaö ’ºF¸Zùp”ºH©–®ðöm¨‚§þºÒÓ:ôy2 XÛ£‹ÕUØ’!ÄߣH½ÏCºo	ž“.X—Èï©ñ@ó^Fþ’ìZ\ä£O1(åµëÖOP£ÏùvOÚ%¢Žµíû¥©Æ–BÕä‰ùësÇŠ14ßÈOßÿþ÷§üøýÉÞ×ï±ò=¦´üª|è28©¿®voñv¹^qW@F¸1Ûß,@Q¯Ýñwæ.ƒ÷Ú‡E?ST3pøÙ)Nò,Ѫô‡R^ü»Y€¢êg%ãoo]@‘|øñ¥o¥ÐI'ÔÊ
Æ‘ÒÙ}ã:ˆ¶žkõK1fš/Ÿót¼ÀòÚT@âa‡ÖÄÇ~q¥1¢n3 Oµû–5ýxÞ˜ X¨ U$­ƒ"YºÈµtNîÿ³MÕ¦6›hQzÁŒ…°FzÌ=¼D~v¬ä‡wþèbîE*‘ ™(‘ò¢$˜-ƒ­ñ
·v’?’šÃw<Å;„¢_ºˆP-´xÊ)§LåEÊש?RQ›UdQ~èÁ ¾¼}¿u @‰«‘ÖJS4_v,¼ú5 èï¨R?ju/
rÇwÜTù‡,7Ôøíþj~y¦n¸^@‰Cu|»©)¹”YãômÙU–ͯ¿²ÆÒ׿µAÚü÷¹ZËîsþ:òïëÕæ	?¶Rg	‘‰Æ+°Zßè+?ß½2uøá‡ƒù>É^7%öGZžp±È_qÅ­êJ-öø¡mCôÛNÐèy+ß$ãÛó¢cÈØr¤‡ÍgÔýÌØ˜íOb×)×Ädí—So=Í{mƒÖ¾|šúÛÏQ56Óï<È!c=V£iŸW¥?´èxð@‘±¸D¾o™R¿~Üñ†	õË32ÝËú.P£m¬60d<°UÚ.تâéÂ/œ’_ø÷cßk^óš5~Ð{˜$P^Øj ö¡³,_Éë@l·)‘Ÿõ÷1ÆvV±ä·oæÖü†»zP¬Ô@;p×3ƒoi†%É#__øÂ¦ü]zé¥Å\ѱ-ÜÚòÖì«?„p‰°´©¿C=t7¿g³ë;Íç»ßýî5ññ%Ôüà–…1yçO%Mê>Q(·~fÆò Aè+°ôƒ3§åy‹pVËgiÆ­ÈœÂK”Z˹*ü-Ê}7·´tÔÏ”ÁUö‰Ï€"ñ”î–¢¼6¸ÒÆKVU=¶›x°ÄÎKdeR—ºá®?¯Ô™ŸPôyÃ?ý„}Jœ|ÇoßwyÇìÞ«^õª5@vbiâÎsÿªñf}ÎS({¼(¯/›•“÷‡t)×aØwuic´ü¢h~Q”³5Píš ®KtÖYgM¥é
$È!ÍÏ䇼“ÿÍ~qÄÍ
‚!§k¾ÆÊ7qŽ)Ç–#Zæ®gß7Ï8ãŒ5ÞÇjªÄS¥Õ4Œ¯Ú¦·oß¾&?¼“÷þÎLú†Ú.òûç(c
†ô%Þa¬´6‹‹ÜbŒò«’V¡?t•O¿y H9<ÀÃxG¿µ²2~—Ȭ9;¢¸êÊâ5–NéT E[ó㦥£í‹øJã+4mV3pÇ+`•1³4Á¶ŒØ]΀]ß,NÂóÍÆkÞžöåÉØWÛïˆl´øq½qŽxýù¤‰,¦lM–ßÒ¾QX,œ¹XmQRk3µò®ªÏù}|Vs‘5ÞÀ`ßônÐ!ýÌ™K»Ðårððç[ü³TŠ¥ü'œ—'øÃÂnKc‘w^[Ú¸(QƤKõ{é ¦RýoKcÑ1dl9bùêrIE»4n
¹—SÑ«ýùþO=ÒQ€£˜U³ñ‘ñ¶o•Ç¢¼gU
†J•—Ö¶0Ìb$.ÙŒ·ÇsÌÙbáqE:‹oß(›8V¥?X†¸% HYC'xeõÆ{®lRBP—~¿Œá¬²¢=â¯FÌŠá×xˆ\Á…¼!¬êƒŒE~›g<ðWöXÚê’§’Œ£-sªºù4ã†÷ÏÈ[?ËÒ{f	•Ç„C6FmR‚>ë—§š?tO5úáWù©ù@3mPì©'¹Ÿ)£ÁÓP,|uEƒ9òÈ#[¤ÆžÙ³ ÌâóVó¯.qûe¤ú]Ÿ:Ó¥ßôù¯ÿú¯;ó‹_«¿þAã°g;}®&4ÌBÊÓ"¼óq!KuIúÌøTMP201ÀwY}]‚™ò~8ôy	‹¢ñ¦æÒÙµïöðfe³w%—²zE©«…CóŠVi	L).卯/”ON‡+Ň"f
½~¯EÒ ï¥öÀlï
(Ò?iïjÌ\áßPÒåçZ}^fŸCÉöuÍž\ú‘î‡B‰à /í#]u¤å(=Û½ŒµÙc
ƒârôÑGÛ‚ùC!2ÂÐã—ƒQV@¾-;ô3øÿìg?kQôºËÈ·%ºˆ[ŽXžº\y±ú(¹*Æhä‰ÃFPµñ†>É
’Òx[*Ó"¼g°Tn}×%#è[%™GÙØnFâ#”®~Y•þ`ÆÉ?KÍË^Òd¿$ÆC[Ï8PÓ¥óš˜%òåŸ1¦Ôîmœ3ÞØAþŒï%Jº½ÊTË¿†çÃÈJ®È dkqʳpë´ï¾û¦ßøÆ=!Ö~Π2]tÑE)ƒÏ”³tÓ›Þ4Ýîv·K·¾õ­Óî»ï¾6@¼i90&ï²²ßÔeVÓ~ûí—nu«[¥,¤›´²Rœ²PL{íµW›vßCžiI„6õšö¦No{ÛÛ¦8 /è†ýž
)š
hóyv&íØ±#eËcÊ!e%<í½÷Þ+É?<†ßy°iúãoþæo¦ÝèFm^vÚi§ö9Å”gBÛßþ²eP˜2HhÚÀ-oy˦›¿&ÓMnr“¶52VIDAT}Øû­êÒÏ.¹ä’”gpÓÍnv³tÝë^wMQiïÙšÞôå5‘“ù—™òJ‰”º”Ú”-ÝM»É
J"~\âÏ
RSÈB(+@)þÔ5å%µm¶òLlÚgŸ}})ßt­k]+ÝñŽwL{ì±Gëg™p%d?º2Þ2¦Ã÷wÞy)IÓ^‘…È_Êθvýë_¿I+¯jdéP"/‰muMÚ	:&yŸ·í/R`ÆëlpkÒFo˜E·Z$Ý;(ŽÇˈ)8ØPðÒ7@v·LòÒæ”­ñ)Ÿ™ò)[¯{ËPÏËÝÓÃö°”­Ñé„Nè
‚Á­ÅPÄ ¬žW_‘ƒà@p`DP‘™£Â~È!‡¤¼4¶™}e6šYœ!Äì"3yPÊWk	~‚Á-ÄŠ[¨2£([Ž·\•F‚WnP\ÿúÏûàÒüÁ´	µÚ…‡|ÒlÊW_¤¼¯)å}Iñ*8ØÊ ¸•k7ʶÙ9@q³×`ä?8h9ž˜Ú‡KO[Ö,õ!ŸFšòI¿mùTà”¯¿HW½êUÛwþ½Uù$Ê”ÄIùДOÂô^âwp 8p%à@>Ù4åKÛ’æÃך½ðí‹xVÆŠ+c}$ŒÍ"á#6ÏsxIÐr9À¡!– Äï;ßùÎÍ{;˜!ŸVšò±è
(̧\6ÞóCé½ï}os€ƒ†çà@pàÊÁªÉ§V·…åð–<°ýÁàÀê8@qu¼”ƒÁ9À^7D1bQ³,À´\¼ùÍoNù÷Á‰p"*Þ0›°¬“g&<‚+á§‹æ«=¦ÒÎ×S¥|gÚsÏ=§ÞÇà@p`ý9@qýy)‚#ràóŸÿ|zâŸØeÎrÆåûŸR¾Û­¹ê¢ô=ÞË/¾8å»ÜR¾¨ºa¾D;ýÍßüMÊ÷p@¬r)>¶6ò=ÄéxDúÒ—¾T-(«XÆŽÌ
VÊ«á{¤ŒÄîܺà‚zc»ç=ï¹!ïÆëÍø&ôÀì.ûŒòeщ;ɸŒ»gq»ö-n¢F–ƒÁ98Àý„¬ö裃>8]ã×èó߃Á%q €â’Ñ‚Áà@p 8‚ÁÍÊŠ›µæ"ßÁà@p 8‚Áà@p`I ¸$ÆF´Áà@p 8‚Áà@p`³ràÿÿÿÈÙ,˜7IDATíÝ	¬lIA?à3Ê"‹ˆ$
F% Hp¢Hâ$îD¸†hwA!€ HTÄ
E(d4"ê¨™¨È"‚¨ˆ£ ¸Ìˆ»à..Øÿóë?ÕV×=Ý·ï}ý꽚ùNò^o§OUuºoýNåŠÕ @€L‚¢•€ @€¶Å- @€ @@Pܳ¼å-o™®ºêªéÍo~ótå•WNw¾ó÷Ì}ØKo{ÛÛ¦ßú­ßš~îç~núʯüÊé}Þç}{ã@såüH¯~õ«§_ø…_˜®»îºé§ú§ª½ª‹±þ—e»Ý/pýõ×OÏ~ö³§;ÞñŽÓð€év·»Ýþ7ðê¿ÿû¿O/|á§k¯½vzÊSžrÀ;̲O ÷oùÿ÷O×\sÍô›¿ù›Óç|ÎçL÷º×½öUÏk @à‚Å=„ŸñŸ1=ÿùÏ_ÏñîïþîÓ›Þô¦éf7»Ùžw,¿ô×ý×ÓK_úÒé—ù—§«¯¾zúÛ¿ýÛõŒ¯zÕ«¦û°[~Ó`Ïþó?ÿóô’—¼dÝ	M0,Ÿñßù§¼fOàXëÿxŸüÒÖø?þã?Öñ_þå_ÖùÂ/üÂuhîãÖa¸­· ØŠŒñøXëÿŸöòªeFŒî}ï{oU*£Wïðï°õÜi^ô¢Mÿñb6ßÉ$=q©Ë?íÓ>mJà/Ó“žô¤é‘|dyè–]@PÜCZ‡Ÿt®þæoþfºÕ­nµçË/e¾üÇœ¾äK¾dJç­L7¦-Âý¸Ímn³1½ÿýï_>â¤Sº¡îαÖÿá>ø%®ð?ýÓ?M·¿ýí7µøôOÿôõ.‡›'¼“]3:ùÇüÇÓ}ï{ß©ŒPúN¸0Û¥ü-ž0}Ó7}Ó¦V9„á#>â#6Ý!@€Ç÷ˆÞpÃ
ÓýÐMé<èAºà?Êßñß1}Ã7|æÄ?ù“?™îv·»mßXî䨙tb2Ü)Íîyü㧯øŠ¯˜Þó=ßó¢7O6&¤#øýßÿý½¬C
8öúH™æùÿ¿ñ¿1=ýéOŸÞã=Þcúê¯þêé½Þë½.ˆæ“>é“Ö»¾g!Ù>½.æÔ{]þÝßýÝ)f±ê1]ŠßòìÂÿ£?ú£ëc?ÿó?úìÏþìU p;6þ3ŸùÌé˾ìË6%þÙŸýÙòd6QÌÉz2³‘àk¾æk¦ßû½ß›>äC>dÓnãNBi:Ï}îs'Ç]á›ö2¿è‹¾hzÎsž³F¸ØA±÷ºœPzÏ{Þs}¼÷ÏüÌÏtiè›ÊoyL… @€Àe+ (vlš¶s‘›»Üå.kЧ¨œ‘ïyÏ{Þº°QƒâoÿöoOù‘¹þ=‚b	¥)PP\³ûïˆuPÌèäßøÆ#.}{Q=×å:”f„íRÅëoùvËzD€75A±c‹·Añõ¯ýQ.¹Ññ#TÔèA1glÍÅ_üÅ_¬?ïÅŠ/{Ù˦ù˜ÙØ
Š
wŽ$Ð+(ö^—sB—¯ûº¯[+]Ê xcý-?Òêg1 0¨€ x`ÃýçþçôŽïøŽgºsçYkŸkf-ß¹³¾ÿó_Èú·T~Ls¢¨C§œ!5Þ9!Î-nq‹õÛê ˜k·f·÷Ó¦œå3ërNˆ“c©ßéÞiï[.t]>ëw'Çò>ìaÛÔébÅËí·áÎê“?ù“Wón£ëú~À|ÀêÊ+¯\Í×ñZÍÇ-¾¯~rî°m>g–QOóéÝWó.'þŧžæÈœ˜'ï{Ô£U϶¹?‡ÀÕ|¢‡Õ}îsŸuÙsçz•O}êSן?Þå_>Û|MËÍ{ËùäB«y·¼Í|eþ¸Þï~÷[ÿKÛ¶ÓßýÝß­¾ök¿vãUÞ—ÛýØ]eXš^ð‚œ(+ï)eåö»¾ë»–ÞºzùË_¾zÜã·šCíºÜ8Çç!yÈjÝX|ÏYŸÏw'í9ŸôéDý²~Õß´õ…Lçý-ŸCùâoWý½Ìß’¥ßÁü^Ì×jÜYíyÖê±}ìúïË“ŸüäóÍVŸû¹Ÿ»e”õ"ßÑÇ<æ1ëß÷oöx»@F/L•@:ÇóîS«ùÂÆ[a/¥ùúfÕœÛwßúÖ·neæM`™Og¾úöoÿöÅNWæ™·Öo/ä”Gé ]}õÕëðQ:oå6‚y‹þ‰%Ì—àX}ÕW}զà ôã?þã[ç¼)ÓtâËòæ“·¬øËs¹MgìÚk¯=QNýľ øæ7¿yõ‹¿ø‹›@W–ÎU=Í׬\=íiO;Qþg~ægnf‹ùËèÎ÷Ï»¡mÊ^
y	¬é¼—zeä3#5eÊPýzæ{ô£]^>q»/(–™3zWÊËmË|é$ÕóÕA1ä]a°Œª$ð¦cÛÖ¿,3®Ló.v«ùvë-öåõܦã–çóo>E}™}•ö+å”ù6/Îw®¿þú­º§c\Oó®vëefIJ”— ^ÊÊmÂC™2’“0”y3_ÖÇ»´UFëºdžŸú©Ÿ*o=øö,ëF}SR÷rór?£·_þå_~¢nÙxq!SÚ¤”òÚ.mX|øÃ¾UÜå¸þ%\ä{ݶc,wM	%Å!óe=¨§ŒöÖí‘y–‚b6@d„«´[~ê)ßz£ÑŸøÄúåÕY×åùùnÔ¿k©÷|Ál}wÚ0»UáŽù[ž½0Šgnë X_¸ÌWÅüíHûÖöe™KA1¿Oe}Èoc;eCJyûšÇ @ ØÝi缉=N'ã³>ë³6TóÇuWPœ“ÙÌ×îBYØÒáoÃÝyƒb–ù“?ù“›2S·t’vMÁË<élÔ#heþ„¯ÒyÈèËÒ”NNÛÍ–ê¥é ˜ÐSÊÌí® ˜ TÏWÅRv:Su'7ó§®Ù®žRßö3dƒ@:Áõô-ßò-[e&T,M%¬ë–`ØNu'=»§.Mõ¨\:y»¦ù‘Y——ÏPvï¬çMÈ«ë“ùæc.ëY¾èúŸ]Û]ÜR‡ÚìVX¦64ïûœå=»nS·ü³œ:¼—÷dDºµ(¯åör^ÿîÚ
UuÝËý|7êõëWõWËK[·Ù]±¶X
Šõè^æ­7 ”…e·ï²œ”»4º.ã»Ó¶a‚Ù…NÇü-ÏÞ$Å+·»‚bFëùê XžŒÖó-Åò[Ÿù²Ü¥©´ÑÒkž#@€µ€ Xk4÷³kbý‡y)(æ=O¶rïšê]@󞌈wJ'©l9.åï:¶¥ŒB=ãÏ8Q\ve-ïÏmŽmÙ5嘩zÞt8ë¯ò¾C‚bæ­—µ+(¶ó-ÅÌó =hky»FXÛ‘¤Ôá‡ø‡³ˆÍthPl“ºîºë6Ë(w2¢V>gF¹–¦ÒqË|»TŽ
-!7#t»¦60g”ê¼Ó!ë–Ý\ËgÌíƒüà­éR~ާ¬ç;äx×òÞú6䲜ù¢ôõK›ûù~Ô£0Ká¨,#·—Óú—‘
6uý6¬º“]ÈË÷¹[¾ö¬–í¢/FPÌYKG ·9Ãg™ÊkKg¿ËÇÒÔ~¾lq>mÊnh¥ÓQnÛNÇA±Þ•³Ý¯
Šþ羓%§Ó¯O<’ãáê#(¾úÕ¯Þ2?Ïe/v~€=/´ëG»ëuykÏ X¯ë»‚w©×i·eýÍmï ¸oýK½OŠí¨Ñi¿%‡ÅzÄ6#‚¿ÿû¿¿alQ¼Ð x¡ß6(^Èñ¸ã·üRÅ4XŽmOžV¯ïK‡lÚ ðvAqϪpZG¹½¨ø÷|Ï÷ìYÚɼ}Ç1í]PóⳞõ¬­ ‘zeW´Ò1Øuqóö8§„œC¦²ÜÜ.'6BP,'¡ÉghG¦
Š9±ìÚ›åä©öL‚Çй\Bmž3Fö˜N[ÿKzÅöúˆ¹žÞy§Ú´wPÜ·þåóœë³éæsä"ôû¦C‚âcó˜Íz–©6|3(ã»sÌ x1~Ë/eP,ëBör©7®Ôëüi¯Ê2Ü @€ÀMW@PÜÓö§u”þç~Ó±ÊàÓ‚V;¢x¬ ˜1ÔÇ¥šK>¤Nû¶ç:ŽuÇ!ËhƒNË“Žyýž¥ã‚.÷ Ø^›±
^mP|ýë_ß2¬—Ûxì²;FPLauûæ9¹Àù!SŽeËzzžé´õ¿,³gPÌq´õú—‘ C¦li¯=Y/§gPüáßrHÐÙ7sÖÔÚci÷æcÅc|wÚ xÈ»Œ.Æoù¥ŠùMoGSÎ`\ÿ†”¶Îk& °K@PÜ%3?ZG9g’+pËí®ke¥˜6(f¤èXS{ɇRŸ¥_)3»Œ¶‡ç?ÿùååÅÛöÌ{é<¶Óy‚â®kfÙå³ä6Ákij/O°/„Ǥ^f»Ke—ÎzšÝKëe,æÔó¬Aq×uï}ï{o•—ë¥6•kãåz{ç™N[ÿË2{Åvô<ëovaÜ7••<ç9ÏÙš­n¿ËiýK%Oй,M]ÿlÚ×鯃âÒ.»õw6ËZšÎw­ËÇúî´AñBÎzz1~ËÛ ¸ër0‡^G±ýíÍòÛ)Ï-íå‘ù²¡¤ÉÎúóŠW¼¢]„Ç @`# (n(NÞi¯#×þQMG¥¾aþðî
YzÛ!Ø*OÖfÿ3K’ßÕa¨—T“”ú§Ã¸oÊ%@J5ôúx¼ò¾ºÓ™yvMuHÝÕ9mOärßûÞwqqg	ŠéP–ϰ<Ûã•–NR”u¡,#·»:©õn_í±åƒä3ÕËj/µ‘ùÚë£eþ¿øÅe'n3ª߸æú—ç™N[ÿË2{Ŷ³‡ì&¹kÃ@¾	,	Gmº\׿¸ž—¾ïû®¥Xï²Û¸6pµ¯—v~Ô£µµž¶»¦f¾CÖåc}wÚ‘ÙÓöè(Ÿcéöbü–·ßÙ]íÓŽçlÔKS{Å'=éI'f+át×÷áºë®ÛjÃ}ßð†7¬víMq¢`O @€ÀR@PÜÓ¬9†£îÀg÷µvzÞóž·5OæÿÆoüÆv¶UެgË|».L~âÍ>‘‹‹×õÍèËiS.ºÜ†Ý¥`T–SŸÙóéOzyzë¶­ÇÖ‹Õƒv”,—Þ¨§tŒÚºåó-](º
Š»>{ÛÁÎhS;µ—ÈÈZ™²kW:W¯|å+·¬S¯?øƒ?(³­¯«Ø.§Íu¬ƒu–So@H§:# 9‰P:ðuûæ~v9¬Ó‹M:¨%v‚¥M…î²þçmí(ß®“í´£`×^{íB©§?õØÇ>ö„CqÎ\™ÎmFÊs€'>ñ‰›ù–.r¹®¨ƒ]Ú9»—·ÓCúÐÍç+ëÅÒ%z²^–×Ëm}™„lH(Ï—Û6Ôd£DY§Ê<å»sÖuù˜ßR—Üf¨7ä·ù,{mû·<ëw]¿œ€¨Þh·vC]æÏz»4å8ÔzyKgJPlw§¯—W·ã®3:×»?ð¬ßî>Ü„Å=Ýž‚>£ií”Ni®%XÿÏýtþ3"“ _}õÕëvže·Ñ²«ßã÷¸õ¬	楜ö6æ	Õu¹‡\î¤Ôaé¶mŸ¥õ?ïKýêúdä|izÄ#±5_Nžrž)¡©]ÇêòÛû»ÚÏ—÷]ë_LÚJ¯yÍkNP嬣u{—Ïý‡è!ëò1¿;õ†«Ô+mú¾p}›ÇK÷N@¾ý‰cÿ–·Ç€§>ùn?ùÉO^%Ðe”;ϵërÚ+ël»Ç@{	¥ëˆ– ˜å.›\o(ËïØÒÔŽ:fYíoéÒûA±iÓtÞøÆ7®Ú“;äe:âéx´·Î1Rí(Zæoÿ-Êìªu¬‘ÅlM/ŽtÏ2eëw¢Ò	L0ÉMBc½ÛlÂPk“àd䢼ú³çÚŽy­Þšžº%@ÖeÖïÉýt˜2jÑžá1¯¥[¤-ÅÌ—Îp,®¼òÊ­s®	·kÊ©åwÕ+Ó|Û]ñÚúÿÄOüĪ
ež„á2µ#ežÜfË~=JR·C=_{?Ǭf]>ët–õ?þŒ¶A$ë`È[Þò–uññlwOM}3_Fq–FËN«w®çÙ†„Ö Ÿö´§í\Ôå¶þå;”Ù€Ñ~–ü¾dd¹MÏå+–FÝë÷g]^
{xÀÖ#ãÊ(yýžö~B~»x™§¾vë¡ëò±¾;ecJ©K}›
ugŽý[þ­ßú­{]´³1±®wî'D^uÕUëêç{–ßç,ëysüq¹Rf®ƒbæË±Ìi“üŽ?õ©OݬY'víVš
u¹Ÿ:š @à¦' (6mž?¦íÉ¥Çí±yéÌgW ¥€‘mþЖ“Ùä~:üõî_M5Îý°ì.Xv;Ë‚rÊúúä+KŸ;#yK$»'-Í_?—Q‹vJG·¾¦\™?Ør™šÒazë[ßÚ.f=TÞ›Ût|—:V)+[æO›^þò—Ÿø<%®/5’z´#();éðgÊ.£õ.ŽY–vÍ\êðfTaÉ:#eƒ@ý™s?Ÿ9u?ït–õ¿´K[‡ò8Ÿ5Ó}îsŸ–ežÜÖ£«g©w‚ÕãÿøÅï\Ú9»8ž6]Në_6ÀÔ.K÷—¾Cù-JXk{ÞŸu6#[åd6Ùƒ!¡½^‹Q6޵ËHÛet»LõñtYŸð„'lmÈÈ|‡¬ËÇúî¼ímo[öÚ*Ÿaß±wå³ìº=æoy–Õ^z#uÍ߉Ù|¿ËoMÚ6°®¿þúMÕ–F÷êÏZîg‡L­Ìsû6¢<ìa[å·~×”:å¸ß²ìÔkéwh×û=O€7+òQæ?¦#
ÌpšÿÀO7¿ùͧ»Üå.ÓÝîv·õÒç-¸ÓÜ©›æ?ÂG,m{QslšCéô	Ÿð	Û/œáѾuzÝë^·^÷³.–õa>ãæ4‡“ißú—ÅÌ£þë÷Ï8ÖëÔ»½Û»¨Æ<‚5Í{Lïÿþï?]qÅ'^χ®ËÇúî¤Ns ^¿ó=ØU¯ÅÊîyòX¿åùœó^ëßÿ»Þõ®ëßÒ|Ï3Å*ò;{¡SÚ-mø®ïú®Ó|À4$®{òۙ߾”}ë[ßúÔbòÞ½èESÖ©y¯—‹ò»j%Ì@€—\@P¼äM ÇX
ŠuØ#SÎ…®t¦8Ÿ›±Ä‹…ò°µÍVÙ´xµ/´.SÆa«õçx²A¿J_9Il5ÿk‘«æÇ4E‰)S!¶*'Ç@¬	±³<'!Jm3¦Pĉ²‘)â•ñ[A/”D„¨ø±‚LYx¼Ú¾4O>”/¶U$æÆ¨ñÁ|Qb¤ª>Øi>o0~˜vE(a'
ñ墇rCÃT¹cBIR‚š§Oš¯š‹S¥¹qj{ÜB˜¡Ô[@ì!/HPÏÅ“óáâTñã™Òü¸DUœxa6olœ*|ˆ
X@[˜²¸µ»¾¾©FÂÈ@'µfhFÊàˆ>@!ø"!Ï‚¨ÿ4¬U=@æàhÁàŒðâ<rá»bp–dØ[2x5âxçÁƇñæÂ¦ÿ÷ú!í
j¢ÕÅG–Ö%1ŒJŒ$†íq#<÷Ç£á367Ü÷Êã‹=á)¡ðˆpƒÐN¸3U\,û&Êq ò‡«k‘ñu-pÈ鉇à2ãLÜ8áЂž=¡–£Ž[YÖ7ÜËà«_CmGq¡ ””`ŠÝ·354=‡Y”µþº>ªX3†ëÍùÖ?ç«ê`õ­%¶;„ÅNbç±&¬°°Xv	;¦ÄëëÉàêò?OäÿÃOíSYI¹KK—ËGÕX¾pf¾rãq¦IgÉÄY¢|~„,®„ï<Šåæâæ
€ò[£úûzÃü† Ì_tÅ÷Hhú¢‹†û÷p'ÜþÝ_t¶5Ðpî;¾BV ÒáÊþKhÁfL%°ƒù¸/à‚AbA"HS`•EpËÀ0,% ¬kÁ°l»Á>pÔƒ&pü.‚+à¸WOxzÀ[Ð 	¡#Ä1C¬GÄ
ñA‘0$‰GR‘t$‘ 
d²)CV!mH5òr9‰œGÚ;ÈC¤y|@1”†ê¡&¨
:õAÙhšˆNF³Ðéh!º]†V Uè^´=‰^Do íè´˜ÆÄÌ1'Ìã`±X–‰É°yX)VŽUaµX#ü¯aíX7ö'âœ…;Á‰'á||:>_ŠoÀwãuøiüþïÁ?èc‚#ÁÀ%L dfJå„„#„3p/uÞ‰D&Ñ–è
÷b*1›8›¸”¸‰¸ŸØLl#>&ö’H$C’#)€Kâ‘òI%¤õ¤½¤¤«¤RYƒlFv#‡“ÓÈr1¹œ¼‡|œ|•üŒÜOѦXSü(±ee9e¥‘r™ÒAé§êPm©ÔDj6uµ‚ZK=C½G}£¡¡a¡á«1^C¬Q¤Q¡q@ãœÆC÷4]šC›DSЖÑvÑšiwhoètº
=˜žFϧ/£WÓOÑÐû4šÎš\Mæ|ÍJÍ:Í«š/µ(ZÖZl­)Z…ZåZ‡´.kukS´m´9Ú<íyÚ•ÚGµoi÷ê0t\ubuòt–êìÑ9¯Ó©KÒµÑ
Óè.ÒÝ®{J÷1cX28>c!cã£C¨g«ÇÕËÖ+Óۧתף¯«ï¡Ÿ¬?S¿Rÿ˜~;cÚ0¹Ì\æræAæMæ‡&#Ø#„#–Œ¨quÄ;ƒ‘ÁBƒRƒý7>²ÃsWÖÞ7ÂŒÆÍ0Últƨ{¤ÞHÿ‘ü‘¥#ŽüÍ5v0Ž7žm¼Ýø’q¯‰©I„‰Ôd½É)“nS¦i°i¶éÓã¦]f³@3±Ù³fÏYú,6+—UÁ:Íê1764W˜o3o5ï·°µH²(¶Øoqß’jéc™i¹Æ²Å²ÇÊÌjœÕ««ß¬)Ö>Ö"ëuÖg­ßÙØÚ¤Ø|oSoÓik`˵-´­±½gG·²›nWewÝžhïcŸc¿ÉþŠêàé r¨t¸ìˆ:z9Š79¶"Œò%U5ê–͉íTàTãôЙéí\ì\ïür´Õè´Ñ+GŸýÙÅÓ%×e‡Ë]W]×±®Å®®¯ÝÜøn•n×ÝéîáîóÝÜ_y8z=6{ÜödxŽóüÞ³Åó“—·—̫֫ËÛÊ;Ý{£÷-=Ÿ8Ÿ¥>ç|	¾!¾ó}›|ßûyùåûôûÓßÉ?ÇçÛ1Â1;Æ<°àlhd¦n
l2âU=
¶ï~ƶgg³÷²_†¸„ÈBŽ„¼ãøqæršC±ÐˆÐÒÐÖ0ݰ¤°
aÂ-³ÂkÂ{"<#fG4G"£"WFÞâšpùÜjnÏXï±sÇžŽ¢E%Dmˆzí-‹n‡Ž;nõ¸{1Ö1’˜úXË]{?Î6nzÜÏã‰ããÆWŽï?'þl#ajž„·‰!‰Ëï&Ù%)’Z’µ’'%W'¿K	MY•Ò>aô„¹.¦¥ŠSÒHiÉi;Óz'†M\;±c’礒I7'ÛNž9ùü£)¹SŽM՚ʛz(ž’¾'ý#/–WÅëÍàflÌèásøëø/Á‚5‚.a€p•ðYf@æªÌά€¬ÕY]¢ Q¹¨[Ìo¿ÊŽÌÞ’ý.'6gWÎ@nJîþÜÔ"ÏtwSqÑàMˆÐ70ðÆR#Ÿdý›>í€ÁÞ yºêª"¼3l
T¢‚"ð¨î§_åøm”x€oû}ZÔÙŠeXIfMM*>F(‡iN’†x ~ rASCIIScreenshot¹z/ˆ	pHYs%%IR$ðÖiTXtXML:com.adobe.xmp
   
      
         626
         894
         Screenshot
      
   

Û:…iDOT9(99j”<´“@IDATxì˜]E݇g³)›dÓHPiR>"U>AA.EzïÒ‘¡ˆH¨Ò¤	½÷"½	Jé©›ì¦Þo~'ÌÉœ¹sïÞ»¹»w÷ì;Ï“=mê;snæwfæ?
ë€ @€rK á—Ûº¥`€ @€? @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿žRÁ³g™Yý§f¹m8ÐôõµÅW˜4ÑÌž8¡(lC¿~¦ÏÝïî7f¾ö’i»ûÓoéeMÿõ62
šªÎòì/?7…©S‹Ãõécúfñ}îÔ„@¡e²™=~\4®„»å_‰Ÿhµ¼9s¦™õñGÑõê}Ä•'ЙïiCÿþ¦Ï׿Q>]ðtæ?ß43¹ßøéÖ¦Ïüû}î‚l’ ôP¿Rq³'Œ7ãÖ_¥f¹°ÁÆfÈFw(¾)§cZo¼&vÔóïDïw×›m7_gZN>*Í^¿åW0Ã.¿1½®ô¤å˜ß›¶¿ßRä½aÐ`3òÑ—Šîs£6Ún»Ñ´X4²‘¼h7›JüD#¨áÍY¼gÆÿìÇÑ‡Ž¾Ìô_cè3nÎ!ÐÙïiße–7ÃÇÞ\ܳf™i=hZ¯¹ÜÌ|îé$ï¾Õô]j™úä‡T!@ ·~=¤j5ª1îÇ«frÛwÕÕMÓÚë™û¥zò!ûdžé¢ï÷W1M?û…™õ¯wÌ4+JföIêgÀúÿk†œ~~z]͉FüÚnºÖL9ÿÌ¢`=MøMØnS3óí73å~Ím¦ï’ßËÜs3^~ÁL³¢wð'š†¦¹£4…ILÛ_¯4S.ú£óš~5¿(LŸf¦Ý~“i9嘢¸ð«ÄOQàZß(ÌŒçŸ6“ø­ž’‰ágÌìq_š©£O7MÛílú.±t†.jõžêwt꘳íï×u™4ê!üô;:펛ÍÔ+/Ëü6+c¿Lõp@5"€ð«ÈÎŽF£qü Mfè/5ý×úQzýÅJßMÏÝÉÀ_ïaïóû9—ö«òä£0Óî¹3¹°Þ†fÈ:¯UÓÚÌ—k,[®§	¿ñ[n`f½ÿïL9†]q“é·ìÿdîéböŸÙèfI'Õ‰
ß“¦z~¹öòþ-ƒðËà蜋ٳ͗ë¬X$¨2uT‰ŸÎÉ]&Öɇík¦Ý{Wæ^¯~ö·iÒ~»šéO=fJ±¨å{ªé”¶Ý4S])üô!®õÆ«“E™Lx?§€ P3¿š¡ì܈fûÂ
¿Õ’DBѧ›í
?y²ëŒ&ý~O3ýÑMÿul†žu‘îvØIˆJú®§	¿6;½ªå¬“Ó"ô]b)3üÚ;ÒëôÄvN'ìõ«t*VFT¤žŒ~ÿ“ ?N'žÆ„AXG•øéÄ,&Q·œq‚i»nl&™Rb'ã)ÇS.:×´^:göA)µ|Oµw܆«gˆv¥ðS;lhbüp=3ÍŽÏ|æÉL^tð+BÂ
@¨„_
 vEm·Ñ¦Ô´Š„ŸÍèŒW^4wþ9ÂÏUš5𣑆éÿg§w.½œ°É¦aèp÷4=N9ïtÓzÅ%éu(*Ü„Ÿ#ѵÇJD]%~:;׿,áé>`&í¿{z³”ð35|Oë-üô±¬Ï|#“2ÏþÜþ®ÿïiùÝ	ÂÏ‘à@µ$€ð«%ÍNŒËuïu€¸ëÞE)U*üÔúrï›~«üÀ={®)а‚yñ« ˜¦uì%fÊOÏxEøepÔý¢QW‰ŸÎ.Âo.a­yœ¸û/çÞ°g%…_ÆWü¢Ò÷´ÞÂ/“{»öó‹•ÏÜÒ¯	7 @ ~5€ØQÚZMËIGš;ínú.¾TQ’?²íªËŒÖè9)3é3ß}Û>ùØÌnk3#G™kJ¼ßŠ«–5)^Jø¦´˜/=of¼øœi1Ò4Z‹y2ØàC)*@ä†Ä®:iQgͯ÷ýÎâÖ0ËvñÝì¨M§j\ø[fæ[¯c;XÎiúeÃÐafö'ÿu·æí–}["½nýó…fÊg§×îdØ¥×Úõ{ƒ’ËÄ¿
'WnÄoÖûÿ23^xÖÌúðý$_ýV]#9&;øgÖGZÖ/˜Âg›YÖpEãðùLÃ×¾žð޵“ö’™ý©m‘í†
7ßX(	.nÓ¾/iCý×ûßhdìfÆ›¯™Yo¾žlýÑøM¿ÕÖŽúõó$ƒÓŸ{2i‹³ì(wŸƒl[üºiüÖ¢¦ß
+Ó§Ñ÷žžW"êÊù‘ÕÜh{ø*µåAù›õß`[•ÆÆè;™fÎ;©VøÍþìSÛÆ_7³lže·PéûÝ%ÃCjûæ«6碗­‹9½zôÞ'ïæóϘ>Ö8QŸE¾mXQa\™8ì4gµ±Y}0§ìÓ§›FÛÆúØmJú}ÕdkÆeŸ´÷ÎE>›=Öô]þûÉýÆ2…Ù…x½ÌÃ{Z­ð3€š¥z°ï[ãÈùM£Íc¿åV(ÊGn„¿Šá×’„ ö üÚ#ÔCžW#ü\‘f¼ðŒ™b×9«–š~®Ùë¿Îz¦ù°MÛÑ]LøiDrÊ…ç„^“½ì†ž{©iüN±š"Ï_Ýh9þPkŠÿ¦èãFÛaqó½EBË÷ìÖ×…lú¯¶–éÿ¿›™–ãõ½§çóÝùh²§×´ûî2“Ý7½_êd¾¿?’î_vâ”=Ÿxè>ѵ<͇cš~ñ«RQ—¼/ñ1å̬{ ñ£tBk‘}—^Æ>è(+à+ߤåì“MÛÕ—¥«=ñÄ{²Ý¶bšÝóÐwÃÇÞdú.3×N¸}‚Ÿ·¦_þÚ4p„1

~vòÓrî©™õo~8yVû´ç¦iËm³aíU9Qç<—óÓ&Ë %Úƒ?êÙ·ÌôÇÎLMÔ3åk¾{ç˜áw~K+~+®¦jí›7½Øç¡ö?ä´ÑÁ©
ã·X?š´FÒ$l[N>ºè¹âzÞeQQ>íþÿ3S/8«È’‰›¶èî¸ý¡²yôqaÜOÖvÞK‡œrއRõÒÑ÷´á§©ñ²˜ì,"ûu «ÉÃìoš¶™þf(.„ß¼%, ”"€ð+E¦‡ÝŲŸ±ê”gæë¯˜	;þ,¹«Î̈›î¶ânShµ#‹Ç’±<(±6ü²¿&£d~41á§ç	‹,j¦?ñ¨ï=9ö—+þR®Q˜I‡ïW$˜d€eØŸoH6½NFB9بƒê»¦Í·6͇ŸŒdHµkýñW[¦"}è˜+LÿU×LF>[íhî”?ž–	^n{ŠŒG{¡Žö´ÿ»Õ¶Ã3Ô¹ï·ÊêE¢Ožš6ÛÒ47g*lË1ÙýoMª]
ÿëß“‘–0m·ÞÜ/j—vúñdÕá]·ÍyþÛýÌ`Mg¶#iš¸Ë/’ûîOó±§š&»Áµïʉ:篬;j<íÞ¿›ÉG༧Ç;ífïuÝ¥orOÂOÜm»äƒ‰¬ã>êÓÇŽˆVâ*~ZÏ;iÿÝÌÌ7^K¢{½75mýó3e̹iRÍ'œaš6™óë¦ÚÙä#÷O?æ8}WþAj˜ÈÝóúÀNýn»ö/¦åÌ“Roú0ìÒël»ï—‰Jz'#ŸxÕ4hòîdOõ>N½ìB3ãéÇÒ2:Úf¦Ï7I.lð;r½TÍßÓJ…_¸wà³/2Öù±i»óÓrôkÉâ:ÌŠæråue+uŒýf üJÑâ> ̄߼ÐëFa«~á¾XÃo¸+™:©"Íxî)3ñ·;dJ×|øñ¦éçÙõ81á7PöߨN»’7ý	+¬öÝ5Ob=Ïn—P4â“ñ5÷b毚	;l1÷†=“@Õ(šéÓ'¹¯©ª~µUÆO“5ÒÒ|ÂÜ}[N?>1ŸЬ˜pÂÏE8iß_‰ØJ×ø)uÜ5RÕÝ
ÌÔíbû«‹:9Ü}_3ø·¿ËÜ+wÑú§ó³ÿãN³âkNùc[JØ`c3ÄŠÝŠÚ÷ŪKF½kt(Üþ¢ÿšë$#Fßþ~’M;îjš÷Ÿ# gÚiŸ~¹ygóQ''{LêÆôG¬O€ûBRÏ'HdÙ)²ÎIPŠ¿ß†bõÖQ%~&¸{:ŠêÒK>"sª»LŽ®MŒ¸íÁäCGæa™‹J„_¸åCæÝ³–y¿üÑJ™#n¾Ç~hùNšj륣‹ö“ÔæM6·ƒö²w¦¦}Ò@ödä£/§Ó—c£‡Í^;Ól‰»mï7úÀÐgøˆd´<ó ÄElM^©5~±ºëè{Z‰ðÓˆúøÍÖMsž±ök?T|±ÊÜ÷cÀÆ?5CN*žžnçá× C€@Í üj†²¾U%üìèÆ«Ì]ǦœÜÅîù·÷œ¯ØZ+ôåêËd
¤àÕY÷]Lø|òuÓ`×ß97aÏ‹FìÜ—sç§½ãÄ_ÿÜÌxÙvô=7ìO×ÎÂ*‰8xø…D€jθÿÀ4j«;ré»PTèYG;”
ëÄi4µqÑÅôØ„H÷ªí8&{žÙ)‡Î…¦èCæ‰P¾ë1ç½¢ã¸×J§·¹ÉÞV@N·#5¾ rê“=%Çoþ£tRa†œ~¾ÑŽœêÀß÷Ñ·NÛ:öÒ¢QÊ‘¾”®‹­³qÇÃéšCÅ~Îê­âô—F¢Ç­¿Šé¿ÆÚÖIñ´X?\xÞžð›þÄ#–í.™`#n¹ß4~5
¦
Ô–,Î…ùh»ájÓò‡cÝã䘌è9&ytcÒA{˜éÝ—ñã·ÓÖË/2SΟûáD‡_u‹µ|»lFk8¿üÑÊ™ðšy¿¨FøÕò=­DøM>x¯d†€ËyÓ/v4͇Ìe:a×_˜™/>ï'"::å3ö›Áˆ_Š–@¨!„_
aÖ3ªª„ŸÍhØyl>èHÓ´ý¯Ó"„ñõµ†5BÑ~á>~±5c1™&9iûûßL‹
è;&6ú ¿Ã¯ü›éû½ålÎŽD¼i>ñ,Óô“¹£NòSË¥â‹uâ|&2œ2îÇ«Êkê4]løÅW§×íÈ8OË9sG Âiza§Uñµ7ý.L3&ü´¦lÀ7N¼Îúà=k¼çYÓïVJF›bÆ:†]~½Ý~dŽ¡
ÛÔÈŸK¶ÎGl%Úç»ïétúœ¦Ú¶œv\’®û3tÌX;½u®üZ	?Åvêu¯ÙŽø©ÍÉiÄV†–†œz®°á¦É½Jÿ´'üBÑ®xG=ýf:ÍT×SFŸaZÿr±NSç…˜ðkþýQ¦i»Sÿ±÷Òÿ˜¢ò…#Óš¶+ã2‰‹|lñßÉ4¡2'ÝUøÅFÍïw°5¬õÛ´4¡pŽí­šznç$ö›á×g;Áy@¨˜Â¯bTÝÛcØ©Vn‹ÖRyE˜ùÏ7Mëe˜ֺ߀õ62ƒì”¼†²‚9aûŸz¾m¿ÓZæ>öæÌ½J„_¬Ó‘™ˆƒ‹XGL^ܨP‹58Òö÷[‚PÆŽ`dG2÷LEîÈÇ^IËèª~²,©M¯§ß{§µ€¸¢¼ïÁ鈢gL:xo3óµ—]“£?/ó ÄELøÍwïSvÚê¨hˆX=k”¤¯µ&é\ËYÙcZ_ë_.Jùô6,±6Û­%Á´žnªyjµ£X¾zÁ_ŒŒô8WKá7íž;ÌäÃ÷wQ'G¿ý;a8òqÛž¬eÌj\{Â/Éȵýô]l4Îÿ¨Q‰ð‹‰GYªíg
–ÈM¹ø¦õ’ìô`DPkk¿\s9?[VÿÄŠáó2÷Ê]tWá§ßÆ	Ûf½FUû¯þô8­×M,|ºwþmòºëjŽa+,¯‚ø… J	 ü*%ÕÍýU+üÂ⨳3Í2™~Çß2çÏïøº{•¿Ø:¿XgÖÅYêèÖèùÏeØBaÜz+­c›þø#™µO˜2ä¢
’nýK3ø°ãýàÉyO~a!dòúC÷š¶»oÏL?óýÕBø•:-gœh-r^á'ÙîyÌH‹ÉøÇôDzÂöï™év~„)üdàFS9C+©Zªé|Zû5ðçÛ›Á2T¥+'üfûÂŒÛ`µLŒZZmûëXÓrz6mÿ#O-„_¸îR™vé5Éö
:×Àé^óѧ˜¦-¶ÑiE®»
¿iÜmgØuÊU¸pMqA£³~ÕÄ/ TJáW)©nî¯CÂÏîm7ýñ‡ÌTûeßi=Ø k±ÒŸJ¨¢wTøiÀ	Ûü$C/Ö™Íxˆ\ÄÖÆÉœzÓ›$Ó‡]rubÙ³í¯WfBëK¼¦Å…[8O=Yø%£¶vŸÁi÷ÜéŠcšvØÅL·×Îü¼{ÐéÂï¸CLÛíÙa­ùê¿þœ©¡.þQ#Ìþˆ™¬Y¶^{Ef£½ö…-Äv¦ðS§\x–·kâ<'K®£æ·ëO7á4VÏ[ÙÓrÂoÖ{ïšñ[m”	ûHÒvóµEÛ2ÈpKó	g%ak!ü´7æÄ]·É¬­õGµÂ-;”p¸66SÈEw~±­=ÄwÐGFJ1ç–,jŸÄŽ8Fü:B0€ пŽPë†aª~šª5ÑZRœùÌ“ii’©Z'“XËübåÅÓû:é°ð‹Mµ[*“h™ÄJ\LØaó"óïê÷1ŸqëvÚêÓEÖH•¶SqCv»—DO~áT=YÛÔ-MÅÔÆØZsç»Î~SÎ;Íî9w©ŸdÆ`PæAäbšÝ~ò{dž8q¥i SFg
t¶ð›õŸÌøÍ×Ëäǵ5ÝT{ó­Šf<–¹('ü4…W;}ûHn³ ÿ‰5ÝÝ÷K‚ÖDøÙ˜4Åzʹ§˜¶›®KâÕŸæíŒÖrç”?—ŽˆŠËÓγÆnÖIýUrÒ]…ßôG­•Ùý³Û¼Ä~ÿ*)c%~~•P Ԃ¯»AÕ?Me›üû=“ͨ]Ö%FüÕŽÙ/ׯŽÖJøÅ¯„ò\Ú;¶Ýr½Ñ~p¡K
ÓXƒZ?NÑk>ô8Ó´Mv{
GO~áv*‹?ÚRáîy¦<…Ö&u/æ¦?󸙴çN™GCN:ËZ;cˆ§ÂO™q[6d2f/BCáór×償…ӧc#~±5~¾¡™Z	?W­žr¡ý ä9Íè»ø’¦Ñ{hÆô™ÿkÞÓÊN»«ðÓ^ˆã·žcÖ/ɨgÞJö–ôïÕâáWŠÄ@•@øUB©ø‰
¿¦Ýu«™|ÔA™Ri[ó_Meª¡ðk»Ón~t6­æ#O4M[n—I¿’úør‹¼Îwß3ɨŸÄÖÎwÿ³ÉþbEíž&ü´yûøM³#+áˆf=„ßôgž°âíWEˆÃ­œ‰½~K-›l|5$óÀsé¦èõ~±QHå¾;­x¯:W^wlOøÅöõÔs>È|É”óN·£«—¸(“£ox¥VÂ/1¬c7Œwi
9ãÓo¹“uŽ
ƒeÒïÈEw~1Ã5*ßSÎ16Ú¬¨¨šr­-lü½‹<•¹ð+‡G€ PS¿šâ¬Sd3f˜/V[º(ñ¦­¶5ÍGœTt?f±Oû­iß5¹YïÿËî‹¶a&\lªS8:¡áWñ–SŽÊLÓHÁˆ¿Ý›YÛ•I¨‹ÐÌ|¸^¸ùü€6µ¶sKÆÚQáç6Ín»þJÓf7.wÛ1ĸ¿Ã¼ZõŒŽ%£B½ŒFhzž¦Ä†›¬W=ÕsƒdöäÀ‘6†!C£,5ʪ©‘³Ç}™yžX,Õ´Þ>}Òûnß>ÄøéVEÖ!åQ†Tú.¾T&fµµ³§z&	ÛÍÒÇm¼f¦L•Žb&á#b&|ë¦3_¥hsõP<‡û8††EbVÃí©ÂʪoÕS×þFòÕZìTøö\Lø¹m3Äaòaû­Ýí³À‚þ@{Oµ–tÜFkd²þ¾Å¶DÑ{¦)¾š~ëœû½ñ?ݳJޱ=SnØÅW™~+g
ýT~ @å üÊÑé!Ïf¾ñªíìoQ”Û¾K/c÷²»¥h-Rlª Þãwv7ñ¦õÊË2]=Sggèù—'ÿÆÖ­¢iiº7üšÛLß%¿§S£5Kã·Ú0×Ðs/1ý×ήJµìÙl-´öYhád]Y©Îs¦-NŸMÇ÷S”	{£õÒÑvëŒ?¦ü)•éÍ*Nb£±Í‡k§"ï˜ÆŠCj©F£dùÓo³óýß™©–SìæíáöM;îjší–-ÎM>ê@3í®ÛÜerô·„ˆm$/ñ×0ÿ×MC¿þÉd+æìz¿F+е¿_©™D¼‹Øl½í~¢­vïÆ>.d†Û-&dh¦–ï錗ž7wù…—ûêYQ7òaûñ¤Ocr¿Ô»¬ü
øéÏM£ÍÛô‡ïO¦ËëÞp;M^Çj]©÷¹ùcLÓ/ŠGЫÿ€ ŸÂϧѓέÀ™a¿ŠÏúð}#!Žð¸¢4Ù•þÖò¥:*‹.–Ü.ÕÙpad-sö{ÿÊ6÷Ì7ïø©ã¤Î¨Â=él£u„S­ÁiÜ゚Á{ìÑ–Þèà‰ÖßhNãBߌÙpg.Î÷÷‡ÓΜŸÜì	ãM«Ý~ õÒ9£œþ³þëþØ®ã:$º³òçü+ï·V4?þ¯i½|Lt?Á¦meýz„IëEçX?·ºàéQâqÐö;'š§7#'Óã6ùa¦ãï{S™Õažùâóþíä<Õ(ò`oÌúèCÓzÍåvk†±Eµo^ÓN»™~ËüO2ݯȃ½áØÇž¹{‚C/¸"Ê9á·¿43Ÿ{Ú=.:ª>¦?t_Ñ}ÝnÅhÛM×F·’è¿öl=šˆ“©—]XÖO)A;û“ÿ&¼]âå¶´p~¢G;*ßv«]£zê±Eµ¾vð!ǦûÊŠi‹µ’êÞ½[ÉZO7Õî¯ç,×êþ³ÆÌÝÈ^iؽ§œzLQûP»Ðk`™vß]ÉZY_<*Sú˜¡ý<ûýÏJ6â-#Š2ÜHÄŠlCCð$~©ß®ñ[¬hïêCCƒSµ|Oe´gê9§?R&î´»ø«ÝÒiá±ýÃ̪†]|¥éû½åÃG%¯5]{ö矚Yï¼e¦^zA‘^T¼ƒgƒ–\Æôµí£aè°’ññ€ P)„_¥¤º™?u¿üaû£7.ÛdÉ×ó¯nĦY%ƒ6M›niÚþïö¢µyêˆÜa×THIøÚÚ‹~ýVXÙL9󤢑1%§Nõãϰ£å\væéèÖ0¥F]‚ØÜô«rB³íÎ[lù~„œ{Ù´íN¦Ù²HÜìYfÊiǛ֯™ëÁžI5wz2Úô=«S<ËŽjk‰RnÈÙ™ëü¸Ôãô¾¦{N>h¯¢Î½ÌíÚuo#±§Ð”X’µgr¾åkÅñª?§iÅNÚµþ؃¦åøÃâ´îÔŽŽ&F„¾Š\ù¸ï.‰˜÷Óë¿ÎzfðÁÇÚ-¾fÆÿâ'™}—XÊùÃyf†Ý¨¾½zì»ÌríúIëÚÏÀWç“Ú#žÝ»OÑHPÿé"±Ï¹•WºùÞ¹Ïí:Û¶¿]W´mƒóÐ×ZÆj·o𪴗†ÂŽ|øÑu².^·^tö§›q?YÛÝ®ø8xÏýÍÀßìS±ÿ¶¿ÿÍ´spÆ¿>¦4Ÿ|N2:ÝÕï©Ö1XoFè[N84³­…ˬ>H4yRbI×Ý«ä8aÏ3Ö”Û£wÍÇžÖž7žC€Ú%€ðkQ~=¨s7ã¥L¡uªÝúv²¦JT;'£šFª½Ö$Úþ–{”µ——¦ìõ9z_#R3Þ|ÕÌþχ¦ñ›‹$Ó;2*0r¢urš¦6à7ÙÑPõ_£LÞ"QUu+áõækv¾å;µm	Óø­o[µW¶"Û^û|ÎoÆk¶-nú~{±ä7CÆR:ê:ã=Õ(ÝÌ·ß0;S y÷5µu@SG³H8@€@] üê‚D!nG@âóekÀÆN³sëT•Çñ[n`;ùÌðkïèvYî¬É¢ç”1ç¦Óc5c O(6-/J™ù†ýâ¹rF€`ƒíÚËÑ%ýò€ ú@øÕ=)CÝ„ÀŒW^4wþy&7²>ªiŒí	ŸL œ\8ƒ6*Ž,‚9ùl#NášVmÐzÉèÄJf²­ÝÑ_ó›€ ¿\T#…€æ•À„]Q´
†,7=í|k¦ï¼FߣÂÏž8ÁZ³<,³†¦q6Zã+²ÈZøü³tDP¸Í/ÍÀ]öÎêQ&³€ ^@á×*™"B°…Ïxåvcn»g µ*/Éöu²ÜZAŽ;Ý‹¬YÎúç[v¯¹Í,k¸ðé'sFý1#ìæí–Q_»¯c­-÷vzÁH€ Ð	 üza¥Sd@€ @ w@øõ®ú¦´€ @€@/$€ðë…•N‘!@€ ÞEá×»ê›ÒB€ @½Â¯V:E† @€z„_ïªoJ@€ ôB¿^Xé€ @è]~½«¾)- @€ Ð	 üza¥Sd@€ @ w@øõ®ú¦´€ @€@/$€ðë…•N‘!@€ ÞEá×»ê›ÒB€ @½Â¯V:E† @€z„_ïªoJ@€ ôB¿^Xé€ @è]~½«¾)- @€ Ð	 üza¥Sd@€ @ w@øõ®ú¦´€ @€@/$€ðë…•N‘!@€ ÞEá×»ê›ÒB€ @½Â¯V:E† @€z„_ïªoJ@€ ôB¿^Xé€ @è]~½«¾)- @€ Ð	 üza¥Sd@€ @ w@øõ®ú¦´€ @€@/$€ðë…•N‘!@€ ÞEá÷U}±Òw{WÍSZ@€@
	ŒzþÆFT€ Pk¿¯ˆ"üjÝ´ˆ€z„_oªmÊ
ôD¿¯j
á×›/y† îBá×]j‚|@ˆ@ø}Åáo Ü… TBáW	%ü@¨„_ýØ“2 @€ .!€ðëÌ$@€ @ ~~õcOÊ€ @€º„¯K0“ @€ ú@øÕ=)C€ @è¿.ÁL"€ @€êGáW?ö¤@€ @ K üº3‰@€ @¨„_ýØ“2 @€ .!€ðëÌ$@€ @ ~~õcOÊ€ @€º„¯K0“ @€ ú@øÕ=)C€ @è¿.ÁL"€ @€êGáW?ö¤@€ @ K üº3‰@€ @¨„_ýØ“2 @€ .!€ðëÌ$@€ @ ~~õcOÊ€ @€º„¯K0“ @€ ú@øÕ=)C€ @è¿.ÁL"€ @€êGáW?ö¤@€ @ K üº3‰@€ @¨„_ýØ“2 @€ .!€ðëÌ$@€ @ ~~õcOÊ€ @€º„¯K0“ @€ ú@øÕ=)C€ @è¿.ÁL"€ @€êGáW?ö¤@€ @ K üº3‰@€ @¨„_ýØ“2 @€ .!€ðëÌ$@€ @ ~~õcOÊ€ @€º„¯K0“ @€ ú@øÕ=)C€ @è¿.Á<ï‰Ìš5Ëüûßÿž÷ˆ¾ŠaðàÁæßøF‡â?~¼ùòË/‹Âöïßß|ë[ß*ºßÝo<óÌ3æºë®3+­´’ÙrË-ÍÀ«Îò'Ÿ|bZZZŠÂõéÓÇ|ç;ß)ºÏÚ˜8q¢ùüóÏ£‘‰»øWâ'A
oΘ1üÿþûÑõê}Ä•'Йïé€Ì7¿ùÍòè„§³gÏ6/½ô’yõÕW“ö±Øb‹™å–[Î,»ì²QB€@¯'PÀõ¶s[°µfÿ¶Þzë—{=ö(™GZ§€_|q¦,«­¶Z‡r²ãŽ;fâqu5dÈÅG ÊüùÏŽr+ø’H*ñSYj÷õöÛo—ÌçwÞÙñˆ{IÈÎ~OWYe•.'ùÂ/ô{ã~+üãæ›o^ø×¿þÕåy"A@È7“ïâå§tŸ}öYQa½õÖ+œ}öÙ…n¸¡è™:k¯½vaìØ±…Ã;¬°ðÂgülµÕV†3nܸÂ)§œ’‰ÏuZ:i.¿üòEåP‡¬”{üñÇyS¦LÉx±# …ã?¾(.„_SÍ/Z[[cÆŒ)â®öè„_%~jž± B;²Sxà
jî]qG„_¡ðé§ŸvÞyç‹/¾›sY«÷T¿£»ï¾{Qtµð»ãŽ;ŠòàÚƒ;ª­|øá‡QÜ„ t„¯#ÔêF#×!ÐQßùÏܹŸsvªYa›m¶IãøÙÏ~æuè8uêÔ4.—žŽ=Í-±ÄEåxê©§¢Åøïÿ[øÚ×¾–øw¢Â÷8yò䢸~>¡Î9·Ó £‚ʯ£JütNî²±j¤Ý_tÞÛ…Ÿ~›6Ø`ƒ„K)µ|OíÔÊ¢:èJá÷Úk¯¥¶	w­{3gÎÌ6"® @$Ðózê,hOf×¥…Pô©l®£à}á'?Ó§O/l²É&‰_M%šWçDŸæ¼ÆÙÕáÏ9çœ;,Äœ:§ë®»nê×¾ÿpDáçÓé¼ó˜0ë¨?—Ã91ï»ï¾irïM)±ÓÙyé.ñ}ôÑ)“R,jùž~üñÇiz®ºRø)-¥«ßOrî¹çž…ï}ï{Eyry“PÄA€jAáWŠ]‡F›Ô(µÍuüc(ü”Í'Ÿ|2‰á7§Òô5]ÍvØ¡pî¹ç4e3æ9äLÇ,.ÂÏ‘èÚc%¢®?k„_–ðí·ßžy¯J	¿Z¾§õ~š*®ßèm·Ý¶0a„†ÊwÐAeX¸ßòo¼1õÇ	 @`^ üæ…^†ý裒NÁ‰'žMÕuücLø©ƒ!q²Ùf›Eã©æfFü*)ïi§VÔ!CøUB®ëüT"ê*ñÓÙ9FøÍ%üàƒ½W¥„ßÜP¥Ï*}Oë)ü4ÝÞZ›-Z#¬Ré·96òwòÉ'—.4O @U`;«”z‚³kêÌn»íf=ôPc§#e¹¡¡¡èž~æÔSO-ºÖYgkðÂuÔQÉ3™I—9qkHÀ(¯ýëfÁ4?üá“cQ_Ý?k,!óض=3iÒ$c¿l›Ç{ÌXqhìÔ&³Â
+˜Aƒeü¶waG9¶Iˆ9™__f™eSèÚê"æ†
fdýÿø‡>p¤^¬ð5#FŒ0|ðAzÏhK
ß”ºít¥œœ~øaÓÜܜܒ…“:t¨±ký’sýQZâ!÷Ö[o™GyļóÎ;I¾Ö_ýä˜<ìàkùÏ<ñÄæ?ÿùO²­Á¨Q£ÌB-”ðŽµ“ö’Qˆm0räH³È"‹$ÁÅíÖ[oMÚ5-ƒ5d¬‘œ„½¶þPØ
7Ü0ê×Ï“¶
±FP’º±ô„±Úââ‹/nÖZk-ÓØØè{OÏ—\rIc-g¦×:±â<©w³œŸ/¾ø"Ú\XÕ£ò ü…ÛªôíÛ7úNº°þq¿ýö3£Göo+vÌÆoœ¹ç.ìc
ž$ÅT¦þõ.©í»6çü¶µµ™×_Ý]fŽzô>è½×»©ö«÷QL6ÝtÓ¢¸üÀV$mLmMeŸ6mZÒÆ´]†~#ĦZwÏ=÷˜6Ú¨(˜Ø¬±ÆÉýE]Ôh»ƒZ¿§úM	·²Ño”~cNÌ´å‚êAX`$vöEÌ{Ù{wÝuW²åê/æì¬sÀdwÞyÆ~0ÈÜ〠Ð!UˆD¼vc¶ò‹¾žÇFüü"<ôÐCßZ^lO#ƒVTøÁÒó˜HÆò¢¯ÜÕ®UÑú—X\º§Ñ9Ûé,éGÏäÂ8dHâòË//ºïüÙŽfîúë¯/éÇùÕÑîÏ–ø×Ÿ0?º–TiðøsÛ©KÃVs"SïªO˜®îÿûß/X¡YM´…ý÷ß?ÓÅ­£êOkD5EÍ¿¯ó§Ÿ~:“F¸}‚Ÿ7Û©-ÈÂe謘(„£a~8¥£ö&³þ1WÉh^9?åÚƒ+¯Fd©‰._±<Åî…eTøØ(—q…pz±ÏCe‘‘ßýóŸÿ,ª—w¥qÑEEŸ+.û1Â*=—Åà7¯+¿êÆý-Þ¦‘}u¢÷Ë_êüšk®é”÷´š?M÷-"ûu «É¥FþÃ2Wz}íµ×±¹ûî»+
Ž?@€@YLõ,‹§ç<ŒužÊ	¿gŸ}6í`¨3ã̆ÛMÈ¡åAM?’x	]Lø)	ök~¿Ÿ7u¤*uÚ»0&˜$V•O9u2µ5…Ÿ†ÎwÝuׂĄœq+ÈŠ©î+>;º“L«ºí¶ÛŠÂÉÕHÂɺ§a-sò#¤gúç³ñ;†ò§±é[a>I¼ÌŸ÷Þ{/µ.ªð÷Þ{oâ[–+O?ýô¢2•Ûž"LF‚ã²Ë.+ŠCu}J§vJ£ÑZIW6±K	=Õ‡»¶K	ªí·ß>}~ì±ÇdLGÎŽ§÷]xå/t1qvÊËù;	
—†<øàƒÑëÒÔÚ,÷ÁDíJí©RW‰ðÓz^‰v—±÷Ýw“6{Â	'¤÷õüŠ+®È$­+.o.¼Ž¾a"ÿ¾;MýÖšW÷\GåIïo$ÊîÎeñ·œÓû¨÷Æ/£«wÙ½WÏ?ÿ|§¼§•
¿pïÀ[n¹%)–¶Èqù×öÊ[ŽEøìˆ#ŽHãVª{ñÆA€jAáWŠÝ ×ñaÛÏfØ9´S=ÓÇÚoÌGç^xaúÜÄ„Ÿ:íêÈËi”!ŒGíb#>.ÎðøÜsÏÅ¡/ðê¨;§§0íµç»}öÙ'ñЬ˜pÂÏ…‰ØPT8¿1á'NêDjK;]·(¯ÇsŒ^Ñ1ìü_nG/‹m)!!_“è
yºë/;M1‰>ÜORÆ*œS'ÞÅ¡ã%—\âBîIyÒÈŠVŒÃ6ËWXG•øñGQ]š­¡smB‚¬W‰ð?¼øïžD@ØÆÞ|óÍLbûIª,åv*hÁÿèãʨ£ÚŽs±ÑC¿i¶€VçúÀàFË]<厱5y±ÑOÅ«»Ž¾§•?Åí—O¿—Îé÷ͦµr¡@?ÿüók5ñ@€
¿œ4¿#âÎK	?‰&çÇ?üð”„6¼v÷ÝQ‚%t1á§#ßÅFìÜ—sß_¹sY2uùpG
cL¨¨s쨾ÈëzÍ5×,J&Š¿£JEvÊßo¼‘¦
 =¯¶ã(¡å8è(1í»¹„rµÎŸÞæÒÒè–X‡‚þºë®KDCØ$S¸xtô­ÓÆF)5*äÜI'”	«ðõô]LtDø9«·~^uîÇ¥‘hÝ“ø«Öµ'üì°¢²J„ùÎmÉâòæã‚.(ŠC‚Ö½ŠKV}]xwôÛé)§œRô\aœ“õ[Î}êü•;V#üjùžV"üÜW6}8ò~KÜ3ýöáû«æ\¢ÜSeö묚¸ð@ˆ@øÅ¨ôÀ{~‡Á—~*^Øy<ûì³3¥vq¸cL4…}ù
Öt¹8Ü1&"Ãpþµ¦³¹°îèÂÄFäO#r2‡®ë+¯¼Ò69¯e‡RÆ„ŸŸ¨5†ST}坯yæ™™8Âiza§Ue¯v:ZLøiÍ£sÖJ2%Ô6i’«w”ézß¹ûîè¶ÎGlÅÐϯF=\w¼ï¾ûü¨£#Bag¼q¨HÃN½ÒüÓŸþ”¦§ÑJÝÓz¬j]{Â/íJ'œê§©Žƒ;ꃂs1á§i›¾‹½—þÇ”ØÈôË/¿œFûØâ¿“©Ç2'ÝUøÅFÍÿð‡?dJ
çØÞª™\øt4]^3p€ Z(î©×2vâê2®èË	?MyÔ”2‰·=öØ#]3§kÊ–ÎÃQ%ù«DøÅ:í1©øJ¹XGLyr£BšÖæW×Îº¹n] ŸNW?k²(¯Õ
?­)Ô„ø«êÔhªê*äáOãóË_ê<&ü¬5ÄRÞ±zVµñ¶ûæÉŸÖg­Ï&âM#~'Zëé´Áu64xQ‰¨«Ä
3°á·'Û3bƒÕžð?è:t±Ñ8ÿ£F%Â/&­¥Ï4)M?™ûíLeŸk«‚j\w~úm˦QU׎u”0óýˆç¼8]ïžo0j^â%, @À'€ðóiôàs¿âÎË	¿°¨êìh}^Ø¡qqù_¶áçwh\\±Î¬‹³ÔÑ­Ñsq訑@ÖйDlØiVÝí(ñs=Qø…åÕU	/'H|FœÐ±Ûd:Â.Ýrǘ‘•M‚^ÓGc#—.¾Î~š®¶%¥«wDÖTu®%q償„µ+Ÿ;ê,Áºçîè¿ëµ~áºK¥£‘uç—¾Ž—^z©{\ѱ»
¿›nº©ˆ¯_ÎØy¸¦¸"_yÒ‡÷¡E¿¿áTójâÂ/ @ „_9:=èY¬3âwcE‘®ø#DꀄS	wG…ß+¯¼RÔ‰ŠufcùóïÅÖÆI´¹‘¦|09¸‘pËwO~"eñË|à¦Hÿ~g?dñÓÓ¹Ö|ijk©¡”5KW_..	zgHÅÝÓ±3…ŸÚFh]Qijz¤+á4VמÚ;–~Qó˨óØG’ض2Üâ\-„ŸÖ‡kkýQ­pËåUb°çXúeöGý¸jùž¶·ÆOFlü<é\|KµcÝ×ÈtGœ¦Ìº	‘Ö‡ªÐéÝ­ÆhNžk@€€#€ðs$zø1ì¨èºœðS§;\O$¡Žˆa_G…_lÚ¨Ò툋™WÇX_É•ç˜5R•CÛ)”rµìP*ØH‘Ÿv-¦z*¾P ©Óè¦bjŸÂ°þ:[øi˃0Mß`Ï v.ƒ?ax'®4
4|ÖÙÂOûÚ…iº¶æÚ[¬íÝ+'ü4ò¦ûHn³ 0“>0)ßIDAT­w®ÂOq©Íì¾ûî™ì0꺔ðÓT6߀üJ8¸}ïj)üb†WBy•V¦’ÅÊéÓH´úRçW£‚¥\O~áv*ç¿­ùyçê!üÂ=Ï”§ÐÚ¤Ë_xÔ>„®®Üñª«®J½ÕCø)ñØH£òúH3ZÁI9á§àáôiµçÐÅÖøù†fj%ü\º'žxbQýhf€~C´É|l”Ê…-wì®ÂO{!ºvèõûRKçFn5²êïê§qóÍ7'yÑ4€ 0¯~óJ°›„÷;(îÜŸšågSjçǵ!¹sµ~2:áÒpGux:â4ÊÅáý/å±µ€2¿_Êõ4á§mü²ë<Ѭ‡ð“•Í0_º·"põ ±ç:»n}“Þß½^Â/6
©<ÎË´»ö„_lA÷AƱ“ØòYéÜ7¼R+á§÷ÍOKkß$òª=vùÝUøÅ׈ñ5×\!¹Ö”kgÝ6ê!rÓU”¦wÞ9ý§í]Ô|cDûÛß"±p€ P„_u¼º¥ouÃŽ ®5M+æbû¶Új«Ô«:1a|±©Náè„„_Åébêä‡k»Ò„+8	Í̇{à…Ó=·ÝvÛ²±vTø¹ŽÞèÑ£¾UΛ®}7¯S=c£crÜÕ)÷;Œ.?ÕvÖcu«¼—r2È#6Z/æ;·oŸFbKu²Õ™v.fµµ³§z*mm£–©ÒQL—÷ðû0áO“Œm®Šçp´>4,âÖ½ºº×1ÜÎ!œ*,?¾UOåÛßH¾Z‹a¹c×1áç¶ÍM©uÖ-kùžj-©ÏFçáï[̰޳p‹÷{ãÿ~ÆÊêß+µWd˜'ÿz^>6øis@½›@¶WÚ»YôØÒkce¿“àε&N£w¡‹MT˜ã?>1^vvõL÷´^Ï7àó'?ÎiD'ô£/Ýóâžzê©LY}KƒŠ7œî)¡TÊ©c›êÖ–¹pÚŸÌ1uGMÏ:î¸ã’ûG}tâUÖ5Ýsÿèö«“§p“fù£X=¹ôýclê¬â•Iuøcë õ\{´©ÃY‰“HôóïÎ5®œóG1\•'‰=uô]þ$^´9ukkk4-	FMuÀ§Fµœ`*‡ß+ñ+›Þ	¿,þ”ʘÿöîÅFcõñÀw¡8ô§–J(‡m6œjÛþâ ƒò“(胉_.û[BÄ6’—ø“‰Fµyµå]m«ÜGLÂÞEl6€ÞMeÕ"Y©ÕGƒZ¿§=öXQÙÅÔß,½Ô»¬ü©ücÆŒI§Ëë^(½bfNõþ‡õÖCx­øq€ Z@øÕ‚bâÀQG^§ØëÔ.dÁWBJ[eÄüèc†D‘\lË—ßRG…©ô†ÒÐoD©¸t_uWë÷T›ÐÇÄ·ÒÓ´VZxl?Ç0¿âøÌ3Ϩ8íº?ü°äïj¯]Íhb»™À ôj¿ZýêúƒöÎ%È|›f¥NŒÌ´«sû¯0¾’ðS¼hª_ldLù’PÓÔ­Z9·†I)Çœ›~UNhŽ;¶,?	çTf¨…ŒÕt£-»ì²KÑsß¿:űéu¾­)«ÄI|Å:îŠ_£uê0ûñê\#<•˜œ×vaØðº½Q[	ÿ£€^y׬I\91ïûÕ:'­i”ÿðㆬ JœWR•ø)ÇÝ	ÏŽîݧ¸%¨ý²…ç*Ÿï$ œñЯ®eåѵ=®½4®Ô:Y—†[/ª7î^5GÍ&¨Æi/Î0~}Lq£ÓÕÔ]-ÞS­cô>è„ÛZ¸üª]8Kº~˜Rç×_}QY]\åŽgœqF©(¹@¨Š@ƒ|Ûÿtp½€ýmžxâ	ÓÒÒb–\rIc;ÓfèС)	ûuÜØýóÌ AƒÌÊ+¯l[l±ô™NìH˜±SöÌ,Þ·S¾’0vtË|÷»ß5Ë.»¬±" }^‹Ûy5W_}µÙn»íÌ|óÍW¥í;MÐØ/噼y¬ò†xÙéƒÆN=3Ë-·œ±uÓ§OŸ*c©w+´]“eìH¢ùö·¿p^pÁÓÈíT5óè£+š’gª¿®tªƒ·Þz˼øâ‹I²v”/áÕØØ͆ü+¿vÈÌ?ÿüÆ
¤M:Ïj£÷ß¿±£wfñÅ7«¯¾ºijjr;õhÅŒ±Û%+FŒšV¹¸¼ýöÛFï¢~ªUÇzOGŒz­ùµžk¬P¯*^½ª÷jœ~3ô^ÙýõÌÒK/´×TEÆog¼§öãDÒ–í¨kòîëý8p`&]. @ݯ»×ùƒº„€D–Ä]ss³YqÅÓ4õQD"ÓœIïåýÄÎ(0Ö”±#ÕIQ팢,â%±&Ñæ;	¹áÇû·8‡ @ @øuƒJ €@}	Xã/ÉH“FªåŽ:ê(c§
»æÍHôØ=$Ío~ó›úf²SÿÝï~—Š>».ÕØ©ß%S·S«Íú믟<·SDcCCCIÿ<€ @ >~õáNª€@7"`×WkP%Í‘¦,Úµ’ÆžI¦YÚõtF¢¦·8Mëv"ØZ‹5{ï½wÉ¢[ƒCfäÈ‘És»„±kÙJúå @õ#€ð«{R†º	»MH²nÐÏŽÖ%jc{ÂÇ“—ó-¶ØÂÜzë­Iq¬EPsÕUW%#ŸášV»õ‰±[^kp(YË«é°þšß¼ð € <@øå¡) 0ÏÖZk-#!ã;k¹ÑÜpÃ
¦_¿~þíÜŸÛ­EŒµÒ›Š?X#žK-µ”éß¿²¶ÏêÙ^{íeŽ<òÈÄøŒ®q€ t?¿îW'䨻…BbÜE#]2æ"/~á(W²V·$eÍREe%VÖ2uaÆ™Q£F%ŒV]uÕš[î­[I€ c¿W.Eƒ @€  ?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øå¼‚) @€ „m€ @€@Î	 ür^Á€ @€Â6@€ @ ç~9¯`Š@€ @áG€ @€ s¿œW0Ń @€ €ð£
@€ @È9„_Î+˜âA€ @@øÑ @€ äœÂ/çLñ @€  üh€ @€rNá—ó
¦x€ @€~´@€ @9'€ðËyS<@€ @?Ú @€ œ@øõ
ž5k–ù÷¿ÿ]³Ü<Ø|ãßèP|ãÇ7_~ùeQØþýû›o}ë[E÷»ûgžyÆ\wÝuf¥•V2[n¹¥8p`ÕYþä“OLKKKQ¸>}ú˜ï|ç;E÷¹Q'N4Ÿþy42qÿJüD#¨áÍ3f˜÷ß?£ÞC½¸ò:ó=0`€ùæ7¿Y>ôôã?6¯¿þºyóÍ7Í AƒÌâ‹/n~ðƒ˜~ýúuRŠD@½–@×#ØÎmÁ6ÒšýÛzë­;\î=öØ£d>:i^|ñÅ™²¬¶ÚjÊÉŽ;ÇÕÕ!C:*#ðç?ÿ9Ê]ü­àK"©ÄOe©uÜ×Ûo¿]2ŸwÞygÇ#î%!;û=]e•Uºœ¤{…µ×^;Ú.ìG‹Âí·ßÞåy"A@È7“ïâå§tŸ}öYQa½õÖ+œ}öÙ…n¸¡è™:¾êTŒ;¶pØa‡^xጟ­¶ÚªÃpÆW8å”S2ñ9¡ÓáHëpùå—/*Ç/¼P27?þxA"oÊ”)?v´püñÇÅ…ðË`ªùEkkka̘1EÜ}áW‰Ÿšg,ˆpöìÙ…x  öàÞwDø
Ÿ~úiaçw.¼øâ‹¹9—µzOõ;ºûî»ÕAW¿³Î:«(®=øGÄ_´9p€:Há×Ap]L#¿CpÇwd²à?sç|ÎÙ©f…m¶Ù&ãg?û™{Ô¡ãÔ©SÓ¸\z:ö4·ÄK•ã©§žŠã¿ÿýoák_ûZâß&ù'Ož\ÂÏ'Ô9çvtTPùuT‰ŸÎÉ]6V´ûï‹Î{»ðÓoÓlp)Å¢–ïéK/½TT])ün½õÖ$}êrÈ!ɇ¹XùÔ6ô{£8@€@-ô¼žz-JÝã°kÈÒÎJ(úTœ°3©k_øÉÏôéÓ›l²IâwóÍ7×­yrNùiÏS„u|Î9çdØid!æÔ9]wÝuS¿¾¨ðý‡#:?ŸNçÇ:ÎaUâ§ór8'æ}÷Ý7mCî½)%v:;/Ý%þ£>:eRŠE-ßS»¦.MÏÕAW	?»N;ùH±Ûn»4íœ~_vÙe—¢|)ª8@€@- üjA±âÐh“:¥Ö ¹Œ…Ÿ²ùä“O&ñ üæTÚÌ™3“—vØ¡pî¹ç4e3æôeÞgŠ
áçHtí±QW‰ŸÎÎ5Â/KXSý÷ª”ð«å{ZOá'q§)øúºI“&eX8.ÖèKè•k@€@‡ ü:„­ë}ôÑGI§àÄOŒ&î:	þ1&üÔ’8Ùl³Í¢ñTs3#~•”÷´ÓN+ê!ü*!×u~*u•øéì#üæ~ðÁ‹Þ«RÂon¨Òg•¾§õ~Ó¦M+Zì—(\‹ÍTOŸç€ 0¯ØÎÁ*¥žàìš:c§™C=ÔØéˆEYnhh(ºg…Ÿ9õÔS‹î[ÃÆN32GuTòLfÒ_}õUóᇥóõ¯Ý,¸à‚æ‡?üar,Šà«òg%dÛiì—kc ˜Ç{ÌØŽ‹±Ó¨Ì
+¬˜*ÏxnçÂŽrm“s2¿¾Ì2Ë;
Êh«‹˜6l˜Yl±ÅÌ?þñ}àH½XákFŒa>øàƒôž;Ñ–Ë.»¬»4'Ÿ|rÊ)½iO~øaÓÜܜܒ…“:t¨±ký’sýQZâ!÷Ö[o™GyļóÎ;I¾Ö_ýä˜<ìàŸýë_æ‰'ž0ÿùÏ’m
FeZh¡„w¬´—ŒÚ@l{„‘#GšEY$	.nvRÒ†¬‘ h¬ cä$ìµõ‡Ân¸á†Q¿~ž´Uˆ5‚’ÔÌÜ‹±Ú¢LܯµÖZ¦±±Ñ÷žž/¹ä’ÆZÎL¯ubÅyRîf9?_|ñE´=¸°ªGåAù·UéÛ·oôtaýã~ûígFíß2Vì˜7Þ8sÏ]Ø>Æè½×»©ö«­ÄdÓM7-ŠËk?%mLmMe·â%icÚ.C¿bS­»çž{ÌFmTLlÖXcäþ¢‹.jìú¶h½ÌË{ªß”p+ýFéw0æÄL¿3ª1X`’<ÚÙ1ï¾§ß
ý~øîÀ4ú½ÆA€jB`^•#á»ÛоžÇFüüÜ>ôÐCßZ^lO#ƒVTøÁÒó˜HÆò"C¯½öZ¶’Yù‹Å¥{½‘³Î’~ôL.ŒC†$.¿üò¢ûΟ6I¸ë¯¿¾¤çWG»?[â_ÂüèZVPeÕãÎÏ;ï¼4l5'¶šŒÚºxÂtuÿûßÿ~Á
Íj¢-ì¿ÿþÑ|ªþ4=mÛm·-zþôÓOgÒ·OðóvÀDUh$$
óé}~ì±ÇdìBÎŽ§÷]xå/t1qvÊËù;	
—†<øàƒ3k²&L˜~0Q»R{ªÔU"ü´žW¢ÝåAìß}÷ݤ͞pÂ	é}=¿âŠ+2IëãŠÿ1ÇÅá&r÷üclê·Ö¼ú~”'½w¾‘(ÿ¹;—ÅßrNï£Þ¿Œ.¬Þe÷^=ÿüóòžV*ü½o¹å–¤XÚ"ÇåW\Û+o9z&kÀ¡èSüªëöDt{qó€ à@øù4zð¹ëˆøÇ°ƒí/ìÚ©žécí7æÇ£ó/¼0}îNbÂOvuäå4ÊÆ#ëyÕ˜'î¹çŠâÐxÿK¸FœÂt´×žïöÙgŸÄO(²bbÀ	?>&bCQáüÆ„Ÿ8©©-9dÍ/Ìë1Çã‚Wt;ÿ—ÛÑKçb[JHÈWã$ºÂ<ºë/;M1‰>ÜOò ƒJ“U'ÞÅ¡ã%—\’>¸/$å)ÜäZŒÃ6ËWXG•ø‘òó©s‰Öй6!AV«Dø…^üwO¢+lc¡ñØ~’*‡D¹6
÷?úøeUÛq.6zè·3ÍðÃê\Üh¹‹§Ü1¶&/6ú©8bu×Ñ÷´᧸ýòé÷Ò9ý¾ùÏôÑ¢#N¿aëÓ[¿—ˆ¿ŽÐ% Ä übTzà=¿³àÎK	?u8œwÔgçdfÜÝwG	–ÐÅ„ŸFŒ|±s_Î}åÎeÉÔåÃý)Œ1¡¢Î” ú"¯ë5×\³(™PT(þŽv(y¬÷Æo¤é†HéUÛq”ÐrtTçÐw!s	åj?½Í¥¥Ñ-±ýu×]—ŒZ„íABÐ9Õ‹GGß:ml”R£BÎtÒI™°
¯QOßÅ„AG„Ÿ³zëçUç~\‰Ö=‰¿j]{Âï®»î**«D˜ïÜ–,.a>.¸à‚¢8$hÝû ¸dÕ×…wG¿žrÊ)EÏõÆ9Y¿uáÜѨÎ_¹c5¯–ïi%ÂÏÍpeÓ‡#ßé·Ä=ÓÑo¾¿rçªX=øñê|=ö(
Ï @@øUŒª{{;º.%üT’°óxöÙgg
ÆMaG_aB§/Úa\1†ó¯5-ŒÃ…‰>È¿F6än¼ñÆ$ü•W^éG›œ×²C©cÂÏOÔÃ)*‹¦‹UãÎ<óÌLá4½°Ó*ÕNG‹	?­ytÎRI¦„ºÑ¦»ï¾;“'¥iˆ8ïÉ1¬C·uF8b+†~~Ï?ÿü¢¸ï»ï¾Lܵ~Š4ìÔ+ßúÓŸÒô4Z©{×^{mz¯Ò“ö„_(Ú•Nhú_S!C–ú à\LøiÚ¦ïbï¥ÿ1%62ýòË/§QÄ>¶øïdê±ÌIw~±Qó?üá™’„‚-¶·j&@™}ÄÐouX§þµfà @óJ ¸§>¯1¾.üN‚;/'ü4åQSÊ$ÞôEÙ­™Sæ5eËÅáŽá¨’üU"übö˜ˆT|¥\¬#¦|¹Q!MëtùôÖ"g¥¹~]Z]-ü¬UÈ¢¼V+ü´¦P#⯨?R£©vª+ŸƒÎýi|®ìåŽ1ág­!–«gåQo»ažüi}Öúl2O#~'ZëéöÜsÏ¢òHhú®–ÂO‚.Ì«ßþ0ìȼö„_øá@ס‹Æù5*~1ñh-}¦IiúqÈÀog*{ø|›m¶IÃWrÒ]…Ÿ~òiTÕµcµŽÙ÷#žóêd°)öî*›o¾y^£'< @ €ðËI#ð;!ð‹­ÎŽÖç…—ßñua+~á´@Åë̺8KÝ=—5(Ã:—ˆ
;Íê »ý%b®'
¿°²º*áå‰ÏÈ×Bø•:v›‚LGØ¥[î3Ò¢²IÐkúhläÒÅ×™ÂOӕö¤tõލs®óŽN¿+'ü$¬]ùÜQïXèd	Ö=wGÿ]¯…ð×]*¬;ç8¸ôu¼ôÒKÝ㊎ÝUøÝtÓME|ýrÆÎÃ5ňxÒŒ€Øo°Ä&€ 0¯~óJ°›„uFüÎ`,›2¡Ñÿ+³Fz©„Š»£Âï•W^)êDÅ:³±üù÷bkã$ÚÜHÓƒ>˜Œ‚…ÜÈF¸å€‹»'?	²øe¶û~eÌÏ»g-üdÅ¥åŽZó¥Žl©¡”5KW_.	zgHÅÝÓ±3…ŸÚÆGQTMtb%œÆêÚS{ÇrÂO#j~uûHÛ–A†[œ«…ðÓ:àpm­?ªnÙ¡¼JVãK¿Ìþ(°W-ßÓöÖøÉˆŸ'‹o©v¬û™®•“eÖ0ýpªn­Ò"@è]~9©ï°£ ërÂOîp=‘D„ÖîH†ñuTøÅ¦*ÝŽ¸˜ùwuŒõ…\yŽY#U9´B)WË¥Òˆùi×bª§â’¦:º©˜Ú§0¬¿Î~Úò LÓ7ä3ˆËàOÞ‰+M
Ÿu¶ðÓ¾vaš®­¹ö+G{÷Ê	?Má
ÓŒ}$	·YPÖ;W᧸Ôfvß}÷LžìfâÉH»ßÎu^J°¹<ÅŽÝUøÅöjŒýþÅÊT«{á¨_5ÛàÔ*Ä@ù#€ðËI†F]—~šÊZ†”ppûÞÕRøÅ¯„ò*­M%‹•Ó¦‘hõ;¤Î¯FK¹ž(üÂíTÎ[óóÎÕCø…{ž)O¡µI—¿ð¨}]]¹ãUW]•z«‡ðSⱑFå/4ô‘f´‚“rÂOÁÃéÓjÏ¡‹­ñó
ÍÔJø¹tO<ñÄ¢úÑÌý†rÈ!Étjç·šcw~±7Õ»~_ºÊù#èj]™vW•‘t @ ë	 üºžy§¤è:ÌþÑŸšå'ªNµïOçÚܹZ
?ÓÒTµŽ8M§
ãÒµ¦Z9[(óû¥\O~²2G4ë!üde3Ì—®Ã­\=Hì¹ïc†düMÑë%üb£*S5{Õ¹òºc{Â/¶ û ãâØ
Yû†Wj%üô¾ùiií›ÖÌV;zìò»«ð‹®ïk®¹&,Br­)×κmÔƒwSSÎõ[«ßær£xþlŒj­ {Éq
@È@øepôÌuÃŽ ®5M+æbû¶Új«Ô«:1a|±©Náè„„_¦Ã©bêä‡k»Ò„+8	Í̇{à…Ó=·ÝvÛ²±vTø¹ŽÞèÑ£¾UΛ®}7¯S=c£cþˆ€:å1—ÕvÖcu«¼—r2È#6Z/æ;·oŸFbKu²Õ™v.fµµ³§z*mm£–©ÒQL—÷ðû0áO“Œm®Šçp´>4,âÖ½úm1\#N–_ߪ§òío$_­Åΰܱë˜ðsÛfˆƒ¦;¾ÿþûIÐZ¾§ZKê³Ñyøû3,¤÷,ÜVÁýÞø¿Ÿ±²êž¶@	ÓÕo±¿¿¢üé]rþô.wd@Ńƒ „²½Òð)×=‚€6Vvÿ¨5q½]lª Âüñ‰ñа³«gº§õz¾‡˜?ùqN#:¡­Ÿ™÷ÔSOeÊê[T¼átO	¥RN{uæ|f:wkË\8íOú‘á‹ãŽ;.¹ôÑG'^e]3ô§k·_<½þúëE~Ä(VO.}ÿ›:«4deRþØ:H=×måFü4$cåиr.¶6Jñ(O{êè»üI¼¨ÃÛÚÚMK‚QÓGcpÅ©Q-'˜JÅá·ÅJüÄʦwÂgáO©Œùoï^l4V|ŠCj©„rØf5
ç»Øöt怒&~¹tîo	ÛH^âOn$ÕæÕþ•wµ­r2	{±Ùz4•Uˆd¥V
jýž>öØcEeS_€•z—•?•̘1étyÝ¡WÌôTVlCæºÖ(¯ÛšFžý6÷ꫯ¦á9 Ì+„ß¼¬Sx	uäÕyŠð¸ÆÎ;ï\P'Ο
VJ<¸0úº®ÎŒ»öþºAßëŒ*¬¦Âi”"ì´k­P-œ¦6*O¥Œl¸Ž³:~gÎO[Ó?ÕyõËæÎµ7žÑS˜˜•?çWyPg\‚.62%šÞ§Q‰fYtaý£òâD?¯þ¹Ä´cí‡wç®Ãì®ýc8ªáÇëÎß}÷Ý$¿~8w.Ñ"!]n±wabG‰?*§D^ÌŸ»n–íîë(1Zj+	íߨçê”·çÇ•?fHÉŶŒpù-uT˜J?`(
ýF”ŠK÷Uwµ~Oµ	}L|+=Mkõ§…Çösó+ŽÏ<óŒŠÓ®“ˆûký–ê“Û’EbPï"€ PK¿ZÒì¸Ô9t†JŽd¾‹M³R'FfÚÕ9Œ}W_H©³¢0yÑëØÈ˜ò&¡¦©[µrn
S©½­Üô«rBsìØ±eùI(8§2kD-䬤mÙe—]ŠžûþÕ)ŽM¯óýhMY%Nâ+ÖqWü­S‡ÙWçá©Ää¼¶ƒÆ×íÚJ`øüðÊc¸fMâʉy߯:¿ZÓ(ÿáÇå—_>ç•Ôc%~Êqw³£{÷)nuâý²…ç*Ÿï$ bÛ6¸pZæÚž×^
[j¬‹×­ÕÇw¯š£fTã´g¿>¦¸Ñéjê®ï©Ö1úNtÂm-\~Õ.œ%]?L¹s½ãj».Žð(þ•þ”K‡g€ Ý´ÿùàz!?üÐ<ñĦ¥¥Å,¹ä’ÆvHÌСCSö븱ûç™Aƒ™•W^Ù,¶Øbé3Ø‘0c§ì™X ½o§|%aìè–ùîw¿k–]vYcE@ú¼'¶ój®¾új³ÝvÛ™ù曯(JÛ4vš ±ën2y+òXå
ñ²Ózf–[n9c;ë¦OŸ>UÆRïVh»&ËØ‘Dóío;á¼à‚¦‘Û©jæÑG5V4%ÏT]éTo½õ–yñÅ“dí(_«±±1š
ùW~í(™þùí'mÒyV½ÿþû½3‹/¾¸Y}õÕMSS“{Ü©G+fŒÝ.ÁX1b¬èÔ´ÂÈÅÅ®
3zõS­:Ö{:bĈÐkͯíô\c…zUñêP½Wãô›¡÷Êî¯g–^z餽0 š(2~;ã=µ'’¶lG]“w_ïÿÀ3éVs¡÷W¿­v0ùÒï¯~/õ[‹ƒ t„_g‘%^@ GÈ’¸knn6+®¸bšwuÊ%2­Á™ô^ÞOìŒc
;RÕÎ(úÈ"^km¾“>|¸‹s@€º„_7¨²Ô—€5þ’Œ4i¤ZŽ2vª°±kÞŒDÝCÒüæ7¿©o&»0õßýîw©è³ëRú]2u;µÚ¬¿þúÉs;ÙH4644”ôÏ@€êCáWî¤
t#v]•±UÒiÊ¢]+i¬á™dš¥]Og$jz‹Ó´n'‚­µX³÷Þ{—,º58dFŽ™<·[@˜ë¯¿¾¤_@€ P?¿ú±'e@ ›°Û„$ëýìh]¢¦1¶'|ü0y9ßb‹-Ì­·ÞšÇZ5W]uU2ò®iµ[Ÿ»ý€±‡’µ¼šë¯ùÍÊ@È„_j‘2@óL`­µÖ22¾³–Í
7Ü`úõëçßÎý¹ÝZÄX+½©øS5â¹ÔRK™þýû'kû܈ žíµ×^æÈ#LŒÏè@€@÷#€ðë~uBŽ :°[($Æ]4Ò%c.2ð"áŽrÕ!kuKRÖ,eQTVbe-SGñ6l˜5jTÂhÕUW­¹åÞº˜„!@9&ðÿÿÿI­z©@IDATìÔ}Õ¸ÿWN8BŽkˆÇý0\ëð—ËàP
w§ÁÈÉÉ5GäÈÏ%*….ŠÕ‰º(ª£]K'¤Dú!åšûmÿçgß³=ûyç\kí½×~/{Ÿ1Þw®½Ö\óòs>óùÎÛÚd¤’! „€B@! „ÀÜ"°‰ˆßÜ–­2&„€B@! „€¨ñSEB@! „€B@Ì9"~s^ÀÊžB@! „€B@ÄOu@! „€B@!0çˆøÍy+{B@! „€B@?Õ! „€B@! „Àœ# â7ç¬ì	! „€B@! DüT„€B@! „€sŽ€ˆßœ°²'„€B@! „€ñSB@! „€B@Ì9"~s^ÀÊžB@! „€B@ÄOu@! „€B@!0çˆøÍy+{B@! „€B@?Õ! „€B@! „Àœ# â7ç¬ì	! „€B@! DüT„€B@! „€sŽ€ˆßœ°²'„€B@! „€ñSB@! „€B@Ì9"~s^ÀÊžB@! „€B@ÄOu@! „€B@!0çˆøÍy+{B@! „€B@?Õ! „€B@! „Àœ# â7ç¬ì	! „€B@! DüT„€B@! „€sŽ€ˆßœ°²'„€B@! „€ñSB@! „€B@Ì9"~s^ÀÊžB@! „€B@ÄOu@! „€B@!0çˆøm,àk¯½v΋ZÙB@! „€BÀ¸Õ­ne—áŠøm,æ+®¸b!
\™B@! „€B ª¶Þzë…‚AÄo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRWž…€B@! „€X(Düª¸•Y! „€B@! ¿E,uåY! „€B@…B@Äo¡Š[™B@! „€B`ñ[ÄRŸó<ÿ⿨Ž=öØêç?ÿyµóÎ;W[mµÕœçxq³7ª‹.º¨úÔ§>U}ýë_¯Ž;î¸"Ô‹3Î8£:ùä“«g=ëYÕŽ;îXô«B@,ßùÎwªã?¾ºßýîWm¿ýöËñŒbR4#`{öóŸÿ|]ï¶Ûn»j‡v¨6ÝtÓ©c¸æškªSN9¥úõ¯]½üå/Ÿ:< úF@Äo#¢Ï}îs«/}éKð}Ç;ÞQ=ñ‰OìäWž–'=éIµqOÌ·¹Ímª«®ºª…¾ü9QŒ9èPÏ9çœêôÓO¯‰ÞOúÓÚÛMozÓº³µw …—\rIõ™Ï|¦úô§?]»öìC©vÛm7û)WeDà7¿ùMõÅ/~±ˆ9ᄪoûÛuì|põÒ—¾tS2›¨ÔÍ×>CýÊW¾R=ä!yä‘GVÏþ󇿻^üå/©.¼ðÂêì³Ï® Ï=÷ÜúÕ'?ùÉÕ‰'žØ5ùˆ€ˆßF¨Ï<óÌêË_þrõ‘|¤ž9È•À.»ìR=ô¡­õ¨GU÷¸Ç=r^to…@	_ÿú×IÆ6Ûl3rO?Ö.ŒÎZçês‰ßg?ûÙêÑ~´÷2¼ñB¡!°ì”Úð<´KõAË^&ŠüW¿úÕÃw™if€p\yó›ß\­[·nÉkÏxÆ3W ,yA7„Àr!FÅ%¿þõ¯ƒ´ÜdðùK„ÐùÒåjFàxİìüîw¿[ÍÉUÚÆD Íø
h§iiذœi¯”µ—?ýéOƒ?üáƒ4ã;Hðˆßd`z¯ºB`øå/9HKâ{ì±ÇH»<âˆ#–1³‹J}Ðì°í+ä³Î:k¤îxàýÛßþvð«_ýj¶—Œ„·ÓN;Mž^³F@3~†Áay3
’ÕÀ†
ª÷½ï}û,XÎ÷à?xõ'Z)œfà™©G⌟ð´ÓNÙ;43>º‰LÕ3tКƒ=VøÃ‡é]¿~}õ¼ç=oø{­^¬d´ëÁJ”óßþö·zFŽ}áyÌc*Vtm¶Ùf'%Îôr¾À‡>ô¡‰ÃëòâÿþïÿV´¡Ýwß½‹÷©ü$2R½ño¬^ð‚T[n¹åTaéå•E@Ä/ƒÿa‡¶dÿ•^"„ÀêBà©O}jÅ!¤‰øÑA>ð&^Äo….æú',úØÇ>V­¥¾ê²Ë.«îyÏ{Kà¨£ŽªØo/™µZ&Ëíê{kóÍ7¯®»îº:aÉ|à3K$ÿAzPõ€< úøÇ?>³x,`Ó_ò’—T_ûÚ×êC˜ì¾Üµ‡€ˆ_¦Ìu¤Ñš4”æG®ËÀÓŸþôêŸøDqS;åÄÏûßÿþÊø
¡ÐÅ `FYYËÄï裮žóœçÌA‰¬LÖj=X´úÕ?ŠáÀ˜Yˆ'øO{ÚÓfNüüA8"~³(Ñå
SÄ/ƒ·ˆ_Ý«¿UX(JÒ²"pþùçWÿïÿý¿aœk™øñžÿ÷æEÝXËõ {.W·OOüXyøá‡Ï$Áp@µçž{ÖaÏšøqj63‹?üáëøDüfR¤Ëhê$$~ðƒ#›tÓLBðÑÿÏ´>¼>°bÒö³Ÿ
Òšõáë\_{íµÃßmþÝ6¿ké9‡{üùÏnMrZž±Ä‡\yå•Kî·ÝKùñÜæUϧD uzöÚÔNSg5ô—4ì ëá.´KÊ2}+pöŒN™Ú•yƒpH;maéÒŽ¦	?¾;Núãÿ8¸üòËßøÆ7¿ÿýïcнþFw¤Ï†Ò·èÔ—å”tºm}¨uÚþ&‰¬Ç‰zèÛÑ·¾õ­aºIÿ¸‡¨-W¤ýÞ÷¾7Qùvíƒ8´*
ùëÒ÷Ubü¹ß}é“\Ø]ïK<´t%rRÔ5ï/}bÄÿl½&þDŠFì.ú k‡/zÑ‹ZÃÀåKÿD?ÓEÞýîwã .úÀ®2nFšî}ï{ÄGZ%k–…HËAüP\ÇsÌ ­™l»í¶Ã†•6º×÷xÖfDÆ©§ž:Hß‹©ßÿÉO~R“œ·¿ýíCc ík¤ï†êN,Õ§¦oÝÕïßýîw¤ýƒóÎ;o‰›ŽÊ¤å°õ{¦0Ó·˜ûî»ï ‹\ß'\”»—ôaõÁ>ûì3Ì7þˆwÜN߇é¯ÁísŸûÜ -µ¨Ó‘Ë?þI×[ßúÖùwE·×^{
ñC±’¾g?ûÙƒï~÷»µŸÒ?žÇÓ#éÀãu¯{ÝàñüðUNµ£ÜÓw„FþðëåýïÿÈsóÏ©q%¹úê«ïyÏ{êÓi÷Þ{ïÚu%mb¤Ãnêü’/Âzç;ß¹¤žQ¶äcë­·®ñÂùþ÷¿_вñ>uÔÒíÝ´Q|ä½4Bšõ—ŽÜñçÌŠø¥c½ë´X'n.˜¤Mû­ÆØJ—uûõ¯ýàq{ÜH]¾ÃîP×EtE›XûcÞ\~§°´÷>=’FÈk½B›´øžò”§ÒÞ¯+/d/-uÖ[+3\ôàÞð†Nƒ@¹°ã=…^õªW`kñÑ69á/Jßí }$ºÆÈâ5wÇwØ}AN¾ð…/ÔxXý@OÑ6Ó7ô&nç¹x¸—f¢/~ñ‹GHÚí=}cs$m}}GúÖß 3´£[_óš×Î>ûìR2ƾÏIiV¥Öÿ†-.z}žlذ!î8}Ðþûï_×OòaròÉ'üÉ ßozÓ›Öך?Üiê§éz\}Bîu½]û>„~Ùî{—|£?£`wP—^ñŠWÔíŽöŒ0(Ç	š¾ŒÐ¯|å+³xùp‰ç½ï}oÝWÒfÚ„ôcÐ'Z|”ý%iãÚî7¿‹/¾x€^3¿æò>éøêW¿º$)ά[·nÉ;Ø'ÖÞqÑ3Q&éÏÈ2½oéÃ%ïŸN.H¯ß"~™rš5ñCy¤o0/ä
×?}—®>Û+Þc†‰Ö‡Áuúؼ¢îlã»ñ‰#=(ž¨èŒ1cþ·tÒIþÖ¯_?’Ö®?èhQ¼q¼à‚†Á€Ñ~ûí·ä“tæ¹QSŸ0;ãŒ3†aùˆ¦ùÅ(Áh¥ý*Ãû¼o§ˆÎÁÞÃ%í^˜µHû^jEëýqí…Ñbâ³AóK'Ŭ†¯Ý‹.4‚¡C]‰Ïí7ÆGnTÚ§#wMý ãñuž0-^{‡z}衇
:‹—<•¤oâAöä4¦óƒô±øz@ÆÒq„vµ”Ƴ¥ƒ
ƒc)¶‹œÎ蘅Á{àì{ö®w½kÉÀA©¬šî3h’ûŒŽÅƒKý¹âŠ+²ÁЮ,â—zO™ñÉô«…óÌg>sAœFÐ3º0}lÀÑð´S¯!(^ún–†&7$Q¶¤·éža÷!¾ÑfÄáØ|HS.
MÄ}éñ¥æÂÙu×]Gf'É„Àâ¢o@ñG½òé¶~8ºöAÌ@CâÀÇEÿÀì1ƒŒþ¾¿fÐ)Š^ºŽõ †Ñô{}.qfŠ´ùÁ"Úºõe/{Ù’ü¦¢“DX²DýÅ`$õ´”gî£S6rÎ,]:teD/à2Ó$žØ‘–m"—†ñCgšt*iA0k÷q©ï^ÒéÕ#Ͻ_Í€¾É4ýY“-à㳸ä®F­Çµ“t–Ä/}(~dTÈÏ®1¢Åsߨ¸>ñćù…Äçö›ÙC»ö.ÆŸ	3Aö…nË%~ðƒgàì9³C&Kv?ºÞ d…g¦ùE‰øŽ€ƒ4’üûÎÁâosÓæã×/áyâ‡òl301ÉGìh,/Œ„yÁà7¿¬(tòön|†±`ïâ‡ëœ À½?üzñqX\¸
êF€÷Ãu: eˆþ(ftãݤn>ÞHü,\;¼¿å$~¯}ík‡qS¢`TZÚ¨'^Vº0êýÀO$Œ°[ÚÍeùšê™‰¦ŒüÆZ]g„~še¤çœsΰžQïXV‡0+uu3ÆE¾Ñq–'tœmod³*aRa)™oÞ@%Lˆ©¥c1J_í€ra°Æë_t÷ìoŒ™P¶VvøC/¢èw˜ôù"íýèGíÕ±]ÊÄôÄKü^XÍà±jŠcÖü¢¿ýÌå™´ç¸ä/êiwÛµ7z!
^0±¸èwLºöA´!?aaáú: •—÷Éñ¸õÀÒÛæö¡Oèç}ÚK}» Å¿oWé”õ‘Až]ÓG0ëk¿½Ëì2­&è·œ
ÐDü<ùE—ÄÌÐù8¹öö“ÅÍàù£½E]ÆJ/{ŽëÛ/åA»F?z?Ôkï¸~`kšþŒvEx¬ññQ6ß$Á†…Ü•C`Ôz\¹t¬ª˜gEüh,Þxg„''éH†‚ð(£A>,k˜Œ‚ѱ°Â:r”	ÂÌùcv(
†V“¥8&D–8å,1ŠÂ„}žtX¼hqßËiì9.˵&”ž7\	Ï?÷G?úÑHœøC¡³WÇƳO×tÆ^¼2g61'Fpsϼþ%‰¸{`Ç¡˜^êA4@sùâ=Fè1M˜‰±zÄs®ýsó×Å¥Þú´•ˆùðþ–‹øQ¿}¼9’ñ¥=˜¬tøGÒgiŒ¤ŸòöâëucÄ-0ƒôN"`nzÒc‡ò÷åb˗ͯŸÃ3oQ˜i²00ú&áåf ½QÉLE”¾ÛéÒÓ¤?lö6W’Fˆ‹a„‹?ôä$ÂL«…Ŭ\$}f4øsd3¦+§Ï	/€õg\¡ÿ´´£ssb+\ ÌQºöAÌRÛrz‹’k²„ͬ˜Ί’œt­¹ws÷úÐ'o{ÛÛFÒ^"~ô›>žøYÚr«… =~$º)’MÂ=âˆ#,˜¡Ë
g‰øa¯˜?ÚD$} q˜?Üñó}8z/Н{„ñÉO~2z©Û’‡üædÚþÌÂ|Ë[Þ2’¯iT,L¹+‹€ˆ_ÿY?–!ZƒeY’…ŠÉð#÷¼“3’cGÇr,/,A‘˜˜ÑGgSêãR–œÑ—W r‚fùÅEéù,{‡Q/ï/gp›ß.n\2Q2b§[2rühŸ¥mâ;·Ü,þ¬óΕ9Ž…Ûd¸ùQhü—ÄÂÂ¥s‰³:¼y3ƒÛü³4.'ìA1?¸ÂÒ™Ü;¥{>œ\¶÷¼¿\4}.õ¤½øxYJ%’fsâÃYŽ2ðƒ6Ô¡8’liŒƒJ~öÀ8¤?·OÍÂaÆÅç‘kö­Œ+ìA³prõ”ðü‹ùõƒ,¿¶û¸¹ƒ{¢a9n:Íÿºu£{lÒgBìÑÐõÆm6'>½Ó¶ƒ.?õ£•x¤+I$ô¬ÒW >^·–ô
áFÝ$!Œ~Œ}%A·ú™]òÊ2ºq…U8V>`–kK6pÈ~èœtíƒâ ¥o.xZzps«JðÛ¥X˜mnú„8â²âñóËÉcŽø1Ûîq`€¥4 ÛBû^l ^‰øA´Í{;Kõgn ËÏÎS·¢Ä41“%•úêÏDüb	¬ýßeëqíçmâÌ‚øa,›òÀÍû£ø¼®/½ôRï¥Þ«æý°Ï¬$~	)#°,MÈýÙH¦…›•úð‡?<’66WçÄÏ0^i‚w}ç	l.ì¦{tö–~Üñó#óñ’ Œ}ús½Û‹È¥ÙØ!±<cÈÏŠZ|}?KO‰ˆ7ûÌnIüŒ&þü¾–Ò;¥û>¾i
^âè“øžŸŠF(Ïc»,í“[î2`‰¤a[ZI@ú©Ë¬ î³ÈÄDcÉ–\ò^NâL\œ	ϽãïÅÑíœ>â^îð
O1è̠˜ÊHÇ™ºI—(¡ƒmÀ#ˆTN¬¬p§m]~R²81äJXû´ã¿‰$æòÅ=?0ˆÎó$=¾C:,]¸±ÍEb˜›ñaÆrÎ×ÞîýæÓ„õ¨öz;®¤°g]û Øæâ¾aÏôBÚhÇQºÔƒøNéwú„°û$~q‰#•Ĉ¹/Çœ^ðz:Gü¢¾ÇŽ+I$m9âGý¶41pŸ{ŽË@|”®Ä÷úèÏ"ñc»‘dm#P¶öÖv¾¦Jý,ˆûô|ƒî²y>Ž^2ZïÅw°„ݤ”âHµOKÛ5#G^º?6Èû°›ˆŸ_î÷Nù¸»\Çò›–ø§WØäÉNã™!¶üÒ	G¢Žßœ¬ñó{pHwIâ,—ß—Zz§tßðÁÖà%޾‰a²+’ŒWVüÁ/äÁï¿å]oP4‘ï¾ÊÀlQŸD¼¾éb0ûå|`Ñ4x’KOœ©óu£í:7‹Ä²d¿DŽ8ùMÛ7~‰n.mM÷0¼0"Y’ì…åøè8_ö`šŸ¿iÛAƒßˆ±·Ëu‰¸æòd÷|\,Åk’¸Ÿ7?NfôéltÊü¥•¥tÅ%rÄÙÏÕ¹R]û ®Äeƒ‡8°H:ºÔƒRzãý>ô	aÎ’ø¡;›$®šòÛVì=ßVsÄ~Þpï¢ñcþKÄŽA'ÎTˆB[ð{ò‡ú%?öâ7É´ýY$~èYÉÚF lí­í|M•ú¨´»4ø¶ùl€)\F±ÛÄÒòNÜG3ñó+†è‘GÙé×8ºØ•ø±§Ñ繉øÙ2Tü3º9Äòëƒø1«éóg7ô‰…·’Ä/ÚG&¥øùþ…Á£6ñu¿Dü|¬V ÎÇ]«s]ˆß8[c&éÏ"ñËíköyÒõêG@Ä/SFQiÓ˜§•¸‰½Kg	Kó¼DÅÖ4ãçG𚘿tÓUZê;¦xW;ñ‹ËLH¯f7㬂)oêu*h{¥ˆ_X°ôDw‰¤?ÍŒ²e„ì\q§%~}”ûÌ|šrûÎb™ÆßÑï:øâ
'Òà÷¾Æ8âooÌ6íãŒï5ý&Ì2rqj¨?Q˜g}?f,ýž8>™ÁL _.¹ˆ_œËíŸjÂtœg1®¶Tc½‹ÄÏÒ”[ܧ•K›ß“Å;|"f\!žŽÕ)\–ÐùeÒ1ühC”W#ñëCŸ+IüXìËÌæÀÒçõWnÆÏÛM]V"ùúÚDü¨_¾Xü¸`E¿ãÓÜñ›¦?‹Ä¯ÉÎ4\å®nDü2å•vÄÙ
ß ›N°$Å¥Pñ €qˆŸ;wÚ”ÅÙÅ]DâgDrûXÂ;r{©#ñ[ZëŽhC¬%âׇ>1,V’øùs
(¯X·H£¯_‘øAÎ|ywYÊîûRÝG/ù$ã4|œ]ˆ_Û>Üiû³Hüüþj+g¹k¿LyE¥ÝdPf^Þ¢1c$ ~­8
»tìÿðåt¿»Å²0/ã?¿cmYDâO1l",ýòÇxEž;¥Ë‘tD%ézª§ïÌšö—õ1ÛTJké¾Çb5.õômŠvk_Ä/~Ø×ï?-•C¼Ïì…/®ã¶ø¿}Ýå–wwfÈ|œM3(mab¦4«íýÙ53©†.ñ6ÅÕFüâ¡&¤§Mâ¾Ù¦~1¹ƒ@øtƒ'ý–ÏÜ']¢
±–ˆ__úlW’øùOÅPV¹¥&âGúý€9aÄ@üxñí,?Nöõ§4(kõ
·ñ+}⤯þ,¿.³î]¯>Dü2e•6y\1Ñ–Ä¥f4jÿQö\ø1Ñ ‡øùýJÄÝe½:£æä=~'f‰$À2˜ø“NéÜJ§ßaØ`Û»¸ì™óâ‰ÏKÇŸÏÛŒ_Ól€Çk¹ˆŸ?úšøsKZ¬][úJF±7(Js~â¡MM«TÓ×}V4x‰Khã@¾ùõm§ñ+êÙW‰ŸNõ´’Z»®ˆ_¦ì˜~÷Æ<Ž0²c#áö½>FÕ}Møm£—þN‹2ñËϦó^{íµÃÃJâg	º?Fä=Ž_%ñi׃%JaÅo(E¢eïùå˜FÐí™w10=y‹ù°Î^r7ËÓx‰wn„š™…xxûsâ;³&ÒÁ7‚|ùäÂâ^Ÿ‡»øŽ±d¤Ç"rußÒêþ¦vën©®¯ƒà’ëàbçÛ7BÚ–»èü}Yr[FDÚÐEVöþøü³Î:k$ð,Õ1ÂáôPgÓwDñ…SA=N„…¡•™ç]HûYðÇÁmÓ§ðr ¸4÷N¼ÛAÉàê¢WúlñäËÜÒÃH À¬©¼XÁ@i£Mu bÄïX™5)•)DÀ—_$‰Žz¬ðÛ4M}ðu
£u\1âWÚ+‹.öiÊ
tíƒâžðÒ	ÐñÓ6èáóÖ¥xÿM×±Á}\}Bø±Þ•ÈŽ­Ž²ºpî¹ç.IÞ8ÄC–,,Ü8hnûºlÃÏQG5a很ߨ‹"Id€À§‰°£`wy?¹}‚´oï‡=Æ9é«?‹'ÒwYnKî­Dü2e+:Ì–Ce¼Üb©‹?š×ûå,jiÖ/*9PEÈ~1^n
»ùŃw1´|gC>ùÔ„-IÈ)ž#Ž8b$Þ¸ÌÑâ$\Ÿ¾¦:ßiM»1â’[¶C½F:/¾øbKúˆë—’ÑQ`°z1â·®aïŒ7"±‹³±Ìya”9Î
’Þ’öq5ÍÂDc¢D\é„}9²i~R‰31,fâ’Câ.}& vn¥tE£=·¬0bgtXb—þ`Ø ÑØ^î2°Ùy_N\cP±<	ü¨·¾aû¦hsq6$ždHÝ.‰_R‡™D à1Í´K5Ÿ6t›•5 öáôxèaEã‚ãË?Fb¹5å!î¹&¯3+Ư‰«Ïvà?HK¼L¨÷`™#ÙøÝÿýGöeRO¨Ó†Wi`ÃÂϹ´Âö¬0‰z“wc}Ë€™!õXú4øíô¯%Âé߉×Füšú!ß—ÆúFx]û wÞy'¶
ä$Î<ù'æ¿K=0¿mn_ú$ÎêSü@åèe²:“;
6ÚDØ(¥eÄ6@Dx”UI,>\ÚdÒíl€Ü'
Ö¯_?R–¤Ïë°¸÷”¾Ä—#u5žþni'oƒútSÏý@ûdÙ×ÛWušœ¡¾Æìˆ¡~¯>Dü2eŠoX\³QØ7.{Y-fPp(0?‚Ä{±ã‰J’hFŒ…I#÷#n¹EüFýmINœyòyDyðçÓ’ÎíaáÛLþÝÒ7	m©ùEæ…FÜæ4x%—{§éž?&ž0?üð¬÷¨ÐQÔ¶oÈ^`)Ÿ¥7wP€?žç–þùÑÇœ1Á¬‹ƒkF1Š÷Þ{ï¡æË?ÀÄíG ãþü”Ä€ÅÍñ×9ñÄ¿tp“J,ÂcVü°Ã°WßftZºp™¹d¹­oOtʾÞà/'ÑxŒËpx‡tø8¹¦Ž@ž"Væ´²
²jÆÀJ•A\©`i̹ԥ܇­s3,¹:ÏI‘¾œ®¼òÊì­÷ ±-½„Ï3?@º£qÛ1ï£Ã©36€eašË}ô'ÆWW‰£ñÆdÄãaÏp|ÁevǤÏvà	8ñѧ {my«öÓT?gŸúªI…A0׬‚Áø%mq¿Ïû¥­Aˆ¬¿¥/ˆ«e˜±ŽÂAj¾.Ljñ#M¹ïÒ_[/I”X¾¥>(ê•ÒRHŸ/Òå”-î®õÀü·¹MõÅ—×%}B[~©ŸÔú.H‹:\©~V:?³jÔoŸ®éå˜ß¸²„<ä¢cù¥Ž£L³1¯ètiˆŸ—°pÐC~yxc=ö¨ë¿?	ÞV”™_ê+6¬Þ1ØÝWæS,Íä…O¯€uX²¶ñÛX^Œ’R‘ùVž5¦’ë;Ç’îç–@êâh F
#«t\ŒDûÑ*öbøQ#ˆ³q†øh„ö&åY=;}|»KúI“HjUš/§™9ð~Ñc–!.M$,Ñ2r…’ft8g$ ¼ýL¤¥¡äÆg$)ÄI'"Œ{6bgŠ_°Áè`¦…Í=»Ï÷Àrâ‰~)36ü“7È›Ÿ”ÇÉ¢|!ÙWÎ=æ˜cêÑùøŒNÔ–±ÐÉÆtüóý9?¸@‡ÓŒ?83nVß Yt¼–~‹<¹ïô¼´¹3p°°¢þ´Üà†"³ŸÔmfZŒ(ú0h¿<³QefàÍÅI{÷3î”WSÛ Œ	ÏÕk0¢½¬dPnq¯ŒÇÆ®Ùn"j$DÂ:M¹`|±ÎpÂp£ÎL#àn ¥1çRïl¦ÎÇ—߯w1œ¢‘g~â·Q}¸¹ë¸dÔÂ1—å[ÑP²gn˜ôÑ,¬x
£Å‡Ë¬µ(üw©¼·çž{N5ø†]2†}úr휺ÀŒO7}FÔmfì¢ÐÍ6‹JÝ,
FfM®'~¤•xY™@Û§ŸöºúÔSO5ND‹û{‰›¦[©·q°ô¹è`OTÆ©ÃD7\ô¥OöÙgŸ¢¾'/ŸøîS<ÙÉ?ü¡èÌóz‹÷ã Ùe–‚x Þ_~ùå#¸ò}q5ýùUKæ~‡Clê³OŸù1’JzâjÏpyfbƒ:þ¹]³Ìé£?#Ú^®ÿ$>òSlå]ÉêD@Äoc¹ä­5¤I]ÈYI0Ö›Œ$-
÷º¤§4{Cx,9-) :MŒ:1/µmñÚR‰¸Ä ÷Ä0·~>ú-”ú´q[2Ãâ·õÄÂd­—üäNKƒ-á(aJXtJždØ»æ2›àO´øÁÔF=Y–Å}Œˆ 'æq´×Þ÷.£Ä¹åjÞ×cHIÙ›°šD¸ˆ#Ý„Ér&ÛWg!˜n3„ˆ/€–ïR¶~¦Õ?‹×¾­€OŽè2`a†(ÆŸ…¤‘²]-eÀl\_Ê£ÂHqSÙA®ãd˳¹äÛÏÀ6…×öã½iÐ
l›âbÀ'¶]f‰¨2ñûˆ0²˜©µ25?m.õ0WÎÔI#À,i4Vè…Ü·ó¦m>­9CÂõ8ï°*!ΰX™Ò'µ\èãm»&ß±=u‘6fö›ºÙ¤g‰‹ðb9[Úq©÷6lhKVãsÓ‘èR\èà¸ý¢k„¡ìÓœ»†4SßsÏü=ú,/ãÔÿ^Óõ´ú„6f}—O;u’B¥ÎñÌ9{ 7K‰ú'~&‹0—g¾ôù+•©O›Íàߣnæô*ï1 „n°°U×:=N¤´‹ï7¸Am³Ƥ•6L{¼ë]ïZÝúÖ·^5ú–²C×Y»Zâ©Ã
ôD@«Hã?ÿó?W7¹ÉMFÞJ†Y­xÞ¤ËûlÉ«±3Üp›$
VTi²Öuà•H_uÛÛ޶镉Ÿ9u(‘™º=z•²JFeõÈG>²þÝ%Ú'ºƒð¨ß›o¾y•fák]}‹[Ü¢K~(;°¡O¤|Ðèó48Wë^útýj•qëA×|L«Oh3”W"pµ¡][%Íi5LußûÞ·˜œDŒê>Ñ<¤3ªƒ:¨.ÚbZb_×»Ýínæe&n"xu>‰ÚMôõH"{Uè©nv³›5ÆM¢ßêV·ªûxÃÁ^"Ž4óXm¹å–u
}–f5k;ƒ6•Ói}õgا‰€Öº˜6ЖGË‹ÜÕ‡€ˆßê+¥h™È¿eŠZÑ! „€(¿Ž¯Ë›ñSUXXDü¶è•q! „€XCˆø­¡ÂRRW5"~«ºx”¸Y" â7Kt¶B@~ñëG…"DüTög±o	aÍ:kî%B@! „ÀêB€}q·¿ý퇉JŸG©=ôÐáo]!Ð
¿n8Éל!Àaqƒ>› s›£ç,ëÊŽB@5…@útFµÃ;ÓœN»¬Ò‰ÌÃߺB "~Ýp’¯9C }&¢bÄÐKúüFõ¾°óérþ]]! „€ý#À‰’é
UúlËHàçŸ~õ°‡=läž~!ÐŒ€ˆ_3>z:g¬_¿¾Jßþ©@.e£ÁO:餹ølB)º/„€B`µ#°ûî»×„O>ä„O)l·ÝvÕ)§œ’{¬{B@Dü ú9ßðÝ>Û×WÊént£*}´½ôX÷…€B@e@àÌ3Ϭ¿Ñ×ßZÝf›mš¼è™ñSUB@! „€B@Ì9"~s^ÀÊžB@! „€B@ÄOu@! „€B@!0çˆøÍy+{B@! „€B@?Õ! „€B@! „Àœ# â7ç¬ì	! „€B@! DüT„€B@! „€sŽ€ˆßœ°²'„€B@! „€ñ›aøþ÷¿_zê©Õi§V|ðÁÕV[m•íŠ+®¨Ž>úèj‹-¶¨vÚi§jóÍ7ÏúÓÍÅEà¯ýkõå/¹:ᄪ¾ð…ÕÖ[o½¸`¬¢œþ󟯎?þøj»í¶«vØa‡jÓM7]E©ë–”yÈC·œv÷uÍ5×T§œrJõë_ÿºzùË_ÞýÅ	}ƒê¢‹.ª>õ©OU_ÿú׫ãŽ;nÂôÚ,øÅ/~QqÆÕÉ'Ÿ\=ëYϪvÜqÇYF·&ç.σGguÖH¹0"ºÖdòÐæènf-Ž=öØ‘2MKïû>FZF:`/-‰SÄ/׊ÜdÏþð‡ÁUW]5`À¾"~/’Iêò<èžyÈÃßK±ù*Ž1ÛÙ·ÈîÑ|x"~y\¦¾»×^{t%âGDçŸþ`çw¼öµ¯\yå•­q³Ôï½ï}o«¿EöÀ–Üþð‡?\ó0ì»ï¾#ué;ßùΚÏÓv$ô%VF¸"~yU—ó¸è®X-ˆøÍ¨$fAüÞþö·;¿|Áýä'?Üáwâ4Ä/}&$ŸyÝ]•°ï—½»f4ΚøÍcX΂õÄï/xÁ²D-cyY`ž*¿nð©.wÃI¾„ÀJ! â7#ä'%~¿ùÍo²)z÷»ß=41 û&~ÄËŒ¢~§ïYÕøûã^³ofùÙÏ~6øÞ÷¾WœÓðã¡:]‰qøüs}íµ×6E7³g̱žÞ$.õüÁ~`zs}Þ{tŠ€&MÏ´åh‡|L’ô\ÛåtÖg?ûÙ#mwâi¤^§o¼
XæÝ&Ó´ÂÎå¡-ÎiÛ7CD!ÌåhþÓŸþt¤í{â÷¢½(&­ñ7垟qeZcyÚ2ˆXs¨	-t•IÛk×ðÍØÒ8pe¹eâGýŠeƒNàЮ.{‚cÇÕñýq~“ÎË/¿|ðo|cðûßÿ¾ó«“ÖåquuŽº@:£pïºë®‹·gþ»K¨Ô/ÔkÎ#ÀÞš…€G'Úø8eki£Æ<Ø3ïRFôI|šjé‚ç$á.ú;"~…@…ýÄ'>1xå+_9`³2Æ|ËgŸ}öi5Æ!~t|¯ÍŽËõI"ëÖ­1!~|×-}Ä(žÐ‡7¾Õ…ðà3«fü=ðtÐAu ø¿7¾ñ#p0;àŸÛõ«_ýê¹úAúü÷úˆ›8â~Ñ>ˆDšã˜Y:lqÞýîw<÷¹Ï­¿E™K#‡åÆÒßúõëkKÏ›NCÁ~øáöT‘ʃòd¿ÈQG5b˜Ç´u-Ç/}éKñÕÚH'ÝÏ{Þó†ñZÝ¡ŽQ?hƒ%¹úê«ë¥›|·“öè…ýéO×uÉ¿Ç5ËEiGÑP'ÞIÚï5åçQ˜8øàƒkÌl …öB{Ík^38;ß&èšý÷ß@ç]¾kç†'|N“ëÓ`Æý„n0|Imƒ¬íó¬øQ÷Ž9æ˜Z?¢›,<ÂFgò#©MÆ5–û(t,uŸ2g„–·Z>¨§Ü‹ò…/|¡><‹þ¼øCß½ô¥/ô½"ºòú׿¾î{}Ù èÐÛ^Ða¦{½ëÓ….ðÏ욺G{ÈIWâ‡A|â‰'|>ó™ÏÔ:$Öm0&^l…&CZ&ѹ<´Ýƒ¼ï}ï.K·z€K=¡ Î7É8uy\Ýóío»Nƒ·-H:•: NúÈxÝw¼õ­o&“k+cïžtÒIC?äÝ?ó×âU’.y€Ø¡[^ñŠWÔmôè/=Îä»sZ‡]	ô„ÄGÔqBÂÐÓ¾-=ó™Ï줷/¹ä’gl†w¾óux¹œC`Û’,oÄGH›¥üJÒd—ÞÑýññËàEƒ‹Ñ*¯¹t:MNñ³FÉÛ-Ls}’ü^{žsÇù¦
}üDa~ó›ß¬±\øÜC!5¢‘'Œ{c˜NÀŒC»Ò8ýôÓ}6G®Q¤Fâ0¦èôø‹'¥úÙ<¿”Îâɹt°|+f=öQ|øE!¾øÅ/¦ßÞžPÇ1ÃÀðB¸‡zè’ü6}š‘kohÇ›ßüæÁÛÞö¶lçKšrDÁ§£íCÄ+}˧wÁ!vè‰_üàmÌ“ý¦Þ˜`Tù“:Æ	j´ß¶hSϘn?ºÄÕ5–.sÏ=÷ÜaÛ$\Ò
AŽqìºë®Kf(YߨÀ½gF}˜/}ˆ'vè!Úž‘XŸ]7?ˆ„×	 Úº
¤X@T+åacyš2 ŸrÊ)Kú7Óí»–ns¬3¡Ýq²Ÿ=+¹ãÌj[Ø9ƒÛâ m¬Ïc?ðI¿WȤÁâL»zÙË^6ßâá—œ´?ú(Ú«…c.Æwî¾=ÇE÷ ;£L£bXm¿éÿ¨–.ú[ôŸñ¯‡$äf,ü¶º<©îùØÇ>6L`ôQŠæêy`€Þ„¶J]Šõ†oÈm’ûGt„—®y Î¼êU¯ZïÞ{ï]~Ã:çÒ'nذÁGÛéúœsÎPF1LúeÚIÌ›÷Çìnt×~ûí·Do£rò¹Ï}n7ªØÉLlx[—4xéjûwt=9"~;Œ)3Bý¬&„É7®KGë·?:&”W®ú$ÑÑ22˨«#‰ûöפˆ}x\33 a[¾¹fDã-¦¯dAF|§BF‘š0[蟟¯È‰7`Q°^P\†§$š`T‚£~ö—NÜ0bIéðÏýµ7¬ý}„²ö÷#ñ³´ (½¿ñÃøð³Œ´z¡Î1æÃâzšOTøÙC:B[®Á,¢Ÿ± žÝvÛÍ'gxÍ(iL“?¼Âhõ†¼çŒNÊübÔÙì³Â±< FÀ¦)Gâ¦^X ÞG2íë yeÖ„YHßV‹Hü0Ú¨{„æ—r¶:‰ëg„hæ—x¢Ð&í9Ƙ—®m€wºæÁ‡ï?VLþý
qG¢¾^?Rß½iùÀe6Á~£ÛroM£î>¥kO"¨Kq¦ˆï¯ZÌ-µA¬Þâ÷¼óÎF‹Þã¹…a.³@%i3–í½iË öK–6ú"ê¯ýö®éi곕e{ÁÔu—ü2èñàý~ô£–ì±]ú=?
ofì|¹fƒ›é0žøyÞ Åï¤ÄüL§XœÞe0ƒ<êYó“;Hh}àóØv
ÞžôÓOx¡}û>1T’¶º<‰î<N¼ÏRd/”=uØüàzâg~£
牟ùÁÛ+bý뚇Ã;l‰ÝãÓÈ5}$öV¼ÏoòóêÓ™»f@ו…ëí/ô7º-úÃíÜ„þ–:ýfŽøacY@§GñßôϺÚÃþ]OŽ€ˆ_ÀÎF©´qƯŒ~Zw½¸¯@IDATCÂÅp÷†›;Xo›\Œ›Ý²pýs»¦1ÚsÜiGÀ1øýÌ‚…MÇî×™3ËbÏpiÔ9Ay™¿h›:Þh0äãÐÂ)-`F?QÞò–·ßÇ7<Í/X2jn
ÊâÃe$Ž4°ÃÒÊr-$–A‰øQ|˜%âÇH¥ù‹ËF-­¦Ø¡MJüͳø‹ÙŠ˜0;˜o”¦/s›™¥s1¢–ƒ:huŸð¢`ŒøzE<”ɤåÈ ‰u‚ä7·ÇŒY8Ã
—º%úñx¿~”°0>r>Μ!Èr1ïÇ·U³K0¿]ó`Ÿ¢°¸1úsÉ:3b”£fb&\H
DàÆâÃeôxRØ[X”e$}nœ­Î?Ⱥo'¥%O~†‚¸‰7dY¼mÆ2þú(Ú#í&¶†
ä”A›¡"ŸÖw±Ûò‘›ÁŒé#¿?úÑ,‹c¹,}·4E£Û²ÙzóGú¼°jžᖈ³Þߤĸ©ëž¤X¸lðƒ³šøÁóǪ“¾ô…×ä2niÀ=ú裗xgU‡ùA·—¤K]æÝ®º‡-7/³ç¥>…¥ãæ7Gü ñ~JÄ/âQªƒ]ó,ÅÖôKöéë±ë|ú¸¶%š%¼s÷©‡è¥Î×1âô„ÿ9›‰8ü þrÄÏrÒ®rb«$rϺÚùwu¯;"~+ˆ„53öÝãú’ÍÄæÇ\FŠ£t%~¼‡Áhaáæ$’ŽiŒ ?¦ãÛÏÒ™¿8J÷èE¥Öô9‡Ï+ ŸòŠÃ!§ä1&㳟ý¬%qèŽcôF#•ËËÏ ^|ÚKÄÿÞ_Žøa„x?6Óåã²kfY½ß¸ÄÏüµ¹f(y4Æí]#m_.íø#mæ£Ñ·¡Ü²‹ןRGëÍŸŸáµxb·ýRµ÷¿ÿýÕˆK{ó£œ`-M¸Ó?0õá10%$¹}“ã´.yo¤6tÉè´Çü°,6
#æ>¯¹Ù<eï'7‚Ã-ýF_ZXì1)‰'ˆøÏ
H°LÜÂb¡iD>”tF›±<‹2°ÁËýHªé_t>ú¿Ì:—$‘Œä+~
âiiˆáDbëo礻Düâ`î4Ä42Ói˜âúÕ>;”÷ËŒ I_úÀÂkrÏ8㌑tä>U	r)¼¶ºlïuÑ=ؾŸa)fIX–ê±Ì?¬¼Ÿñ‹ƒ%â×%¤—ÁZ/åN›ÎIìïiM:&÷Øzáã¤m2h…Ù[ïò–“8Ëž#~~°ŸÐ+å©‹=œW÷º#gÝߟ+Ÿ~³?ŠB—ûó£½4˜IŒ¤ÊFMs€Ùèª5¾œ”„=Çíƒøù¥O„™›"-~z(E/~ô¾i$w0æÌ€°üø­¸åÉá 0‚£D£—Ñë’ÄŽŒ™™6±4ã–Œ8Âðþräɾ¹™ŸŽ¸_eâç—ž±„9W¯¹g³©–~:Ý’Dcrµ¶Á²¿&ñ3»ÄUJ½¥ÅÜHÇ)G4 ¬ÒÀ‚¥›zYfæ9ÎL›Ë/áu%~þð‡íõ%®UϵGŒRÃ×ïm²ÀÆi¼Ó–‡¨'سÔ$I>à%7¥:í—B&†Ö¸1Ûаo&r‘øñ®Ï³;MãæÝK/½tÉ+mÆò,Ê ./c9_IX‘`ù¦~•Úkœ¡o"‰¥¸Xòmq•fSy—²be}K"ý"ÏWŠøÑ>,ý¸º%‰ú¶è¥}àÃ+]c„›ýC{ÍÍúÄv[)AømuÙ§¡M÷°ßΰÄo‰,fÜb±ÄxÛò€Ÿ¸U‡CJâû(Ë{®¯“¿X×â%‹Ëܸ,«d$›ÿœ»nݺ‘ròùh»fä¹$Ñ€',–rä–?û0"ilKƒëÂ8åh£„Çè´Ò¥ÓK=9¥´IX
g€™å$œ¸<;·olœ6@:ÚòÀŒ…ÇŸÁ™&É.ÜóëM©N³ÔÒÇfér`aäHh|?æßë&ü·=Ã¥îµIœe¦*J›±<‹2ðƒOM<¤ÕHÏ{—ëIÚ˜Ÿ‰,Í>Dür¿Wñc©bI ¯>¿`	ì´ú wî>ý¥_n~cøYÒ™[fŽÿ¶ºŒ“6Ýããô³¡ö¾w#1YÍÄC…š$®(m¹h
£+ñ‹³‘9܈'®RÊ?¿bËôö@n°«”v¿2ýÝñÛˆeœiÂØîú—ÛïѾgüÚf‰ºT‘®Ä¥o×?öÊùgŒÖ¶‰Ÿ}â]Fõ½øå>lfªâl£ëhôú“ £ßXFËEüb]k3n"ñ‹FtÌWî·'|]ë6u¤i–Å/˲²â6ñ#ƒŒþuMþâRãqÊÑÏ^³ÇbZi3\?¿Üþ™R:˜e¤ÝϪθ]ˆ_S Þ¶<ÄS;»|O0…8cÚ•øÅe¼“?oˆvY.ÚDüüø7-=³2õ³e¼CŒâÓ˜#§³(gñó˜`ðum¯±Üc¾ãof|ýöû‘¢ß¶ßkø‘OÀÉ;Gæ—d}P
«í>$O*ù²÷e3kâ÷Ê·ÙóDübŸVÚ’ÐT†]‰ƒn¾\§!~¤'n
²°Ù"PàóùñóhÌæZÄo#®q¿@“±Û¥(bÃWâ‡`
7gÔD¼â‰ŒÑÐaىߓãÃçšå/qTÔâˆÄ¯‰ÌÅ2jòkáû´L:ãëZnɪŇ1ž„øùQåÒ~ç8×q¹q•–qX¸Þ Ï-…5]ÜqÊÑàܺ.ñy?m¤	¿“?<B-„Bí÷PR»¿¶zÝ–‡hø•öfx\bûå3'^–“øùºOBõi²kŸß8ãO€ìBlXÚëõFnæÂ“°¨I—OaõQ>Î&âgpK{à¿i\úIUS¿ÙÏZ!~ñ0‰2>ˆaµý†@Ù!w”Ä”ÁÞ¸å`ÖÄâéëBé°ËÏ<¿¸\˜ƒUÆ••"~|ŽËÏÔú2D±¯²É¾ñ·¤Ç÷/â·³hÎ&≘æ3
1_ñw<µö„Nˆ^:ÿ^+Ä/ÎGý>­>èXòèWDP'ü]q߬‰_\Ä¡JM2OÄ/æÝ÷Møg+EüHû?£Ž÷z8¨ùtGëŸéºDü6âÈGJ}Ť³žF¢1:¯Äµç·Ò'"–þ¦} ™Þ@ñï1S÷’­ân;%?FÔÆ¿Ïˆex}ÉÅ_ôAWü¬³t0c	èr?²ôàæfÊ}Þæ‰øùÏ™÷&ûÑcà¯W’øY:è+ü`«/Ï’Ý#âgèÍÎñÛˆmÜw••͆K50€½x…ÝÖp»TôhÀt™YóéÉ]÷1ã7Óqµ-CÂØö
ÀïW„ä62óé¿dËÞÇÙGâ×4;˨‰0~/.åVï/.eŒD´‘å>ˆŸ_âHÚšH™Ï %ã–ZmI#Å~´˜8 ›¥£Øý?üÆ!ŸMg†1îO”§ý‰ÄËìk¡NbXD™„ø•f‰âæùøeâž„ø5µÂlËC<`¼ÛÄxœcÛZ.âG:ý i‰d:楉øÅƒ® Omé%^ûËíñô$,ÿ„?‹2ðq6?â÷˜P_r«-ð…º’›•Žþìwü\ñÆ=½æ×»è–ÔzR¿VˆŸ}f‡úáåúÒ§Ò5uÒê'nn9ïr?¾qçÓD½>?óDüü§ŽÀ`’Ñ• ~؃v/Ø®|ÒÇë+WžEébÇwô{<Dü6â¿™CÅä„¢6±eñ¸ÝhŒ6Øt©è‘ø-穞M‡»ÐÑÆÍr&‰šßsfßÙÉuöFßIRFqí{$~³<Õ³ipÀn$~œpåŸs
&%‰Ä¯ôñéÒûÜ÷ûň¯Ë^'F|)ÛÒ§C¬îCÈ!x~#‚–?üä$~s‰xÚ
¡Óç„0–†ú#¶µH2|ü|<ÝÒ†K¼ìŸiÊÍÔµ‘&ÂK=K§zú£ÛI[n‰æ$į©
¾¶î’±CàD>/–xJ£Ÿõô~¹Ž†IIŒïÚïœÁÚôqeF[ÄåŽb¶r¢=ƹxØ#…}ž¾Ã$ôÒÈ&õŸ}­øƒ{§ã á‘ÏÒòYtH'ºÀ“M‹ßçA‰œÄ“oK3¨qP#GØâ¨ÜÞqÚémËÄÆ×{0£œKN>Lc¢t%~ñXó\İãoˆ6iöq ÎÞ!|ï/’Dº|ð~¨MâʈºÀÞó†7XG™Eø8KºÌÒ‰'ùg@£$Œú“ÂeeÀ8 ¦Ç—ëÒ©†”Ç^{íUûg€ÒKLsn¦ÿñS´×œDÝ–ûÈ9ïCü|ݤÍxý×—>ÈåÅß‹užtä$ѸÔÞñõ*W—Í®×9ý¿ãIÛ+­(²«;9â˰ÔïbX8¸M+CÚò@>Ç!~è&wn ˆ0Û¤oâgTã ;é±Á–RŠìó–›$ñk+Ù韋ø9£R ‚¢¸N:餑΋6ÛóœA£ð¼4ÚHôqß‘Wþ.y#áÑ¡z#ˆQÅqg‚Œ¸Z:K›öùÀºùÁßQcÔ2O|¸fDÈ‹º
¿ä%¾ï	zìÌ#	`´Ý„e^ÑÄCIšÈ¹…G¾Ù„íå± ¯ñ”KÊË00wï½÷öAÕ×ÌDÇ%®ÑÀYòRá†ÇÍâ„lùýURœÒiqÆÃ-šúÙô<.óc†(güa8Y:ÌÅ/¹§\Ì‚¤Åå£ã–cœý$nÚ§­ÒY‚˜ì»ï¾Ãô•No´tãR7rõŠ'ä…:L[fdׇÒ—-bÜ"~	Ô8m€w}œ¥<Ä“)ÑY>NÂ1ñKÁ5§ÏvÞyç‘xK‡iÅÙº¦oJZüÑ%qŸ	ÆZî3Q'RÏ}]$ì8cOK³~Ñàó‡eøtZý¶²ðÏìºï2ðýN›ž¨!­ìWöûdÑsÔIÂãyn`ÂòSrm¥aa.eºÄAzX‘c{!Ô±œâªV9x=D½ˆƒ–ÄE»Ï	³–ÜÒlQ$~¥äÁ·çH$ûÒ¹¼ø{`âóÅuìW!ùV¦æ½†D=Ð¥.[ünN÷Ä3ð±ôåHX6lTZ˜9âWv¡¢î‰ƒk„×´BÆâÃÍåôE=€^)-—¶N£ϞT",êõYé`¶¸ÿ6g¯ñ[×°Ø×#Ê-Š×K`ë?â;ú="~¯hhøF’ðŠšg¹ýh3ç𘒘mq•¾]ä	~9øà¬³ÎªÝ¦´”â”:2#¹–¾œbÀ0¶ç¸4îÜR5oX‘ŸØiñ#ŒÜw{0”X‡Ÿ-$ŸÞè$ÊŒŽ£žkO(ãlB—%Iñ°	â`ça‡6°Mú^±ñœ?–n°gË”ä"ŽfâNõð58ÄúfáÑ•”RyÇÑ6ã•?0²ûÄ‘]µŽ	¿Þè³xÙo1ˆ3³øÅ€#N‹Ï»¼Ï3+kž_ì¤	gÜr¤Jñú4Ø5ÆaNâÌ.é‹õ™÷â¾%Âåó¦¬ä•òâ±îøƒ°`ðški2—wY
NFdÆi]ó@}3]Ì´DaÙ¬'Y~ Åûù)
Œù°Èstòa6]ÇÙ¢¼0PÀ‹öf3G†­¹ègŒ×x"a -Ç	ˆˆŸ½Êµ¢ÎÄú˜Äë³+ö;|f§I¤3L¢kmÕ·ûR»iŠÃž5Å㦩ÇQÐÑ/åÄÁC¨¦[#öä´ÇÍH¼ã2`‹??Ò€N÷¡í[úе±þô¥|¼¥ëØÎH«Šè·b=±4sÝŽ&]ë2þ»êÒaqšK™3€†	²ùÉ?âùAwRÞ˜iµÕ..å—ûwÍC$~„çImÒïA§^zƒŸq$’ftXN°3|>KK5ãg¨rßÁ5âGx¹½½žŒz[̧+–OÉöïèz<Dü^ŒÂ5‘?ß@â
²×ÂóŠ•oáØ¡ÔÌaxø0¹Fù0ëg‰ráÚ»±c	ÙùÉ2>fñ|'M8(f{l¯iËAÍ3VFb,pŒ2²¥‰LÎL¸ø%‹ŒdåöñyâG8hfÕfô˜ÒÂ?õÔS-ê¡Kš}Ì/.

c€Q÷8+ÂsÞc6´æ‘`•Â'0e$4×Yщz¢„‘lOg¼ÎDŒ†Ifþ è±Üc|ü&ýqïõÕ_fmr30ÜË¥™ÇÙñÜ,V.=tÎ6ÂL9P>Ó”#FnHÉÅ¿?GÜŒÔBTü>{—<v$€ìó4?Þ¥,8õ‹¦²¡îÓrF	mÍÊ«­
P‡'ÉáÆ-|¢^£ßñ&ä#÷qsÊßö†zh,±3ãƒ*’+üSï1È#¾5€-ÿ¢áâã·koŒÛ=Ú;äÛÏŒCêâL3mE9PWm€„pØg¤¨Ã
fF.'ò,ÎlL[¼O}c&ßÇÇ5íýö1­­×áñ}ÿ›v@8©—¸¨oW^ye1ŒŸ®x
qôÇû;„‰Aú»œÞ§NÅÙÞñ#|ÒJYC <ÙÄ€¶zï3Ò—>ða–®s³\#ɱçÔÕqêò¸ºòc$ÝâŒ.eí£ñã ¸ø¾ÿM9цý=®‰Ã£ÇÍCŽø&ýšÕ	ß‘ßÜ g©üü}ìFÈ\®Ÿ`›õ
¡Ìй‘h‘.fŸm)/ö"¶]®¡^˜xâG8è=f
‰“0-.°ôÛ¨H˸ö°Å)w|Dü2˜Ñé`t”Œ0Œ¸\£ô³YTúÒJ ·ì.ú‡,z!](Yï4–FÕý»þ:GJ|˜( $Žð{?\³O'
`Éȵ÷™ù*vô9y/á‘XZ2EzâG®‰—™4ÉÙafÒÒ]:ï’wœ±à}l_–aÌr=”f®c'|–ø±d"gTP%(kÂGñby´”Ʀû,íðŒÏ;˜³ï$–†½÷g×ø÷Â`€=+¹FPì=ÂŽõÚ¿ËÒÑ8ÈÐG9ÒÙ@BrØS¾FÈ,æ–ê¥O3£õ^è<­Ó3Ôñ¸_“8£?Œê€-í†\X¤…:Ϧ6@º&Ƀ凯¦÷ÁnCf	é·t—\fݺÔ!¤&Y®í’fäh§–·ÓÀ3…†{.>èr‘åºE]ÍI$ÑöŽwc`áLZ92íã³ëÒ7ÚˆŸ‘|O\ì\°h;5ÕòÐÅep®¼À#<ã&e?ŸC:yŸÁRôœµ°fß³Ÿeñ3>ŸñÚ÷‘øAHü¾7{—vÎþצAŒ¾ôAÄ%÷›åV÷-Ø´¿’:Àj0§.Ç8,.ïFýIßÍY
Þ]3«I±r´û%âG^ F¹:Ì6G¡ž°Â‰>ß'Ž›‡HüÐÙqÅ•ÅdzØGÖ	êø=ä†AÉep?„ýÒï4­òþ­þÛg|Jöï0ðû«IìáŽpÈ[M¸—
C’AhR'P¥Î½JÆHuÏ{Þ³J[µùæ›g|/ß­4ÂR%âYÝøÆ7®Ó³É&›,_äcJÆ|•R•:î*)åê¾÷½ouÿûß¿J]µé¦›CIä¶JJ¡ºÝínÇ Dýn2"«d8WIQWIU7¿ùÍ‹ïÛƒÔUé€ê†7¼aýÎÍnv3{Ô‹KÚÉ«Ò(U•:ºnl±ÅðÉûï|çúÙðfËE"tUR´Õõ¯ýúÝ»Ýínõid¬JG•FðZBïqµ¬’!\¥ÓÐj¼ïu¯{Uw¹Ë]ªë]ïzãÔ“ïdÕi¡ÎÜà7¨îsŸûÔõ…2œµ¤Yƒº®Q®É¬nt£õ%aS_’Sm¹å–õ_.’d`Ôz‡v³ÕV[Uw¼ã—”Iš-¯Ò(ju{Ü£®ã¹pfÙH#õŸ²J3SµN¤~ÒÆoq‹[ä’³ªî%‚W§›6‡®¡îÓŽ‘dèVÉp©ÆÑèdÚx€ûð€ÊoV²Òe€ž¦o¤íÜõ®w­û¢ÛÞö¶3ÉnšÅ¨Ë‹6„ž½Óî4V<ɘ¯ßG¢ãè‡Ð1íKÕ‡¤ØêIOzÒ0¨4[X=õ©O­‰¬Ò@OݯQ¿|1ôœ¹èKd‚^r+éê²Ë.«ÒʧºLo}ë[/ñC]GÿÐf–Ûö Ï¢Ñ~7Ûl³:
f¤=˜Õ¿þë¿Ó›ˆ_õ_ÿõ_Ãßñ"
üUi´J+|ªÛßþöun:¿iõQõ =¨Ñ^‰a–~'"WÝò–·>N§zVtPÝç†DÄj}a}þÐã» ÞP‡(úsú(ì7pÅ^¥íQn’•E@ÄoeñWìB@! „Àœ P"~s’½U›q‰ßrf¤Dü–3
ŠK"~†„\! „€B@L€ˆßàMñªˆßàéÕ…B@Äo¡Š[™B@! f…€ˆß¬mWį=†€ˆŸ!!W! „€S _ªÒaÃÒADU:¹sø[³A ÖY=úÑÞ¶Çoèq.دÍ>B“t0^•NŒ¶Ÿr…À²" â·¬p+2! „€B`^H'ÓVédÅaöÒIÌU:Épø[³AàCúPõÿñÃÀW¹JŸžªvØa‡aÚÒ7õªtæð·.„Àr" â·œh+.! „€B`.àÔÐí¶Û®>Ø2ÈIà§vZ}:¯Ý“Û/W_}uõÈG>²>5ÕBæðô
¹jV'ÍZ»úÔ§>U{î¹užžüä'W'žxâšÏ_ÌÀW¾ò•ê!yÈðö‘GY=ÿùÏþîëâIOzRuòÉ'×ÁÝæ6·©®ºêª™̾Ò;i8¿ÿýïkÂwÝu×ÕA<ç9Ï©Ià¤áé=!°ÖøóŸÿ\}éK_ªþçþ§Ö¡_ÿúׇYâú_þå_†¿û¸¸ì²Ëª3Î8£&|èpä|`õÕ¯~µà†èŒ@ŸýõúœsΩëõ	'œ0LÃ`0^ëBLŠ€ˆß¤Èé½5À›ßüæjݺuKòñŒg<£:î¸ã–Ü_ë7ÞñŽwT¯~õ«‡ÙØ~ûí«OúÓÃß}\@¦¯ýëõÅ/~±Úf›mFîÍÃ.¸ ÚvÛmG²ò׿þµºÞõ®7rO?„À¢ PÒ©ä¿oâwæ™gV}ìc—@+â·ÝXúê>ûÙÏV~ô£—¤ø¦7½i½iÉÝc" â7&`ò>?°„¢ÂH1ËôL¸þïÿþoû97.3›yÌc†ù9ðÀ«W¾ò•Ãß}]°ŒÔfOé¬~ò“ŸT7ºÑú
~Õ„ó«_ýªú§ú§azžøÄ'VŸüä'‡¿u!
tê
oxÃêk_ûZõÜç>·ºä’K†ôMü˜eèµ]vÙeˆß
],#}õÌš3{øío»î¯mE‰ˆß2æœG%â7ç¬ìµ#g©Ø—ö¡}¨ýÅ5æãoû[=“Él&ci³Í6ë=6l¨Þ÷¾÷UìõÛm·Ýª?øÁ½Ç±ZdÏäûßÿþêv·»]µûî»Ww¸ÃVKÒ”!°¢¼îu¯«öÝwßafAü,pöØþô§?­Šø*r—¾ûƒû·«>ó™ÏÔÙ`Ûƒ¨kEX–úÆ7¾±zÁ^Pm¹å–k%Ù‘N¿…(fe²
å°‘5Ñ>ð¶Wô\! 
¼÷½ï­^úÒ—ŸÎ’ø=ô¡­¾üå/×q‰ø
!×ÅG€YócŽ9¦ÎÅZ#~þ¾ä%/©gÿïw¿û­ñ’˜¯ä‹øÍWy*7"à‰žpð‰D! &CÀ?{[ÄÏ+º!à‰«I®¼òÊn/®°/˾EüV¸@Bô"~ý\L<ñciÂᇾ˜@(×B@ñëD±Ð¬EâÇ’ë=èAͿ̼ìDüV_ñëX&ìâûnRÁæõI…ýd³øvÚ¤éYKïõ…§ó›ßT·ºÕ­ªM6Ù¤†À¿½èEÕ¡‡ÚNr$œYžæHý#Ý7¾ñGÒÅ=6ƒ“þq…ï^Åðrað=>–Á2âøÿð9/Å{üãëwfQç9H\nr“›ŒÄÏÞöÞâ·¹?ë]ñœu:¦
ÿOúS=²LݺÛÝîVýã?þãÄAþò—¿¬ÛÆÍnv³‰Â -È
npƒ‘÷9H=„>ëæ7¿ù°§OàÞ-oyËÎÐLSÖD2n€nâÀ0Ówžøm½õÖÕw¿ûÝÎé'Ïfßt~icºÙûïß%,ÒFŸÚdçüèG?ª÷¸Çê$â7úËä7¨¤€À·¾õ­Áë_ÿúAªÈƒt¢P©ÿ’ê;â¯ô£ì,lâÜk¯½jü¬)SÒwþùç”o"~öZÖƒ´î¾ÆÚ°'Lòþ<‹Xdj¹I¤-}‚aÖ÷Òwâê7’3HFÕâN‡µҾĖÊ4í½©ËtÇw,úO†õ`Ï=÷¬ã5¼pÉ/uŸøÒ!.Ù÷I7u3-™­Ë=}×+ëoÜ›Ôë8 .3ð°tÑžž÷¼ç
.¾øâAZN6xÔ£U§ÏÂO®ë(õÔÿ¥çæ¥vÓLïÈsóþ%ñm“ôL++ÕæA¯ë”µUÃ7홼á
oPï»H:Œ`N8©;è
êCšI¤½XƒDÚ‹Ai:uYªËøˆ#ލýþøÇ?¼æ5¯i«Ï|æ3éTÇbXö€ºñ”§·ß(Sâ)É´ØÅp=±£0@>øàš,Xš¼ÛDüè„­“âÀ*ÖÊÙ”gLOÛoÊ5†‰ÒD¹BÄ}zý5E:WH!iõ~QÄ9Á`2ÑKßú«ÿ¨þ}:3.÷Øc%éNß72o»ÔS#%´° Ý00“ÃŽÓ„öB|¹‘«¯æ/}opfz‡$–WÊ×mb7?æz]¯WºÍA¨l‡|PΧŸ~úàøã©3èô’üá¤Ïƒ17#F©áã]â¤L©kèªôÁâ¬^Ã0DÏz=èÃáÝTê‰ù§]Ò0ò¬²û¸é$¥ ïÏ*ÝÓêÁ¾õH#™‡]‰_õ~ÑÊãžön¿s.õî›ßüf&ÕÿwkZìÑ9èbôÿe/{Ù }â"[—±9Þýîwøç]?8L¸ÿøÇ„ãÃåúÂ/æg¥ì‡a.дAVÌ}&åïûß´[ÊÁEoÓïDý@½bÀÛ¿Ë5¶‰ô9ý­ù£?ÁV³r»OŒ^Œ2ipÕUWÕ$ÞÂ'Îô­Ý%ƒ[öœ:[’4˜íí]\ú¿+®¸b$êhìñKÛØÿý‡˜øp¸Fw§U@#a5Ù|þý‘—ôcEñ°£H¼²€ xa´ÈWb®Ó·„¼—z”É.c`2c‚òö£(„q„B4a;Æc¿ÍF1ÓAXQé1ËhqðÒJgá
<ÂÃèò¤óMozS6^#¼ƒBDQ2ii2÷ŸøÄPáÑUF bú _9¡Ãš;®'ð¤'ÎÒ2Òoi7—ÙÌœ@Ä}>Î;A7Wž[æžxâ‰C?]/èür”·ÅÏ53T‘Ì/äÐxæÈQ‰øyiô‚nyK¸‡¸&m¾ž˜¿i‰³ÝuŸÓ£¦q Â?ó.n$~æü½¿Hü0ÎH‡•…÷kaŒã®d›Cßy£™~/Ì.{(Ïï\3›oX@½ ìYÎ¥ý`Ðú¸ÌŸ×YÔcÚgô‡tGO(/¯cñËì¼Åƒ‹7®Ì"Ý}èÁ¾õȸ¸t!~}Õ?_‡}yrk§æÇϦYþúÀÞ÷a.º$§#yF]El¦ÛÞóÄÏÒˆž<ñ[)ûÁ§¯tþ.‘;++Ú9M¾í¸G}t<3Oþ¾¿ödÎß§®˜¤ÃRFâ@ÿ¡‹L?¦UV^&é4¥·tÅÕWØ)±Ï.?ž7ôlZ’Y'2ô¦×Ø>–7}×]wÆa~â9}ƒþÆš\ê%÷ùkð÷˜êz¶ˆø|=öØa¥¤Ï¼FÂÃÌžÞ³ŠO£ŠK/ñ‹;+@:þPúÖ¨-LÜôí°á¨ï°|Ê?·k§7f0’㼟¹¡ñBO>ùä%á‘fϼø¼Zœ¸`â(#R>\ûç¦oRì,,”º¥‰ø"é3Ì(˜?ÜñCiyɨcN>ö±„E¼‘<åÞËÝc$Ó§‹kÂÃ@ðØ±œÉûc/'1¼ñcPÂÂBáç„%Êø‰~™ŠFÏ4ÄÃÌÒCÞ)Óœó‡›#~´'ï§Dü¨ÿÞ_$~?õ)qölw%ÛíÙçÕ*Ÿ~–ºš‚œ CÌnÚc9âzÉ£ÊÔ7þL q&Žðx×ÏÐäôgð L?«@YEñõx˜ÉDúNwŸz0¶{ò9éŠOâ×Wý‹})ùcy›ÍPcÀ3ûLÞý§QúÀžúÉŒý¯kêᥗ^:`+„õÅ!ôò¶·½mäñÛo¿ýFüyâ·RöCIJé7$Wn§œrÊÈkXÊÓㆆye¶Þ÷Ïæ—Á(Ú8eoa0Øcâsý!þr6iŠÒµ? ñÄŠãœ03lùÀÍ?ì9냘°ˆ‚^òy$Û¶c~	ƒ-/>.®™8¸æškÌ[=[èý€wNÞò–·Œ„•Ó˹÷toùñsXCÐLyàú‘çm{f•L<Ù ‘@$KâZkP¬ýÂ{ŽË2¥œØž*ó‹²ËI4’sÆïY8¸(—8³‰ˆ)óŸ[߸t`Æ
ÜJßØÑ©[šØ—V’oN²”ÄÂb0@P
ndƘwJ£€{`qâÒqa0D‰Æ£~9¡ðáå::f1ÍñåÚ@ÚÀ]ûÁpÉI4ܧ!~Ï~ö³‡éaÏaI0²,ݸ9âÇ»ÞOS¹x%âGx`èýroña-G›;ãŒ3FÒÏÞš(ÑÀŒÏùí——‚Â2tÒI#q38]¿ê„¸!a~@ÝÞëÒ|øÃÆK½mâ1|rÄý‹ö±#ï>‘dú4Fã/?Þõa½êU¯ò¯/¹Žqónް-y1sÃ+~gN¨>}qƒÇ—iŽøÅ™ÊÝw–ïÆÙ_{Æþ
ŸžI‰£¸>–®5	­ù_.ây´8q§_>ËÑæÀ0r~¹ÑY?BsËuÀÛp`v.'°æ!'†áýaÐå„QwïC8Š7ØJáø0 °“J_éîSZ^úÖ#n“ɸŸœwûªžø5Ó̶x,({¶E˜ô}ì[ØOÕ&}¿•²ÚòÉsúRßþØ—Wþ¼ß8[¨8`¬I|=(­d°÷™9öýé°C§Ìn[@_íu|iÐÝÂôö!éõW+°m%÷ÇªÇëHý–ž—åâ¶¿ÝÃÒ‰_î ó+we˜ÞRY™tÏ$V¿–;7zÜ%R¿œ	EÑ& àeθ視Ù_çÃ*?Fr¼?––äÄ+¨n4υŽ83å÷Èñ¼Oìü²ž.åà•z4Ù§çñ*eò`âó»ÌO"¾sÊÕ
Óû+‘üú2Í?–}ø¼rÍÌSi×â÷.§ƒù0&%~~ fÜ2,aàÓÕÇŒ_[GïqéríËg9Úœ¥‰ÑnÊÞ¿1â~¿üÇüÇún÷½õNi¥+J߉©gûì³nx
Q%Ì($0pçëDÜ›ßiúÝWº=–]ê}—>Äë‡>ôHö¬ñ3¿ÓÖ?OüJKÔ-®h˜z1ì}ý*ím·´á®ñëÛ~ðy*]GâÇÁb%ao Ç’+/±¾5
ö¢Ã|XqvЇkל“à߉vþÚúN%õaøåëwý>ÎØnãl¹·í:öç]‰ßG?úÑ‘ô³¿0Jl_M3©ñ]ý^Dü6âÌzqßXÚd®xòa`0µIÎжµëönWâgÔJÄp}:ýÞB‹·«'†¿Ž{Mü:ù¾±óË[º”CñcDØã÷ ø<Ú5Ÿ
ðï”06ÿ%·«ÁF§`ñ•Hqø2Í?üÄ=&>ÜÜïx鋸‘>‹{Ü2,a`áá®eâ×G›óeæ¯é¨]÷mÂã–#~~d¿q6ßÂ÷a–F»»¨h–ˆŸÅËƒ0¶·Êç‹ëå ~Méî[ZÞûÖ#n“
ñÜŒ_îýIêß8ÄÕ¾Ü9¹™ö>®ÕLüú¶reïCüx×cEb}k"~q5Ii{„Oo<¼
¥øÅ4æ–Jú0›ˆŸt2¬¦}è>¼Òõ,‰_S9”Ò£û³E@Äo#¾ñËÒ&ã¦âˆ{XX"×El)„8«ðR˜}+n3’HWÓ²³>ŒÐ>±ÃÈ3,q£ÂÌáçI§dz‰Ê¼é°{/.ÃhÚwgïäܾ
6_¦%âG:èP£1ï1ÅÐòŸ(ñiïƒøÅ™ð¶=ÄïËPÄïÿJ¤i°Å—™ß»ÞòƒOq_ŽøqøŠÇŸº?¶ì-z*IßļøvÄAOè_¯Wšøõ©-¸>ÿMúИ•Ú·é:âMÄoÚú7ñ#Í^Úí¬°÷õKÄo´ÆŒKü¼­ëq¬oM„#öQ|Ö MbŸD¹zâÉûÑVˆaÆÃQšö4ònñÃ&³ºEûžFfIüâ~ÂiÒ©wûA@Äo#Žñs¥1›`‡lÐ(ÙLÞ&~IïÄìøõ‰]ÑÍ)èX&ÞheÏ¢¿_°ØDÞ&ñ{,Í›Dú6ؼÁÓDü,­œ<ë—Í’ûc”1W¿c§:É¿x(åÓ&¾KF«¥—Nº$Þ_Óhj[G_
¿tߗϬ[,
!Ë/Kj£1Ò…ø+|&‡d±„Ì/—ÆøÍÕKOŸÄŒ}šøNË;îJ¿>õ Ïgßzć]ºŽ†x‰øõQÿÆ%~nX¹Û
YaoñàŠøÖ–q‰Ÿ/7>Aà%Ö·&â÷ÚuYQB\¾,©sQÚúÿyÂÂîl’&â÷R'¿I‘[›ï‰øm,7¾;å5ÆB\+b`YŸüø–ðJ{]|X¾ÓÊÍ.ñ>±ó›ô)‡Ü7ç|xã0¿¸¡¹ËFð¸_¢´ŸÉ§!wí1‰#œÞבzO,rÄÎ#ÎÔŸnðqX[Éu\}?âŒËzr'NâÏÄ—¡ˆßÿ¡Ò6ãG½´²ÄÍ-ïJüˆ‘Ã|xþ=—«[V~æöEüø‰¯³%"íÓ¸ÒÄ|›'m}ô!>Ì>ôˆ•U“
ññë«þù>´Íˆƒþ³§¾°÷õKÄo´ÆŒCü,òX®[·n$°Xßšˆ_<Š¾Ã¯	xãä}ü¹²l#~èFÓÊ¢m"~~aæN5ÎåýŠãOgž%ñcðX²ºñsåábªn&…­ÕŽÂd?T›øxs³‹BüúÄŽÏbxÛ4»CùxÒÀHš—ø‰Âmû({$?9ƒÚÇQºö†H›¯k9âÇìùË
zÐñm¿ýö#¸pÀK’ó>ÉŒƙƶYS_†]ˆ_Óò[_wrmÒ2ÝÖÑ›¿®®/ŸQ!¬>–WŽÇ87脟®Äh'ü2ÃÇÚ{cšføˆÃK_Ä/.ß/
¾ø²^
įO=h¸ö­G,Ü&7â9â×Wý‡øÅ½|>]³ÀÞׯYˆÆS=ãÖóßõ;~+e?X:›Üqˆ}¨Ç2ö+±¾5?ê}A¸è‹&‰KÑ‹QÚú>áó€Îe ¢$žø1˜í…“9}Xä‡	Œ&AóIôw–ÄO§z6•ÈÊ<ñs¸ï²Ë.#
‰F•[Ä+(ûh±ÿæ	W‘ÓÂJÂé¡ÞîÛ3]wüPgÙðq–66w5B
³”×¶Ù‡>±;ꨣFp%m¥£8I"e²´üáÒÉ4‰?$£DBšÞ·g]
6ï¯)>_¦¸(FüJ{\õfn`#~ÇrŸDü¾0'^>ˆœ“¸ÿ¢„O{‰èÄ.—Â"m}.­M÷|ù4¿>Ú\¬÷ÄÊØ×ý¸ÔÞ±¥G%}bþÚܾˆƒ>Ýè„(×^{툟¸¿7úoúÝWºûÔƒ–^¯š¼¿¦zoá6¹Ñ÷‹÷ú¬ã?ÿ™˜øÍÖY`ïë`âgrJqöˆ“*s²RöC.-ñÞ8ÄÏÛg¹Á¸XßšˆéˆýKÛJžÃ?|¨+èGrßhnër¢/•/idpÒêOÔÏôy¾¿ÀÞ¥%Ÿ¾]wݵýÖ^ú$~~Y?i*}ï×ǯëåE@ÄÏáAã
Ckp(X–
ò™ߟ³MÆtŽ6ÛgAEEË^Iü±ì4ÚœÄÙ«œîÅ£vù.ONb‡ËìAN<9EkïÐyV¸¥oñÄ#”9Œ&J_Ø¡äâRA”dî$ÁõëפÃ(–i<ÒPšõ£Cðxøƒ2b~Û~{ÅŽQV_VA%ñé²c̽_#~ñIÞÏuZxàHþ»,ïóáÛ5øúôrMÙp¾™‰õ¦d´’gf¬ƒÌxã×üÆO¬Xü¾cÆo©Ó5ÿm®/ÇY·¹x|=éåÉ@”O~l顟ÅC'VT¥¶Ñ–žGãh·Ýv˾Û${ż°¿Ð҄ˈùu×]7ôBYùuüP·Ú¿-ß¾ÐrÑWº‰&Öçiû¾õHõãH¼ãÌUŸõÏ¿¦Sœ9˜Èê3.§ºFé{_­~Å8ýï8“C~üà1í.’âØwß}}0Ã땲†	h¸ˆÄ¾8'±m™ò~c¿¼_®ÑéQ×7‘_ÇJ]ú[áë[C¢\|ñÅ#úÿ±ï;äC–øÁîaÐßÛ0`a«uØÇÍ2x/Ñb{KNâŒeü ïDÎ
 –ضͬš_¹³C@Ä/`Kƒö
²éšÎ47Ñc‹½ŸkØ]tш¿+¯¼2¤æÿ~ÒP-œÿßÞ™ÀZR”m¸FöE¶ˆ@‚‰¢AÜ£ÆÝà2 (‚‚ˆ HPTÄ
Å…(ˆF@aÍDEVA”ÅQA\Qq׈ëùëퟯýNÝêsúÜ[çÜ>wžJîí>ÝÕÕÕOUWo­Ú65ç«Ï»÷§B5çTæý-]ºt†·tÌã uÔL[˜Ë–-›žȨ4?Úæ
ù’ìÒ™5uO¥™8)=d¬¦-'?	â^(¦[Í— *l}Íd®E,'sPFªÅǶ¾0·KdÌØyÛæºj¦-Ybáw…gÂOáäÖ6ÒóÚÇRyšÙM¿ÓwWÇÔúvê©§ÎvÊ'vOmg³þ§±™w.­Ñ3hŒ”ž7}6{NWeïz¤åì¼ß*)¿È¯'‰Y>*g›Dr:ñ‚Ò:ç.¼ð¾{¦*‡|\´¯ø(îŠGzÎ~~øáU›Ù{}¼JÅ[a–,K—#þ™í§ï¦šO]©üçr¥c®·‹¾¯>O_pÁitªß%Ù§k6ê]PÅë —Ž?Óóè[£ŠUè]Ò1U>ZžÕVå–¾Qi¯¡ù°=Ÿ?—
?=G*ØT§÷ÖžUßïœK+ 5÷Â0§¥™,\c˜›…Ò#åµô»i÷ñùKáå¾¾òÁß[½
´Æ¨Ä§¾™¹ï8hˆ†­%,ñšæS×ëœ}¯u\×+¥.À®i¼ ÊF_Û´²Má¦óèž*‹õlÚT©œÆ‹ßã!€ðK¸Ê°NûÎûŒnûj9hj
R5TéÇHc«¦JƲºÒÙ‹­‚\…[êd¼§ãkt½|Þ°× ]µîYxG½d*ج¶PÕ"匞³Ï>»SCúÑV˜êà…Ž„D:AþôbëyL¤ÈÀÓÇ(-U 鸳;c©ÂÆx4m%Òsb§–^_æçIke$ŸwÞyUͱÒÖºR(<¥·1°ø´Ùª¥A-ÌZû/Oc,ùIDAT—>”ú0*\ùS«‡ŒôÔŸŽ}tÔ"¦Úöœ?‰'?Ë?…©| V1µ†ë9ýtÔêZlNqÑûŠ{…¡t–Qìó¬]7l«vߘ>§ýNïÛ$üî¾ûî>#®·­Þ!¥c:ûšÎ‹ŸÆ9ª»«ò·»Î¶ªU•ÑÙÔBØô¼óõÎ¥ãàì9l«²&­0°s~mÊ6ï™]g[åß=MÌ$æRCUþÕ5I])åÄ_×¥å‰ü©ܺ¢ª¼KË`»·¶2Š49‘ïúçÏç&.Ê¥_éxÛ=æú
)]ŽX¼muOιï–DžÖ…ô“J”Êéû¯tÔ»(ƒVß(µzÙ÷QßÛa½0æÊ^½^TñèËKË[ªhU¥o®ÒÌØžxâ‰3Ê»^[‰ßÊnçôlVa1_öƒ=C›mNøéY$n$„ÄÊÒMǵÄw*”–i+“üê®^PÊò×äÔj%¿ÆPåŠ*¦TÞèZoê[”~Çfó=H—˜±{û­â”+ã”—5k¸9ÅÓ*üõé¾ÊÛ´¥T]ÝÕŠçë:•—ÖÈ w6íjþd{úJ<ùõ<}ÿþ¥±ðÒZóï·
;í¶éÏû}	ßåÏùý8``|åWeº\Ãömvµ¦BÀü©ÐIÝ\Ø¥a©°Ë¥¥î¯9	O+øô¡Ñ{P­¬ûA­ž÷[QpÏÖ©ÆÏØ4m%º$š›ÎÛq‰1{6;–Ûê,gé*#­é:T©á”ër’»Ï c§‰—ŒIÍ~–O†•èþ|“ðÓ=÷\~ÐÕ¢›ðÓû©üî+'ÚQñkë|woÿ~œïœŒæ4­5¦Uï9?žHF&¾òïÈ 4òϑ۷u›Zwý52DN8á„l^02pÌ©â&í~¥g•h·n~i‹‚ü_ýõÄÐí8âm7K9Xº±8
Úú–KÜÖ—%òŸâ¤É7$ˆš¾7z'ÕÃ#÷½Í=Ó\Ø«….÷ÜþØ 2BïV®ÌÓ³iµ‰z…§p$ˆ|ï”ù²¬²1Ç3w,~ªÈ}[U^«r)uúÎz¦MûM½,<µòæ*Ä}xêñ!î©›í÷@ï€*ÏÒ²W÷ÔxCUZWt}ç$¼|WuUHæ*Š-þúÆäò½}çÌ_º•P“Kç8Hý©Ç‡wª¸Ný虚âï¯eüé1p
bmnˆ­dÈa³Í6}èC|6Ž"1Ü|óÍ!ŠÉ?NaÛm·
»í¶[Øyçúë®Û|!gBIvÑx¯Ò2ƒa‹-¶;í´Sˆ…nE9¹!raÃ
7lM=¶„„(*«tê*MwÝu×°õÖ[·£kcAˆÁŠò|l=	+W®±f0Dƒ?D£:l¼ñÆóm1ïøñ¨ÞÇvØ!lµÕVu\-ZTïGábKeý;ÝѳE‘¢Ñ_åwܱz¿Í_‡a›m¶©ó‡_¨[½g·Þzkˆ-¬a»í¶›nºéŒGU~µÝÕ{ãYË£ÊÉ—½ìe!ödÑ@Ñ@
±&ºÊ7Ñà¨Þcm~4xªtTY(
š'CªöÇõOùXéý =¨ÊÃk®¹fß­T6Ä–ï°å–[Î[þî‹Pò£d9˜݉ŸsÍþ!¢qb‹]Uv­½öÚauÖ	z¿×Zk-ï­õþ|²­'Õ7KïŒì†Ø,戴Så‡]vÙ¥õ³tÍãGbÖ:Z±¥4l²É&•½…lØh£Â’%KÂzë­WûçNPAe¿l5•b«oº¸¯¾úêc¹µò«ÊB•¿zv}×6ß|óê^±§NU–¶µ)bÔÚÖT>‘©¸Ï6ïÏåõ½ŽhÕ½e7Œb[Íå¾\;œÂo8#|@S@À‹‘aÂo
gj¢»‡X[⌈!N0bíòиKxÇîåᕯ|eˆµÅáôÓOz
 …E 'üTÁŽƒÆGá7>¶„LÂo‚°ï¿•j«÷ÙgŸ»¢V­£j-V+K§Ö?ÕäÇ14!.Ñæü@ˆÂo%&25~S“TDDá7ˆÎxÎÅqda=ö¨—ôéPŸÈìÄ™TC\ª!ÄqA!ŽëÉøà °	 ürêòl]%€ðëjÊ/@ 58Cß8ºz¶F7'q¶Íg²­Ãˆ³Þ†¸\CXmµÕêcéŽÆ&Å™Cœ &ÄI0Bœé1õÂo@` gîqFÎúIãddÕXòú;€@q¿âH	˜4MÌ¡Añæ4˜\“yàÆK@“hhòïôûñ|uÜ&*ˆ³q†8w%òâ,Ž•÷¸$N¸ä’Kª	
üõìC«MÜge®V“™,^¼¸þÍ PžÂ¯¨z
¨Û¸Ê P–¯,OBƒ&D@k>]uÕUCïö”§<¥“k³
øzPë«ÆéÄŇƒÖÄÒzTZûTÛAãþ¦ðQ‰2 0ZO½1†¹½÷Þ;¬¿þúüq‘ÂoD`x‡ @€ 0m~Ó–bÄ€ @€Àˆ~#Ã; @€ i#€ð›¶#¾€ @€F$€ðÞ!@€ L„ß´¥ñ… @€ 0"„߈Àð@€ @`Ú ü¦-ň/ @€ 	 ü2Àî½÷ÞpÎ9ç„{î¹',]º4l½õÖ_£úÏþ¾ûÝ|å+áÀ{ØÃF`
|÷z½pÓM7…K.¹$¬X±"|éK_š‚XÅ”À8òz~ç	ÜvÛmᬳÎ
›m¶YØwß}Ãl÷8ÂQ-ª~饗†åË—‡SO=u„+ñš#0é²ü_ÿúWX¶lYøÎw¾^øÂ†%K–ä¢Å1@€ÀP¿¢ç<ç9ᢋ.ªÎ<øÁwÝuWX}õÕ3>úÍo~®¼òÊðõ¯=\xá…á·¿ýmuÁ
7ÜvÛm·ÁOÉÙ?ÿùÏáŠ+®¨ŒJ	={Æ>ðAçpÓG TþŸ¾'Ÿßÿýï¯ß_þò—*"/ùË+8›XÝzë­Õ{ùµ¯}­ªl²0T9ƒÀ|–åüàÃá‡^Gú–[n	;î¸cý›@€@[¿„Ô¿ÿýï°Ækô½öÚkÃã÷¸¾cÃ~üóŸÿk­µVÖ›ZÃùÈGfÏMÛÁ'=éI•¸MãðK‰LÇïRù:ž¶[±T‹Îî»ïÞ)µ.=àè;6ìÇe—]žüä'ÏðÆ;9I«ó]–ï³Ï>AÞÜÉ'ŸŽ8âûÉ€ КÂ/ƒÊ‹Kwß}wXgu2>R—¹?þñáU¯zU1fn!ÕØªub½õÖ«Z4ŸÿüçÛ#ŒÌÅÔí”ÊÿS÷àóá?ýéOa£6ªcñìg?»êâWh¹£®j=üÉO~öÚk¯`-ˆ¼“-f¼ÍgY~üñLJw¼ãu¬4dà1yLý›@€@[¿©•+W†}ìcAûƒ:hÎÙ÷¼ç=ámo{[}§Ÿþô§aûí·¯/”=‘Q"7ÍF¦ºÃwÜqᵯ}mØrË-Çž<ªa÷áxì÷jsƒÒù¿Í=ñóÿ¾ýío‡3Î8#l±Åáõ¯}xÈC2'4OúÓ«®æ
DÝÖU‰5N7é¼|ã71«I¸ù(ËÕeþ“Ÿüd5Æï%/yIxÁ^0‰Gå€ °	 ü&¨Ÿþô§ÃPßéç?ÿù‚œÜE-~š¼Fnš…ŸDÿÞð†ðýï?<êQªÓm;™2æÎ=÷ÜÀø«q^µÃ|Å+^Î>ûì
¸…ߤó²DæâÅ‹«ñÒçwÞDzU)Ë'“›@€ÀÄ	 ü&€<5Ô¢²Í6ÛLàΓ½…fœ;ÿüó«›N«ðûÞ÷¾ûØÇVÏ0	ág"S7DøUØùW€~j=¼óÎ;†ÞÔ$ó²™j›/á·PËòþ”å ,¿	¤d*ün¿ýö"KDL ê#ÝbÚ…Ÿf$UÂ/ùËê¹Ç-ü®¾úê°Ç{ÔŒ~5
v
˜”ð›t^Ö'oyË[*Jó)üjY^(û tŒÂoH‚üãÿ«­¶ÚHË9hl ®±5¸RáwÇw„­¶ÚjÈç÷´fwu	‹ù~ýë_Ãúë¯ßNÇ$è´ã çùÕ¯~žö´§…›o¾¹¾~á§û¨5E3Ân»í¶Uú×ev®ºêª Ùúlâ
y™ðÓ5‹-Êܡ̡¶ùÿoû[XwÝuû⢸ýá›l²ÉÈ3SŽ{­U§ÌiKåeM£±Èk¯½öÀKæš—G}w4ö°Ã«ã4Ná×µ²\i¬ô6Ù˜Þ½_ÿú×Õ{·ùæ›×¬Ø Uœ@ü@àÑ€ì]~ùå½W¿úÕZôªwÝu×%>fþŒ¾÷â‚˽8ަºF×=úÑîÅIBzqÑäú˜ŽGá73€G…õð‡?<û÷„'³zžÿøÇÕ­¢`®Þã¡w"Ž™ìýìg?5*þ£Ü;óÌ3{ûí·ßŒtŽ3Yö”ßþûßÿÖ×w9ÿÕ‘Œ;Ê»q=Ìš©?—Û‚·[¿ª¼cï­¸‹øÄµë¼…_.ˆêXø½ØU³'?–n¶UÙ£<—+;f›—góî(=ã$H3â§üåߥõ\ÜlËò(²³e—/õ-É•ƒ*/âZÑŽR½cŽ9¦ú¾œrÊ)þ¢°ï½èE/êc¤|¡wô裮Ê÷Æ‹9@ž€Zp‘€ŒÝØ]©Êío2~âúZŒî»ï¾Z ʯHœ~»÷îw¿;kDÉO¬Mo/wBO\¾fŒÙVùXã>㲸dDïu¯{]mHØ|ö³Ÿí3†u‘Må^œÌ¤''ÑgÇ´•qµ|ùò÷ñ	¿{î¹§÷Õ¯~µh¶Œ%ï⚉½ÓO?}ÆýŸûÜçÖÞÄ<¶¢VFŒ…c[‰ªö;·•áäEAœ6 £Ž@ÜQ^±ãbûþ÷¿¿ÏguVŸˆüÈG>â/«öíºA[jÞ)¾ºÇ ktî£ý¨¿¬õþ(ù_‚„¶Ï~ô£Þ{ßûÞÆ8ª""¶p¶ŽS“G‰}›2j%ÊßùÎwöÒt”P^‘ërþÓ;¸lÙ²>‘f\›èø]wÝU‰ó«÷Oyä­o}k¶2¢IøÅ–¡>ñ¬
 ½ë_þò—«
ÿÅ/~qOÑ;;7h›æåÙ¾;qÆàƼåï/!<7ײ\úЇfÄ1.«QGGù0ŽGìzè¡3üÝpÃ
µ?í¨,‹³ˆÎ(•Æ9§ÊJã 
‘o}ë[U%‚ÿz_p€ °ê@øÝŸöqRÊXʵü4	?}ÄUSk[Õ˜{'C"®áWŸ7q™÷Öz_FsZ#gÑl¼>vûªïm 2Æ-^j™TKŠ9µÐøóòwÔQGÙéÛAÂÏ<«uÍî§m*üÌŸŒïÏ?¼MâÎZ=$`e¨¦ñ·0%ÐÌÅ.m½¸†ZU£n絕!¦ãú‹Sª›÷žÒÏîcþê“qç¶Ûnë‹»]ïb×¶*Lµ(Úý$¬í^ÚJ˜SK‹ÄüÊŸò£„šÒJ-€>.òóÅ/~Ñ.m½%ÿ«UVñ°¸ÛVÌm_­«¯yÍkfÄM•sqJ»·î—V¢¤âïMozSßíº˜ÿ$ô^§é(–MN"Ã8ÈŸòwjõé!?9á§
µ@Yº©ðN:餓üéÞ¨yy.ïŽâªw×kŠ÷K_úÒ¾w'§}nøQ²,W/	ã©­~þö^ÉŸ~úv(}={3'üT>Y~PÙ˜:UŒØõé9~C€ÀªC Ù²Xuô=©Œ†ç=ïyõGRË&áÇ™ÔþÒ.‹¨øT¬ÍVø)Ì/|áõ=7=MN-lò#ãÁ·p™‰)3Ô:’s2ZRƒT5É9×FøIÄØ=µm~6ÞŸ~voGÞh•ÅUÝϼS|ÓgÀ—QëÝ	'œÐwO‰„œS+ž›„^ê¼Ñ­î 9ç[Íd´5¹O|âÕýôÖÒû•hóñ‘¿8fÑ{i½ß6ÿ«‹aÚ¥Lq@U7>s©ôœvMÓVq3!¯p¼·kÔbœ²°sÚv9ÿI¬¥O>wÃç¯o~ó›vªo«îžENøùÖ7ùõ"˜ºY[8ºoεÍË%Þ4
%´æêJ–åêía¼´m~jÍóþ¼ðóÏ£Lï/'ü¬¬—?…›s–F¹sƒ UƒÂ/“Îê
è?´9á§¹÷£Zè&ç»\êµXÍÖÉ豚]»ÓØk%úÔ§>5ãvê:j×k«±!MNc޼_¾EÊ®k#üäׇÕ$üR9á'?tP_xM- iKâðñ\AÔ®­ðKÇ­X±¢ÃvÔâeÏ©V¨œ3CLþš‘ÆVšhUZ“K°Z‘fëÚä…­n¥öŒÚ|ðÁ}-ÆvGôþÚŒµkýV¯…9÷§ê}½¾•$'v,m»”ÿôª€ññ«Ìí¨Ë¶ùQºr¾Ò)ÇâßøF–ÂÔØØÔ¥%=¯ßmò²ü•xwRá§nsq¥ËrŸOÅ´Iøiì´¥£¶MÂO㽿œðóbS—9§.¦
'N“;Í1@X ü2‰¬ñcþC›~¾UP©r鸹?Ý'5Är†€Z]ìr-#Þ lªÅ·gRK‹‰Sª¤n>„ŸZÓ,NÚj¼R“‹Ó¿÷ùM
ÆTø5MF¢ñ“Ö2£nUjyLoMm2ÎÛËjI¶çSü®¿þú쟿Ÿü‰i\Óßmò¿®I[ŸUAs¾›™â¦ÊQZ0ƒòb޹…©ð5®Lâ;×:máh;WáW2ÿ)þŠŸ=“mUáâ+~r-tæW[Ÿ/rÂO"Àº‹k®•;m¥Ë•'mò²âSâÝ)-üJ—奅_Úí=WÞk˜Ï7zçÄÉ;UN*¤=¼ö!@`a@øeÒW3úh*üd|ùóêŠ7È©ÅÍûŸ«ðSŸOs?6Oq±™DÕ
“:/
ŽÛ0ç»BéM“º.¿¦ÖOÅUÜ=·t6ÔTø
j•Q%#YÝî¼ÓÄ#2”½q®¨œkc,›QîãÝf¿Ilæâ‘–ÿÍ[á§1‡>ÎW\q…Ñzk­
g.Ϧú¸”~sÉŠÛ0á§Yi}ü5¡Î çÇ‘©›l“S^W÷]ïô[b>Oë»òšÿ6yÙüÎõÝI…ŸÆQÏÖ£,/-üÒÉœðÓ_>_h_i"¡ƒ „Ÿ‘pÛa†¯&VðY¯äRá7ÛñWþ©¨.[ÞÙX(µ¥îÊ+¯ì‹¿fæ4ŽÈ?³&µI]×…ŸâëŸA-Þ¥Â/7vÏû÷û+e]ký=´ßFø©1ç|K«>å¥6¹–®\ø¹cÃò¿]ÓVø¥]…g#ü|«á q­·A[Ÿ>“~Š“¿wšÿt>}¯uÌ»´{í°n³m…Ÿ¿‡D ZÇ}Þóñ&üšò²¿‡ßõÝI…ß°þ^éþ8Êòù~z®´Kµ¥™&cškecÊ߀ 0~™tføž{î¹}\:kcä8„Ÿfñ³»¶šÁÒœËÍî&?i|dTsêöèï—3Z§AøùI1ô<~Ò›Tø­\¹r–ž·Z ŒZFÕè»ØÍVøùî
¿iÐÐHŽèaXþ·à&)üüD2ÚŸ‹³´ÒvÒÂoPþÓ3
~~éÅ?méO¹Œ"üÔ¥P¢Úø¨¤DzÚU½”ð›í»SRø£,Ÿ/á§Öæ´uÖÒRåµÞk_Þ¥y…߀ °ð	 ü2i<Ìð}×»ÞUGú°ªÚ —
­AãÐ…“žKHkI´…çõ9—>Ÿj„‡9uû2#¶©1
ÂÏwL»¾¥Âï¿øE#Mÿî'âÐx2?ÁO	áwÓM7õ1ŸÍ2
0àDš?Ò®Îvé$…ŸÏëMBÚâ5lkùWÛI¿AùOñ&üÒVaeI[áç[TÕb÷ƒü Æ˜Žñ›«ð›ë»“
¿¹ŒgGY>_ÂO	¦ñ—édb>¿çºè×	Í ,x¿L3|ÓEª?ðdBùß¡Tø
ô¿«†ïyæ™}Â@ñR×/ûÐ7-–Ž’hiã,\ms㬦AøÙ¤,z†´å¨­ðÓ8>ëJ«p4Æ()¯„ðÓôþž¹fDœ„–ÿ-“~éú|ZÏm¶Î3´ð”ÿô<ÄŸŸ-VÏ¡E͹6Âï裮ó™ZŒR1YRø•xwJ
¿q”åó)ü,/¨Н,ñy~Ø÷ÊÂ`@Â/“¦Ãß.¸ 6”ôA&œÆ%ü41‡#£RK(NƒjvµŽ 7F*\R,2´ý5¹q5]~éÚ€©J…ßí·ßžb¨~[‹ªx4±+!üt3Ÿ¾š0Ff·q¦|:7,ÿ[˜“~‡êóŸZjÚ8Ur¤kúp&)ü†å?=Ï0á§é}ü%\¹aÂO³‚úðr݉K
¿ïN*üÚôXhb4޲|>„ŸÊôt<·8i†^_†XZë€V=¿Lš3|5Sš}@mÛ´V“‚O…ŸZrJ¹t‰‹O΀³{ª‹fj\tÑEv:»Mg–“1˜ºÙ¿¦5î¶=‹¶R9—N§?¨5UL|˜iÆTøåfõTwNFN+ž£
¿¦uüvß}÷¾ûi½®aÎÖfÓzo³qÃò¿…9Iá—¶n+ÿªËà gwœ}öÙ}Þ|úu)ÿ)’ÄŸ–QññWeÏ #Þ¿\YÿÎ*¬œUø5ååRïN*üæ2«ç8ÊòTø5-_Òv¿´ìUø©Ó±\/ùSŇoiVþ¹öÚkÓ ø
@«„_&‘ÓuÌÒ¤¿ž>¤M@Á§øA"1‡r“7> ?¦Gñ—8ÈiÉ
38etûñlv7"å§ÉyÑÙdl¦›ìµ×^ÙàF~2írB2ï“›´GyÁÂжÉèôݬұ„ö z&Vº4„ü¥ësÉÿå—_nAÌØªÖ_|ÅUë/ÎÆ
Ëÿæ$…_jüŠƒº%6	}½ ;©0êjþ×aÂ/÷¾ZËÏw‘MY* Òó–ÎGyd_>M»‚Ê_›¼\êÝI[N‡õ¸°çÈmÇQ–§ïlSú¤­·šm9çÒuüN>ùäÞLl6½+V¬èKÃA}wÜqG¯©·ÃŒs€¦ŠÂ/“\á
ruKÝùçŸßçGþßþö·§ÞzgçǃÉ_ÓB×3.ny@‹Uûøªud˜Ó"¾©xÍ	ÇÏ\yÆgØá¾m¾“îGÚŠ¥¥"¼“¡“ÆMÏ—[x8~MÏžÌj
J]:U¾Z¾Ì©+•Œ¥ë®»®µâõÃþмUëú¥áxìÅÊ
ÇWÈHV¥&Õ‘AîÓWûêâçǹ‰N5Ã&ª#œÙi“ÿuYÚ
×4ùLÚJµ|ùòÌ]‡:æ˜cfpÀÕÌŒ2VÕ’­iëO:é¤Ú_nY‹®æ?ðBMé¬îÜ©;ôÐCëç³|‘[RFùÒÎÛÖO믊;nÛT¤¨’Áò”ù±wgÔ¼\òݱ¸h«<àÅ½ÊæQzU”.Ë•¿}ü4!¯„·´âMþ•osNã8}x¹ïŒ	¿´ûºϧcӌž+î~ûíç/g€„_&Ó)Ós´ËÈÔZvþƒ¬}ój1Ñ‚º^xaÕâúÑoMúL”ºøâ‹ûâÑv˜Œb7¹™,½/è
>‹˜ŽÉóá5_)_]#§ñ‰¯£ßÞH±05½¼¦÷Æp*üäWµÛÞIHzñÔdÉx¶{i«k–-[V	íkFÆßÿþ÷}~Ì¿&Š‘Ñž‹·ü¨…Q³jÆ=sGuT_XÊOê¦i]ëŽ=öØÊ«„¶Ý'ÝŠ¹D²¿o›å9,¹mš>¹ü¯ë?µlçÜá‡ÞçO“‰ÌÆ)ÝÓ<æïŸî7qHŸO×u!ÿ‰IZI”[ ]³júô¶ç>äCª¼ª
¥YÎò±f£U™!ç[¦-µ é]Kãbçuüàƒî[Ÿ²M^.ùîøŠ(ÅKiz饗V[ýÎUÖUœùWº,OÇP+>z·O9唞šZ¡u,ÍËJ/åÙ´E?]r"·Ž¥	?…›Ûë+¾TŽå\Ú*¨°Ò²4wÇ @`z üîO+}üï¼óÎ^:Ù>~2¬eH¤‹%kŒQÚÊ%ÿé_N ªkT©–?Õv›!ão§Úi/ŠdÔIh¨E"ÐwS•¸IhRµ,˜`óÏ®µuÎ×v+n„þžþíËR«B:ƒ¡ÎÉ õ-]9á'2nÅbéÒ¥}°Ö$krš
½)^24MȦ]ßÒøîsŸë¥"ÒüHÜšKkòͶªy÷­>¼¿t_c>•—Gu£äðjÅK……ò Ž÷Þ[Ý^<Óî Š¯ü©•Åø¶ñÕz’©ÑŸ2ÐïÓO?½1È®å?½CªœP…Dú,*_Ôò›¶vk¹…\«¸¿^y9'ÞöÝwߪåZ€ÔŠí¯I÷%ÚÓn×æÇ¯Ú6/—zw¬rÄââ·ªxÕ•.ËO<ñÄ\%œU9èã­}‰ÂsÎ9§Š¾Þ3•Ï&½_ßµå{äÙ?ùÓX`¥‰ÊñÓN;­ÎÊMÝ8Uaàï¡}Å@‡Âïþ´ÔÇ1ýèå~§cÛdœ«ëMN0È@Õ‡Ó&wÑ\¼ïnU*+Y÷<ë†5J¸šbÝOF’{nµ´å…ºåüûcjUHW¿¦™ù—Qj“ª˜ð“’tß}÷¥ÁT-5v­¶2ds†’óaîšk®™ñÑ8
+W®¬Îo½õÖ}çühŒWñU8;ï¼såߟO÷£ñb+Pˆ-Ôa»í¶Qô…Í7ß<õ¶JüåUå¥h¨†uÖY§õsw5ÿµ~€û=Fã<Äñ¡áÖ[o­ò¾ò¢å‡8£dˆb#Ê
&¶ÊW×Ç
‹*Omºé¦3¢[˜Blñ;í´SX´hÑŒó:Ð6/—zw§(p«÷[ïAS¼²‘p°TY®çŒ½ªòÛm·­ÊR½çrb¥oƒÊÙ¹:¥›Òpã7±Û}ˆ-}UÙ£²SeŸî½îºë½®½ì²Ë‚òTì•2–rh$ð@c#€ðZžœðóâqqà«.òߪ›ö<9 @`Ú ü¦-ňoï>ü˜0òß„s;@€fMá7kt\ØÞ]H…U7ä¿U7íyr@€À´@øM[Šß>qæÎ×Í«iÌWœ|¢þÍÆI€ü7Nº„
@€@I¿’4	kâ4qKœ¶¼¾¯&³X¼xqý›Œ“ùoœt	€ ’~%iÖD	hÖOÍäè]\·/ÄiåÃlà³âÈÅ‘  @c$€ð#\‚-e°ÿþûWKg4ÝAKPĵ
C\ȽÉÇ!0+ä¿Yaã"@€æ™Âož€ÛN@ë¶]}õÕC/Ü{ï½g¬­7ô"<@`òß@œ† @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ „_9–„@€ @ “~L"@€ @ ÿ¡·œùP]óIEND®B`‚pymdown-extensions-10.9/docs/src/markdown/images/tabbed-default.png000066400000000000000000001665071465124271600255430ustar00rootroot00000000000000‰PNG


IHDRˆH#/ÊÎliCCPICC ProfileH‰•WXSÉž[RIhH	½	Ò«”Z©‚JŒ	Aņè²
®]D±¢«"Š®EEÔµ.ŠÝµ,”uQEQyÐu_ùÞù¾¹óß3gþS2“;€VO*ÍEµÈ“äËâ#BXRÓX¤@º@ø/_.eÇÅE(CýßåíM€(ûkNJ®ŽÿWÑå|Igäü<ˆ›À7ò¥²|ˆJ½åŒ|©A¬'ƒB¼F‰³Tx·g¨pÓ Mb<â+i<ž,Í{PÏ*àgAÍ»Hb	Z£ ä‹xˆ•±ÊË›¦ÄÛA{)Ä0à“ñgÖßø3†ùy¼¬a¬ÊkPÈ¡b¹4—7ëÿ,Íÿ–¼\ÅØh"Yd¼2XÃÛ9Ó¢”˜q·$#&VYkˆûÄUÝ@©"Ed’Ê5æË9°~€	±‹€±1Äá’ܘhµ>#SÎ…®t¦8Ÿ›±Ä‹…ò°µÍVÙ´xµ/´.SÆa«õçx²A¿J_9Il5ÿk‘«æÇ4E‰)S!¶*'Ç@¬	±³<'!Jm3¦Pĉ²‘)â•ñ[A/”D„¨ø±‚LYx¼Ú¾4O>”/¶U$æÆ¨ñÁ|Qb¤ª>Øi>o0~˜vE(a'
ñ墇rCÃT¹cBIR‚š§Oš¯š‹S¥¹qj{ÜB˜¡Ô[@ì!/HPÏÅ“óáâTñã™Òü¸DUœxa6olœ*|ˆ
X@[˜²¸µ»¾¾©FÂÈ@'µfhFÊàˆ>@!ø"!Ï‚¨ÿ4¬U=@æàhÁàŒðâ<rá»bp–dØ[2x5âxçÁƇñæÂ¦ÿ÷ú!í
j¢ÕÅG–Ö%1ŒJŒ$†íq#<÷Ç£á367Ü÷Êã‹=á)¡ðˆpƒÐN¸3U\,û&Êq ò‡«k‘ñu-pÈ鉇à2ãLÜ8áЂž=¡–£Ž[YÖ7ÜËà«_CmGq¡ ””`ŠÝ·354=‡Y”µþº>ªX3†ëÍùÖ?ç«ê`õ­%¶;„ÅNbç±&¬°°Xv	;¦ÄëëÉàêò?OäÿÃOíSYI¹KK—ËGÕX¾pf¾rãq¦IgÉÄY¢|~„,®„ï<Šåæâæ
€ò[£úûzÃü† Ì_tÅ÷Hhú¢‹†û÷p'ÜþÝ_t¶5Ðpî;¾BV ÒáÊþKhÁfL%°ƒù¸/à‚AbA"HS`•EpËÀ0,% ¬kÁ°l»Á>pÔƒ&pü.‚+à¸WOxzÀ[Ð 	¡#Ä1C¬GÄ
ñA‘0$‰GR‘t$‘ 
d²)CV!mH5òr9‰œGÚ;ÈC¤y|@1”†ê¡&¨
:õAÙhšˆNF³Ðéh!º]†V Uè^´=‰^Do íè´˜ÆÄÌ1'Ìã`±X–‰É°yX)VŽUaµX#ü¯aíX7ö'âœ…;Á‰'á||:>_ŠoÀwãuøiüþïÁ?èc‚#ÁÀ%L dfJå„„#„3p/uÞ‰D&Ñ–è
÷b*1›8›¸”¸‰¸ŸØLl#>&ö’H$C’#)€Kâ‘òI%¤õ¤½¤¤«¤RYƒlFv#‡“ÓÈr1¹œ¼‡|œ|•üŒÜOѦXSü(±ee9e¥‘r™ÒAé§êPm©ÔDj6uµ‚ZK=C½G}£¡¡a¡á«1^C¬Q¤Q¡q@ãœÆC÷4]šC›DSЖÑvÑšiwhoètº
=˜žFϧ/£WÓOÑÐû4šÎš\Mæ|ÍJÍ:Í«š/µ(ZÖZl­)Z…ZåZ‡´.kukS´m´9Ú<íyÚ•ÚGµoi÷ê0t\ubuòt–êìÑ9¯Ó©KÒµÑ
Óè.ÒÝ®{J÷1cX28>c!cã£C¨g«ÇÕËÖ+Óۧתף¯«ï¡Ÿ¬?S¿Rÿ˜~;cÚ0¹Ì\æræAæMæ‡&#Ø#„#–Œ¨quÄ;ƒ‘ÁBƒRƒý7>²ÃsWÖÞ7ÂŒÆÍ0Últƨ{¤ÞHÿ‘ü‘¥#ŽüÍ5v0Ž7žm¼Ýø’q¯‰©I„‰Ôd½É)“nS¦i°i¶éÓã¦]f³@3±Ù³fÏYú,6+—UÁ:Íê1764W˜o3o5ï·°µH²(¶Øoqß’jéc™i¹Æ²Å²ÇÊÌjœÕ««ß¬)Ö>Ö"ëuÖg­ßÙØÚ¤Ø|oSoÓik`˵-´­±½gG·²›nWewÝžhïcŸc¿ÉþŠêàé r¨t¸ìˆ:z9Š79¶"Œò%U5ê–͉íTàTãôЙéí\ì\ïür´Õè´Ñ+GŸýÙÅÓ%×e‡Ë]W]×±®Å®®¯ÝÜøn•n×ÝéîáîóÝÜ_y8z=6{ÜödxŽóüÞ³Åó“—·—̫֫ËÛÊ;Ý{£÷-=Ÿ8Ÿ¥>ç|	¾!¾ó}›|ßûyùåûôûÓßÉ?ÇçÛ1Â1;Æ<°àlhd¦n
l2âU=
¶ï~ƶgg³÷²_†¸„ÈBŽ„¼ãøqæršC±ÐˆÐÒÐÖ0ݰ¤°
aÂ-³ÂkÂ{"<#fG4G"£"WFÞâšpùÜjnÏXï±sÇžŽ¢E%Dmˆzí-‹n‡Ž;nõ¸{1Ö1’˜úXË]{?Î6nzÜÏã‰ããÆWŽï?'þl#ajž„·‰!‰Ëï&Ù%)’Z’µ’'%W'¿K	MY•Ò>aô„¹.¦¥ŠSÒHiÉi;Óz'†M\;±c’礒I7'ÛNž9ùü£)¹SŽM՚ʛz(ž’¾'ý#/–WÅëÍàflÌèásøëø/Á‚5‚.a€p•ðYf@æªÌά€¬ÕY]¢ Q¹¨[Ìo¿ÊŽÌÞ’ý.'6gWÎ@nJîþÜÔ"ÏtwSqÑàMˆÐ70ðÆR#Ÿdý›>í€ÁÞ yºêª"¼3l
T¢‚"ð¨î§_åøm”x€oû}ZÔÙŠeXIfMM*>F(‡iN’†x ˆ HASCIIScreenshot½Â¼Ë	pHYs%%IR$ðÖiTXtXML:com.adobe.xmp
   
      
         584
         904
         Screenshot
      
   

V²ÈJiDOT$($$Ó{tÜU@IDATxì	Ü}S½ÿ—©Q]¢R*Enu5’nqËÿºÝ’º®”Ä¥T$ºi2TII
!7¤2O‘kžÉPf!?RIdæç‡ßïü÷gw¿§ïùžµ÷Ùgxžßóœç½^¯çÙûì½öÞkíµÖgM{Va€ @€f<ˆ3>€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JD2 @€ ”ˆd@€ @(	 É€ @€ P@ ’ @€ @ $€@$#@€ @€@IHF€ @€ ’‘Œ@€ @%"€ @€JÄé–æÍMsÿø‡‘…zÅK.³ì@îµ~(Í{èÁ®gXd‘´àó_Øu}Â.Ì›—ž¼ì¢4÷¦ëÒbûô„y3“¾÷Þ{ÓC=42/~ñ‹Ó3Ÿù̾Ý{úé§ÓwÜ‘}î/xAZb‰%²÷Fqq^‘Ï®¹æštýõ×§;ï¼3½üå/OÿôOÿ”^óš×ŒÂyÜæÎ›fÍš®þSyCyd£<§¼Ísžóœ´Ì2ËÄË#ý=gΜôÛßþ6Ýxãéž{îI/}éKÓë^÷ºô’—¼d¤þà @À Ä49Î{ðtÿÿ[md¡}æ:ïJKîù½Ü{lÓìcÊ>»ÌU·e¯òbë±GÓœÓOJ³?¤Íw•NO†¿£ŒÃtqkûí·OßùÎwF\	­UW]µo÷~ÿûßW6Œ÷ßÿôéOOLÁ¯ýëô©O}*]vÙe]a~ßûÞW²yÙË^Öuƒ¸ï¾ûÒóž÷¼ÁOn¸á†éè£W›ýT‡ÆþÐÝ1·þúë§ã?¾™#}Ú’ UžÞn»í²On±Åi¯½öJÏ}îs³÷¹@”qPróé¹yÜŸîÿ×Õ;|_xõ·¤E×\;-°ÜÒ#;lÝqO?~ÃjiÑõ?˜æÞ~[šó‹Ó¼¿ü¹mç™ÿïßÓ’ßÜ¿ý»Ÿ >qÜOÓcû«ë±‰jsïº3Í>î¨ôćNª¿]žÍ Q .»ì²iã7.EÞ)§œ’N8á„.?úÑÒã?žÎ8ãŒ$;Þ*åÆW\‘6ß|órDÅ»¹ï¾û¦m·ÝÖ_Éù/~ñ‹ôž÷¼§Ö­%—\²Ï‹^ô¢Z{ÜlN@£ÖÊgÞ¬½öÚeZH°IðE³æšk&	'¶yä‘¢nƒ
6HÇ{l|¤Ño ~á_è˜ê8ñĹÑ%u„¬·ÞzéÚk¯­}Lñýßÿýߴ袋ÖÚã& @ Ä~hM»óîÿkº7·C²ÔwNÏxÛ;Ú¿ï{ã+Úçv²ØG¶JKlýßûYLÛzdÇíÒœÿ=­üý̵ÿ--¹÷ÌjßÇÖœ'Ò_ÿù5]Ï\ ¶ZéÉ+.MOüüðôäyguùgFî¯9<ÃÅ“YguÊFñâ‹/^þþþ÷¿Ÿ¶ÞzëòÜÿÓ”Ô¥–Zª¼¤‘··¼å-íÛ¿ùÍoÒk_ûÚöï~Ovß}÷´ãŽ;v<6QBãÕ¯~u‡?U?$^ÔX_h¡…ª¬p½ùË_ÒrË-×~âÔSOMë®»nû÷,Ð>·“/~ñ‹i=ö(jîÃþp[Ô
;Úwá…¦µÖZ˼*!Ÿ|òÉô¶·½­ìùÀ>Pæ¿Ûn»-qÄ~ÛuÄ|ä#±Ÿ!@Ãha¦¹½·uï^^þ͹𜮰Û=|ô{{wÚ{ê©ÖCÛ~¼tã¡í?Ñyo€_ý×ÕÛa2p¦ö‘¹÷Þó·ðn·EëñC¿ßº½·wù)¿1Cà3ŸùL«(mZ…j=öØcžÓàÊ{ºïÿ
Øaï¼óÎkß¿úê«;îõûãÐCm»e~±_gzÚ_mµÕJŠ‘¬V1jÙúä'?ÙzÕ«^Õå·…á†nèé&šøóŸÿÜæ\ˆÃ®‡Œ¹?±Ã^!¶Z…¨,Ý)Ä\ǽ~Ü|óÍíð˜ŸÃº™C1Zß*F¤[—_~yÇí¢S¥Ë…£Ií°Ç@€À°Ò°ðüä0¡ôàæd=6æ]±xòÉk=­bëé§[ņ8í8?qæiÄ6‰?)FËÆé™gžÙåYS¨ßõ®w•î\uÕU]îôsa2âÅ_\†u£6j=øàßó^12ÕúÜç>—m¬Sû‰vküéO*¯±ÆY[&Òü1
D=x饗–î+æ&C Þzë­eXO?ýôlœwÞyç®|·é¦›fír€ 0(â äæÓssÿò·‘´ÇÙ?/í<'[sŸnÝ÷¶U[#rÚÉAŒa|êæˆÊþ6Gåe?ñ€(¸W^yåP¡XLïk­¸âŠ]#¦
¸Dbn$±˜ú:T¼xøïþøÇ?–ye×]wýûEwæ…¡ç¢ÒJ#rÅš>÷tÿ§“!ªûï¿¿2pÅ4Ó.xÈ!‡TÚç @`¬A,ZÓÉ´ž˜Ýí+i±Í¶L¯´JWÐ{®AtOû¤Ù³g·×­þêW¿*?W¢ü(´ÖQùNkuÌ}jb•U:Ë\[ƒXŒv¦óÏ?¿|GV^yå2ÏiíjUþ͹ßäÚN;í”vÛm·¶UmŽtÝu×UîìÛ¶È	 @ Ä>`M«ýD‹ÏSWÿ*=¶÷×ÓÓ·Ü\^Zð–î|Ïø—µÓ³¾¸kZpÙ¿oaÏçâŸÚ.=öƒîÏ",´ü‹ÓRûœZ±{3s¯ÉØ„ÒäØéG Zˆ´Çÿ÷§ï}ïïŸXQc÷‘G1+å–ÅèQÚrË-Û×ì$'%‹é„]»›êmhóÕ¯~u¤
öŸýìgéCú©€þ_ÿõ_eãY!Ûe—]J·ð§bÝ_9rèC\L'MýèGý¥”ˆfA;]ê3ñ»uÚR#¡£2_ùÊW’Q•ØŸ‹,²È¨¼Àý
ÄbZs*6*]Tg„v¨•È*¦M—»€sÌ1mß$º.ºè¢ŽoæFí	Euzè,Þh4ñ’K.IK/½´¿Ü÷¹ÜÐN¥·ÜrKûYª|ðÁiõÕWo_〠0ƒÌK噩KÀÖúcv
âÿEáÖíXË÷ÔïniG®ø¬DÇ=¹9û˜#Û÷í$·ñу¾ÛÒ:G™9Ÿ×åΛ®ßjÍ›gNô}T8}í¼o‡x`hý¬A”g'Ÿ|rÇ:ªÍ6Û¬#Å·Ý:îkýؼWrkµÓh1ÊRºõT±S¯67)
ÉŽ¿ÓN;­Ã¯a~¼ýíoïp[0“G ¦­~çÖ Zˆ
AÕ‘^×_½ÝjÓœ;îÉ­üàíû:É­A”=¿¡L1¶Ë]Ôh£¤B|v¹éãÎÆHƒÒå9@¨"À&5Ud¦éuJþX)çÎíYîÿ÷ObÌ›óD×ýGvýr™œ@œ7gN‡½¶Ú¤Ë­'Îë޳㡚Ä8“|«_X¬?ìjð>üðÃíPk¬ºî*oß×IN ê9o.¸à‚.w$ŠLom óbô©Ãm‰Zm†‚™<^$Ùy•@Tš›;~éK_j¶XŸØu¿Xÿؾ¯“œ@Ôg_¼Ñ&Næ¾?jÃAŒ>ïVî¼øNâ Îó @ K˜Å2}/zah畱ˆ¦}ÑìÎþÉ:"o×íøÀG?Ðq_?r1ZzdŸÝºbNlÆçª~#«ÈLþõ~¢¾ïæ¹!,6
i<çÞYgÕ¾¯“œ@ŒßA¼÷Þ{;ü1?£Øìp¸áû\‡ÜÔN§÷ÜsOÃ'±6*–žþX%å§}ÑìûÛßîŠ]·£Fî¼É	Äܧ3r»Ûyd÷ÌïvݹFÃ5êþ†7¼!›ŸÞÏþóuNp€ Ðb_¸¦¾erþX'Ÿºå¦ÖÃ_غy~c§Ö<×PÏ}J¢œ04ˆ³~D—@̉ÍàtåOb%šI¿‘tj´>ôÐC•aÙc=ZÅú¬r¨ÿº¾7¨Ñ[#ÝŽÅfn5ˆz@âÓܰãÙgŸÝáV¿?4MÕÜ*Ö°µ§µöëö‡#`iàu±X—Z~T^#r[mµUëÑGmàꫯn§©¹W¬Wlß×IS¸Át¹UlÔáÖ ?4B­i¯>”(Å@€FE€MjŠZvœL¿›Ôĸ?}ëÍiιÿ›ž<õ„4÷wÅÛiáâSÏ9üøŽë¹Mjâç&ž¼äüôð6Ÿ%Ц8K_xM‡[M°IMSRo¯ßMjbˆ´+c!ºÊ
dN8á„x»üwÍmR£ÏNl»í¶Ïk¸qˆ6öøøÇ?Þa¯é}–C›ƒh3šbä0b3½ô¥/mú8öFH ßMj¢×ÚÉôøãOÅ·Óí·ßo—Úèsfr›ÔØg.ÌŽŽÅÔÕ´çž{úKiã7N?ùÉO:®
úã;ßùNÚ~ûí»/]׸@ˆÀ¨”&îL
~äÐÎëFËP€Ì¹ðœ–F홿þû[[³8¤ýÛ®:‚øÔm¿írK#ƒF%7úçAT(Šoǵâ¦n¸aëï|g×(É #ˆúØ}Q0vüvØaAÐT?›¦¨ÑÏܺ²Bì¶Šo:ä>õG ¦«~× Êumv¤kÚóþÖ·¾Õþm×A,>‘ÑåV܈©¿˜vÛÞh£:üШ(€ 0*L1É)âŽ	9¬ˆóf?ÞŠÈ<üÅmZÅŽå.£Þ,o¾¡K ÊßA
qPr£nxâ‰'v4pÕ(׎2š~jt;*×_ý.·.¼ð h—£nŠoçe݈—d-rqh–7ü±N j¥·¯		G]çƒ
ÄâÛž]ní¾ûîCÇ×;P|ƒ³ÃÅ@â¨HNw¢ Óï*¨FÚæ£ÂíþõÿµÕzòɿŦh4E÷ˆO^uy—[ì5øºâÉpE0úˆgžyfGãVq¿‰Ç(bü…üÊüõ¢yà–aÖ§3î¿ÿþ¬õbºbiçË_îÞé7û‡"~W	Ä'žx¢å7’]Ïù¿Ý–G)¿þõ¯wåï£>z¨¸Æ‡o½õÖ?4Š ŒŠk‹–Â8™ìÄÍ?‘–Øæó]ÑœsúIé‘?×q}Ñ$=kû¯üíZ±¦å¾7­ÔqÐ5ˆOœvRzt§N¿žõ•]Ó¢ÿù¡÷›þxú¶ß¦?¸n—õ¸ö±ËFN j
b±áLzö³ŸÝåß‹_üâ®Øßwß}í‰ký–Öqy3èÄè—>^lž“rë×¼þ¼˜’˜Ö[o½ò’Öœ=÷¹ÏmßÖÇѵ†RëÓì#æZGùÿñm;œL\S–»ÖÿÉw­ÿÛd“M:òÙÏ~6i=ŸLQ¡¦\°ã~1‚˜Yƒ¨õ­Å&Jnß\L¯~õ«;®å~(osÌ1©MOoyË[R1•4-µÔR]V‹Qð´ÖZkµ¯Ÿ¹H/ùËÛ¿9 E`TJw¦bä/Žøé÷#»%¸GÜ·ËþßÿtÛîÓwü®ë~ãÄðM8…Á‡Mk5½uPóä—v¸gnëÛ˜É%°ë®»vŒfRùÛ>ZïCSõ8í0ifÓM7ír¯ÉÓBXšåQþ[XìxÐAuØéõãÒK/írÃܪ:²±Õáïkä/ÇË-·Ì:¾óÎ;wÙ×n£fr;”6™bªõ²ÑhM£›Ö651ïk”³—]ûøuÔQ]÷¹@†#ˆEM>.æé›®OnÒ=r±ð?¾:=çˆS1lÒÕÙ‡ìŸ;`ߎkú±ÄVÅNÏ|fš}Ä¡iÞýí¸¿à?,–Úÿ°´À’K¥…^ø¢ò^nÓçurZø•¯*ï·~(=°Á¿u¸µÔ¾?LÏXsí·ûùQvïo?îawpï}ï{Ó)§œÒ倮½ç=ïé¸^LõK‹-¶XÇ5ý(¦‚¦}èCé—¿üeÊídªQÊ—½ìe©˜&X>›ÛÅ´XoXîJiŽï½÷Þi‡v°Ÿå®”…àK-´PûZÝÉM7Ý”Þüæ7—#„uöü½b³T|Ñ_â|\uÕUéMozS—ËÅ·Ó•W^Ù5B\tb¤BTuÙÿÚ×¾–]tÑ´Ï>û¤b]iÇ}¥¥òãsžóœ2ïåv1Õˆ´v¶µ]Ñzü±òÙ¥vûv*Ö3¦Ç÷Û+Í9çíѴħ¶K‹}ìÓíßNŠ)`OϺ-µŠi‹O^yiš}Ð~ÙÇ^y•Òí…–qZø¯Li‘E²ö¸8»îº«œVyúé§§âƒãYÇŠ‘”´Ë.»¤UVY%½îu¯KÏzÖ³J{ïxÇ;Òyç—}F5ó¤“NÊÞ—øRÃÝD5Ò5ÍS¦X˘Þýîw§sÏ=7#Dm7ôiŠbXzå+‹<ÑÀè3o|ã³õºÇåç±Ç[g…{(¾XŠ?M§”à³)½Ñ¹Í7ß<}ðƒ,??¢¼'sþùç—Ñ®ý^sÍ5ËüE¢îëS±.¶¼oîÙs:n·ÝviÇwLźÀòsöÉåËŸþô§ma矩:ÿð‡?œŠÁìmuŽ,½ôÒíwCïÝG>ò‘¶8Í>ÄE@€À †~äÙùO`Þ£d§ZÚ”Ëx|àãÓÿñA]Ïß÷¶U[³O:¦Õš;·5û'vÝ×3­¹Å.§ÿgô¹
=3çâóZó{´õÈ×¾ØõŒÂqÿûßÙzê†kí±þŽÅNƒ1.½~Ï>ùØþüÀvcEƒ¸c]QöÔþ.[ÛmMýÔ‡½ã3Å:¿ÖwÜQn¢©uþ¾vÕ4@3ůò¾¦äk[ÚøF[ýûgì\›Æh“’~Œ6±çû9£–ýxƒÝ>ëóúJ“Bôu¸¾×^{u=_ˆ¸VÑÙPus[Å÷»îë} ^Ʀ¡£”­Bœ¶
¡ÚÒ¦E¹üQtr´î¾ûîÿ›üxøá‡[ÊÓ
WÎ]]/F
+wÑmâv @½0‚XÔÂ3ÝÌ»çîôÔ5W§ÖìÇÓB/yYZx¥UÒKüm´Glž¾õæ¤é«,ºXZøUÿ”zÑ
Èž8ùØôŒ·þKZpé絯kZéS7_Ÿæý᮴Ћ_’zùÊIÓS1i£
º<ïyÏK…`ìÝ{ôÑGËÐkÄp¥•V*§íi* múQˆÉŽ)¬E#?øtõÕWÇ‹¤×¼æ5¥›:Ç@@4ò}É%—$å/&kdÙosíµ×&M_]|ñÅË)¬~ãM%->Ï’4Ê÷Œg<£
´XsZŽljƒåcmFc£åmK}žw9BzÅW”a-:LÊðjªjnsž>Ç: @ –±7!@€ ÌÄ™“ÖÄ€ @€@-b-nB€ @˜9ˆ3'­‰) @€ ZÄZ<Ü„ @€ 0s gNZS@€ @µˆµx¸	@€ @`æ@ Μ´&¦€ @€j	 kñp€ @€ÀÌ!€@œ9iML!@€ Ô@ Öâá& @€ ™C8sÒš˜B€ @¨%€@¬ÅÃM@€ @3‡qæ¤51… @€ PKX‹‡›€ @€fâÌIkb
@€ @ –±7!@€ ÌÄ™“ÖÄ€ @€@-b-nB€ @˜9ˆ3'­‰) @€ ZÄZ<Ü„ @€ 0s gNZS@€ @µˆµx¸	@€ @`æ@ Μ´&¦€ @€j	 kñp€ @€ÀÌ!€@œ9iML!@€ Ô@ Öâá& @€ ™C8sÒš˜B€ @¨%€@¬ÅÃM@€ @3‡qæ¤51… @€ PKX‹‡›€ @€fâÌIkb
@€ @ –±7!@€ ÌÄÖ÷½ñá
?!0ñ–¹ê¶‰÷ @€ Ѓ1B  üœÄIÁŒ'€ @=  ?üpÿp…Ÿ˜x‹þçFï	>@€ tXf™eº®ÍäÄú·ß~{¸ÂO@€ @`\	¬¸âŠãµâ…@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%F€ @€"€@A€ @?ÄñKSb@€ @` İñ @€ ñ#€@¿4%FÿGàHGuTºÿþûÓf›m–VXaØŒ)V«•~ó›ß¤_üâéÚk¯MG}teL•/Î:ë¬tÊ)§¤~ðƒiÝu×­´Ë
@`òÜzë­éøãO«®ºjz×»Þ5yOOÔAvÄÎ^rÉ%e¾[k­µÒ»ßýî´ðÂíý÷Þ›N=õÔôðçm·Ývh÷p“Mˆoºé¦éW¿úU¸šÿù­o}+­·Þzù›\ïÞûÞ÷–"@YvÙeÓÿøÇ‘üó=b $ Š÷‚.HgœqF)ÿò—¿”×—\rɲR6L7Þxc:óÌ3Ói§VíÞ~ðƒôÉO~Ò~r„&‘À£>š.»ì²²Ãæ„NH·ÜrKéû~ûí—¶Ùf›IÉÄxE41\Géê•W^™V[mµ¶“‡rHúØÇ>ÖþÝôäé§ŸNW_}u:÷ÜsËŽÊ/¼°|ô}ï{_:ñÄ›:ƒ=LÄgŸ}vºâŠ+ÒOúÓr$"Ü.~ô£M«¯¾zzûÛßž^ùÊWæ¬pm>Pa½È"‹t„B
‘7¿ùÍ×ø1}	¨·×*a‹(Ï;ï¼ôŽw¼Ã[iŸ#Û(8À¤¨z‡Çὤšôì4‡êèÿüç?ß~V#×êHì×|ýë_O»ì²K×cn¸a팖®¸)BX‘óæÍK¯ýë»D¢„ãFmTñ—§ßøh¸çž{Òb‹-6•‚HX† ðÈ#¤%–X"tÒIé?ÿó?Û.EøÔSO%½Ïýë_Óg?ûÙtÌ1Ç´íŽCC´N 0Í<ôÐCIïç{쑾ýío·CðÁ§üãíßÓõ„:hê§œFüÖ^{ív@•·Ûn»öï¦'?þxR§€–9l¼ñÆíÇtþ“Ÿü¤ý›LÄš”ÊõiZ› ˜©O`Ö¬Yéûßÿ~Ò:M#|Ó›Þ4õM" }üËDèüå/Ù±¶	èép>|ðÁr$ã»ßýî´‰ŽÖ€½õ­om‡÷°ÃK›o¾yû÷t=™ŸuÐtÌó#Õy¨5ëú“PÔ±Å_|à Ä‘cíð?ÿó?»×äÁ_ÿú×IïЧ?ýé&Ö‡²£%_ýêWÓ–[n™–_~ù¡Üâá©MX“>x`×ú$½@`jТÖ0ÉÔ	DU¤oxÃÚG ¶Qp2T?iã%’O§ºê·¿ýmZe•UÚ)pøá‡'퀌Àt̓Åvê=µÔRK%Íp‘‘à<ôÐC',êxãßXÎx;öØc'ÌsXî[o½uºæškÊͤì:Çñ#€@¬ISõbêå6S×ð4;!É'ðþ÷¿?wÜq¥Çuï©v8}ík_Û ±‚“1 `7Ee:Ä#Ž8"m²É&c"ó'
Ó5ÌZ£÷ÕDmx£o&ÂøŽ€
6Ø M´@ôú '"E§–›Äšô@ ÖÀá¦âJ‚2_\|ñÅémo{[Ûïé,õy¢}èCí¸pÒœÀtÎÍc9µmz¨©˜tЄxï½÷N;ì°CéöDDí®‘Ê?üá¥Ä	IÒ©åhQ‰`*üèG?Ò|Òö_12Qast—‹ùë­¹sçì`±G«˜Sß~^ç÷Ýw_ûw¯ÿl/»ÓéþO<Ñ*6CèäbZH—â{F­»îº«ëz¯bY|Z£u÷Ýw÷²Êý!	•c£÷´¨ÔÚöôn#ˆ|Ö{©´,¾µØ*Ö´6zfªYR¹¢°ë]Æ4y†q?>;L™4gΜÖm·ÝÖºîºëZ³gÏŽNô·ÊŽâs*­â[~-å—É4Ån¾-ÕO¾¾ÄÿaX÷ãŸò¡n¾ù掰›Áõã\£²½/+,«~½ãŽ;JߦuP±ÏA—ïzçšÔã£Ê]È\Uy’qºñ%q)6‡é°¯p"¦¥z{S|z¥¯Çä!ž:Ú]þ]Üj«­¹§ôUý¤z¦‰Ùwß};ÞÕMM¿õ™ÂôªW½ªÃ?…3Þ4
SA`2¢
¸#<²UÌén­±Æí°X°_^Ó½^
¹qúé§·Šïí”Ï»u–æ7¿ùÍv£¡XwÕ*¾ïØSUvE/T«ØŠ¹U|+°|~å•Wnë?Z]tQ—}Aqñ	V1
·|Î
Öâ[V­bWºV±]ty]îªðR#À›âö­ÝvÛ­oÙ“¿ý6¼›þ\ÜÎ?ÿüV1Å£G.þ²¯pí¾ûî-Å[ÜeT ~éK_jóSÃKá+v°mýîw¿+íTýÓ}ñô5Uâñå/¹õÎw¾³ýh±~ Œñ¦–ÿ“]o~øÃvÜ7»k®¹¦·Öqþç?ÿ¹õ½ï}¯U|tºµÓN;•÷”WŠÅø­bÓž2¾
£ÜÚgŸ}ºò™ÒVñXqÅ˸ˆÜ¹óÎ;;üiúCyÔÂíÅ‚÷'Š׬½b+ò{þÇD	Äb»ó2,>-u.&Åæ=mó;
”·wÜqÇÖ:ë¬Ó‘—_ô¢•yQeE/cï‡ë9Å_Gý.6òjé}¥Q9Rô¸—åŠÞIóoýõ×okÓ:b9%
‹)ví|ëÓNåàÎ;ï<2A¡Fèç>÷¹¶æŸÞÍb$¬+ˆ£~Šqw”5æÿºë®Û²?Õ9s饗–<,¨œÒ»Y|ƒpà÷<ç®#[­O}êS
M½Gzß‹o”vÄ¡W º£øVb«ØÈ¦ížÂ®²õ_øBëÜsÏ­
Fß׋V[Å(M»~4¾ª¯Už›´fÍš•u·Ÿ:h¯½öj)*fN9å”–ò‘ù©Fú×¾öµ–ÕµfOÇaòw§î¼ßòDõ¹/ëíÜ×!ª—íº?*Þ*?£Q»Cy©Ø‘ºd¥÷YFwÅŽ¡mVb¦ò£Ø‘4ËË»+ößÿ²®Ô;ÓË(üj¨N´´Qº©¾TØtn×ëâõ×_ßR¹fví¨çŽ«®ºª+(êÄÙe—]ºžQûÄÞwUÎD3H}¦/+÷-|:*îæŸ¸cƱ&M'Z ª)¾¥Ø~ÑUIKäéE/¢
foTHßõkm¿ýö…‘žÓˆ•*bï†Î×[o=ïDY)û‚,Ú×o¹+#õ©€Š…†*m5sîØ5ëu*>MPkï°ÃëkÓªU@‹Käxùå—·£=÷ܳ¬,l:ªÒÏõÂz;bvÖYgµÝò'¤fW5T$ÈŠõ4íëzÞÌ“O>Yú§JÄžÓQa÷F£ źœ²@öötîzŸåŸu˜]UfEQĮţ*s5ˆ”Wâ}û­FJ®—Û‡#w®ü¡
Êçy¹iþÚ3Ê×p@»ágþ*NUfÔQBÚ‹|…±XßÑ:ãŒ3ÊŽ“XÄß©’jd[8ÕðRÃYªø^äâ¬2FBÍÜÐsâìEvï;ßùNWCUZÕ]WçŠ:4ÌÝÜQùçöÛoÏ:£÷ÚD¥žU¾Wšüñ¥H6÷>ð´$$‡1*gÌ=•…Å÷ÔZçœsNùžú²QBÆ›Q¿†ºcìpRÚ*¼uÏèžÍ£0>éQgOñ9R\åÂP'U>{¾zO%Ò¢;[l±EÇ(å ñp0¿T7¨üÒŸò•÷Ïê5ùÑ´Òˆ¶Äžxx·T?h4Z‘þº?WçT4þ~ÕyÌѺ߃”'âGº6ß©¤÷Aeëg>ó™®øžoIn©3&–_ê´T>­Š³®«L™D¼FýŠÍc:ÊÙ•è©3^*,ꀶΊ\ª¢ÊL³¯2UaQù¡ÎZ»®£ò»7ÅnÝ÷½]®Ž3ÃÔgumïŸùÅq|t¶.Ç'^#‰ÉD
ijÏ>»CØùÑ:õé¾ùt~â‰'¶ã%ÁïÛoFÚ¹?ª‘hF#KvO¿MÓøýïßѳûm2£F•]GßpT¯˜
F«\Í®
_a¨¢SÃ5ŠÙ÷•ˆùßëX,¢.¹F垈*d{5D%ØX!Y\Ô³æ„Ù•‹F{6ÞS£Âž•çŒ
zoOv½ñ~˜_:zj(¨±àíè¼Øè¥ÍEö”6!Ž	ª5âæýÑÜU§ˆ·7™ñ‹_übÛoåhÔø´°)Ÿx3¿Ó@ßAŠzì-ìvÔLo”Ï|϶ÒÈw©Q{ëÕã?ÌôÕ.¸ Ï”ï4OF£ì±LSÞŒ~)Þ*ã,N*ã¼QƒÜ7Æ5ËaP£)lþð
Y¹)káÐQÊhFõ(]Ô©ãË_•ºf=öXÛ{¥­¥ì©\Tù£zG#Š>^
ûÏ~ö³ö³ýž(M|Ã_þÊo4;³ªóS^³«òÛD)}%:í¾ŽŠ_,§½ß½Î}ãX‚Âu¬˜_ªwÌ4­ƒô©ì07üÑwäI(Zzy;QD÷›,¼½Ž£(OTÏû°WÕí¾#Uöý{Uì*ßÑùãݳsÕE¶ßþ¨ÑjuÈšQù–kÔ	D/’U–Äñó~êÜ·ŸÌou2˜=½o±,ÓÌ1»¯£•z¯U>z;Ê'ö¾ëè;À†©Ïô^É=ÍDñþ)mÌ¿A:ŒÇ©K ³u9uÃ9_B6QQ/•oä«Ç(gŠ­Ê;^H$¾’RE«Þ%ï–½ÀêUS¤éVá«Ð‘ÑH’ÙÓhS4jE75ȌĤ¦Vå
b5œU ˜Ñ:/NÌ_5äâº>Mã±û:jšØ F…£oàÊ=/ÍÝ?ýéO~Êž
~­%òFl6«ÒöÆú̹{¾± þU&r÷öÄ^=MMŠáU>ˆ
Õ\¼ôœzüÕ`4£‘ËGº¯sßì59*ßú°U	DÅÃÛ›,¨üíý͉áÈׯw™ßi iþ(-}bç€ÒÛŸ/”U&D£F‹dòSâx#æVNHÜF£F‘Òß⥣M›6»~DO÷5âF®Ì
55žÜËhúƧF>¢õ{`e‹ÂSW~ØhžÞá83Ea”À1F:ÊžÊÉAŒFnÍ-òEqhnFa¥1\¹ò\îÅÎqQþéרþ´°«ÌÍ›1#aMÓ:H£Þ6ßüÓQbØ:nå¶FÙü}ÍPÉ™¦ù ÷lîÚ(Ê“o|ãa¯ˆª7}½@´°åfIù5š*›¢(•»|°9Ó>jÆŠ÷³J ª½böôNDqhʳ§cN ú:\å^4>ïÉ“O>9Z)ß%ïâ›3ÃÖgææ®»îÚ¯a:^ÌMŽS›±&}&J jú£½Øšå{µbpüH€žÉ5¦c…¨i`ÞhºŠ
3Ö8T¥TUqÆ)4¹ÆyœÖ¡$gÔP³øê¨ÂÑ÷ˆÙ3êEóör
s³Ûä§jT5(bå\Õò½‡N‰m3¾Ì:ÉžUò¹4WÅdîÖ5ð|¯¶ìWsKGUBq”HÏIäYÃÜìkJ^ÎhŒÙÑqV˜²“{¦êšw'—§í9o/—ÍÞ(§˜ê}ñþj
[4QŒhD:g¼;“‘¾sGy(öL[cç“ð
!…?·ŽÎÜÑŽ£Îµ®¦_£5ræN.ŸÊ=?bcv}'…¦}ÛusÅh¿á4û»ìÒ¹¨ø|ŠÝj}#PïlÎøðû4ÊjÜÊ_uæU™(ü5ë£_#äËÖªrEîÆ²5v\JXúQ5­[¬2*[ýH±âªé{ýÍê±ô³Ü»dŒZ¯3Më Ø™éßGsW<-<:æf©Èn“|`nö:Ž¢<‘q:s•@ôÓ.Çœ@Ôè½ç Ž˜ªŽ‡ÜÒX÷ª
äÝ«ˆäfOkO«L,?s^~´_y+š&ŒG;˜ª:FUŸ!c
ŒÿïêÖåøÇ½g'B ªQm…ŒŽ¹že0Þ¾Îoºé&o¥\Kçíh\•ñSWÕ£«)¹?ë5ws½\?þñ;¦Eâ9ãG,å^Õ¨†žõ€(tsn×]S£À¯c•@ô=ýìUF…¶ŸÜ<Ì­•Ôˆ§÷O£)±âÒ´5šü(«ù7j(`ᩬò[ë±ÌžŽUÆÊž_wSõLÕuïß°
cù1J(÷üHSl¬ê~|/«ÖñMvhj¦±­š™ ð+/kvò¾¦ù›Ø¨²©žz.gâÈ^YÏ=ã¯ÅÞò\y¤k¹M8¼˜TÃÏ^jtåz¸ãÈß S£T[ÇŠÊ„œxð\$¸rÆÒJÇa߃&Â@B™ŸjðU±öa—ý:1™‹—®ùD•y^ÌÇg—Žñ‹27¢âÝŒéœk„{û¹s•o>L*C}G«=£r;Ḭ̂{Më øÎÅuÍæžß°FaÓ{M“|Ÿ©ú=ŠòDnR Æ©•ÚP©Ê˜€÷é˜+|9ˆ±¼W;®ÊDq—ˆÊß&uðçŒÝ×QöÑ4ˆznõYˆZæ„oÕ­ÁñŽw£ØM„@Ô:Bÿâ7Ù ö†ª÷ß_ËíºÂ+ö|û°ô:WO”7M¢ú{·ë¢Ÿf×vy¿›œÇôV ÊO_°+N¶ƒšîùg‹¯*ë(èe7gæ—@ôk„î*GÍüºÙªgª®‡mËQD¹©©_Q©‘«¿âà×ëY3¾áQ'ÒG•~ƒ	úAŒ/oš4¬ý4B±¨ëdÉ…'Žüù¼Ñë<7*¥éÐ~jžüÔo½»±ƒÇO
Î…­îšhjlj*´7Z 2Χ½˜æŒß°ïAa`ÚûÛä¼Jàæâd×¼_šXgâzã(µ¥g¯Î©œ0¨šR®85Oþ«S —çªÜhZ5ˆš®è9ÄH…£I>¨
o¼>ŠòDnN¤@TÙYgâ,,¿\ÆžóïjN ªž7îMÊDÙ1ûUPSÚó!½~Í ÜQþ&
DíPg†­Ï¢@T9‹oÕ­ÁñŽw£ØÅ½IÁÐËa}NÁ
Õ+ÞËø^_=×ùô#}ÃV
ÖC9¤ÑŸzpcoeS¨5—>ÎuѦ¿Ê¾zK‡11ýF!5JêãGK¼Àõö4%ªªWØâ8¿b¬Œ,<ñ×jœ{î¹ÑJãߞͰ
cy:ÑGF#Ê·~ʜðqi Qi¦n¸ÁG¡ÑyÓilÞ±\C:7BîŸñç~ä]|›–I²—[éÝV#Fk›}ƒÍ3F zt®”Üf"òo²bnƇÂè9¨ÑÞ”õ ïº÷K#Qu&
ÄØ	w)õßP¬r×T¥Á qðË|¾QxüÆ4UahZ5ˆq9I/X•ªÂ믢<1÷æ§@Œí#mŠM/èëu2õ2>ïW	Dï†f?(ÏÇbËsMb?Kr©Ï¢@Ì­»öqâ|ú@ Ö¤a,ÜõÒkâbü&•VbšèM,ëF}`PóîWÇpUM1M¿S] Æé-
¯7-£VÈ+ÿ(OE¡mÏÏ/; ,<ñ8¢*R¿{›ÒV%Ú”ÂÒUÇaâ(Ò@ëà|˜rëâbšÆß±¡Þ´“Æ7°¿67úûFoÝ:Óø\ÝoÅC£VÆCaÚ%Õï ¬{£ˆõköô),úišSA ÆQµÜú®:¦ýÜ‹~õÚ16æ»(}ƒ[éבåÂæ×Œé}:§_#¢;–§tÔÔ=?=;ºÛU”SQ Ž¢<1óS j:²O3ÿùŸ/¿r#ˆ¾ÝÔdf“ϯuQùK4Ý$¤@IDAT濎b¥zLJyTq˜ú,
ĺv¦qå8½	 kÒ/-ñ/~Ý´8+nxÐ@ô~çv×2?›g¢@Œ#,¹õš:+|ϽªÂ@ vç:Ï­N<øÞº÷4®+Êmdb¡Ð47_Ñkƒ!3qMÊTˆqgÕN8Á‚Ûø¨Í#<ó¦#q´¦ÉèŠJâÍüÔâ°ÆfDá÷bUSæ—ŽÃD5¶ü;«Miü”ä©&ãì‡ÜN¡Ã²·çãtû\9ivuŒÑ¿kºo
hK;ÿyÝÏ™¸œB bÔ¡;,:ªsÀÆûÛÓI Ž¢<1óS ú}”^1o)Œ>E(çÓ»Éz_oTå}•K~FŠ6¾ñÞÏ&±×:áaë³(ýúoKgŽãEX“ž±p¯kxÖ8S¾ôjLÈø¹ì*ª>‡àÝ‹ß-Ót4oúˆ~}‘uØ™(ã®uCSÎü8¾ÀÏíJ曪°ªLÓ]L}¥W·þm£WUa­ºîYLÅ)¦þÒ{·±ŸŠ1~@Ù¯­J‡x]£!>mtרÅgôÛç]=£iåMFܼŸu#2½ÜT#ËÜÒh¯ÖÝx3*¨u†~TAë|ãN~N5¨mùŽPeâ{ìÔŒþF¨ï±z; ª6…ñÏÄD]“knªì÷Qž¥Ò:÷žÄ6Ätˆ£(OŒÝüˆþ3J³ÜÌ
_WF×úɪY@_/sk$õ~x;¹i¯>
+GQŸ!-ugÎX“Ö±pT êåÖË®ÞeõÚú_N/wŒß÷ò/¿Ü®ú÷ke·iO¿F1£˜‰16|ÄÅŒ¶ßÖn|Þ¨rÑNv¾2°ôëG|#ø7ŠÆJÇÉAŒ£hñƒë
ÙTˆZ—åy)ÏõZ£§¸hÄ[ï²5z|¯¶Üëµ!ˆÜðS,›Ž:ê9¿Qþ5éÑj|ÙN¤ñs:¹)”£ˆZïc¬Å9ŠCÅkª	D…É—C*cªF¾d×Õ1U£äÞžkdÖøè(ëüê%ãæ,
O/×õÖÕ‹9·ÔQ‘ÛÐDŸ´ðÏܧnbb:	ÄQ•'b;?¢ÿ„ŽÒ*×U'~ß±.7b‡¡ìxãß³(µã±Ï?U·–¯tl"«>ý2ªú,
Ä&£øž	çÓ±&Íbá®—¾_c
I›–§¸éåWot‰áˆ
Ÿ~¢_O%¿›Ì§W/¼â¿³3¢Ä‚ÜbâwvU%XµÛŸ@j8Û³:jMŸ7^ ê~Õ¶ðã6‚X7ºàyM–@ô[‚ËÿÜT{¯-|Ugßð¨j(Œj×û§°és5½ŒÖEKZ~‹HâÑËxëÒ)çŽv…4Ž:ê½êµ	‰Fk´[£Âm-~t§J¤ŽB ÆuÈU›Cô+‡}šì^¹Ækt°Ö&,½Œ-qPyßQ:útU=Ve¢@ÔθÞÄNÍÌèeârËß½ž³ûs
®“E#ä~½¼ìåֶź{²¢ÞËaŒ¯ÇAÊùbUÇt“ï Æ÷/
°_?…=Žš]Ïœ¸ùTݬ¹éó¾fHx§îƳëß&±jÓQÕgQ ²‹©¥Ôøˆ5i«aÿ’ê¥ïǨ§ÈzÖí{‡ê¥÷¹ÜïÕê7[ÐîiÑô#sµî#È÷Ýw_{Ó•ø¹†¦Q=üž£iUÆWºM7Ȩr+~ƒ*
2{ÎO5!o÷üQ
Q/òb<¬ÔF59ý«¢ð&6Ìs=Þ©ˆ›àh]dÎøJ¯NœèK>}rnéÚ(7©ñhUc>nt‘ËûV/êÞÓ˜ÿsS„}—\E+ùܺ…m²Ó@Ÿ–:ÏM_RØTYÚûÏ
œsÎ9nˆgU“;Ú-ÕûY÷VÙF» zNrK
²\O¿ž•8ÔzÙÓ2z7}ä^ÎÄÆRœ‚š{&^‹ïAUìI¹2Ê÷ îô™›ò…–˜Õ¥—fD(ŒzGëò@d¤ß1/j¦*M%|úE1©NTÏJvëF¶•|žRã¶_c±j-¯Êb¦\GJÓ:(®Y¯Úñ:~²Á:G|Üšäo¿î<¦¡¸÷[žÈý˜ïªD‘Ͷ²¼pá…v¯¨Í¢Ì-cçº9îóJÜxNv?üðwäVî{вË¢(&Õ‘àÃ$·£Q»ËÛÉ­cÔûííh
tÎŒª>‹;ð7™æצbMZÅB/£Mêy¬¼¥)6~Ëbÿí$	-ÿb«ò­EŒ…¡ßpÁ õlÞ½Ü{³«c"zV
2_))žú‡M…ÈP|p‡¿qz¥ù)w}øêzü|å6ìÉÈ%7]Haô
9…óú믷 wý6U(jØzcq—šµ=¾A`ÝÕ¨’7굎£Œ
oUAíýªÕ‰Ž*«ÊÚ§£ÿjâHFtK#
qª£ü®ú|B¬«Â÷¹éŒ‘q!ÒÔÆ8åH
 ™Ø(Ÿì4°Ñ~ŸN:WÃKÓ¢ÄOùV›ˆØº.½sqt%îܨ¼]eüT>•#ƒ	õf½—jÐù°©l³´VG‰} >n%·b#TBȧ‡ì˜ÈˆéV‡¸&\îø2CnÅN;ùkÆû5Ê÷Àw’(LšZfFù^,sb\v÷Úk¯Žu£Ê'ÊÓÆ«ªÄÜÏõžÈmÿ§+±ÜÔ³1¿å6òŠ’qõ,}ü²Õ¯UÂÔ?ÏM ÖÕC¾.ùMî5­ƒ6Ûl³NZ®3q$ËÏ`1ûMòÙíuUyg	(ø¥£ß\ÊòLn÷ÛØ&R¥jú²u$É=¥U•1ÿtÔ;ÂÛ	jä>õpØa‡u¤¥Âç˰¸6Vu‰OGåÕ¸Û½…]îø6¨·ò¹ï0Ð:^­;U}Ë4߉£ü;¼#C~O?Äš4SŒu®Ïþ%´Ç5J¦‘„*è|”ž‹T,%&­±cnª0ð=x¹JÙ
ü^SâH–£
ýùð«0Ï­±Ñ·­ü³Ußt´)JfWmΨà“ßfOað…ak~û|¹yÐAe­Ç‚_º­k²4…ÐÂ¥cnȺŸ›rè{3sâx?t®ÞG5žwÚi§vcͧ쨡,¿}f\?";UÆ„‚ù­mÁsÆdÙUE8¨‰i#÷4Ê~à¶´–B¿­qjáÒQ#¡šæëß'UÞ>ßÈž*Æœ‰Ì8ýGÏ(ÞO+HdEVfOaÕô+‰Zk4̯4ˆ3,Œ¹£òRîâ¹›\ž×Θ>îºë®öž×$HbZxå¾îù…;6¢ã{¬çU†+ÏXG—¹iG]Wù©FZS{÷Í-5â$Z<»§£:iÔ`Õh‘™Q¾^¨Ë?Õ)*{mZ­mZT—?Œ³ƒêªA:Ë<kVÉ
›D»Ÿèíê]“p²úVuAœ}£ðh´!œÏƒ6\M *L¹ï8ª¾¶<)^.ÑÄô­ªƒb¹R5ÓÇKáòÏæwÓ|`ö{ëò‹O/W•'zW£]åOåÕ]ÖáËqUþó£ÜQ ÊÝ8J§¼âÛ'r×Êåß8SEqÈu<ÄvŒÅWy\e£:ÝlFFŒ«Ê•
Cü솹£rÈOKnl¿ýöeþ÷;ßÛ5³«ü¦ –ïÔ)>ªúÌwºX˜}’FÌ”‡1ãEÒS½®ÊðúÖ ½tUG_‰VÙÑõÜ”‰¿Ø»¨ÆŒzjUÁ©gÛ÷~i­ˆï…’`ÓhbìÕ‘zY%6´v*'ìås‹œ7	¿Âd;°*UŒ¹ÂR#~á²z5j§D*Œšf"L…¹z›s	ò~dÓÂPu”[j¤F1#?U™«ÀŒkJb¥+»b£Æ‰FNU°ëš]×÷ÔrÆDÙUšiãÅM"Ï©JÏÉÜRúJŒ›_¹ã‘GYööÇ{ªlmúŒ*ãØ#/ûú~Ÿï„PÅÃ,{*è5‚gùMbL´…ßüO]÷nZ\z%àÄÁÜŠGñ×;ë¤QƒR£©ÊÛ¹1AéÝÐû«{ÖK­}õ¨æüÔûîGð•^uï†ÒH=ë¹|-Fz_æg(ÝâZÏÆÎÕS^'èÔá ÊÓJ5Ò4õÎ8©§<3Œwk(ZsGå;ùóþÅi¿ñY5°bcÐìÄoËzwsçqªª¹cGM‹
*»§N3£xÌ­¸ë¤ù§£FÁMhÉ~“ü¡çvØa‡¡:éÔЮj4ûðåÞså ùp«Îˆe›5ŠU&¨l¶QYåͪNKcVwôQa•¿šé w_õ´/«O?ýô¶SýÔAzÇâúcù¥6ƒflXÙª|;•eOu®Ê`/húÉí@לŒª<Ùm·Ý*Ë{ÅE)~Eו¼(Ê	DÙS¹ º@~¾ÜÒó±3IÑÕ¨£„x®ƒBùþ¶ÛnëàªgTWȯº??Êì©ÞQ£Ú2ÊÏ>|fÇŽ³JC/p힎ºgÆ:ü};×ôf™QÔgrGï^®þ”ŠOU§¬žÅLOÄn¹—Û^¸AqUFúºF‘^H‰¹ht­IxªFƒäž¦ºVTª\ÕÈQe翽üµ)qjCî9	ÈÜüþh·ªçÕ‡M繩jÑ-ýö½½^ ª/!e
_ÿ¬â“k˜ZlêHS¹¥ÊË‹{ÖŽð;$šÿbj½¨š¦ëjDH0z{íyT¯snšœ·£s5Údª*³/VƒupÄžs¹©iT¶îÏŽb¢p[ƒIþņ¢…Ç•¶~äÖß‹çþ]Ÿœ Vdž5XÕH47Ä@aTÚN•4Ðè^ޝÒSÏui'§>[œí¨xûÝ:÷zÝS#¿®sNlëüRÇP|w5ê¤-3~“cùµ45;½ŽÊ‡¹tVž4¡¬©”&VÄJåBîۃþ>¬¹£„E,ÇõŒf9ÄKSÕI½vjôþö:W¼ãû$¿”õN‰™ýVÞ¬+gå—Ü‹éla×Qù~Ö¬Y½‚U{ßÊH•!U~©ŽË>šÖAjPû0çÎ%®•ßs÷ü5ÕYÞô“üsuçÖ'zǬîòaW˜QUžÓ=1×Þ¹Q¿(UþÄχÉ
¹«{¾~ôñ«JS6Û;Â?§¼™+Wõœ:ŽT6˜ÛêdVÙË	Eßñ¬gõŒ:É-¼z'ìÇe<ï±¼”;qÔ|˜úÌÇÝÒǤ£¦4û)²Þ>çÓ›À
~‘ȘùL è!LEÁ“ŠB8…Izýë_Ÿ^ûÚצVXaÂCVô¤•~ßxãé/xAúÇüÇô²—½,-¸à‚î÷Tð@œ‹i·ePŠFLúío›ŠÞ²$ÅK*z&Ë´Xxá…kƒ[4SÑèNÏ}îsSÑ£›Šž»T4RRQ`§%–X¢dºøâ‹×ºa7‹^ê2²¿ôÒK—aX`ÊÛ
“΋ÆYŸ¶G?…LEeXrZe•UÒrË-׎OÑøJ/}éKË{í‹“tR4XRÑ@IJ½‡/~ñ‹»Þ‰b4ºLçW¾ò•é™Ï|æ$…¬?oŠé›©MUg`Éö%/yI¶•¯õ>¨|*fY”yYeÔ«_ýêÔ4O÷ã©ÞóïÏxFéÞÍ&ŒV½Ãz_þò—§ç=ïy]^«¼UÚ©¬³÷ªËRƒ*'ŠŽ¶¤0®´ÒJéYÏzVÇSE®,t¿®,å{P4ÖJvÆMÇ:Stj¤¢£²,ëÄ«‡éùÏ~Ý#ßså¡Bô”ï“üR¹ª´*Ÿé_þå_ÊßM<Ðû©²Cî)/µÔR©Õ/Ëêø‡hâD­¥Ø¨NTú¨Py^tâ•e¯ê•õSÕô›šÆcØòDïŒÒ«ze9¢÷Úò¨Â\Ì®I¯yÍk*ƒS¨²N4Åžé»ßýn™>z‹©ýexÅ+^aV&äXÁ2…Øk·›T×Ë¢0BéÙÏ~v­ßÊSÊÃË,³LYÇ{H~#™iùå—¯Ík*ÏŠQÒ²¡w*W¦ª>Sû´ªeY¬w W-.§âôK3B'QG®C€¦:OúÓ¥0Ô§0rFŸ˜Xk­µÒ©§žš»Í5@ OÄ>a}<軇¶î°*F‹-¶XZwÝu«ns€ I pöÙg—ß8¬óJߪ}ó›ß\g…{€@CĆ °@€ @`Ü	 Ç=…‰ @€ †ˆ
Aa
€ @€À¸@ Ž{
?@€ @
	 ‚ @€ q'€@÷&~€ @€@ 6…5@€ @ãN8î)Lü @€ 4$€@ljkwÞyg:ýôÓÓ/ùË´ß~û¥VX!ëÜí·ßžŽ8∴ÜrË¥7Þ8-µÔRY{\œ¹æÎ›®¸âŠtÂ	'¤O|âiÅWœ¹0¦PÌ/¹ä’tüñǧµÖZ+½ûÝïN/¼ð
]³ ŒCšÅ´¹­{ï½7zê©éá‡NÛn»mó´ÙjµÒo~ó›ô‹_ü"]{íµéè£Ð%›H<ð@:묳Ò)§œ’>øÁ¦u×]w"½›–n÷“—Ç¡ì‡84ÉhO=õT:ùä“Óå—_žÞÿþ÷§ÕW_½Éc}Û¡=Ü7²Ñ?P¼Ä˜xòÉ'[]tQkçwn­ºêª­"ÕÚE¥ŸõíñÇo-¹ä’m{›l²IÖg»ï¾»U4[[l±EkÙe—mç‘«¯¾zæÁ˜‚1.{;Mô®rÈ!S0”õA‡8ÔǰÙÝ¢ñÓ*>­=÷ܳµæšk¶Óõ}ï{_3°õÐCµ
¡ÑÚzë­;ÞoÕ˜©A`Þ¼y­ë¯¿¾õï|§µÎ:ë´ó…Þ÷üàS#S ƒäåq({Æ!M³Ï·¿ýíŽüÓM75}´±=ÚÃQM¨Å4¡®ÏPÇ¿öµ¯u¼@Mâe—]ÖõL1Z4C	m#0gΜ®|aù©ª³Ážå89öÞ{ïŽ4z×»Þ59ЗqˆÃ(pT•Ýn¸á(œÏºá…¨½Û:"³¸æËÅsÏ=·ã÷é„@ü{’’—Ç¡ì‡8ü=ëÏT¿ùü¯¸ÚÐ5ÑÁÜC Æ­ö©Ç{¬õôÓO·®ºêªÖ«^õªŽ—©ªQÿàƒvØ[o½õjýàæÌ!pÿý÷·Šé­·¿ýíyd"zîfÕÑÅôœsÎéHõ°N73qs•Ý9ꨣ:Ò´˜ò?
ç³nÓW[ê,¦(wø‰@Ìâš/5+è‰'žhýñl©³À7ˆO’Aòò8”=ㇿ§býYìDÓèé¨
íáQÌ=â`Ü?õ¥/}©£2©ˆrðâ‹/nm¶Ùf­/~ñ‹­»îº«§šb¸ÿþû÷´7“-hj¦úþá˜ööØc޼të­·Nû8CÔ¸ÿéOÚZýõ[ßûÞ÷Z½ŒH±†©—µ‘Üoò‡‘nŠ:¢©¦^¨\ž³Új«µýE Nñþý(öh§‘ò1ϰi^‡²gâOÅî«ê@ûÖ·¾Uv”{ì±ÝFt¥ßöðˆ¼ÅGè`LÄ©Œ¾¡Q'ûñ¿X$ß*6(im°Áý<6ãìJ@‹ÿ5×\3í㮵m>/ýîw¿›öqš‰¸òÊ+Ëtœ¬Îqz&3¿H ÙûöÑ~tR¼V'ƒù‰@œä}{¢ŽYK#ˆy„äå<®B`º@ NpJYãÌ*”QDØ4buú…ãã(gÍšUyîLIš.¬Ž•“!Çí˜ÌDõñcûؤx­òÜê
⤠ïÛÕ%–F:"óÉËy.\…Àt!€@œà”šøÍo~³]A!ó	xÏ=÷´^ô¢µ9£@,>Ÿ’þ:¿ï¾ûê¼›°{mÒ|3qŠéïÿ{»5²£ûÈ¡AÃ3l:Úf%ƒ=÷îj7Ú6Ú¨ãÝíG J\*_ßÈkizy/3Ì; ·sqèåç°ï·6¸ˆFnNÆû§mÕÿò—¿t¼û^ nµÕV1hµ¿•^Z—Ô¯¶Q=lDÖÚœEF45ƒ¾¯MÝ7{b«÷@ÇL¶D *Å´Q™ ÍÇš¬YŽqì·<ˆÏ÷ó[á¼í¶ÛZ×]w]köìÙ4/÷[ö(Ï)/(œÑèÚ#</Oøï&qP~P¾ðFùZû%¨½5Feƒá¸ãŽkm·Ýv--ºV£AúÒn»íÖ³!Õ@TE¡ïÝÙ6Â>hzÁvÙe—ަ¢¾‹W|¤·ý§ôý4üèG?jû{óÍ7—N¨"Ôî}6â!¿ô­.UMŒvöÒ&=ï|ç;Ûßx”pÓ†úžT“†‡Ò;ìÐñ}0…g5Öh}ùË_n­½öÚ­Ynª¥6nñ#‡ö·¾õ­mFqGBÔâ¦oɾxèšFj­‘ø†7¼¡õÝï~·ÌÊþï«_ýj6øûvþùϾÃ^î‡6/Qøü÷å·üˆëYG!%¸µMµ¦,›Ÿ+¯¼rkÓM7-¿å™£6ýQ«þ;ì°’aÕýº]ÏTtÐA-­ùR8”JO­g9üðÃ;ð1lMÓñW¿úU|´lÌ+Ü›o¾yÛ_Ë;ÊcÊuß?ÿùÏå”Q}÷Tï£7Š“½Óæ¦ŽŠŸwsSvÚie^òÏé\ÓTõŽüäÐsuqÐýhÔ±ß~û•̬CFï‹Þ÷/|á­s‹Oô2*köÚk¯–ò¸ž5£ïú-óå¾vÏeCA#ð*ŸT6_…Aï‚6H°w_÷z	Då½#<²,U6™{r[e¦î©1ÕËôÛ¨E¨ŒUÞWˆ³Œ:X4­Öâ¡|ªkÑ\zé¥å&`ªÅK*ï¶Ùf›Ö¨g8(¯ì¸ãŽeÝëÓFåƒê•ÛÞ¨³²×}¸Tø{v®¼§÷!gš
D5œO<ñÄvÇЙgžY–!1o‹±üU[¡®ŒQX)rqèuM"âûßÿ~{:¼å•OT(Ï×™~òr¿eÏ-·ÜR†Á·-6•©Ê#êì)>æ^Ö»ï¾{;˜:·4öÇ“N:©mGq÷÷ü¹6#«2Mâ ¨²å³Ÿýlù®ˆ£Œ:þT_zΊ‹ÚÖyjWŠ…ê¹ðÁ—~J¬©œöïÒ>ðFåö7ÞXrV›aŸ}ö)ÝËýÓ>	¶Êâ&ÿTêUúU™ºöpÕ3\-b
O½˜ñ¥µLnGUNu
¡^Ñ^ÞM6Ù¤£pûÞøµDæwîØÏ7iÔ(ˆŸN›7ÜpCÙh˹¯k*¸êzå'5Šìy5šUYX#Ò®«p9ãŒ3|4;ÎUàšØS£K•£þâΰ~tÐOá3rGUÄúÖÎöÛoßQ@Ê®
ÎO}êSíðÛóÿþïÿ^ú™©!âÜ=à€ºâ[÷±mõ„û™üøú׿ÞúÆ7¾‘­¤¦œ ðáèu®‹¯,žþ(±‚:ûì³ËÊÙÛ³s‰`UvʪˆìºŽÊ7ºêIÌU&Ê+þ™x..êu73H:ÆOȨ1aN<ôÎKŒÄ¼¤F²±Ðs‡zhׇ³£@ŒŽq²ßÊ7fÔøò«ò˜vŒÓûâß-½S‘g·¹ò«i,\v¼ðÂÛï¦ÜUX%¤£[l±E׈§zªÅ7–b¯r%Ž´z7ÕÈ…ñPåÞ=»Þ?;¯ˆ¾LXÒ»n.æ†Ä¢u¾UÅ¡ŸFõ0i ||ê©§vÕoV¶«Qlá¶£:õÌè½ÓN†v¯êØÏ(¹¹;ªan~(ljت‘ûRÕqÆÜ¸0#­÷ê3ŸùLÛ}óG›ÑäL/¨:J﫹cG5Òs×í¾Ž*{TvF3LyÝêõ[õŸò…Kõ­Ê}†EyÛ®KLäF£Ìý^yyвç˜cŽi‡Aeª£ÔyšË
«:òÍè]U^ŠùFäf$âônHLÆúQe„7Mã <ó¹Ï}®ËßvÚ©ì0¦¹£êDß	îý¯;¿à‚ZJ£è¦êe½'1nÞžF‹£QÙµçž{v•Û*ræüóÏoû­ŽWµ“5âÛº
ƒ7MÛÃþÎ'Ž@§
™8¦ËjtYcÕR©b•°ò/“Ϋ>9ÐK ªS!—{Y=4UÈêéU/®÷[)]·¿ºÛ»§stÅ‚Rn[¼u®5òbøªL-¾rQÁ­׌Fý}ù¡ÏzäŒoèª öFœqЮfÔøõ"Ú}UÙ#MeS8ü}îàþº&2Jk=
D‹
To¯J ª‘âGKÔsëòœFÔ¼[:æÓ~4R¦MѨ¤‘?Ÿüä'}pÚçêuaò›0IXZ¾QÜs
sL•™ÙUãÏF+4ÊÓC„Ú0é(¿•/ìP¾¢ÛçAÅU=ºf4ªéßc¢wÊ{j8š•Ζ'uô#Lz'Ì®ü‰Fï¤ÝW£Í›¦ï€žiï¾ÿ(´âïGdäwÄâëËGåwßдxè¨Ñ	û­²-×AW׋ïÃYuîņòRyÒ÷k-v¬zÔYbùVv/ºè¢¶·*÷tßܰ£F•ªL¯Fµ=7lÄzɦºHù×~û£•ÓÊÏ–.JÛË/¿¼Ì»Š¯F==ÿ³ŸýÌ‚Ý÷Qõžï¬‹
tú0ê\³"¼±‘³ç¢·ç®²;¨@?+SÌOT§§5;¹
‘†)|{‹·ïP=áÞoß±£O/U™^yy²G"Ë8éyMöFi¯Œ:W©öV¼®ßŠSŒ«gî\>­Ì]ßþRù­²-Ú“½çfTß*OG{r3'ÕÆ²w@ez4þ[Šþ^Óö°†ó‰#€@¬`k½ØÊÜqE¨7Õ^8ÕÀ÷
šŽzà}\s£ƒjP{;¹éènÕo•—æ–ÖÀT/$e?×q¡ééæ–:êzøcGJU™Ñ«Q=i`$ÕÞHÌZù«2_å±ìj»ÊÄÆ¦Fú5¾£JÕÂ݉<æ!ÿž+ÜU1vú#FœSýì	@	-oW#ŒfFU˜{udzÎ:«#¹OxD!]å^¯¼lÏ5){Ô6ðõŒ¦€VM‡õ,sQ[ÞN•@ŒU±I^uêz•îz§s&Ö÷zêʘœº¦%ÞO½›êÜŠF£ÁÞžD^ÎÄQûœ@ô2*ãsÆ:þªâÔ¤=œs—k£#W!£sZºä7-P)á—ûó½Çz±rb2Š/ë…ͱÞZ{IsvT˜Ø}G!ý”+¹™URXü´ÙSáé
¨ëYÔ3jôYCÃâã{Èâ:2Q¤É"j,GÇê
¯2±ÂÓHO/caÖ±ª±'7¼½œÈò
äÜH‘G\O3ˆ@ôSÞ4u:—¯uÍFg-üªœ«LlT(]íÝÐtÃ:ãGŠåWUxÔ °°Ø1ŠÉ~ÒÑ:äVU„…[ù\¢Z#Ùq¤ÛìX|å^SøãÿØï:ú^úÜû¨Æ«qÐѯ½2ÇúyôL¯8ÄrBkªêŒS>ŒâMlUåi?[nªAÖ¯‰ÌfÍšUéDlðE¨g}Ü4ZTg¢ßzö¦›nêz¤W£z"Ò NkÓ4Â*£o寪÷5޸׉É*¿4ÕÜüªÕ³J+ÍôP£©˜¾£Q÷ç—@Ôûaá×Q
â*Ë7½‹ÞŒ¢<ðîU«±ní½¯¹Q¤ø^çf^Èý^yÙ‡¡WÙ£õ€ÆRv«D•ÜŒK;&C Êß^q¸DH›9U_GYÜséQõ¼]ײ{^Gu¤æŒê6oϯ9öö#ßœ@Ôò	ï–ÚŽ1ÍÄBmƪò¦I{؇‹óÑ@ ¦ª\|Æîç<×#=ÑQkÓ†5±Ñ‘kÊØ#ªucf4ÅͳRåÐËø©•zÖ\qZîK¤Ômjãý‹ãºÑ̘Fu
GóÃÇuPóZœe~Ù1N«jL›ýÜq—]véH'^çêÉ®2±¡/·4…$7íÚ»Åe¯0øû1/ô“ŽÖ{)÷Ô£:¬iÒ8ˆSLµ+kÑÌ8¢¬QS¹§…çÖµõó(½â Ï_8u&×ÀÑ5ob¾©ÊÓšâéýŽ
ïfÕ¹D„¹‘«ñ9Ù1û¾l’=ñ¶{:*ïõ2qDU#_ÑôjTODøNªºŽ …Õă{“óAÞ1?²Y5šùå~O¨)’UF"×ÇWL£Ð¶<¨ò;w]õ¥Ÿæ-;ú­¶ŸE p榷Ë~¯¼,;fz•=ÞO?ºjÏûc0SY js¤:gT-õ¨s£©@Œ£›9nò'ÎzÊ	D?ÌʵrbUaG V‘™¼ëÄÀ:Ž\©QÞô/·#6ZG=‚ØkÔ)D/û³©@Tå`/»Ž^ j-Ÿ¿§Þß^ÆféYxã§)x·5òG/ýs:c¿óe´Óh²bÌk½AQ ÆÆvŒWî·j6ÍÛÊ#u£6~:˜¥•žée|O£z›†Göâç~Òцk
Ȱ¦WGîG˜[ßS´ªçÞÒg›ĺw@þöŠCÜ¥´É÷£ ˆ#°Mbœ><ˆ@ô
Ö&ÓTë¢Ñÿº)o–¦~ôMÏ(FãØ±‘ÞÏ^Ñ3QðéûÓ=Æ;þÖ¨‚Ïß~½T´Ûë÷tˆŠƒꊻ>%Pe)ªÜêu]bQŸšòiïÓf¢b\Ëß«m1N1ÖiUK!êÒ°©@TçœO×a¢Â—$™ÛZšPÕèã@ô4æÏ91pëêÅáÑìÏø‚«@TCÁ
sŸ(î@Dšîâ×y÷u®i7±—Õüˆ±NôÅ4ª³kîû°:‚óZnª¬ù§cd<ˆ@ô½ÔUë)¼ŸýœÇiRò«júˆ¹ëþ¹)¸f¯É±ŸtôB9·Æ¯‰ÞN/q%»ƒD5ý޼6Þ~§òbØ+_÷ŠCl V­ñ\âû«Ï¿x3™Ñçý¸ó«“ûøÆĸãe¤)žÜÈ„x±ËC…ˇIn"
¼Ÿu1ŽW­Ñ3~ÃUOzVuõf/¦‹@Œ›Úhã“h†)¢[½~KhÙf}J	Xu
Ç¥-%P}^¨ÚôÄâ3N1NSÖ1ýšù%õ™2?òëÓPå˜Ö}Öµ¯ˆý¦ôèí#ÓØÈt§Hs6ºWWÑ5y!Ôsî_´AÖvXØì8ŠD½ì>\uX˜¿¹i¤±ÀÐïX!y4u)·Ëlˆq½š…AǘF½ÒzƇaPG!êÖ¨ÈÏ(5å¨_ãÃÛ™±_÷¼ýøyù•›víŸñ½æÆô“Ž~SMýÖôWr?
ÄÜšeØ{AàóG\ÓÖD Ö½ò·Wü}¥­ÿ¼…·?Sšãº–ɈR>ïK,ö2ž}\+Ëjí¶ÙËÄéÔú„J4^¬Éÿh&"
¼Ÿu1nv1Ìç+b¼âï¸Kï	'œ­4þ=]baŽåû°åAc`…E?ÃByÂo4× N´@Œ3´9T'ãîë€:þÞüˆ
ƒÖ§Æ2ޗñã͇;–±þç“C8ëc°>«RÆÄFë¸
DÍ÷ܪ>MYúgêÖ©¨1ê2þ9<ŵnÓA Æí¸{mè¢zèú5~”¦ÿÊ\ýõéïÓ§n:p\‡Z5"Ü$œñ]«úñû†¹]Ýšøiv|ýé&5uÑÇEB!~Êe~Ä8]´×ˆ·ØÄ-Öã4êØx¨šzäGš•·úb;ÖäF쌲´´£ˆq­_Ï(·zjÈ͸ûŸ}WÐüÓÑ—q98iàý¬ˆÚzÞ¿×ÿe´+¯÷K¼5ÓE ªSÕâÓ~åAS~êÔ³ph(
ÕɈÚÉ£cnäÝÇmœ¢ÿÌ‹â^×~ôüùüˆÕ¾SÖ§gU»hôæßØÇua¹^ÞðHùS
MQCÙ_°÷zÁ›¼±¡Ód¤Î‡'w>ŠĸÀY\¯éOj”û‚¯§”PÈ-ÈÖ'-üT1{>nóbÝhGL£:aaüÌ_•nUÆÛ‹S(ãF½Dõ(¢ŸZ©°Õ‰7'u”T5‚µ#­M%Qϳï}–¥U[Ôû5ˆ²G˜|ü¹*=5Úýzý¤£ß!Qþj4·‰QžT$šAbÕ¨SÜ ~¬Z~"ëÞ¹Ù+q£ñîeü¾Å9¾[“%Nß9¢°DÑãR'ã†]Y½ŒÄ±üµ¿ÜT/Ö¢Hû‘ÞÏ:(ÿ=å—Üì
Ù‹Fy%7ÊíÙïø)ù×›]Ty ©¼^üOhŸRþðw£*<§ªsåIËŸ:æ¦O¶@Ô7}˜”Gc‡°Ï8	Dÿ	(1¤u~Dµ%ì½QÛUŸ:òeˆ¥«îEÓ¤=Ÿá÷h	 ÏøÍ!e`íÈÔËØô¸
ql´Öõ5y!¢@œÌ]Lë6©Q…_|Mª3±âókâì;E¹F„¥¯L•Fqn~ˆ¹‹i]'‚€:F¨½ü}‹I•‰±ê#ßUÏëº_Ï&ÿš¬ÅR²Ò¶ê“*–÷%Ü%Õ1`‚Ñâ';9¿Y%zm~¢ÆvDÓ”T_±Äw-Šï¿>RoaÓQþj}O±Î£ÜÈ_/q%wãÓª]Lý–ö
[njè ±îPøzÅ!Šù^Ÿ²‘›±L‹ß®œL¸ñÆw¤y]ÇŽÂîË3t{cyÁç!}/°ÎÄiø¹Æ·kò?š‰Hïg/¸Ækt0ÔFb½ŒM­­û¬KÎ
ŸÅYŸÞée´6Tå‚ÏgQ VuŠú;ˆqýXÝ.¦Z«íó›ÂlfTå¹Wwl’&[ *¼þ=Óyœ‰àã¤Í}¼ýÜf+Ö¾0{U“Ê+fGGßFñ~êÜçתY$ñ3qfBtÓ/Á¨r3>Ϩü[5#L^åŒçš[oëŽ/~O<b†qeQÏs]ï»56U9E­Ã
ĸ£W¯Q§žÜïQŒ ÊÝ8r¤Ê¦Îè³VH¨rô[ú[^µöD"ÄW¨ªD½‰ëûê¦ÃÅ4ªæ‡÷»ªQ7uЄÞHÜÄ])ý(ª·«óØ€©“ñYûkØÖ}ÄZ½·&ör[T[:)=ãœ?ZÃÖ¡úŠUî¨!_ÕSªü¯u·²'ÁìM?é;'äžâY5mW?
§Ê/JÍu^äLÜé·jD6v~ä„]\£•[›ÒÏ; ðöŠƒÏ÷b¦t®2âäÝT§M4MbÜî=—Ñíø[‚\aö±CÏž‘ûÞ^“êS'…·£üWgü†±,°ç|]¬£™ˆ4ð~V•eŽ(Pu|T"(rW3
ú1êüô|u^µ‹£ÒãK_úRi_™ÞÄ0çFne?~BDïkÎIJ-÷1y=×@ôySïŒ/ÿFUäââ¯Å<¯päL¬q
ª=ãóU./›=}9‘+?ãwPõîUÍP²	Ë;9Ó°ªÞUûÃÜѱn¦I¯8(žýD•MÞï\‡’ÜìeF-ãmìœWx¬S¦ª>U;ØÇ-7˜€@앲˜aedp'tRG%§-˜¶û¹Æ†^ÿ"Tõ^*q]”¯$|0½{ªx}cI½”ýŽ,™À5w«6ЇìÍŽŽñ;tê‚Ç‹«‡ÉÜ‹¿	?Õ&>ï…|¬ô£XPï½MðRÜ\¥NÄ›±']‹É½Q!Y(®qWO¥—1°ãN;íä*Ï5²§ÖƆP×C<7óS¢Ì¯ÿRƒK»’šŸq“9­üYw?N/ÔˆS®‘¨–…ÃŽ²«
Ñ(]¬±$1§­ö›Žq4U~ë}ÒTÅ@LöØcvøªv«´p먼‘3±\ñ¢CqQÖ»¬žbï^l¼(lqº¤Á2~êU?õ~VÅ!îÄ©2Ëû)wÌø)•âš+Ï6Ûl³«6‹£ußä4ÿãQáŒë`Ô¨Ë}þ#–‰Êç>/Êí8@q¬EŒ
C¿é‡§åoKÏÎG¾ÞéÕÏuè(¬ZOí×ñªœSž”{ºŸëÀ°øTm悱°£„œ¦Ë…G3|lm¦„wL§8KA³&|9¤|;7å—ÞûœÑh‡…EǪѧ(«f`(þ}Ž‚sTåA..þš˜øxé<Ö«ê°45»*×db9Ð$/›ÿæ–Ž¹²'îq { >åÖ¬Y³ÚšæfN Æ™b*bÙ;áä^ÝŒóOÇ\¾X¨\©š¦m¡rOuö &
ͪÍébyVµÁ\\œk¯˜@Ü¥f²ÏGJ·h|¹$¹ú#>ÃïÑ@ VðŒ
ÿò«0ñºîåÖËÉé¸Í»6Á©2ÖØ6¿ª¾ýä…•ìj‡sÎ9§<Ö…¥Ê߸áBU…gbØÂ—+@Ô€¶û:ªÈM‘ó
0Å'V.&åFî»GjP›“~ôQñôS¹¡4S…­Æ¿Î½ðŒ£M¦BÅM3ä‡Ö xà-ÛlÀ€º¯?MÑš2+ì$Bbï¨ì©òÓ|}5~Ô1ó›¹§
«ª!S•Þ±÷ÎÜÒQ\ý‰‘]—¹ÞZ«Àd×7Í_­ŠâH¯ìª¡'?Í?Ôóºgi­{ò/Vær§ßtTTùëÃ`çjDæL)Vøb~Ösq]•ÜÕgÔ€UÃVqÕŽ€q»{Ù“°QÃØÂ&;êYMÁ'<ý¼Mã üGÎ4r¦ëþöÎ]Ū%Ã¥xAEE¼á
Ñ@ÄÀÀ8û>…o`ld h"'ò!ŒN`âcœújQ–Ýkö÷÷œó7̬Þkõ¥úïîêªê[VƲA&‡­åÐrZ”¹§ršsþ:»@ZÔ‚xÑßb&*°'ü¡%ð%ŸªXЗ«á…%φõúiÑfj{ìûVY¤UÇ®šsó“úŒ¾šûý¨ßÌåßæòªyS´ãêà5,õÄJ²Á[+ö”ÚëiUÐëòãÈ¿*ˆÐOÏE…¾ôÁkkûY?ÈùŽüµŸA«”·j;	šyïÇp‹¶eÂ/Ê{ #òŒ'uŽ¡
¡*Ò¦§ ’o-¼“úưÊm¬ž‰´xRßu›Á¢e¨
"éeC!tÑ'óyÚeæ9„YÆUåÖsȹœ£%¢õz®Þ=¡ ’^oïqVZ³,–éªõ3’‡sùW‹€ÄžXõæ”Äܑꌥ¨®Õ'˜»„âp
of›PršøaRÌ¢ÔY§^º·@ƒâµ×,dV0æ¤Cbö(ö‚Ak]†á˜e'òBxƒqMttzf>À%/•Ä2ÖÛg˜DÒAÑf–«2ÖhÒHÿÓ§O‘õô„æLC„å	ãChÀŠ_gYøNò¬Oê¦ÊG#‘ïjüü›z¢çwøÉ#ŒÖË–¡§ ’&ãZ´‰<QÞž1tTù=r#J_oœ`{í
GÁs«B]ÌfÇbäEd»^`4¡]„Ë
"éÀ÷˜y$OÒŒ¼À2oß‚–eåáÈSÏÕ# qS'„“‘°†°×ë¼yvŒÎ1úƒYô–ûÕð(•ÙAÌ8‡ƒÆ‘•>ÇÍþžò’Ó„QáêŒAƒŸ}DÕ1XŽ„áˆÏLÚHxˆ#á)û„ÉÑR-è©—‰“/3s(.—™Î ©>äG޼ëñ1,ľ±À˜e‚0מ@ú,-d©FOø ^`꤃FhÊ‚êˆÆ¹÷,)ɃQ.;˜³/¦Ö
@~Âg‡Ñ ¾ž¡ÈD<Ò®í:ÇeÉj5F¬¢”PVzØS¿¡¸ñµËL3ÖÿìdcpŒp´ñºŸ”]Û)C”ÃØ\|°û§³túƒîÑ“Y¼EÚ†«í8·^ß…føè§Q¶¿ÜÂÌcàÞËC^OpŠòѶh«=W•툓Ÿuˆt¶[=¥;çþÑwäÏÌ@Vp"O°Øê”Ø(Ã"Oö/÷ê\Ö«]Ó¤îêµBÐI|Œªð¹è+`;ìÚ\o4’/ˆƒ¤ŽWÛ‘‡„CÁ¶ÀâxeÉÍ D>X˜æB‹Ý¸qÃ|´£GÎÄZÿ'·Ø˜+¨väÈ‘FÏž={ÖŸé’9¸Ðo®H™ðæÌÛnß¾mwîÜ1mß¾}ÃÔ\	6gvöìYŒ-®›æ¶9C7gZvüøñaüøàƒ–ùA	vðàÁçØ±cñi%OhseÐÜêe>X´¶qúôé)mÊ~ùòåömz¹…Ç?s†lû÷ïoq¯]»Öb¸¥Í|€1·n‘ÂrŸÝ
j.0›ŸþÖð¾yó¦]¹rÅöîÝ»\B+
í‚R£…6sàÀ»uëVk/ÔáºÏB´¶F½º h‡Zy–¤M{qaÇΟ?ßþz™¸ ÒøýæâÅ‹váÂ…_êÄgßÍ­²výúõÖÆ{鬳@#ퟺò™®ÆiŸôñ'NôÈÙ¨w®6ºésðÚ>ýç±¹€cËðx2}	<ÀýîÝ»
êo]îO×|𱑾sõêÕ69sf-ÅõY‘V_ô!øì¥K—–ÊÇ…þ>
c‚ÇàèðXƨU87ØÚ‹/¦¤|öÑ^¾|i®lš„Ú¸FûÊãŸãY?è$ýË+W¸íÛ·oæ+©Zž:uê—0´uø}f§eÆ,úý÷ðáÆ|¨=xð`¢×D{óæÍô»zÜ@hn,5_1dçÎkcxðÂúj&»wïÞ¬¼RÓýv…ÏNž<9}öSLííÛ·mÌWØ¿ˆ1
¸Ë<´ÚuÂxÎ…ü®È«ô=êMn³‚¸Ùõ#ê„€B@]†ÀHAÜeÅØuä.« îdG
âNÒ ¼„À¢HA\)…B@! „ÀHA\¤5‘‚¸P•äÿ)ˆÿËjW¡…€B@u! q]ÈΧ+q}‹" qQ¤N! „€ à‡H™º1…ô•ÌO*~˳ütR{òäÉ”øV{§€;àa?9ûÃùæ'dÇO=…ÀF! q£ªCÄ! „€»?‰×ü$É©~ò´ÊÝ|8‡IDATùÉÓoyÖƒÀ»wïìÕ«WS⛤„ù•\öüùó‰6¿“ÐüäÏé·zô¨ÆáäóÏŸ?·Óˆãž«EàÇöøñãvJl¤Ì©ç~Ÿ­ëdÝÈg«'§ûÕæ×ˆüôëׯöðáßÞ釨¤ nB-ˆ! „€B`W#ÀµOŸ>5„þ‘CañKÑÍï½Ñû%@éò{•›"Ø‹Êõ
Ïž=³÷ïß÷>¯ýÝëׯ›bÈU*=}>~üØû¬wBà  ñÀ®L…€B@ÿÜùöáÇ-‹Ä½zÜ'·¸o˜{ç÷úråŸp_¾|iwÎåÍ=·÷ïߟ¢oB`G‚¸£p+3! „€B@! „Àæ" qsëF”	! „€B@! v)ˆ;
·2B@! „€B@l.ÿÿÿ—ÁÄ@IDATí	°5Ey†ÙÙ¢Q	*Z¸—¢HÅ¥¸¥–1‹h@
EEЈ‚¸Ñ’}ÓYQ‘E\@@T@AE#.xÒïÄïä;ßí™sî½}î½óÿOWÝ;sfzz¾yº§»ßÞf…Av	@€ @Ë=ˆË} @€ †‘„@€ @
"	€ @€D @€ 4ˆ$wÝuW:ûì³ÓoûÛôÖ·¾5œ]6~~ãßH§žzjzÎsž“¶ÝvÛ´ÒJ+U°{î¹'xâ‰éî»ïN;ì°CÚxã«ßc©xÓM7¥ã?>m°Áiûí·Ok¯½öR1
; °èn¹å–ô•¯|%ý×ýWúèG?:Õ¼à÷¿ÿ}s¯Ÿüä'iï½÷^ôgÇ€åÀ4ʃÿùŸÿIçŸ~:÷ÜsÓ‘G¹üA剜qÁ‘sÃ¥Fà/ùKºêª«Ò׿þõtÎ9礋/¾¸1ñ¥/}i:ýôÓ—š¹ó¶çÛßþvzúÓŸ>çÓŸþtzÝë^7ü]kç%/yI:묳šàò‡¤Ûo¿}*B´–½s
çøC#ï½÷Þ&ˆW¿úÕXœkx\¾øóŸÿœ®¸âŠôßÿýßMzÍ5×IûO|⇿kìÜxãé¼óÎk„¡òp¹§>õ©éÊ+¯¬>0DÁÎ	 §— ûAà ƒJpÀc_ñŠW¤/}éK3Ž÷ýÀ‡>ô¡´Ï>ûc›m¶I_þò—‡¿kìHt¯¼òÊ#A]~ùåéÏxÆÈ±eáÇ7¿ùÍ´å–[Ž<Êý÷ߟð€Œã–myªž¿¶@üÚ×¾–ž÷¼çÍ@‹@œ„@ VypÁ¤ç>÷¹3,~àØŒnšq‚¨LX(Áõ€†nHШåYÃÍiÿóŸÿ¼ý\f¶ê)Ýzë­‡ÏsÄG¤=÷Üsø»Öކ¯Zo¬
µ;î¸#­¾ú굂_2áüæ7¿Ië®»îО¿øÅéÌ3ÏþfËå©«®ºjúîw¿›^óš×¤ë¯¿~ˆ ¶@TÀNª|m§vÞ8DÁΨU¨^½‘?øÁšòÚF¨ 02—ó[!—óÀãÿ?Øë¥ysÿùŸÿùÿ–‘½¿þõ¯MϨzG%U©Zc5ª?ÝÍ7ßœ>þñ'ÍEÜe—]ÒÓžö´ê÷X*jNç'?ùÉ´ÑF¥7¿ùÍéa{ØR1
; °¨öÝwßt衇m˜†@´À5øÎ;ïl~"
Û…&P»ö±¥ÝvÛmxÉ4â[l‘¾õ­o5÷B ‘³Ósê…?ᄚ§è›@T#ñ[Þò–f4Á“žô¤žÇÄòe>qùŠožv/µp‹pÁA€ÀÜXÑ®F 	¶˜Œ€ˆrÛm·Mvá"ûòâi¸9q‘#d–·G ÎÞ—m^ jHÄ1dzl?0O@`ŠˆS„KÐË>
D
õÞ|óÍÓOúÓ&ŽˆýKªÄYÆ™æoéûxZlC“ðçê4ßmßž›«=}º®;MÿÝï~—ô ¥VX¡Aàâ›Þô¦tôÑGOŒF+W*œi®^©ô'»×\sÍ»tL“Úeÿl¾Ã+…¡ïjø­Z0W\qÅ’—Öcüã›k¦‘æµ †¸¬µÖZ#÷×ÜÍ\ýõGŽOûǤ<§mÇ|ÃÿÓŸþÔ´T+mmºé¦iµÕV›s¿þõ¯›wcuÖ™S²En•UV¹^B(ž‹m¿úÕ¯šO¯èýÿû¿ÿû‘pký˜†ÝfÛ|òÁiä#fWÜÎU Î%ýbª´,7ßŲæÃ^×*ðï‚~«Ü˜¯]‘}«LŽy¹ŽIpè[º³)CTf­·ÞzÃò]e‚ŽýÝßýÝÄhæ׺ÉlËÕ#”7iá3Ëï¼@|ä#™~üãOl¿žÙê7_ô7»µ6¿VaÉ6•©]õœŸýìgéùÏþÈâTÄÙÐ_"~s„ãÆøþ÷¿?Øo¿ý9Áò
RƒuÍ_®(òüAž0<&„Á@a¼÷½ï¼üå/è:…¡­~ç%Áy¥ª±aäŒfäÏžùÌgý_xá…ƒw¾óƒ¼Ô~îcó˜Aó=È•²¡íüð‡?ìºë®ƒÇ=îq#þ.»ì²ñÇ/~ñ‹Aþ0ë ¼ûÝïnNg1ÒØ’è~zžüm½Áá‡>ÈêHy¹æAþdÄ gl?Ù®pòÇ“Güµý¨ÁÎÂÖ=ßõ®w5ü,§²ïÒK/‰ß,í²âVò¼€†µ±W˜z>ñ׹ȢИƒ
C¶åOSòüƒAþÎ^sE®ìråkÈ_÷΋Îò¼É1!ŠÓ<7¨‰Óí¶Û®Õ®€Þþö·7÷5^Úêy•öu¿¼MñzÙ­´™‡ê6ñž¿‹Vô7ÛƒJׇvXgâavé}ÚqÇ×^{í clµÕV}~þPw“F•Ný_ž@o^šmî99o~Å¿ÍùwSöÌ×-Ö;—…|“¦ì]5¶Úæ9]ƒý÷ß t?‰Ë‹*òŠ®#iGy…ÒCî™ä¹bƒ,î[ƒÓ¼ì /ÕÄñ§>õ©ÆïÏþóÁ;ÞñŽ‘wõ•¯|å ¯bÙ–PÚxÙË^6L3ö|Êôäïæ™×9o§a·Œ™o>8|dHÊgŒ³¶z7ÛÜ|ÓŸÞU»—Ò«œÞ¥<rXþè¼ü)
e±ÐfÊÈñù²W`·ÞzkSPžµÇ{4á+=*Ÿ2›u<‹bþãËK奖/ùí³ŸýìæyGŒÿÛŸG-dý¡dK<–Åß@ï·±­ú;ꨣFÊ7qzá_8PÞÒæ”?)¯Ïß1n¸ª~¦cüà‡y†ÒF[y”?FßÔt«ï©Î¤|èÃþðŒzUÉÏZ6sÊU¦)²{ê:•¯Ç{lSæ[QÞÜ岘nò×¼†ÂÊFå{ÇwÜ 7µ^.VŸýìg›:¦î§t/—ÅÝ ¯ê>L§JêãüèG?š–ê™VÇ5›µUšÓóéOaá–>ñ)wé?ÃT-ü¾0|)¬PQ&î+¦JüÊJN/£*Cö¢è:‰B½,v̶Ê|¢ PÆ–¿ó4Xñ‡lQᦊ‘]·ÊH”Qå©ÁÐêO×ÅB;÷’6Ð2Y[âê{ßû^SY´cq«NNâBÄxÞ~+ÓÕ}ÚÜ|ÙÅp½T<¨¢úÑ~´f“ßv	DÖV˜é5ˆULŠgËd£=ã~Kx)Ža*sU&,Áîíõû*T¢S!,ñ([½_eØ%§Š•eô„ù[‰ÍŸÒ€¿^…‡9«„îµ×^3ìÎ߇2osÞ*šxÑû zoÔ€Sâ¡ÖœÞ=ƒ7=‡¥Wó—¿×8È=ÇÆ{Vůwz·$`$ØÍm½¿I÷û“ð²Æ=‡âùÜsÏœzê©#iFyŽ*òmî¾ûîäϦ™ˆ›„¥*¯ÆÇouOũҚòªüaèb¾¦
¤òYŸúp´¯¼©Í)˜½—zTT£–×6š¥-ˆÎãÓ²{¾ù`í|¤Bá䤱FúS¹hq) ÷Ý~—¶Jw×]w]Áêÿ;4_öÊs”+ò÷ß}÷ÝùÓÅ´¬:ÇG>ò‘ÿºÖ7"+Ü“O>y p|¸Ú¿êª«†Ï³Xõ‡¡;Ê'ôJˆÅgP™©ø‹Çýo½·Š9m•o«Ü‰ùƒÒ•ÆýµÚWÝÄ;åç*oÍŸÊÕÕ¬AÝŽ«ÝW"Ò;ñ,‰¨6è3z‰KïTQ·gËч§´/Û|:1óˆê=·°”öU°z§VØØ á¢ùGÛ(ÍŸø{Q ª';,.¼_c6ÛÅ|ç”ßùʵFx§Þj_QÊŸ-ð§Gö5:ÀXH(z§|ÀΕ¶zTñõ÷2>ÏR:ÖûýÉòŽè¼PP|ù\iÅ\^ôeäÊÿ”™SøÑÚòn.åWU†›]q4—ê)±Ìnˆj 2nÊgóPÐÆ<¸‰”oú2)ŸIb­ôËR=Ÿ†ÕY·*úêÍÖ³û?5°FWƒ½Ò§zXTþúûi_éð†nh
†•ÅLÊäÞ÷¾÷\Ó&ßÿþ÷øóq±ê‘e×o	•R¼}öÙ#—Iì*>=G14^zVõþûòÙüªÑJï¸âÞÂP£9ß°X*å¯T“MÑMZ¨|ñL
Ë%§žf{mKQõ9+ƒÔ±ò%ÿŒ
Ǧ™_…¡©6þ^ÚWÃ]wÝeÞšÞGïG¼Kîàƒ	«”/—®ãØÒ!€@,Ä…„œe2Úú–ï=ŠõR™ó¢D/“g›ó•_{ñ47!:
=°óÚjxTÉÙœ/ó«L±äbeºT)ÔuŽ¶Ê„bO©üH¨XeþKÃ0ä7Y¸ùæ›uxèj³Sáo6iÞ\›‹÷-e´Âba©E1/¤ÐÜH´®i"­¸vOmUÀ©b]¬d©±äTXøðJ¢zEÍîWzòDôÆ*8%+øóˆ¯zÕ«†öhNd›SeÌìÖ¶$u­÷Ó/Þ_›@TxbèýêØ|œk!Þ¹óÎ;oÄ~Íý‰.VDãyýöÃÛ*GqÄȽÔ3\rW_}õˆ?U"Õ@z3=/ëñþ|O¼ÒstñsuµìŽùQ2Äsšo>2)ŸIb­ô…†oôôöú|ܘ(ÞÌÕfoy¥ÝK[/ät_ÝSéМ†zÿmÑ.…ká-VýÁîßµUc¬ÖÓN;­è=ŽþÐ5ŸøÄ'FüÆÞ2=·w*#|cÔgœ1ro5b·9?ŠE÷–Xó
ïvÝ$åÁç>÷¹á}•n»œîc|JQó+í|©~¦°ý¨óë˜å'¾«ªE?òG,•:?ˆ"Õo‡@,ÄŸÕÖC¤Ë”™K|©HÃ
|F[­»¿p»æPlÝQ«Mt^èèosš?e€¶± ²ëôR{ÊJÎIJüªW¨ÍÅùmþüp/…ñšìôìþ£õ6ÆJbˆºÖ‡õ¶·½Í_>c?Þ[×–„ÝŒ|!aZrJÞ¾8ÇÂ_ãã´$cOâݪ–®½ÉvNóK¼=sˆjöáhÈ\—SÅ×ü/”@”È´{j;_çãg!Þ95t˜ˆ¿Rk¯ïQÑ3–†	‰·qPo_É©¢k~´UE¢ä´¨‡÷§Š_É©ßûS…9:_±kLJ!¡;WWËîšù =Kí|ÄÂíÚÆJgœï®kk¥?/»*Ýê½ñ,÷šŽa®6ûX¶h¾×8W[ .VýaÜsê¼ÊRÿþiÞ`›S¡÷{cC–Jër>´Œ°ëÕíËÙa‹g™mÇ•*«}ßÖ8oaúú¡ìõ.Ž~Ðt™ÒŸzd=7íG1é§âè|[ã]œá§™˜mQ –´1¿l—&ù×d–æsÍË*?Ö¼Ô=Ià~•2”qNAø—·$&Íà5ÿχÕ&Õ2äýiHKÉùŒ¬«²'Ì—ÂÒ±ØÓåçðé|Mv~8Ñ$ñà3ÿX‘ÔU¬Æ¹R…ÜÆÖÛµ“
ÄØC×&®·ÓÏ}´{j;ie5V²|~?Î…ñãøk³óÃj&‰‡.¨fÏ+ΑðÏhûú„‚¿¦±ùoÛNZ±Sáa÷kGº‡Ó’@”Ÿ8Ƈ[j1Ô5ÞÕˆ²Ïî=Û8lc`áiÛgXãóqæ÷U «µÞ¿ž[I ú–nù£,|f[ëù¤B+VÛ¢Ý[[õX©±Ææ~ùçÒþBÄ.»kçƒöìµó·k+ì¥ÄÒõsI³ˆÍáã]+5ËM‹½¿×Rˆµë¥¸Çf#u­gObzëˆqtJÛ´oo\„NyHtãb´±4DÓ‡Ù%õ©+ã¡÷ûÓŸþôÄñ¾“
D?"C÷žD Æ•Sýó±¿4	 C¼¨ð²—MÛI3L\ý°”xÿ¶ï+íºw\²}R3°…ˆQÙsÅm—@¬ÍÎ&›ç|Å5¶úLZñã…m[¸~ž®Ñ0ܹ¸Ú;ŸÖÚ¢*Ñ1ÍéìO‹–øaÕñ¹j	Doë¸^ÙàãpYˆ5Þ¹ozýœOõ`ª—Þ/	ÄèGCõ¢ÓJΖ†´m«8LC *M«eiJ[õÔÄaZ‹-k烵ó·k+ÃãÊÔù¤¿ÙĸX•Ò‚Ü´Øû4¿”bíúCWÚ°s³ˆ~qqõs7czëˆÊ|¼LÒ€WLUÏ4N ªnáï[šçgl´õu؃èÃêš'ïÃkÛŸ¦@슇6{8¾¸ˆ\µ³m²t¸lägœc£¡y“8›dG쥉•õ¶0kgðV™’]]ÃÝjTVk²SeÐXj3Ö?/.´*¨w1ÓïZ4®‹Ã?ºæÚ5¥míŠÓ6(;TðÆJ¿gª
™ÿt‹·½†@Œ=ëãæˆèþ>ˆÿ#]2>ÎüÜå[¾‘*ÎA,	D-"ãù+­ÄZûJ™¬jsµ¢žÅ¿GZ°Jy„9Ÿ®[ ÖÌíù´õÏß•ú†µ¶wȇ۵+ì]q¾éo6Q6û|Ðr§ÅÞ§/âhŠ™­@ôu¥˜Žczë&±ŒÒçƹX&)^½@Õõ±®ÃŒ‹¼t͹Ե]Qu2K[z¿çã¦)ã|ÇùØÉµC8ÇÏD´­.ùÑË«IñãœJ§kâŠ}˃@¬É.¶—2ò'¾r«9•ÞùùŒ
K“áǹø½L
	œ‹«]±ó£.h¶j¥]?\WÏojµ,¥ïXøÎeb\ÜAñ3Îù8l«ÜšíÚª0osÞ_Wëì¸
A[ømÇ}üL»QÆl`²çÕPÞXi™D *,Xðq 0µØ—†®ùaÚª$—ÒÙSS jÅfo“>=»¶‹-kæƒþ9kç#>ì¶ýXaoˆ5Òßl¢A,ÞmÄÈ´ØÛ}´E ަ–Ù
Doú4ƒw1½u	Ä8p’*º—K¥¹èÆ•þ³;
KõÎ.×%ãœH¥ß¹:â\É-›×!C¼ê»]þåW¥"ŽÓ—4?µ‚†ZK’/ˆ^Û\–/ÜJ½ŽËƒ@šìübЇÒ7û|øJdˆqbö$Úã|޶ùVÞ†Ò¾g[L½ÿI[þ½)	D2±çG÷Ñ'-ü=ì])p5¢î‡•VØ”?s>ˆÿGe\¢Ò¥Å¥¶¥aé“
DÝQ‹Løðü¾ò¹RÚ²ø³m-¨O´ø4Û&¸½‹-ÅÀ¿ó²­Fâì‘X\umc…½$k¥?_†Ž«ìÇDÿ¹Ï©{Ÿ¾ˆ£)f6QJžå0XLo]1.p¥²Ã*	øo?Ôpïï_ŠËqQù‹£k$…nÛ%ýD…YZŹôÊ_UÇñ«QOS ª‘×/ÄB|ùʳ^8}|œÓ¬BÅÆ’ÇŽj¾Ö8çï[ê­X^bMvú\ˆÏˆ»z‹?^\¨eλøé…{çwz/3ö£H*U¼g\T8à+,5*v>­•¢zûô|¥ÆÛl³Í×Ã;l†ÕñÙçÒƒ¨@cÏå¸^X‡“Ä®a¿>í”ÞI{èqó7éÖÇO› QX5†u+ϸÔ8%?“
Då¶¢±z5´HïŽæîtõêÞÕˆqÚ@[#ë¥ kæƒÆµv>bávmc…½$k¥¿ÙÄ8×ÐÛ5
ö>}•DEdW1SNÌÿ¤ßA\¬úƒÙÙµ@TêYÆr%¦·.¨}_^(\å].AV¾ݸò@ŸÆðÏ '~óvì}œD Æž¡¶†Ø¥•9Kn±ê%[â±ÙD_?+5ÚÅôÖ%eG,_Æ:æ˜c†y…Ê‘Ò7®Ç•ªƒøô ý¶ø•jÄ4ÿ1V™çËùSÃxÛPS‰ÃwÞ¹	OóÁ½«)ýtÙÔö½dö—b!>TññH{1•kˆ¢>?¡—Rßï³ÉÒ*D­÷ЂŒ²ZÛœ_®^/wÉÅÞ°’‹Kë»F%fõF”œgQÊí²ÆJÛ¶oÅ¥¥µ¨NtµØ)3ŒC•™–VN<öØcGìW*Æi\]⢭Q‡çáüˆÏ;î·/Tyks>®TYjsÞ.[ÞÝû5¿1åýøVöRávÄGŒ<ÿ$Ã
}ø¶/¾Þ^í+nô™ï´XNL7m•[=³3¦Aõ.øJ²ùŸž±ûû\~Û
gó?nëãqÚï\\Ö_öÇøTƒ•·I~lÈ£ïTžh¬Tñj{7Æ=¿ÎÇJÔ.»ìR¼,¾“šËææ?šMÚªþÞ{ïzQ\ùzùQÚ–ÓûoÓ†ŒÙ©e·nÓó|ËÚùÈÍé(ÐcOXÍôçbתÕZ`ÉÒ³¶ZÅ6ºÚì}´ôïéÇž!=odÖ{Åîq衇ú`†û‹Uб¢Êâ’‹ï–åAÞo,wbƒ„÷«}åé1¯ï3>µuLRØ(Ÿ.4%%ºk¯½v$ÿ’ÿXöuÔQ3ü¨Þ£Î_‡ý£yæ~ï]¬iZMÉÅÐø=E]…ºF™ÓÐÞq=µæ—íâ@ ¶°×‹ï_Ü®}º¥
Uެ²ëKÀÕW_=âï¶Ûn+Z¥ÚÂѶmÆä{Ê|KN-kÞß;ì0Ã[œ“Ùõ:Ëæ™gž9#<PåÓüh[*j²‹+‰êžŠ3qR|¨R{bÌ>	eö^PÆBY«ßÅŒV™²oé,õ°áª2köØÖgúv‰*=vÞ¶¥!¢±gL,|%_á™@T8¥oCéy­PU/µ¢úå·ŽZ^çê´ =“ß*nô­¾X™3?m1Ú&ÿzO4I+Ùéw|wuL½yGyä¨tb÷Ôv.ßO56‹ñÎÅF=ƒæpéyã³Ùs긅ü'}ÖÂÎû­Ò˜Ò‹üª‚%Ñ«
’òÙ61P\—Ügœ1rÏØ0¢|ÈÛ¢}Ù#ÛeG¹i‰VÜÚ…§ø6fÏ$[õ\¨ÇZßNŒv©@UªpåO½(ªÌGBV8©‡M­÷%Y~Ž˜ˆ
Sé@½lê]×súeº5¤ÙœlÑû†âY•gŸfíºq[õØûËøœö;Þ·M ÞqÇ#•
»Þ¶z‡qµ9?ÍÃÔ0[¥oUTì:Ûª•V•Ó¶Ƕç]¬w.Îӳ簭òšØ°`çü·='yÏì:Û*]øaqb&Ñ+´ò¯!QÂ)'þº.æ'ò§u«ü.æÁvomUyÒ"K~È¡?_Z€©µí¶{Ì·©˜]][ÝSìR¹%1¨ïjúÅ1j¥¿øþ+õ.ªâ«2J½hV>ª¼7ªc¾ì5ŠF
”>¿´´¥Y5—׌í!‡2#o±ëµ•ò½övNÏf
‹U°g˜d[ˆz‰ 	&±²xÓq}zÉ;åŠËØk%¿*Ã5ªJéQþÚœzÁä×*_Q–ò]ëëƒ*‹b96—ò ~zÇîí·²©”Ç)-k•ts²Ó
üõq_ùmìyÕ{õ
zƺNy£D¨uFèÃPÍŸêž¾±O~=Oo‡òc•Á¸¥M8&~”Çž1%t%|U(Ltu£Œc¿ýöf<þE±}ÍIð/—…[aÌ¿ß*ì8\ÔŸ÷û¾gËŸóû¯ýë;í•_e¨ñ3>Û·ÕäÚ2ó§Ì)ºù°‹a)S,Å¥î¯>	TË U ©`ïjå•èÊõ¼_ÏÂ|®N-ˆÆ¦m+q&qÝvÞŽK´Ù³Ù±ÒVµœÅ«*smשâ+X¥¡.¥ûtUŠÚx©Ò©ÕÞJá©fy¾M ê²½”TðÚ„zˆz?•Þ}#Æ$‚Uü&u~˜¹¿?ÍwN•ëךs«÷ÀœŸï¤ÊƒðòïHWùç(íÛwÛz‹ý5ª°|ðÁÅ´`þT2§ž8ìKÏ*qoÃc…ü_yå•ÄØí4ì¶›Î'¬˜M][ßÓbñQÚú| Fú“MZDD©­¼Ñ;©#¥ò¶ôLóa¯¿Òsûc]y„Þ­Rž§gÓoÿ
OáH8ùÑ.‹U°FÉÏÒ±(Õ`P*[•_«*:•³žiÛ~Û¨&O½Æ¥†sžFˆ{ts-ô¨‘-潺§æCªÑІÀ«œ“@óCä½j¸,5(›ý*cJéÞÊ9ó·trq
†èO#H¼Swô£gj³ß_ËþâXA&äÄ![‡Sîu“ Nl°Aú‡ø‡1WÌ<ÅdºþúëS)béxDzÊSž’ÿøÇ§5ÖXcæ¨É.Wò›¸Ì•Æ´ÑF¥Ç>ö±)gÎͽre8åÌ0­³Î:Ã{ÛÉ=+)‹Ï&^sÞÄ铟üä´ñÆ»tÉžÏ
	)–
¥ùÜ“n¾ùæ”[S)W¾Ózë­·(ö‹±xçB¦yýèG§‡?üáC[VXa…á~ˆ)÷|Ç=[ƒ)‹ƒ&
l¶ÙfÍûmþ²ˆL›l²É0}Øñeu«÷ìÆoL¹Ç6=êQJ~ðƒg<ªÒ{n=oÞÏZ•OþÛ¿ý[Ê##R®È¥\‘M¹e»I7¹b’¾¶
?WŒšxT^(—+>)/êÔìOëŸÒ±âûAzP“†WYe•‘[)oÈ=éé¡}袥ïƒÂšù`zIüœoúó‘+ñ)÷6y×j«­–V_}õ¤÷{ÕUWõÞ&Þ_Lö¹7¦)³ôΨÞ{”’¥]åƒùé	OxÂÄϲÔ<î½÷Þ)š•{^Óúë¯ßÔ—²àMë®»nÚb‹-Òšk®9ô3Í,´’ò~ÕÕ”gˆ­Êtq_i¥•¦rk¥Wå…Êõì*×6ÜpÃæ^yäO“—NZ§ÈC_‡uM¥Õ1eû\Óþ|Xåunhkî­zÃlêVó¹/×Οqþ	XB¼h'—Ù½7%aN¹õ=å S^(#åÖê±Ï$ž‡µ§ÿ÷O¹õ9}ôÑc¯Á °l(	D5Äã Å#€@\<öܘ⠎	R­ßÛn»mÊC`›ÞVõ>«×f§ÞDõä9>)"c’Kð,CˆËPdò(Ëâ2•<  Ä…Oyž[zÖ³ž5¼±£‡á‰ÂN^96åOX¤ °|Ð4yêáÃjQ–Í7ß|ø›@`á	 ž9w„¦@@sٴЉ	»…†?J¨à¦KàóŸÿ|Ê˱O|­pª…lÔ{0­•'6€À¢Ðj¡ù#÷Ο™Jùšiíµ×9Î@`á Ž5w‚¦@à;ßùNzë[ßÚ,I®a‹%—¿ß”ò·ÙšOV”Îs¬n¸!åo±¥üéÖóǯÓßøÆ”¿£‰0l¥Ä	,Ûòw„Ók_ûÚtÍ5×´>¨F!h¸ºò °°ˆË›»A•	è›Y—\rÉØPÿéŸþiI~Ûn¬á=ô Þ\Í#ÊyNú¦˜¾ç¥oÇjÛ5/±‡ŠÉ€Àèû‚Ý1νèE/Jk­µÖ8oœ‡*@ VJp€ @€úJØ×˜Ãn@€ @•	 +%8@€ @}%€@ìkÌa7 @€ ʈ• @€ ¾@ ö5æ°€ @€@eÄÊ@	€ @€@_	 ûsØ
@€ @ 2bÐ{î¹'xâ‰éî»ïN;ì°CÚxã;|OvêþûïOßúÖ·Òi§–ÞøÆ7¦G>ò‘“]Ø#_ƒÁ ]}õÕéœsÎI×\sMúÒ—¾Ô#ë1ÕL#ý[Øl»	ÜtÓMéøãOl°AÚ~ûíÓÚk¯Ý}ÁgõñúóÏ??{î¹éÈ#œà
¼tXè¼üÏþs:óÌ3Ó7¿ùÍô/ÿò/i‹-¶è2s€ 9@ v {ÉK^’Î:ë¬ÆÇCòtûí·§•VZ©ãŠò©_üâéâ‹/N_ýêWÓgœ‘î¼óÎÆãUW]•žò”§”/êÙÑßþö·é¢‹.j*Ÿ„öŒ|à“ÎáúG Vúïß“/®ÅøÃaxï½÷6†¼úÕ¯nÄâ\¬ºñÆ›÷ò+_ùJÓ(ea¨7{‹™—øÃN{íµ×Ðèn¸!m¶ÙfÃßì@€j@ ¶üË_þ’V^y味—_~yzÆ3ž1rlÜ?ýéOiÕUW-zSïÚŸøÄâ¹¾|ÎsžÓˆàh71éÇïZé¿O»´¬TÑ–[n9b”z«ð€Œ÷ã‚.HÏ}îsgxãœd¢‹—o»í¶IBßÜa‡–öÞ{oûÉ€ P±¥=ªTÝqÇiõÕW︢|JCõ~ýë_§vÚ)©ÒfnYjVoÇšk®Ùôþó?ÿ³=b¢2:DÑ»Zé¿w¾Èÿæ7¿Ië®»îЊ¿øÅÍÐÂá	w4$Q½‘?øÁÒÖ[o¬G’wrB€o‹™—tÐAé€Z¥©
O{ÚÓ†¿Ù Ô"€@ì yóÍ7§üãI•‚]vÙeÞ…ñûßÿþô®w½kxÇþð‡iÓM7þ^Vv47F•¹>WF5ïÀLoxÃÒCúЩGTüÿø©ßk’ÔNÿ“Ü?ÿGàßøFúä'?™6Úh£ôæ7¿9=ìa›š¼àÍw¢áòj욦[è´üï|'‰™X-„[Œ¼\Cõ?õ©O5sÿõ_ÿ5½üå/_ˆGå€ °@ .`¤æ3ŸI¯ýë‡wüñ¼L.R£D-Â#×g¨Æ·¼å-é»ßýnzÒ“ž4Œ·iìHŒªÒwÒI'%æ‡Mƒðòæk^óštÂ	'4¦-:-KŒn¾ùæÍ|î“O>yA"zyÉË&7 %G¸€Q+ê¡Ùd“MЂ…¹•VØ;å”Sš›õU ~ûÛßNOúÓ›gXhbT7D 6ØùW‘€ˆê¼í¶Û*†>ÔB¦e/FÕ£¶XqYÍËGc–_€ °¼@ .`LGxË-·TùtÆ>ÂD·ê»@Ô
¬ê‘øéOÚ<ï´⥗^šžõ¬g
Ù"‡(Ø©D`¡âB§e-Ôòö·¿½¡´˜qYÍË+%?‚ ž@ NaüãÓŠ+®8«Ï\h±o˜Exë­·¦‡?üáZ°8Þ´šål?í±Øñw¿û]Zk­µF€é˜„Ÿ¾eÙõ­±Æ#¶È¶_ýêWiýõןõJœ³µ^ßúSšµwn¶××ð?ŸôWº¿˜j¨IV<o-t³Ê*«4—y¨o¯jxû8§U;•–µÐæJ¯¶Új—Ì7-ÏöÝÑ\Ý=öØchÓ4âRËËÇŠŸq‹¦éÝûùÏÞ¼wn¸á;€ N¹ÁµÈÍÁ…^8xÝë^§†
®¸âŠŸÿøÄOä[ò<Ÿæ]÷Ô§>u;äSéxˆÿá{²Ga=æ1)þ=ó™ÏœŠl/ùÏ+Îð«ùCÚƒ¼Îà…/|á mì}Üã7Øa‡ù;\ƒ<ß§x?˜+jÃçTÞåeÚyèæŒ?ññ./3îÛgŸ}¼·á~ƒ¼€Ã`«­¶jî+ÕýuÔQÍó‹·ýéÙò7)‡×ÚN^4h‡ß
ý™qÝn»íš?ÅmtwÝu×àmo{Û—]§í³ŸýìÒDÉ}öÙ3î¥kì^Ú~ðƒ,]:¸ì²Ëûï¿ÿ ‹Ùæ¾â,>»í¶Û ÷f¯™íÁIÓ^ðdðÙÏ~v°Í6Û4ÏóýUÖÍ»`<ôNä9ƒýèG³5¥Õ®(Ž=öØÁŽ;î8#žóÊ¥·¿þõ¯Ãë—rú™w”vó÷D‡Lý¹Ò~ƃܛ֤{oÅ]Ä'Kq˜Ö²@,ÑË
ƒ
óbN3ìSúòïŽâz>n®yyãż˿—*KJù ò‹ü­ÅV³sÃÕ`¿ýökÊ—Ã?¼Õ_n¼â¯a¤t¡wtß}÷mò÷Ö‹9@Ë=õVàUŠó0©Aþ ñˆÈS%)ŸÌùݽï¾û†BR~%Tò²äƒ÷½ï}ÅÊ–üäÖùÑ@ÆüRÅèŒ3ÎhD‡UÚl«Ê@nÁŸBþ”ÆàMozÓ°¢ ô¹Ï}n¤Ò¬‹T!UåÝÂË‹² $ô$혶ª„{î¹3îãt Ä»ï¾{ðå/y(ä,lUª¼Ëßœ}ôÑ3îÿÒ—¾tèMÌs¯lSÙ±pl+‘¢ ­ý.mUÁòâ!N Ó¿…14 ï(­Øq±ýЇ>Ôˆìã?~Dl~ô£õ—5ûv]×V:ïd¯îÑuÎ}ìcó—M¼?›ô/áa‚ÜÛsÝu× >ð´Ú¨‹Üc:±MmÕ(`¢T•_‰÷÷¼ç=ƒ J+rK9ýé<óÌ3GÄœqmc ã·ß~{#6̯Þ?¥‘w¼ãÅF‹6˜{šFD¶Šô®Ÿzê©MC„…ÿÊW¾r !éëÚÆ´<×w'¯Üš¶üý%˜çâæ›—«aä#ùÈ óçF†æ(æù’ƒÝwß}†¿«®ºjèO;ÊËòª©3òBÅqÉ©QÓ8¨áäë_ÿzÓØà ô¾à @mˆL^œ¤©T•z’Ú¢ {µüZ¡¬xïTáÈß@ž7yŽ›÷6ñ¾*×±…?¯Úz}n6¼wIÜI¨ªÒnv©§S=3æÔããÏËß;ßùN;=cÛ%ͳzëì~ÚFhþT9òþ¼@TŸMZ/Š„®*´Ñ~ SBÎ\J7Èß kZèí¼¶ª°é¸þòRóæ} ø³û˜¿áɼsÓM7Ø® ±wyH]¦z(í~àv/m%Ì©çF"H~åOéQ‚Nq¥Eo‹ü|ñ‹_´K'ÞÎ&ý«—Wv˜í¶sÛWoíÎ;ï<Ã65ZÌÇ)NìÞº_ll‰"qÏ=÷¹ÝRLz¯c<Še›“1ò§tàzw}|ÈOI ªáA=Zoʼӻá‹=ôPz0Û´<ŸwG¶êÝðùšì~Õ«^5òîD;bpËšy¹F]Om½@ô·÷ÂMþ¼@TÙ¡øõì-Ì’@TþdéAyctj@±ëã9~C€Œ@{ÍÃ|,§[U.^ö²— Sªm1σú‹C% Ÿ*úQÔÍU *Ì/|á Ã{Ê6UŽÚœzìäG• ßcfþ%º¬Ò Þ–’Så&V\Õ2]r“D‰»§¶mQÈûóÑî­J”¯ÜÊ¿lÕ°7ïdo|5¨òëÝÁ¬6ý•¢üì²Ë.#áµõ¨Æž#Ùð‰O|BA ݤ1΃ºæšk†aØŽzÐì9Õ«UrVa“¿6᤹Ÿ&nÕ#׿¢PV¯Ô\Ý$é_ak8«=£¶»îºëH´Ý_ó%½¿Iæ³Úµ~«Š±…“?&ïO ÷õ~ø^—’(²0´]JéO¡†oßðÁÜŽ†Š›Å{—óS%çwÞ0,…©¹»ÑE!Ïë÷$iYþj¼;Q j8å|\í¼Ü§S1mˆšÛmñ¨m›@Ô¼Eï¯$½(UgÉih«ÂɋܔNs € €@ìJšßæ ä’@ô½ŒZ¦ËÅy)óˆºO¬°•* êűg(õ´øŠc[¯€=“znL¤X˜Z&ºÅˆê3›´Õ|ª6——Åñ+–Q ¶-ª¢ùÖÓ£á\êÉŒÎ÷ζUâ'©T«gÚžOö]yå•Å??ùï“ÑÖø{’ô¯kbo¶JÎo“mêñœ­S¨qPZ,1·0¾æ½I¤—z»-mç+k¦?Ù/{¼}öL¶UÃŒo *õø™_m}º( D‰ê,®¥^óØëWÊO&I˲§Æ»S[ ÖÎËk Ä8ܾ”ßkzƒO7zçÄÉ;5b* Ä‘Þû€ °| ±#þµ2£/l£@T%ÍŸ×À.§<ï¾Q=†><ú~î l±•SÕ« GÂnœóC°t¶‰n)ĶÞTÙ*îž[\ý5 Ä®^UU¾T™Öp?ï´€Š*Ô¾¯­’›¤Rm•wo÷$ûm¢´dG<6.ý›ÿI¢æDz›/ºè" bâ­õ~(œù<›nèm©-ç“þdÛ8¨Ux½ýZ¨ËùynžÛæ”Ö5lØ;ý–èó}ýbó?IZ6¿ó}w¢@Ô<ﹺiäåµbìá, D-TæÓ…ö'ä8@€À¤ˆ¤ÆUµ@„/Œ5ÿ£ËE8×ùaþ±"©¡bÞÙ\-õ8EwñÅدUÇ9ÍsòϬÅy¢[êQöúgP‰wQ –æzÿ~_s¹lH¯¿‡ö'ˆê‘,9ßs«Š¡ÒÒ$¥ž³Rø¥cãÒ¿]3©@ŒC”ç"}/d×¼[³­këãg!¢lò÷ŽéOçã{­cÞÅa½ã†ëN*ý=$ÕÛîÓž·{œ@lKËþ~¶ïNˆãFpø{Åýiäå‹!õ\q(·Å™•šo£däÆo@X6 ;âu\ù¤“N©èÅU*cÐÓˆZµÐ*ÚjÅNsv®´šüD{Tùç4ÜÒ߯T¹íƒ@ô‹{èyüâ=Q Þ|óÍã° $ÌÕ£elÔÓªžE?´o®Ñ«Tøms”Æ9KãÒ¿·Ñ/ˆ£ýù8‹+mZ v¥?=Ó8è?I#ûãÈÈe6QC%¾†^JÌÇ!òµâ\ßšqyùb Dõ^ÇÞ^‹Kå×z¯}~Ó ¿!@ÄŽ40®‚üÞ÷¾wX‰R¬áo]. ²®yr]áÄs±²i=“jQ—]zŽ’‹Ï§æqNÃͬ²aÛXÙèƒ@ôC6ã»(ò“Ÿ´bѲø~AÍwó ÕˆW_}õó¹|¾¢õ:NÄô‡XÛ¥ )}ZoÜf׸­¥_mZ v¥?Ù=N Æ^¢qyɤÑ÷Ъð{ßûÞcœƒ8_8ßw' ÄùÌ·F^¾XQ¦ù¡qQ4ŸÞKS†Í ,÷ˆI`\9~ üˆ#Žèmf]×<¥Î€ÂÉc=vD@È. 9³ AÛGÉã<&‰›Iœ…«miX¢-.£gˆ=Q“ DÍ3´!¼ Gs âÊ€5¢>{à™kÈ…pãÒ¿Ù°1~ßPßÛ«óLZ v¥?=Ï8èWÇÕsèãñ]n¸ï¾ûÓ™z ¢è¬)k¼;5â4òòň–4ªÅ7ªø4?®¼²0ØB€ÀòGØçã*ȧŸ~ú°B¥‚wœÀŠ=ˆµ¢Xðó„TùÔ§dSWK±¾Ãè+ # œˆGrMiÞÏRˆñÛŠQpExË-·D Íoë¡6v5¢næãW ßèÃä“8ÍUS:‹—þ-Ì…ˆš'ëÓŸz~&qj ‰ßŽôá,¤@—þô<ãâž{î9ÂA§ËˆZÕó( c®)k¼;Q N2¢Ñ4òòňÊÓã|sqÒŠÄ>±¸Ö9 @ @ F"î÷¸ ²V†³‚Ö¶mߺR°Q ªg¨–‹Ÿn0{J=»§††ÆJÃYge§‹Û¸’ž*ÑÍE ¶}#PaÛ³h+ÁUrñ3]â[L|˜qèdˆ¥UL5ŒÔ‡Qʲs¶±í;ˆ[n¹åÈýô½³qξm§ïåÍÅKÿæB ÄØ[®ô«¡Š]Î 9á„F¼ùø[JéOFŽˆú¼Œ·_B]•}/KCsý;«°Jn¶±--×zw¢@œÏ*¦ÓÈË£@lû¬Ë¤ßAŒy¯ÂNÇJ£:äO $¾çZéçòË/Að€ Àw»Ò@ü\,LUAñßTÛ&tŸXè“]v•Ε>ßVQð×û9G²_Å.§OyXÅT•s?ßήó•Mùis^œ¶UJã-[o½u1¸ÙDU$íJ‚3ÎG*->¤´`ahÛV9õûâ\G{=“+~2Cþâ÷Íäÿ /´ flÕ‹ ¾âªïWÎÅKÿæB ÄXI ‡lkÐ{!¡"QÔRMâ:N –Þ÷®o!ú¡¹Q¸E¡Ï[<ï³­Åý *IDATÏ>#é4A•¿IÒr­w'öÄŽÁaÏQÚN#/ïl[üÄÞ`­.]rñ;ˆ‡vØ o&JÛÞ‡k®¹f$»o½õÖAÛè‰7æ ,SèAìˆNÍÑðw S‹î”SNñ#ÿï~÷»£·æúùjò×öAñOx@÷öª·eœÓÇ’£È- " ǯÔùÉO~Òl£#'ÝØ+¦Ohx§ Q´MÏWúÀsˆmÏ+Öê]Š.~B@=iæ4„K•ª+®¸b„µìºöÚkÍ[ó]ÄŽË^zA­p|Ã*ÓêñÔâ@ª¸ûøÕ¾†úyxb£Š©‰Ÿq ' .ìL’þuYìÕk[D'öz{î¹…»Ž?´ß~ûÍà !¬•(U©Uϸ–ó?ôÐC‡þJŸûXªéO¼ Sµ£tiçmë?w ;nÛ(fÔaiÊüØ»3Û´\óÝ1[´UðÊ›g3J£v^®ôííÓÂB¾±FÜbü+Ý–œæ™úðJåŒ Ä8lÞ‡çã±m…f?xÇwô—³@ËbG$Ç¥äÕ{*£ú /¸µ¯J¿z`ôáâ3Î8£éÁˆ~ô[•†¶ A¼×¸ßgŸ}öˆ“ÎSSåÙÛ¦ DiåN/$}ÅÐlÓ1UÔ|xm•´ÈW×Hèiþ¤æé·¯ÌX˜ZvÿÈ#©4G(¿j-÷N‚Ó‹¬¶J”*Ùv/muÍ™gžÙíkÊ_þò—#~Ì¿¼Qå¾d·ü¨ÇR«-j…Asï|ç;GÂRzÒðPÒ·ÿþû7^%Èí>q+æÓþ¾“|¶Äl(mcü”Ò¿®“}Þõ”—Ü^{í5âO‹¢ÌÅI,Å4æï÷Û8ÄçÓuK!ý‰IlLºîºëf Ò*¢>¾í¹wÛm·&­ª¡GqVò£t¬Õw•gÈùžn G=rz×¢-v^ÇwÝuבï{N’–k¾;¾ÁJv)NÏ?ÿüf«ß¥F½ ÿv v^çx˽ۇ~ø@BN½Ú:Ó²âKi6ŽˆŸâ(}Ô¢Â-Í=ö dÊÇJ.ö2*¬˜—–®ã ,;ˆ!.UI¸í¶ÛqÑ’ª€«Â?J­9P±×Lþã_IHjHV­žDµž[eC•ÄÙ8µv{ñ¤ÊŸ‰zd$ýðX‰ È@‹Û¨§Â„v}›Qç|ë¹l“pô÷ô×h_%õRÄuNWßsVˆò§J°Xì°Ã#e}Ó­Íi‰ø6»T!5Á‡ÜEû;î¸A›æG"Ø\ì0?Úª%ß÷Šøxðþâ¾æ¤*-ÏÖÍ&ý«¢¯^Á(@”%<î¹çžæö⇡Ê^ùS¯M©wlœÝúg‘~}ôÑ­A-µô§wHj¸ˆÏ¢üE=ɱ÷\Ÿ¡(õ²ûë•–K"oûí·ozÂH½âþš¸/q‡{›ÿíÕIÓr­wÇQÌ¿UÝl]í¼üCéä*­FDo·ö%O<ñÄÆ|½gÊŸMPz¿š_lŸ5’g/åOs•'ÊÇ:ê¨a:Pšh>ª†íËF ,?ˆ!®UˆÆÂ±ô;νS%^C~JÂBY°¶H zUôý0¯`Ɯڰ@þ5›€´ô¼_T¥ôÜê¹+  C*ù÷ÇÔK*¸þ›pæ_•W[ƢĒ*J÷Ýw_ ¦éù±kµU…·T¡Ò½Ô?Î]vÙe3žG½Âþ“!²#ö˜èÞb¡Š¾œ††ú¡ŒJ ¥!˜¥Š®zJ¬Õ3` þ™µ¯g–ísu³Iÿ/Ñû­g•Ûj«­f°4?ÚúÞÔÙØ-Auàß9ų†2ŽsK)ý©áÅs)í—Þ!åEiQ¨ëz¥YõdÙ"5± ±îÓ±1R£X Cq§Þls~¾œÒàA4Ò€!“¤åZïÎý÷ßß<»g¥gèš[gÏÒ¶­™—+¬ø ÙªrBVï·å5Š[5\ÝtÓMCÓJ½yþYm_#äÔ;©c]'{ì±Ç@y}›“Mš×kaË®R>Ôv=Ç!@ ÿVÐ#ä‚W‘@~)ìiå•WN›l²IÚtÓM›Ðs‹mÊ•¹” ߊw *W¼R£éyÏ{Þè‰YüÊ=s)WœSþ@{Ê Q¤'<á éÉO~rʽi¥•VšEH“yUÌb0eQ•rå.m¶Ùfiƒ 6^,[ÄQçÚÜÞ{ïråhx:/ÒÖ_ýtýõ×§\áJë®»nÚb‹-Òšk®9ô3n'WîR^ì%­ºêª)÷Ò¤uÖY§xIî!KyÄ´Ê*«¤G?úÑi­µÖñ—+±éæ›onÎo¼ñÆ#çü\ioìU8üãÿþ|ÜÏ•¼”{•RîñNzÔ£R‡ià 7ŒÞ–‹ßb ´ª´”+´iõÕWŸø¹—jú›øþæ1WâSž¿šn¼ñÆ&í+-ZzÈ+h¦,JRWúS0¹—¿¹>7l4iêÁ~ð 3rUÊ#ÒcûØ´Â +Ì8¯“¦åZïŽlÊB¸y¿õ´ÙU4¶ã`­¼\Ï™GQ4ùÿ#ñˆ&/Õ{.'V*”ÏÎ×)އ뭷^ÊÃýSî9lòåÊûtï5ÖXcìmtí\”¦ò(—©äûcÀ ,⢡çÆ5 ”¢™5ïEXˆH‘¿!@è+b_c»GPAÁÁ&@ú[`àÜ€ ©@ N -/$*è I›{E¤¿H„߀ ô•±¯1‡Ý#òJ¥)wpxLsÒò"Ãßì@`šHÓ¤KØ€ ,$âBÒæ^S# hòrîÃðµ(Çæ›o>üͦI€ô7Mº„ @€ÀB@ .$mî5ZåT+Wz—¿{˜òrûiíµ×ö‡Ù‡@u¤¿êH € E$€@\DøÜz~ô‰‡×¾öµÍ'EÚBÒ§9ò·!ÓvÛm׿…ã˜Òßœ°q @Kœq‰GæµÐwï.½ôÒv;ó¢½hÆ· Ç^„Œ!@úˆÓ€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'€@¬Ï”!@€ ô’±—цÑ€ @€ê@ ÖgJˆ€ @€zIØËhÃh@€ @õ ë3%D@€ @½$€@ìe´a4 @€ úˆõ™" @€ ^@ ö2Ú0€ @€@}ÄúL € @€@/ {m @€ @ >b}¦„@€ @ —ˆ½Œ6Œ† @€ PŸ±>SB„ @€ ÐKÄ^FFC€ @¨OXŸ)!B€ @è%b/£ £!@€ Ô'ð¿ýŠ«»uÑ'ÕIEND®B`‚pymdown-extensions-10.9/docs/src/markdown/index.md000066400000000000000000000044221465124271600223410ustar00rootroot00000000000000# PyMdown Extensions ## Overview PyMdown Extensions is a collection of extensions for Python Markdown. They were originally written to make writing documentation more enjoyable. They cover a wide range of solutions, and while not every extension is needed by all people, there is usually at least one useful extension for everybody. ## Usage All extensions are found under the module namespace of `pymdownx`. Assuming we wanted to specify the use of the MagicLink extension, we would include it in Python Markdown like so: ```pycon3 >>> import markdown >>> text = "A link https://google.com" >>> html = markdown.markdown(text, extensions=['pymdownx.magiclink']) '

A link https://google.com

' ``` Check out documentation on each extension to learn more about how to configure and use each one. /// danger | Reminder Please read the [Usage Notes](usage_notes.md) for information on extension compatibility and general notes to be aware of when using these extensions. /// ## Extensions   | Extensions |   -------------------------------------------- | ---------------------------------------- | ------ [Arithmatex](extensions/arithmatex.md) | [B64](extensions/b64.md) | [BetterEm](extensions/betterem.md) [Blocks](extensions/blocks/index.md) | [Caret](extensions/caret.md) | [Critic](extensions/critic.md) [Details](extensions/details.md) | [Emoji](extensions/emoji.md) | [EscapeAll](extensions/escapeall.md) [Extra](extensions/extra.md) | [Highlight](extensions/highlight.md) | [InlineHilite](extensions/inlinehilite.md) [Keys](extensions/keys.md) | [MagicLink](extensions/magiclink.md) | [Mark](extensions/mark.md) [PathConverter](extensions/pathconverter.md) | [ProgressBar](extensions/progressbar.md) | [SaneHeaders](extensions/saneheaders.md) [SmartSymbols](extensions/smartsymbols.md) | [Snippets](extensions/snippets.md) | [StripHTML](extensions/striphtml.md) [SuperFences](extensions/superfences.md) | [Tabbed](extensions/tabbed.md) | [Tasklist](extensions/tasklist.md) [Tilde](extensions/tilde.md) | | pymdown-extensions-10.9/docs/src/markdown/installation.md000066400000000000000000000021771465124271600237400ustar00rootroot00000000000000# Installation ## Requirements In order for PyMdown Extensions to work, there are a couple of prerequisites. Name | Required | Details ---------------------------------- | -------- | ------- [Python Markdown][python-markdown] | Yes | Python Markdown must be installed as it is the Markdown parser that is being used. [Pygments (optional)][pygments] | No | If Pygments Syntax highlighting is desired, Pygments must be installed. This can be omitted, and code blocks will be formatted for use with JavaScript code highlighters. ## Installation Installation is easy with pip: ```console $ pip install pymdown-extensions ``` If you want to manually install it, run: ```console $ python setup.py build $ python setup.py install ``` After installing, you should be able to access the extensions in Python Markdown under the namespace `pymdownx.`. If you would like to modify the code, you can install it via: ```console $ pip install --editable . ``` This method will allow you to instantly see your changes without reinstalling. If you want to do this in a virtual environment, you can. pymdown-extensions-10.9/docs/src/markdown/usage_notes.md000066400000000000000000000027021465124271600235450ustar00rootroot00000000000000# Usage Notes ## Incompatible Extensions PyMdown Extensions includes three extensions that are meant to **replace** their counterpart in the default Python Markdown extensions. You don't have to use all of PyMdown Extensions' extensions, but if you choose to use one of the packages below, you should use it instead of the Python Markdown one; **they cannot be loaded at the same time**. Also, you shouldn't include an extension more than once. If you try to include more than one extension at the same time, you may get unexpected results. Also, be aware of that some of the extensions are convenience extensions that include multiple extensions; be aware of what they include so you do not accidentally re-include them individually. - `pymdownx.superfences` replaces `markdown.extensions.fenced_code`. - `pymdownx.betterem` replaces `markdown.extensions.smartstrong`. - `pymdownx.extra` replaces `markdown.extensions.extra`, but remember, `pymdown.extra` is a convenience extension which is just a wrapper and includes a number of extensions. Remember to avoid including this and then including conflicting extensions or doubles of extensions. Here is the full list of included extensions: ``` pymdownx.betterem pymdownx.superfences markdown.extensions.footnotes markdown.extensions.attr_list markdown.extensions.def_list markdown.extensions.tables markdown.extensions.abbr markdown.extensions.md_in_html ``` pymdown-extensions-10.9/docs/src/mkdocs.yml000066400000000000000000000163371465124271600211010ustar00rootroot00000000000000site_name: PyMdown Extensions Documentation site_url: https://facelessuser.github.io/pymdown-extensions repo_url: https://github.com/facelessuser/pymdown-extensions edit_uri: tree/master/docs/src/markdown site_description: A Collection of Useful Extensions for Python Markdown copyright: | Copyright © 2014 - 2024 Isaac Muse docs_dir: docs/src/markdown theme: name: material custom_dir: docs/theme icon: logo: material/book-open-page-variant palette: scheme: dracula primary: deep purple accent: deep purple font: text: Roboto code: Roboto Mono features: - announce.dismiss - navigation.tabs - navigation.top - navigation.instant - navigation.indexes - toc.follow - content.tabs.link - search.share - search.highlight - search.suggest - content.code.copy - content.code.annotations pymdownx: sponsor: "https://github.com/sponsors/facelessuser" nav: - Home: - Pymdown Extensions: index.md - Installation: installation.md - Usage Notes: usage_notes.md - Extensions: - Arithmatex: extensions/arithmatex.md - B64: extensions/b64.md - BetterEm: extensions/betterem.md - Blocks: - extensions/blocks/index.md - Blocks Extension API: extensions/blocks/api.md - Admonition: extensions/blocks/plugins/admonition.md - Definition: extensions/blocks/plugins/definition.md - Details: extensions/blocks/plugins/details.md - HTML: extensions/blocks/plugins/html.md - Tab: extensions/blocks/plugins/tab.md - Caret: extensions/caret.md - Critic: extensions/critic.md - Details: extensions/details.md - Emoji: extensions/emoji.md - EscapeAll: extensions/escapeall.md - Extra: extensions/extra.md - Highlight: extensions/highlight.md - InlineHilite: extensions/inlinehilite.md - Keys: extensions/keys.md - MagicLink: extensions/magiclink.md - Mark: extensions/mark.md - PathConverter: extensions/pathconverter.md - ProgressBar: extensions/progressbar.md - SaneHeaders: extensions/saneheaders.md - SmartSymbols: extensions/smartsymbols.md - Snippets: extensions/snippets.md - StripHTML: extensions/striphtml.md - SuperFences: extensions/superfences.md - Tabbed: extensions/tabbed.md - Tasklist: extensions/tasklist.md - Tilde: extensions/tilde.md - Extras: - Slugs: extras/slugs.md - Advanced Mermaid Notes: extras/mermaid.md - FAQ: - Frequently Asked Questions: faq.md - About: - Contributing & Support: about/contributing.md - Development: about/development.md - Security Vulnerabilities: about/security.md - Changelog: about/changelog.md - Migration Notes: - '6.0': about/releases/6.0.md - '7.0': about/releases/7.0.md - '8.0': about/releases/8.0.md - '9.0': about/releases/9.0.md - License: about/license.md markdown_extensions: - markdown.extensions.toc: slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}} permalink: "" - markdown.extensions.admonition: - markdown.extensions.smarty: smart_quotes: false - pymdownx.betterem: - markdown.extensions.attr_list: - markdown.extensions.def_list: - markdown.extensions.tables: - markdown.extensions.abbr: - markdown.extensions.footnotes: - markdown.extensions.md_in_html: - pymdownx.superfences: preserve_tabs: true custom_fences: # Mermaid diagrams - name: diagram class: diagram format: !!python/name:pymdownx.superfences.fence_code_format - name: math class: arithmatex format: !!python/object/apply:pymdownx.arithmatex.arithmatex_fenced_format {kwds: {mode: generic, tag: pre}} - name: md-render class: md-render format: !!python/name:tools.pymdownx_md_render.md_sub_render - pymdownx.highlight: extend_pygments_lang: - name: php-inline lang: php options: startinline: true - name: pycon3 lang: pycon options: python3: true linenums_style: pymdownx-inline - pymdownx.inlinehilite: custom_inline: - name: math class: arithmatex format: !!python/object/apply:pymdownx.arithmatex.arithmatex_inline_format {kwds: {mode: generic}} - pymdownx.magiclink: repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true social_url_shortener: true user: facelessuser repo: pymdown-extensions normalize_issue_symbols: true - pymdownx.tilde: - pymdownx.caret: - pymdownx.smartsymbols: - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.escapeall: hardbreak: True nbsp: True - pymdownx.tasklist: custom_checkbox: true - pymdownx.progressbar: - pymdownx.arithmatex: generic: true block_tag: 'pre' - pymdownx.mark: - pymdownx.striphtml: - pymdownx.snippets: base_path: - docs/src/markdown/.snippets - LICENSE.md - SECURITY.md auto_append: - refs.md check_paths: true - pymdownx.keys: separator: "\uff0b" - pymdownx.details: - pymdownx.tabbed: alternate_style: true - pymdownx.saneheaders: - pymdownx.blocks.admonition: types: - new - settings - note - abstract - info - tip - success - question - warning - failure - danger - bug - example - quote - pymdownx.blocks.details: types: - name: details-new class: new - name: details-settings class: settings - name: details-note class: note - name: details-abstract class: abstract - name: details-info class: info - name: details-tip class: tip - name: details-success class: success - name: details-question class: question - name: details-warning class: warning - name: details-failure class: failure - name: details-danger class: danger - name: details-bug class: bug - name: details-example class: example - name: details-quote class: quote - pymdownx.blocks.html: - pymdownx.blocks.definition: - pymdownx.blocks.tab: alternate_style: True combine_header_slug: True slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}} - tools.collapse_code: expand_text: '' collapse_text: '' extra: social: - icon: fontawesome/brands/github link: https://github.com/facelessuser extra_css: # - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css - assets/pymdownx-extras/extra.css extra_javascript: - https://unpkg.com/mermaid@10.6.1/dist/mermaid.min.js # - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js - assets/pymdownx-extras/extra-loader.js plugins: - search: - git-revision-date-localized: fallback_to_build_date: true - minify: minify_html: true pymdown-extensions-10.9/docs/src/scss/000077500000000000000000000000001465124271600200375ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/scss/_config.scss000066400000000000000000000033111465124271600223360ustar00rootroot00000000000000//// /// Copyright (c) 2016-2020 Martin Donath /// /// Permission is hereby granted, free of charge, to any person obtaining a /// copy of this software and associated documentation files (the "Software"), /// to deal in the Software without restriction, including without limitation /// the rights to use, copy, modify, merge, publish, distribute, sublicense, /// and/or sell copies of the Software, and to permit persons to whom the /// Software is furnished to do so, subject to the following conditions: /// /// The above copyright notice and this permission notice shall be included in /// all copies or substantial portions of the Software. /// /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL /// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER /// DEALINGS //// // ---------------------------------------------------------------------------- // Variables: breakpoints // ---------------------------------------------------------------------------- // Device-specific breakpoints $break-devices: ( mobile: ( portrait: px2em(220px) px2em(479px), landscape: px2em(480px) px2em(719px) ), tablet: ( portrait: px2em(720px) px2em(959px), landscape: px2em(960px) px2em(1219px) ), screen: ( small: px2em(1220px) px2em(1599px), medium: px2em(1600px) px2em(1999px), large: px2em(2000px) ) ); pymdown-extensions-10.9/docs/src/scss/_general.scss000066400000000000000000000052541465124271600225160ustar00rootroot00000000000000/* Normal colors */ :root { --md-heart: #{$clr-red-a200}; --md-heart-big: #{$clr-red-a400}; :focus-visible { outline-style: solid; } /* Dark mode colors */ [data-md-color-scheme="dracula"] { --md-heart: #{$drac-pink}; --md-heart-big: #{$drac-red}; } } .md-typeset { h4 { margin: 2.0em 0 1em; } a.source-link { position: relative; top: px2rem(-12px); float: right; color: var(--md-default-fg-color--lighter); transition: color 125ms; &:hover { color: var(--md-accent-fg-color); } .twemoji { height: px2rem(24px); svg { width: px2rem(24px); height: px2rem(24px); } } } div.highlight.md-max-height pre > code { max-height: px2rem(300px); } } .twemoji { &.heart-throb, &.heart-throb-hover { svg { position: relative; color: var(--md-heart); animation: pulse 1.5s ease infinite; } } } @keyframes pulse { 0% { transform: scale(1); } 40% { color: var(--md-heart-big); transform: scale(1.3); } 50% { transform: scale(1.2); } 60% { color: var(--md-heart-big); transform: scale(1.3); } 100% { transform: scale(1); } } footer.sponsorship { text-align: center; hr { display: inline-block; width: px2rem(32px); margin: 0 px2rem(14px); vertical-align: middle; border-bottom: 2px solid var(--md-default-fg-color--lighter); } &:hover { hr { border-color: var(--md-accent-fg-color); } } &:not(:hover) { .twemoji.heart-throb-hover svg{ color: var(--md-default-fg-color--lighter) !important; } } } // Scheme toggle body { &:not([data-md-prefers-color-scheme="true"])[data-md-color-scheme="dracula"] .md-icon { .light-mode, .system-mode, .unknown-mode { display: none; } } &:not([data-md-prefers-color-scheme="true"])[data-md-color-scheme="default"] .md-icon { .dark-mode, .system-mode, .unknown-mode { display: none; } } &:not([data-md-prefers-color-scheme="true"]):not([data-md-color-scheme="default"]):not([data-md-color-scheme="dracula"]) .md-icon { .dark-mode, .light-mode, .system-mode { display: none; } } &[data-md-prefers-color-scheme="true"] .md-icon { .dark-mode, .light-mode, .unknown-mode { display: none; } } } .md-header-nav__scheme { z-index: 0; } @include break-to-device(tablet portrait) { .md-header-nav__scheme { padding-right: 0; } label[for="__search"] { padding-left: 0; } } [data-md-toggle=search]:checked~.md-header .md-header-nav__scheme { display: none; } pymdown-extensions-10.9/docs/src/scss/_material.scss000066400000000000000000000107271465124271600227000ustar00rootroot00000000000000html { background-color: transparent; } [data-md-component="announce"] .twemoji { color: var(--md-primary-fg-color); } /* Dark mode changes */ [data-md-color-scheme="dracula"] { --md-text-color: var(--md-default-fg-color); background-color: var(--md-default-bg-color); // Footer color shades --md-footer-bg-color: transparent; --md-footer-bg-color--dark: var(--md-default-bg-color--darkest); // Header colors --md-header-fg-color: var(--md-text-color); --md-header-bg-color: var(--md-default-bg-color--darkest); // Header .md-header { color: var(--md-text-color); background-color: var(--md-header-bg-color); border-bottom: px2rem(1px) solid var(--md-primary-fg-color); &[data-md-state=shadow] { box-shadow: 0 0 px2rem(4px) rgba(0,0,0,.15), 0 0 px2rem(4px) px2rem(8px) rgba(0,0,0,.2); } } .md-top { background-color: var(--md-default-bg-color--dark); &:hover { background-color: var(--md-primary-fg-color); } } // Tabs .md-tabs { color: var(--md-text-color); background-color: var(--md-primary-fg-color--transparent); &__link--active { color: var(--md-primary-fg-color); } &__link:hover { color: var(--md-accent-fg-color); } } // Hero .md-hero { color: var(--md-text-color); background-color: var(--md-primary-fg-color--transparent); } // Navigation .md-nav__source { color: var(--md-text-color); } .md-nav__link[data-md-state=blur] { color: var(--md-default-fg-color--light); } .md-nav__item .md-nav__link--active { color: var(--md-primary-fg-color); } .md-nav__link { &:focus, &:hover { color: var(--md-accent-fg-color); } } @include break-to-device(tablet) { .md-nav--primary .md-nav__item--active > .md-nav__link:not(:hover) { color: var(--md-primary-fg-color); } // Site title in main navigation .md-nav--primary .md-nav__title { color: var(--md-text-color); background-color: var(--md-header-bg-color); border-bottom: px2rem(1px) solid var(--md-primary-fg-color); } } @include break-to-device(tablet portrait) { // Repository containing source .md-nav__source { color: var(--md-text-color); background-color: var(--md-primary-fg-color--transparent); } .md-nav .md-nav__title { color: var(--md-text-color); background-color: var(--md-header-bg-color); border-bottom: px2rem(1px) solid var(--md-primary-fg-color); } } // Search .md-search__input { color: var(--md-text-color); background-color: var(--md-accent-bg-color--light); &:hover { background-color: var(--md-default-bg-color--light); } ~ .md-search__icon { color: var(--md-text-color); } &::placeholder { color: var(--md-default-fg-color--light); } } [data-md-toggle=search]:checked~.md-header .md-search__input { background-color: transparent; } .md-search__suggest { color: var(--md-default-autocomplete-fg-color); } .md-search__overlay, .md-overlay { background-color: var(--md-default-bg-color--light); } // Footer .md-footer { &-nav__direction { color: var(--md-primary-fg-color); } &-meta { border-top: px2rem(1px) solid var(--md-primary-fg-color); } } // Announcements [data-md-component="announce"] { background-color: var(--md-default-bg-color--ultra-dark); } } /* Don't force capitalization of `H5` elements. */ .md-typeset { h5 { color: var(--md-text-color); text-transform: none; } } .md-typeset__scrollwrap, .md-sidebar__scrollwrap, .md-search__scrollwrap, .md-typeset pre > code, .md-typeset div.mermaid, .md-typeset div.diagram, .md-typeset mermaid-div, .md-typeset diagram-div, .md-typeset pre.arithmatex, .md-typeset div.arithmatex { // Firefox scrollbar and thumb scrollbar-color: var(--md-default-fg-color--lighter) transparent; scrollbar-width: thin; // Firefox hovered scrollbar and thumb &:hover { scrollbar-color: var(--md-accent-fg-color) transparent; } // Override native scrollbar styles &::-webkit-scrollbar { width: px2rem(4px); height: px2rem(4px); } &::-webkit-scrollbar-corner { background-color: transparent; } // Scrollbar thumb &::-webkit-scrollbar-thumb { background-color: var(--md-default-fg-color--lighter); // Hovered scrollbar thumb &:hover { background-color: var(--md-accent-fg-color); } } } pymdown-extensions-10.9/docs/src/scss/extensions/000077500000000000000000000000001465124271600222365ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/scss/extensions/_admonition.scss000066400000000000000000000110011465124271600254240ustar00rootroot00000000000000.md-typeset .admonition { border-width: 0; border-left-width: 4px; } $new-admonitions: ( settings config: $drac-pink $clr-purple-a700 "@mdi/svg/svg/cog.svg", new: $drac-yellow $clr-yellow-a700 "@mdi/svg/svg/alert-decagram.svg" ) !default; $old-admonitions: ( note: $drac-dark-yellow, abstract: $drac-cyan, info: $drac-light-blue, tip: $drac-teal, success: $drac-green, question: $drac-light-green, warning: $drac-orange, failure: $drac-dark-red, danger: $drac-red, bug: $drac-dark-pink, example: $drac-purple, quote: $drac-grey ) !default; /* Style new admonitions with dark or light colors */ :root > * { --md-admonition-bg-color: transparent; &[data-md-color-scheme="dracula"] { --md-admonition-icon-color: $drac-dark-yellow; } @each $names, $prop in $new-admonitions { $tint: nth($prop, 1); $tint2: nth($prop, 2); $name: nth($names, 1); & { --md-admonition-icon--#{$name}: svg-load("#{nth($prop, 3)}"); --md-admonition-bg-color--#{$name}: #{transparentize($tint2, 0.9)}; --md-admonition-icon-color--#{$name}: #{$tint2}; --md-admonition-shadow-color--#{$name}: #{transparentize($tint2, 0.9)}; } &[data-md-color-scheme="dracula"] { --md-admonition-bg-color--#{$name}: var(--md-default-bg-color--ultra-dark); --md-admonition-icon-color--#{$name}: #{$tint}; --md-admonition-shadow-color--#{$name}: #{transparentize($tint, 0.9)}; } @each $names, $tint in $old-admonitions { $name: nth($names, 1); & { --md-admonition-bg-color--#{$name}: var(--md-default-bg-color--ultra-dark); --md-admonition-icon-color--#{$name}: #{$tint}; --md-admonition-shadow-color--#{$name}: #{transparentize($tint, 0.9)}; } } } } /* Dark mode changes */ [data-md-color-scheme="dracula"] .md-typeset .admonition { border-color: var(--md-admonition-icon-color--note); box-shadow: var(--md-shadow-z2); &:focus-within { box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--note); } > .admonition-title { background-color: var(--md-admonition-bg-color--note); &::before { background-color: var(--md-admonition-icon-color--note); } &::after { color: var(--md-admonition-icon-color--note); } } } /* Style existing admonitions with dark mode colors */ [data-md-color-scheme="dracula"] { @each $names, $prop in $old-admonitions { $name: nth($names, 1); // Define base class .md-typeset .admonition.#{$name} { border-color: var(--md-admonition-icon-color--#{$name}); &:focus-within { box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--#{$name}); } // Define base class > .admonition-title { background-color: var(--md-admonition-bg-color--#{$name}); border-color: var(--md-admonition-icon-color--#{$name}); // Icon &::before { background-color: var(--md-admonition-icon-color--#{$name}); } &::after { color: var(--md-admonition-icon-color--#{$name}); } } } // Define synonyms for base class @if length($names) > 1 { @for $n from 2 through length($names) { .#{nth($names, $n)} { @extend .#{$name}; } } } } } @each $names, $prop in $new-admonitions { $name: nth($names, 1); // Define base class .md-typeset .admonition.#{$name} { border-color: var(--md-admonition-icon-color--#{$name}); &:focus-within { box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--#{$name}); } > .admonition-title { background-color: var(--md-admonition-bg-color--#{$name}); border-color: var(--md-admonition-icon-color--#{$name}); // Icon &::before { width: px2rem(20px); height: px2rem(20px); background-color: var(--md-admonition-icon-color--#{$name}); background-size: px2rem(20px); mask-image: var(--md-admonition-icon--#{$name}); content: "\a0"; } &::after { color: var(--md-admonition-icon-color--#{$name}); } } } // Define synonyms for base class @if length($names) > 1 { @for $n from 2 through length($names) { .#{nth($names, $n)} { @extend .#{$name}; } } } } pymdown-extensions-10.9/docs/src/scss/extensions/_arithmatex.scss000066400000000000000000000017311465124271600254420ustar00rootroot00000000000000mjx-container[display=true] { font-size: 120% !important; } mjx-container:not([display]) { font-size: 100% !important; } [data-md-color-scheme="slate"], [data-md-color-scheme="dracula"] { /* stylelint-disable selector-class-pattern */ .CtxtMenu_InfoSignature input, .CtxtMenu_InfoContent pre { color: rgb(0, 0, 0); } .CtxtMenu_Info, .CtxtMenu_Menu { box-shadow: 0px 10px 20px rgb(0 0 0 / 0.5); } /* stylelint-enable selector-class-pattern */ } .md-typeset .arithmatex { overflow-x: auto !important; overflow-y: hidden !important; } // Fix tag overlap in `KaTeX` .katex-display { .katex-html { display: flex !important; flex-direction: row; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; // overflow-x: auto; .base { display: inline !important; } .tag { position: relative !important; display: inline !important; margin-left: var(--margin-small); } } } pymdown-extensions-10.9/docs/src/scss/extensions/_critic.scss000066400000000000000000000003211465124271600245430ustar00rootroot00000000000000/* Don't use box shadows */ .md-typeset { del, ins, mark { &.critic { padding: 0 px2em(4px, 16px); color: unset; box-shadow: none; } } .critic.break { margin: 0; } } pymdown-extensions-10.9/docs/src/scss/extensions/_details.scss000066400000000000000000000004171465124271600247210ustar00rootroot00000000000000/* Inherit admonition style */ .md-typeset { details { @extend .admonition; overflow: hidden; // Title > summary { @extend .admonition-title; // Disable accessibility focus &:focus { outline-style: none; } } } } pymdown-extensions-10.9/docs/src/scss/extensions/_highlight.scss000066400000000000000000000132241465124271600252430ustar00rootroot00000000000000.highlight { .kc { // Keyword constant color: var(--md-code-hl-constant-color); } .nc, // Name, class .ne, // Name, exception { color: var(--md-code-hl-class-color); } .mb { color: var(--md-code-hl-number-color); } .nb, // Name, builtin .bp { // Name, builtin pseudo color: var(--md-code-hl-builtin-color); } .nn { // Name, namespace Name, namespace Name, namespace Name, namespace color: var(--md-code-hl-namespace-color); } .na, // Name, attribute .nd, // Name, decorator .ni { // Name, entity color: var(--md-code-hl-entity-color); } .nl, // Name, label .nt { // Name, tag color: var(--md-code-hl-tag-color); } } .md-typeset { /* Allow code to look like code everywhere despite Material's current preference */ *:not(pre) > code { margin: 0; padding: 0 px2em( 4px, 13.6px); color: var(--md-code-fg-color); background-color: var(--md-code-inline-bg-color); border-radius: px2rem(2px); box-shadow: none; } /* Code that is also a link */ a { > code { color: inherit !important; background-color: var(--md-code-link-bg-color) !important; transition: color 125ms; transition: background-color 125ms; /* If we are linking highlighted, inline code, force it to just look like a code link */ * { color: var(--md-typeset-a-color) !important; } &:hover { background-color: var(--md-code-link-accent-bg-color) !important; * { color: var(--md-accent-fg-color) !important; } } } } pre > code { outline: none; } /* Don't always like code breaking in table cells */ td code { word-break: normal; } .highlight { /* Needed for tab preserving mode */ tab-size: 8; + .result { border-width: px2rem(2px); } /* `pymdownx-inline` mode */ [data-linenos] { /* Special line mode coloring */ &.special::before { background-color: var(--md-code-special-bg-color); } } } /* Special line number coloring for tables */ .highlighttable { .linenodiv { .special { margin-right: px2em(-8px, 13.6px); margin-left: px2em(-16px, 13.6px); padding-right: px2em(8px, 13.6px); padding-left: px2em(16px, 13.6px); background-color: var(--md-code-special-bg-color); } } } // Filename span .highlight span.filename { // Style the filename banner position: relative; display: block; margin-top: 1em; padding: px2em(8px) px2em(16px, 13.6px) px2em(8px) px2em(40px, 13.6px); font-weight: 700; font-size: px2rem(13.6px); background-color: var(--md-code-title-bg-color); border-top-left-radius: px2rem(2px); border-top-right-radius: px2rem(2px); // Adjust margins and and general container look of code block + pre { margin-top: 0; code { border-top-left-radius: 0; border-top-right-radius: 0; } } // Add code icon &::before { position: absolute; left: px2em(12px, 13.6px); width: px2em(20px, 13.6px); height: px2em(20px, 13.6px); background-color: var(--md-default-fg-color); mask-image: svg-load("@mdi/svg/svg/console.svg"); mask-repeat: no-repeat; mask-size: contain; content: ""; } } .collapse-code { position: relative; margin-top: 1em; margin-bottom: 1em; pre { margin-top: 0; margin-bottom: 0; } input{ display: none; ~ .code-footer { width: 100%; margin: 0; padding: px2em(4px) px2em(8px) px2em(4px) px2em(0px); label { position: relative; margin: 0.05em; padding: 0.15em 0.8em; color: var(--md-primary-bg-color); font-size: 90%; background-color: var(--md-primary-fg-color); mask-repeat: no-repeat; mask-size: contain; border-radius: px2rem(2px); cursor: pointer; content: ""; &:hover { background-color: var(--md-accent-fg-color); } &::before { position: absolute; top: 0.15em; left: 0.15em; display: block; box-sizing: border-box; width: 1.25em; height: 1.25em; background-color: var(--md-primary-bg-color); background-size: 1.25em; content: ""; } &.expand { display: none; &::before { mask-image: svg-load("@mdi/svg/svg/arrow-expand.svg"); } } &.collapse::before { mask-image: svg-load("@mdi/svg/svg/arrow-collapse.svg"); } } } &:checked { ~ .code-footer label.expand { display: inline; } ~ .code-footer label.collapse { display: none; } + div.highlight code { max-height: px2em(150px); overflow: hidden; } ~ .code-footer { position: absolute; bottom: 0; left: 0; padding: px2em(32px) px2em(8px) px2em(8px) px2rem(16px); background-image: linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%); } } } } @include break-to-device(mobile) { > { diagram-div { margin-right: px2rem(-16px); margin-left: px2rem(-16px); } .collapse-code { margin-right: px2rem(-16px); margin-left: px2rem(-16px); label.collapse { left: px2rem(16px); } } } } } pymdown-extensions-10.9/docs/src/scss/extensions/_keys.scss000066400000000000000000000010141465124271600242410ustar00rootroot00000000000000.md-typeset { // Keyboard key .keys { // Define keyboard keys with left icon @each $name, $code in ( // Extra Keys "power": "\23FB", "fingerprint": "\261D", ) { .key-#{$name}::before { padding-right: px2em(6.4px); content: $code; } } // Define keyboard keys with right icon @each $name, $code in ( // Extra Keys ) { .key-#{$name}::after { padding-left: px2em(6.4px); content: $code; } } } } pymdown-extensions-10.9/docs/src/scss/extensions/_magiclink.scss000066400000000000000000000043541465124271600252360ustar00rootroot00000000000000// General styling for repository link icons :root > * { --magiclink-email-icon: svg-load("@mdi/svg/svg/mail.svg"); --magiclink-github-icon: svg-load("@mdi/svg/svg/github.svg"); --magiclink-bitbucket-icon: svg-load("@mdi/svg/svg/bitbucket.svg"); --magiclink-gitlab-icon: svg-load("@mdi/svg/svg/gitlab.svg"); --magiclink-commit-icon: svg-load("@primer/octicons/build/svg/git-commit-24.svg"); --magiclink-compare-icon: svg-load("@primer/octicons/build/svg/file-diff-24.svg"); --magiclink-pull-icon: svg-load("@primer/octicons/build/svg/git-pull-request-24.svg"); --magiclink-issue-icon: svg-load("@primer/octicons/build/svg/issue-opened-24.svg"); --magiclink-discussion-icon: svg-load("@primer/octicons/build/svg/comment-discussion-24.svg"); } .md-typeset { a[href^="mailto:"]:not(.magiclink-ignore)::before { mask-image: var(--magiclink-email-icon); } .magiclink-repository, .magiclink-compare, .magiclink-commit, .magiclink-pull, .magiclink-issue, .magiclink-discussion, a[href^="mailto:"] { &:not(.magiclink-ignore) { position: relative; padding-left: px2em(22px); &::before { position: absolute; top: 0; left: 0; display: block; box-sizing: border-box; width: px2em(20px); height: px2em(20px); background-color: var(--md-typeset-a-color); background-size: px2em(20px); transition: background-color 125ms; mask-repeat: no-repeat; mask-size: contain; content: ""; } &:hover::before { background-color: var(--md-accent-fg-color); } } } } // Assign icons to repository links @each $name, $icon in ( "commit": "commit", "compare": "compare", "pull": "pull", "issue": "issue", "discussion": "discussion" ) { .md-typeset { .magiclink-#{$name}:not(.magiclink-ignore) { &::before { mask-image: var(--magiclink-#{$icon}-icon); } } } } // Assign icons to repository links @each $name, $icon in ( "github": "github", "gitlab": "gitlab", "bitbucket": "bitbucket" ) { .md-typeset { .magiclink-repository.magiclink-#{$name}:not(.magiclink-ignore) { &::before { mask-image: var(--magiclink-#{$icon}-icon); } } } } pymdown-extensions-10.9/docs/src/scss/extensions/_mark.scss000066400000000000000000000001551465124271600242250ustar00rootroot00000000000000/* Shadow boxes sometimes give issues, so just pad. */ .md-typeset mark:not(.critic) { box-shadow: none; } pymdown-extensions-10.9/docs/src/scss/extensions/_progressbar.scss000066400000000000000000000040501465124271600256220ustar00rootroot00000000000000.md-typeset { /* Progress Bars */ .progress-label { position: absolute; width: 100%; margin: 0; color: var(--md-text-color); font-weight: 700; line-height: px2rem(28px); white-space: nowrap; text-align: center; text-shadow: px2em(-1px) px2em(-1px) px2em(6px) var(--md-default-bg-color--light), px2em(1px) px2em(-1px) px2em(6px) var(--md-default-bg-color--light), px2em(-1px) px2em(1px) px2em(6px) var(--md-default-bg-color--light), px2em(1px) px2em(1px) px2em(6px) var(--md-default-bg-color--light); } .progress-bar { float: left; height: px2rem(24px); background-color: $clr-blue-a400; } /* Stripe animation */ .candystripe-animate { .progress-bar{ animation: animate-stripes 3s linear infinite; } } .progress { position: relative; display: block; width: 100%; height: px2rem(24px); margin: px2rem(10px) 0; background-color: var(--md-default-fg-color--lightest); &.thin { height: px2rem(8px); margin-top: px2rem(18px); .progress-label { margin-top: px2rem(-8px); } .progress-bar { height: px2rem(8px); } } &.candystripe .progress-bar { background-image: linear-gradient( 135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent ); background-size: px2rem(40px) px2rem(40px); } } @each $percent, $color in ( "100": var(--md-progress-100), "80": var(--md-progress-80), "60": var(--md-progress-60), "40": var(--md-progress-40), "20": var(--md-progress-20), "0": var(--md-progress-0) ) { .progress-#{$percent}plus { .progress-bar { background-color: $color; } } } @keyframes animate-stripes { 0% { background-position: 0 0; } 100% { background-position: px2rem(120px) 0; } } } pymdown-extensions-10.9/docs/src/scss/extensions/_superfences.scss000066400000000000000000000001151465124271600256110ustar00rootroot00000000000000/* Special handling of Mermaid content. */ diagram-div { overflow: auto; } pymdown-extensions-10.9/docs/src/scss/extensions/_tabbed.scss000066400000000000000000000042421465124271600245150ustar00rootroot00000000000000/* Dark mode changes */ [data-md-color-scheme="dracula"] { .md-typeset { .tabbed-set > .tabbed-labels { box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lighter) inset; } } } /* Style code blocks to fill full tab, but otherwise, pad content. */ .md-typeset { .tabbed-alternate { &.tabbed-set .tabbed-control { width: px2rem(40px); &[hidden] { width: px2rem(24px); opacity: 0; } } &.tabbed-set > .tabbed-content > .tabbed-block { padding: 0 px2rem(12px); > { pre, .codehilite, .codehilitetable, .highlight, .highlighttable { &:only-child { margin-right: px2rem(-24px); margin-left: px2rem(-24px); padding-right: px2rem(12px); padding-left: px2rem(12px); span.filename { margin-top: 0; } } } .collapse-code:only-child { margin-top: 0; margin-right: px2rem(-24px); margin-left: px2rem(-24px); padding-right: px2rem(12px); padding-left: px2rem(12px); > .code-footer { left: px2rem(12px) } } diagram-div:only-child { margin-right: px2rem(-24px); margin-left: px2rem(-24px); padding-right: px2rem(12px); padding-left: px2rem(12px); } } } } } .js .md-typeset .tabbed-labels::before { background-color: var(--md-accent-fg-color); } /* Ignore mobile overflow styling that extends the tab bar */ @include break-to-device(mobile) { [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels { padding-left: 0; } .md-content__inner > .tabbed-set .tabbed-labels { max-width: 100%; margin: 0; padding-inline-start: 0; scroll-padding-inline-start: 0; &::after { padding-inline-end: 0; content: none; } // Tabbed control previous ~ .tabbed-control--prev { margin-inline-start: 0; padding-inline-start: 0; } // Tabbed control next ~ .tabbed-control--next { margin-inline-end: 0; padding-inline-end: 0; } } } pymdown-extensions-10.9/docs/src/scss/extensions/_tables.scss000066400000000000000000000007271465124271600245520ustar00rootroot00000000000000/* Dark mode changes */ [data-md-color-scheme="dracula"] { .md-typeset table:not([class]) { box-shadow: var(--md-shadow-z2); tr:hover { background-color: rgba(0,0,0,.08); } th { color: var(--md-text-color); background-color: var(--md-default-bg-color--ultra-dark); border-bottom: px2rem(1px) solid var(--md-primary-fg-color); } td { border-top: px2rem(1px) solid var(--md-default-fg-color--lighter); } } } pymdown-extensions-10.9/docs/src/scss/extensions/_tasklist.scss000066400000000000000000000004611465124271600251310ustar00rootroot00000000000000/* Dark mode changes */ [data-md-color-scheme="dracula"] { .md-typeset .task-list-control { .task-list-indicator::before { background-color: var(--md-default-fg-color--lighter); } [type=checkbox]:checked + .task-list-indicator::before { background-color: $drac-green; } } } pymdown-extensions-10.9/docs/src/scss/extensions/_toc.scss000066400000000000000000000007131465124271600240600ustar00rootroot00000000000000// Header anchors .md-typeset { .headerlink { width: px2em(16px); height: px2em(16px); vertical-align: middle; background-color: var(--md-default-fg-color--lighter); background-size: px2em(16px); mask-size: px2em(16px); mask-repeat: no-repeat; visibility: visible; mask-image: svg-load("@mdi/svg/svg/link.svg"); } .headerlink:hover, [id]:target .headerlink { background-color: var(--md-accent-fg-color); } } pymdown-extensions-10.9/docs/src/scss/extra.scss000066400000000000000000000012221465124271600220540ustar00rootroot00000000000000@import "material-color"; @import "material-shadows"; @import "utilities/break"; @import "utilities/convert"; @import "utilities/color_tools"; @import "config"; @import "palette/colors"; @import "general"; @import "extensions/admonition"; @import "extensions/arithmatex"; @import "extensions/critic"; @import "extensions/details"; @import "extensions/highlight"; @import "extensions/keys"; @import "extensions/magiclink"; @import "extensions/mark"; @import "extensions/progressbar"; @import "extensions/tabbed"; @import "extensions/tables"; @import "extensions/tasklist"; @import "extensions/toc"; @import "extensions/superfences"; @import "material"; pymdown-extensions-10.9/docs/src/scss/palette/000077500000000000000000000000001465124271600214755ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/scss/palette/_colors.scss000066400000000000000000000224061465124271600240360ustar00rootroot00000000000000@import "./dracula"; :root > * { // Custom code colors --md-code-link-bg-color: hsla(0, 0%, 96%, 1); --md-code-link-accent-bg-color: var(--md-code-link-bg-color); --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0); --md-code-title-bg-color: var(--md-code-bg-color); --md-code-inline-bg-color: var(--md-code-bg-color); --md-code-special-bg-color: #{darken(hsl(0, 0%, 96%), 5%)}; --md-code-alternate-bg-color: var(--md-code-bg-color); --md-code-hl-punctuation-color: var(--md-code-fg-color); --md-code-hl-namespace-color: var(--md-code-fg-color); --md-code-hl-entity-color: var(--md-code-hl-keyword-color); --md-code-hl-tag-color: var(--md-code-hl-keyword-color); --md-code-hl-builtin-color: var(--md-code-hl-constant-color); --md-code-hl-class-color: var(--md-code-hl-function-color); // Various Material related color variables --md-typeset-a-color: #{$clr-cyan-500}; // Progressbar colors --md-progress-stripe: var(--md-default-bg-color--lighter); --md-progress-100: #{$clr-green-a400}; --md-progress-80: #{$clr-green-a400}; --md-progress-60: #{$clr-yellow-700}; --md-progress-40: #{$clr-orange-a400}; --md-progress-20: #{$clr-red-a200}; --md-progress-0: #{$clr-red-a400}; // Keys colors --md-typeset-kbd-color: #{shade(hsla(0, 100%, 100%, 1), 8%)}; --md-typeset-kbd-border-color: #{shade(hsla(0, 100%, 100%, 1), 28%)}; --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1); &[data-md-color-scheme="slate"] { // Custom code colors --md-code-link-bg-color: hsla(232, 15%, 15%, 1); --md-code-link-accent-bg-color: var(--md-code-link-bg-color); --md-code-special-bg-color: #{lighten(hsl(232, 15%, 15%), 5%)}; --md-default-bg-color--trans: hsla(232,15%,15%, 0); // Keys colors --md-typeset-kbd-color: var(--md-default-fg-color--lightest); --md-typeset-kbd-border-color: #{darken(rgb(46, 48, 62), 9%)}; --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter); } // Dark mode color changes &[data-md-color-scheme="dracula"] { // Default color shades --md-default-fg-color: #{transparentize($drac-fg, 0.13)}; --md-default-fg-color--light: #{transparentize($drac-fg, 0.46)}; --md-default-fg-color--lighter: #{transparentize($drac-fg, 0.84)}; --md-default-fg-color--lightest: #{transparentize($drac-fg, 0.93)}; --md-default-autocomplete-fg-color: #{transparentize($drac-fg, 0.60)}; --md-shadow-z2: 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.3), 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.2); --md-default-bg-color: var(--md-default-bg-color--darkest); --md-default-bg-color--light: #{transparentize($drac-default-bg, 0.3)}; --md-default-bg-color--lighter: #{transparentize($drac-default-bg, 0.7)}; --md-default-bg-color--lightest: #{transparentize($drac-default-bg, 0.88)}; --md-default-bg-color--trans: #{transparentize($drac-default-bg, 1)}; // Dark specific colors --md-default-bg-color--dark: #{darken($drac-default-bg, 3%)}; --md-default-bg-color--darker: #{darken($drac-default-bg, 6%)}; --md-default-bg-color--darkest: #{darken($drac-default-bg, 9%)}; --md-default-bg-color--ultra-dark: #{darken($drac-default-bg, 15%)}; // General text --md-text-color: var(--md-default-fg-color); --md-typeset-color: var(--md-default-fg-color); // Admonition colors --md-admonition-fg-color: var(--md-default-fg-color); // Code colors --md-code-fg-color: #{$drac-fg}; --md-code-bg-color: #{$drac-bg}; --md-code-title-bg-color: var(--md-default-bg-color--ultra-dark); --md-code-inline-bg-color: #{lighten($drac-bg, 5%)}; --md-code-hl-operator-color: #{$drac-pink}; --md-code-hl-punctuation-color: #{$drac-fg}; --md-code-hl-string-color: #{$drac-yellow}; --md-code-hl-special-color: #{$drac-purple}; --md-code-hl-number-color: #{$drac-purple}; --md-code-hl-keyword-color: #{$drac-pink}; --md-code-hl-name-color: #{$drac-fg}; --md-code-hl-constant-color: #{$drac-purple}; --md-code-hl-function-color: #{$drac-green}; --md-code-hl-comment-color: #{$drac-blue}; --md-code-hl-variable-color: #{$drac-orange}; --md-code-hl-generic-color: #{$drac-blue}; --md-code-hl-color: #{$drac-selection}; // Custom code colors --md-code-hl-entity-color: #{$drac-green}; --md-code-hl-tag-color: #{$drac-pink}; --md-code-hl-namespace-color: #{$drac-fg}; --md-code-hl-builtin-color: #{$drac-cyan}; --md-code-hl-class-color: #{$drac-cyan}; --md-code-special-bg-color: #{darken($drac-bg, 5%)}; --md-code-alternate-bg-color: #{tint($drac-bg, 10%)}; --md-code-link-bg-color: #{mix($drac-cyan, $drac-bg, 15%)}; // Various Material related color variables --md-typeset-a-color: #{$drac-cyan}; --md-typeset-mark-color: #{mix($drac-yellow, $drac-bg, 35%)}; --md-typeset-del-color: #{mix($drac-pink, $drac-bg, 35%)}; --md-typeset-ins-color: #{mix($drac-green, $drac-bg, 35%)}; // Progressbar colors --md-progress-stripe: var(--md-default-bg-color--lightest); --md-progress-100: #{$drac-green}; --md-progress-80: #{$drac-light-green}; --md-progress-60: #{$drac-yellow}; --md-progress-40: #{$drac-orange}; --md-progress-20: #{$drac-pink}; --md-progress-0: #{$drac-red}; // Keys colors --md-typeset-kbd-color: var(--md-default-fg-color--lightest); --md-typeset-kbd-border-color: var(--md-default-bg-color--ultra-dark); --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter); } } // ---------------------------------------------------------------------------- // Rules: primary colors // ---------------------------------------------------------------------------- @each $name, $colors in ( "red": $drac-red lighten($drac-red, 5%) darken($drac-red, 5%), "pink": $drac-pink lighten($drac-pink, 5%) darken($drac-pink, 5%), "purple": $drac-purple lighten($drac-purple, 5%) darken($drac-purple, 5%), "deep-purple": $drac-purple lighten($drac-purple, 5%) darken($drac-purple, 5%), "blue": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%), "indigo": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%), "light-blue": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%), "cyan": $drac-cyan lighten($drac-cyan, 5%) darken($drac-cyan, 5%), "teal": $drac-cyan lighten($drac-cyan, 5%) darken($drac-cyan, 5%), "green": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%), "light-green": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%), "lime": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%), "yellow": $drac-yellow lighten($drac-yellow, 5%) darken($drac-yellow, 5%), "amber": $drac-yellow lighten($drac-yellow, 5%) darken($drac-yellow, 5%), "orange": $drac-orange lighten($drac-orange, 5%) darken($drac-orange, 5%), "deep-orange": $drac-orange lighten($drac-orange, 5%) darken($drac-orange, 5%) ) { // Color palette [data-md-color-scheme="dracula"][data-md-color-primary="#{$name}"], [data-md-color-scheme="dracula"] :not([data-md-color-scheme])[data-md-color-primary="#{$name}"] { --md-primary-code-bg-color: #{mix($drac-bg, nth($colors, 1), 85%)}; --md-primary-fg-color: hsla(#{hex2hsl(nth($colors, 1))}, 1); --md-primary-fg-color--transparent: hsla(#{hex2hsl(nth($colors, 1))}, 0.1); --md-primary-fg-color--light: hsla(#{hex2hsl(nth($colors, 2))}, 1); --md-primary-fg-color--dark: hsla(#{hex2hsl(nth($colors, 3))}, 1); --md-primary-bg-color: var(--md-default-bg-color); --md-primary-bg-color--light: var(--md-default-bg-color--light); } } // ---------------------------------------------------------------------------- // Rules: accent colors // ---------------------------------------------------------------------------- @each $name, $color in ( "red": darken($drac-red, 5%), "pink": darken($drac-pink, 5%), "purple": darken($drac-purple, 5%), "deep-purple": darken($drac-purple, 5%), "blue": darken($drac-blue, 5%), "indigo": darken($drac-blue, 5%), "light-blue": darken($drac-blue, 5%), "cyan": darken($drac-cyan, 5%), "teal": darken($drac-cyan, 5%), "green": darken($drac-green, 5%), "light-green": darken($drac-green, 5%), "lime": darken($drac-green, 5%), "yellow": darken($drac-yellow, 5%), "amber": darken($drac-yellow, 5%), "orange": darken($drac-orange, 5%), "deep-orange": darken($drac-orange, 5%) ) { // Color palette [data-md-color-scheme="dracula"][data-md-color-accent="#{$name}"], [data-md-color-scheme="dracula"] :not([data-md-color-scheme])[data-md-color-primary="#{$name}"] { --md-code-link-accent-bg-color: #{mix($color, $drac-bg, 15%)}; --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1); --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1); --md-accent-bg-color: var(--md-default-bg-color); --md-accent-bg-color--light: var(--md-default-bg-color--light); } } pymdown-extensions-10.9/docs/src/scss/palette/_dracula.scss000066400000000000000000000013161465124271600241450ustar00rootroot00000000000000$drac-fg: hsl(60, 30%, 96%); $drac-bg: hsl(231, 15%, 18%); $drac-highlight: hsl(66, 94%, 73%); $drac-selection: hsl(231, 25%, 25%); $drac-blue: hsl(225, 27%, 51%); $drac-cyan: hsl(191, 97%, 77%); $drac-green: hsl(135, 94%, 65%); $drac-orange: hsl(31, 100%, 71%); $drac-pink: hsl(326, 100%, 74%); $drac-purple: hsl(265, 89%, 78%); $drac-red: hsl(0, 100%, 67%); $drac-yellow: hsl(65, 92%, 76%); // Non-standard Dracula colors $drac-grey: hsl(225, 8%, 51%); $drac-teal: hsl(161, 97%, 77%); $drac-light-blue: hsl(190, 94%, 87%); $drac-light-green: hsl(135, 92%, 79%); $drac-dark-pink: hsl(325, 100%, 64%); $drac-dark-red: hsl(0, 100%, 59%); $drac-dark-yellow: hsl(51, 94%, 73%); $drac-default-bg: lighten($drac-bg, 5%); pymdown-extensions-10.9/docs/src/scss/utilities/000077500000000000000000000000001465124271600220525ustar00rootroot00000000000000pymdown-extensions-10.9/docs/src/scss/utilities/_break.scss000066400000000000000000000132651465124271600242010ustar00rootroot00000000000000//// /// Copyright (c) 2016-2020 Martin Donath /// /// Permission is hereby granted, free of charge, to any person obtaining a /// copy of this software and associated documentation files (the "Software"), /// to deal in the Software without restriction, including without limitation /// the rights to use, copy, modify, merge, publish, distribute, sublicense, /// and/or sell copies of the Software, and to permit persons to whom the /// Software is furnished to do so, subject to the following conditions: /// /// The above copyright notice and this permission notice shall be included in /// all copies or substantial portions of the Software. /// /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL /// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER /// DEALINGS //// // ---------------------------------------------------------------------------- // Variables // ---------------------------------------------------------------------------- /// /// Device-specific breakpoints /// /// @example /// $break-devices: ( /// mobile: ( /// portrait: 220px 479px, /// landscape: 480px 719px /// ), /// tablet: ( /// portrait: 720px 959px, /// landscape: 960px 1219px /// ), /// screen: ( /// small: 1220px 1599px, /// medium: 1600px 1999px, /// large: 2000px /// ) /// ); /// $break-devices: () !default; // ---------------------------------------------------------------------------- // Helpers // ---------------------------------------------------------------------------- /// /// Choose minimum and maximum device widths /// @function break-select-min-max($devices) { $min: 1000000; $max: 0; @each $key, $value in $devices { @while type-of($value) == map { $value: break-select-min-max($value); } @if type-of($value) == list { @each $number in $value { @if type-of($number) == number { $min: min($number, $min); @if $max != null { $max: max($number, $max); } } @else { @error "Invalid number: #{$number}"; } } } @else if type-of($value) == number { $min: min($value, $min); $max: null; } @else { @error "Invalid value: #{$value}"; } } @return $min, $max; } /// /// Select minimum and maximum widths for a device breakpoint /// @function break-select-device($device) { $current: $break-devices; @for $n from 1 through length($device) { @if type-of($current) == map { $current: map-get($current, nth($device, $n)); } @else { @error "Invalid device map: #{$devices}"; } } @if type-of($current) == list or type-of($current) == number { $current: (default: $current); } @return break-select-min-max($current); } // ---------------------------------------------------------------------------- // Mixins // ---------------------------------------------------------------------------- /// /// A minimum-maximum media query breakpoint /// @mixin break-at($breakpoint) { @if type-of($breakpoint) == number { @media screen and (min-width: $breakpoint) { @content; } } @else if type-of($breakpoint) == list { $min: nth($breakpoint, 1); $max: nth($breakpoint, 2); @if type-of($min) == number and type-of($max) == number { @media screen and (min-width: $min) and (max-width: $max) { @content; } } @else { @error "Invalid breakpoint: #{$breakpoint}"; } } @else { @error "Invalid breakpoint: #{$breakpoint}"; } } /// /// An orientation media query breakpoint /// @mixin break-at-orientation($breakpoint) { @if type-of($breakpoint) == string { @media screen and (orientation: $breakpoint) { @content; } } @else { @error "Invalid breakpoint: #{$breakpoint}"; } } /// /// A maximum-aspect-ratio media query breakpoint /// @mixin break-at-ratio($breakpoint) { @if type-of($breakpoint) == number { @media screen and (max-aspect-ratio: $breakpoint) { @content; } } @else { @error "Invalid breakpoint: #{$breakpoint}"; } } /// /// A minimum-maximum media query device breakpoint /// @mixin break-at-device($device) { @if type-of($device) == string { $device: $device,; } @if type-of($device) == list { $breakpoint: break-select-device($device); @if nth($breakpoint, 2) != null { $min: nth($breakpoint, 1); $max: nth($breakpoint, 2); @media screen and (min-width: $min) and (max-width: $max) { @content; } } @else { @error "Invalid device: #{$device}"; } } @else { @error "Invalid device: #{$device}"; } } /// /// A minimum media query device breakpoint /// @mixin break-from-device($device) { @if type-of($device) == string { $device: $device,; } @if type-of($device) == list { $breakpoint: break-select-device($device); $min: nth($breakpoint, 1); @media screen and (min-width: $min) { @content; } } @else { @error "Invalid device: #{$device}"; } } /// /// A maximum media query device breakpoint /// @mixin break-to-device($device) { @if type-of($device) == string { $device: $device,; } @if type-of($device) == list { $breakpoint: break-select-device($device); $max: nth($breakpoint, 2); @media screen and (max-width: $max) { @content; } } @else { @error "Invalid device: #{$device}"; } } pymdown-extensions-10.9/docs/src/scss/utilities/_color_tools.scss000066400000000000000000000002511465124271600254420ustar00rootroot00000000000000@function tint($color, $percentage) { @return mix(white, $color, $percentage); } @function shade($color, $percentage) { @return mix(black, $color, $percentage); } pymdown-extensions-10.9/docs/src/scss/utilities/_convert.scss000066400000000000000000000043341465124271600245720ustar00rootroot00000000000000//// /// Copyright (c) 2016-2020 Martin Donath /// /// Permission is hereby granted, free of charge, to any person obtaining a /// copy of this software and associated documentation files (the "Software"), /// to deal in the Software without restriction, including without limitation /// the rights to use, copy, modify, merge, publish, distribute, sublicense, /// and/or sell copies of the Software, and to permit persons to whom the /// Software is furnished to do so, subject to the following conditions: /// /// The above copyright notice and this permission notice shall be included in /// all copies or substantial portions of the Software. /// /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL /// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER /// DEALINGS //// @use "sass:math"; // ---------------------------------------------------------------------------- // Helpers // ---------------------------------------------------------------------------- /// /// Convert color in HEX to HSL /// @function hex2hsl($color) { @return round(hue($color)), round(saturation($color)), round(lightness($color)); } // ---------------------------------------------------------------------------- /// /// Convert font size in px to em /// @function px2em($size, $base: 16px) { @if unit($size) == px { @if unit($base) == px { @return math.div($size, $base) * 1em; } @else { @error "Invalid base: #{$base} - unit must be 'px'"; } } @else { @error "Invalid size: #{$size} - unit must be 'px'"; } } /// /// Convert font size in px to rem /// @function px2rem($size, $base: 20px) { @if unit($size) == px { @if unit($base) == px { @return math.div($size, $base) * 1.0rem; } @else { @error "Invalid base: #{$base} - unit must be 'px'"; } } @else { @error "Invalid size: #{$size} - unit must be 'px'"; } } pymdown-extensions-10.9/docs/theme/000077500000000000000000000000001465124271600173775ustar00rootroot00000000000000pymdown-extensions-10.9/docs/theme/announce.html000066400000000000000000000003401465124271600220700ustar00rootroot00000000000000Sponsorship is now available! {% set icon = "octicons/heart-fill-16" %} {% include ".icons/" ~ icon ~ ".svg" %} pymdown-extensions-10.9/docs/theme/assets/000077500000000000000000000000001465124271600207015ustar00rootroot00000000000000pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/000077500000000000000000000000001465124271600240725ustar00rootroot00000000000000pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/extra-8611f6c398.css000066400000000000000000002232571465124271600272020ustar00rootroot00000000000000@charset "UTF-8";:root>*{--md-code-link-bg-color:hsla(0, 0%, 96%, 1);--md-code-link-accent-bg-color:var(--md-code-link-bg-color);--md-default-bg-color--trans:rgb(100%, 100%, 100%, 0);--md-code-title-bg-color:var(--md-code-bg-color);--md-code-inline-bg-color:var(--md-code-bg-color);--md-code-special-bg-color:#e8e8e8;--md-code-alternate-bg-color:var(--md-code-bg-color);--md-code-hl-punctuation-color:var(--md-code-fg-color);--md-code-hl-namespace-color:var(--md-code-fg-color);--md-code-hl-entity-color:var(--md-code-hl-keyword-color);--md-code-hl-tag-color:var(--md-code-hl-keyword-color);--md-code-hl-builtin-color:var(--md-code-hl-constant-color);--md-code-hl-class-color:var(--md-code-hl-function-color);--md-typeset-a-color:#00bcd4;--md-progress-stripe:var(--md-default-bg-color--lighter);--md-progress-100:#00e676;--md-progress-80:#00e676;--md-progress-60:#fbc02d;--md-progress-40:#ff9100;--md-progress-20:#ff5252;--md-progress-0:#ff1744;--md-typeset-kbd-color:#ebebeb;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-kbd-accent-color:hsla(0, 100%, 100%, 1)}:root>[data-md-color-scheme=slate]{--md-code-link-bg-color:hsla(232, 15%, 15%, 1);--md-code-link-accent-bg-color:var(--md-code-link-bg-color);--md-code-special-bg-color:#2b2d3b;--md-default-bg-color--trans:hsla(232,15%,15%, 0);--md-typeset-kbd-color:var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color:#1a1c24;--md-typeset-kbd-accent-color:var(--md-default-fg-color--lighter)}:root>[data-md-color-scheme=dracula]{--md-default-fg-color:rgba(248, 248, 242, 0.87);--md-default-fg-color--light:rgba(248, 248, 242, 0.54);--md-default-fg-color--lighter:rgba(248, 248, 242, 0.16);--md-default-fg-color--lightest:rgba(248, 248, 242, 0.07);--md-default-autocomplete-fg-color:rgba(248, 248, 242, 0.4);--md-shadow-z2:0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3),0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-default-bg-color:var(--md-default-bg-color--darkest);--md-default-bg-color--light:rgba(50, 52, 67, 0.7);--md-default-bg-color--lighter:rgba(50, 52, 67, 0.3);--md-default-bg-color--lightest:rgba(50, 52, 67, 0.12);--md-default-bg-color--trans:rgba(50, 52, 67, 0);--md-default-bg-color--dark:#2b2e3b;--md-default-bg-color--darker:#252732;--md-default-bg-color--darkest:#1e2029;--md-default-bg-color--ultra-dark:#111217;--md-text-color:var(--md-default-fg-color);--md-typeset-color:var(--md-default-fg-color);--md-admonition-fg-color:var(--md-default-fg-color);--md-code-fg-color:hsl(60, 30%, 96%);--md-code-bg-color:hsl(231, 15%, 18%);--md-code-title-bg-color:var(--md-default-bg-color--ultra-dark);--md-code-inline-bg-color:#323443;--md-code-hl-operator-color:hsl(326, 100%, 74%);--md-code-hl-punctuation-color:hsl(60, 30%, 96%);--md-code-hl-string-color:hsl(65, 92%, 76%);--md-code-hl-special-color:hsl(265, 89%, 78%);--md-code-hl-number-color:hsl(265, 89%, 78%);--md-code-hl-keyword-color:hsl(326, 100%, 74%);--md-code-hl-name-color:hsl(60, 30%, 96%);--md-code-hl-constant-color:hsl(265, 89%, 78%);--md-code-hl-function-color:hsl(135, 94%, 65%);--md-code-hl-comment-color:hsl(225, 27%, 51%);--md-code-hl-variable-color:hsl(31, 100%, 71%);--md-code-hl-generic-color:hsl(225, 27%, 51%);--md-code-hl-color:hsl(231, 25%, 25%);--md-code-hl-entity-color:hsl(135, 94%, 65%);--md-code-hl-tag-color:hsl(326, 100%, 74%);--md-code-hl-namespace-color:hsl(60, 30%, 96%);--md-code-hl-builtin-color:hsl(191, 97%, 77%);--md-code-hl-class-color:hsl(191, 97%, 77%);--md-code-special-bg-color:#1c1e26;--md-code-alternate-bg-color:#3d3e49;--md-code-link-bg-color:#364653;--md-typeset-a-color:hsl(191, 97%, 77%);--md-typeset-mark-color:#6e7252;--md-typeset-del-color:#734568;--md-typeset-ins-color:#36724e;--md-progress-stripe:var(--md-default-bg-color--lightest);--md-progress-100:hsl(135, 94%, 65%);--md-progress-80:hsl(135, 92%, 79%);--md-progress-60:hsl(65, 92%, 76%);--md-progress-40:hsl(31, 100%, 71%);--md-progress-20:hsl(326, 100%, 74%);--md-progress-0:hsl(0, 100%, 67%);--md-typeset-kbd-color:var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color:var(--md-default-bg-color--ultra-dark);--md-typeset-kbd-accent-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red],[data-md-color-scheme=dracula][data-md-color-primary=red]{--md-primary-code-bg-color:#47303a;--md-primary-fg-color:hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent:hsla(0deg, 100%, 67%, 0.1);--md-primary-fg-color--light:hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark:hsla(0deg, 100%, 62%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink],[data-md-color-scheme=dracula][data-md-color-primary=pink]{--md-primary-code-bg-color:#47354b;--md-primary-fg-color:hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent:hsla(326deg, 100%, 74%, 0.1);--md-primary-fg-color--light:hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark:hsla(326deg, 100%, 69%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple],[data-md-color-scheme=dracula][data-md-color-primary=purple]{--md-primary-code-bg-color:#3e3952;--md-primary-fg-color:hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent:hsla(265deg, 89%, 78%, 0.1);--md-primary-fg-color--light:hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark:hsla(265deg, 89%, 73%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple],[data-md-color-scheme=dracula][data-md-color-primary=deep-purple]{--md-primary-code-bg-color:#3e3952;--md-primary-fg-color:hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent:hsla(265deg, 89%, 78%, 0.1);--md-primary-fg-color--light:hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark:hsla(265deg, 89%, 73%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue],[data-md-color-scheme=dracula][data-md-color-primary=blue]{--md-primary-code-bg-color:#303446;--md-primary-fg-color:hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent:hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light:hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark:hsla(225deg, 27%, 46%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo],[data-md-color-scheme=dracula][data-md-color-primary=indigo]{--md-primary-code-bg-color:#303446;--md-primary-fg-color:hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent:hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light:hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark:hsla(225deg, 27%, 46%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue],[data-md-color-scheme=dracula][data-md-color-primary=light-blue]{--md-primary-code-bg-color:#303446;--md-primary-fg-color:hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent:hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light:hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark:hsla(225deg, 27%, 46%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan],[data-md-color-scheme=dracula][data-md-color-primary=cyan]{--md-primary-code-bg-color:#364653;--md-primary-fg-color:hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent:hsla(191deg, 97%, 77%, 0.1);--md-primary-fg-color--light:hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark:hsla(191deg, 97%, 72%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal],[data-md-color-scheme=dracula][data-md-color-primary=teal]{--md-primary-code-bg-color:#364653;--md-primary-fg-color:hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent:hsla(191deg, 97%, 77%, 0.1);--md-primary-fg-color--light:hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark:hsla(191deg, 97%, 72%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green],[data-md-color-scheme=dracula][data-md-color-primary=green]{--md-primary-code-bg-color:#2d4840;--md-primary-fg-color:hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent:hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light:hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark:hsla(135deg, 94%, 60%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green],[data-md-color-scheme=dracula][data-md-color-primary=light-green]{--md-primary-code-bg-color:#2d4840;--md-primary-fg-color:hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent:hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light:hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark:hsla(135deg, 94%, 60%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime],[data-md-color-scheme=dracula][data-md-color-primary=lime]{--md-primary-code-bg-color:#2d4840;--md-primary-fg-color:hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent:hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light:hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark:hsla(135deg, 94%, 60%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow],[data-md-color-scheme=dracula][data-md-color-primary=yellow]{--md-primary-code-bg-color:#454842;--md-primary-fg-color:hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent:hsla(65deg, 92%, 76%, 0.1);--md-primary-fg-color--light:hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark:hsla(65deg, 92%, 71%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber],[data-md-color-scheme=dracula][data-md-color-primary=amber]{--md-primary-code-bg-color:#454842;--md-primary-fg-color:hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent:hsla(65deg, 92%, 76%, 0.1);--md-primary-fg-color--light:hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark:hsla(65deg, 92%, 71%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange],[data-md-color-scheme=dracula][data-md-color-primary=orange]{--md-primary-code-bg-color:#473e3d;--md-primary-fg-color:hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent:hsla(31deg, 100%, 71%, 0.1);--md-primary-fg-color--light:hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark:hsla(31deg, 100%, 66%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange],[data-md-color-scheme=dracula][data-md-color-primary=deep-orange]{--md-primary-code-bg-color:#473e3d;--md-primary-fg-color:hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent:hsla(31deg, 100%, 71%, 0.1);--md-primary-fg-color--light:hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark:hsla(31deg, 100%, 66%, 1);--md-primary-bg-color:var(--md-default-bg-color);--md-primary-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red],[data-md-color-scheme=dracula][data-md-color-accent=red]{--md-code-link-accent-bg-color:#472c36;--md-accent-fg-color:hsla(0deg, 100%, 62%, 1);--md-accent-fg-color--transparent:hsla(0deg, 100%, 62%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink],[data-md-color-scheme=dracula][data-md-color-accent=pink]{--md-code-link-accent-bg-color:#473149;--md-accent-fg-color:hsla(326deg, 100%, 69%, 1);--md-accent-fg-color--transparent:hsla(326deg, 100%, 69%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple],[data-md-color-scheme=dracula][data-md-color-accent=purple]{--md-code-link-accent-bg-color:#3c3652;--md-accent-fg-color:hsla(265deg, 89%, 73%, 1);--md-accent-fg-color--transparent:hsla(265deg, 89%, 73%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple],[data-md-color-scheme=dracula][data-md-color-accent=deep-purple]{--md-code-link-accent-bg-color:#3c3652;--md-accent-fg-color:hsla(265deg, 89%, 73%, 1);--md-accent-fg-color--transparent:hsla(265deg, 89%, 73%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue],[data-md-color-scheme=dracula][data-md-color-accent=blue]{--md-code-link-accent-bg-color:#2e3243;--md-accent-fg-color:hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent:hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo],[data-md-color-scheme=dracula][data-md-color-accent=indigo]{--md-code-link-accent-bg-color:#2e3243;--md-accent-fg-color:hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent:hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue],[data-md-color-scheme=dracula][data-md-color-accent=light-blue]{--md-code-link-accent-bg-color:#2e3243;--md-accent-fg-color:hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent:hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan],[data-md-color-scheme=dracula][data-md-color-accent=cyan]{--md-code-link-accent-bg-color:#324553;--md-accent-fg-color:hsla(191deg, 97%, 72%, 1);--md-accent-fg-color--transparent:hsla(191deg, 97%, 72%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal],[data-md-color-scheme=dracula][data-md-color-accent=teal]{--md-code-link-accent-bg-color:#324553;--md-accent-fg-color:hsla(191deg, 97%, 72%, 1);--md-accent-fg-color--transparent:hsla(191deg, 97%, 72%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green],[data-md-color-scheme=dracula][data-md-color-accent=green]{--md-code-link-accent-bg-color:#2a483d;--md-accent-fg-color:hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent:hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green],[data-md-color-scheme=dracula][data-md-color-accent=light-green]{--md-code-link-accent-bg-color:#2a483d;--md-accent-fg-color:hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent:hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime],[data-md-color-scheme=dracula][data-md-color-accent=lime]{--md-code-link-accent-bg-color:#2a483d;--md-accent-fg-color:hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent:hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow],[data-md-color-scheme=dracula][data-md-color-accent=yellow]{--md-code-link-accent-bg-color:#45483e;--md-accent-fg-color:hsla(65deg, 92%, 71%, 1);--md-accent-fg-color--transparent:hsla(65deg, 92%, 71%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber],[data-md-color-scheme=dracula][data-md-color-accent=amber]{--md-code-link-accent-bg-color:#45483e;--md-accent-fg-color:hsla(65deg, 92%, 71%, 1);--md-accent-fg-color--transparent:hsla(65deg, 92%, 71%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange],[data-md-color-scheme=dracula][data-md-color-accent=orange]{--md-code-link-accent-bg-color:#473d39;--md-accent-fg-color:hsla(31deg, 100%, 66%, 1);--md-accent-fg-color--transparent:hsla(31deg, 100%, 66%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange],[data-md-color-scheme=dracula][data-md-color-accent=deep-orange]{--md-code-link-accent-bg-color:#473d39;--md-accent-fg-color:hsla(31deg, 100%, 66%, 1);--md-accent-fg-color--transparent:hsla(31deg, 100%, 66%, 0.1);--md-accent-bg-color:var(--md-default-bg-color);--md-accent-bg-color--light:var(--md-default-bg-color--light)}:root{--md-heart:#ff5252;--md-heart-big:#ff1744}:root :focus-visible{outline-style:solid}:root [data-md-color-scheme=dracula]{--md-heart:hsl(326, 100%, 74%);--md-heart-big:hsl(0, 100%, 67%)}.md-typeset h4{margin:2em 0 1em}.md-typeset a.source-link{position:relative;top:-.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter)!important}body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .light-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .system-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .unknown-mode{display:none}body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode{display:none}body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .dark-mode,body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .light-mode,body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .system-mode{display:none}body[data-md-prefers-color-scheme=true] .md-icon .dark-mode,body[data-md-prefers-color-scheme=true] .md-icon .light-mode,body[data-md-prefers-color-scheme=true] .md-icon .unknown-mode{display:none}.md-header-nav__scheme{z-index:0}[data-md-toggle=search]:checked~.md-header .md-header-nav__scheme{display:none}.md-typeset .admonition,.md-typeset details{border-width:0;border-left-width:4px}:root>*{--md-admonition-bg-color:transparent}:root>[data-md-color-scheme=dracula]{--md-admonition-icon-color:$drac-dark-yellow}:root>*{--md-admonition-icon--settings:url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--settings:rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings:#aa00ff;--md-admonition-shadow-color--settings:rgba(170, 0, 255, 0.1)}:root>[data-md-color-scheme=dracula]{--md-admonition-bg-color--settings:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--settings:hsl(326, 100%, 74%);--md-admonition-shadow-color--settings:rgba(255, 122, 198, 0.1)}:root>*{--md-admonition-bg-color--note:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--note:hsl(51, 94%, 73%);--md-admonition-shadow-color--note:rgba(251, 231, 121, 0.1)}:root>*{--md-admonition-bg-color--abstract:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--abstract:hsl(191, 97%, 77%);--md-admonition-shadow-color--abstract:rgba(139, 232, 253, 0.1)}:root>*{--md-admonition-bg-color--info:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--info:hsl(190, 94%, 87%);--md-admonition-shadow-color--info:rgba(191, 243, 253, 0.1)}:root>*{--md-admonition-bg-color--tip:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--tip:hsl(161, 97%, 77%);--md-admonition-shadow-color--tip:rgba(139, 253, 217, 0.1)}:root>*{--md-admonition-bg-color--success:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--success:hsl(135, 94%, 65%);--md-admonition-shadow-color--success:rgba(82, 250, 124, 0.1)}:root>*{--md-admonition-bg-color--question:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--question:hsl(135, 92%, 79%);--md-admonition-shadow-color--question:rgba(152, 251, 177, 0.1)}:root>*{--md-admonition-bg-color--warning:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--warning:hsl(31, 100%, 71%);--md-admonition-shadow-color--warning:rgba(255, 184, 107, 0.1)}:root>*{--md-admonition-bg-color--failure:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--failure:hsl(0, 100%, 59%);--md-admonition-shadow-color--failure:rgba(255, 46, 46, 0.1)}:root>*{--md-admonition-bg-color--danger:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--danger:hsl(0, 100%, 67%);--md-admonition-shadow-color--danger:rgba(255, 87, 87, 0.1)}:root>*{--md-admonition-bg-color--bug:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--bug:hsl(325, 100%, 64%);--md-admonition-shadow-color--bug:rgba(255, 71, 179, 0.1)}:root>*{--md-admonition-bg-color--example:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--example:hsl(265, 89%, 78%);--md-admonition-shadow-color--example:rgba(191, 149, 249, 0.1)}:root>*{--md-admonition-bg-color--quote:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--quote:hsl(225, 8%, 51%);--md-admonition-shadow-color--quote:rgba(120, 125, 140, 0.1)}:root>*{--md-admonition-icon--new:url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--new:rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new:#ffd600;--md-admonition-shadow-color--new:rgba(255, 214, 0, 0.1)}:root>[data-md-color-scheme=dracula]{--md-admonition-bg-color--new:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--new:hsl(65, 92%, 76%);--md-admonition-shadow-color--new:rgba(241, 250, 137, 0.1)}:root>*{--md-admonition-bg-color--note:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--note:hsl(51, 94%, 73%);--md-admonition-shadow-color--note:rgba(251, 231, 121, 0.1)}:root>*{--md-admonition-bg-color--abstract:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--abstract:hsl(191, 97%, 77%);--md-admonition-shadow-color--abstract:rgba(139, 232, 253, 0.1)}:root>*{--md-admonition-bg-color--info:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--info:hsl(190, 94%, 87%);--md-admonition-shadow-color--info:rgba(191, 243, 253, 0.1)}:root>*{--md-admonition-bg-color--tip:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--tip:hsl(161, 97%, 77%);--md-admonition-shadow-color--tip:rgba(139, 253, 217, 0.1)}:root>*{--md-admonition-bg-color--success:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--success:hsl(135, 94%, 65%);--md-admonition-shadow-color--success:rgba(82, 250, 124, 0.1)}:root>*{--md-admonition-bg-color--question:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--question:hsl(135, 92%, 79%);--md-admonition-shadow-color--question:rgba(152, 251, 177, 0.1)}:root>*{--md-admonition-bg-color--warning:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--warning:hsl(31, 100%, 71%);--md-admonition-shadow-color--warning:rgba(255, 184, 107, 0.1)}:root>*{--md-admonition-bg-color--failure:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--failure:hsl(0, 100%, 59%);--md-admonition-shadow-color--failure:rgba(255, 46, 46, 0.1)}:root>*{--md-admonition-bg-color--danger:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--danger:hsl(0, 100%, 67%);--md-admonition-shadow-color--danger:rgba(255, 87, 87, 0.1)}:root>*{--md-admonition-bg-color--bug:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--bug:hsl(325, 100%, 64%);--md-admonition-shadow-color--bug:rgba(255, 71, 179, 0.1)}:root>*{--md-admonition-bg-color--example:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--example:hsl(265, 89%, 78%);--md-admonition-shadow-color--example:rgba(191, 149, 249, 0.1)}:root>*{--md-admonition-bg-color--quote:var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--quote:hsl(225, 8%, 51%);--md-admonition-shadow-color--quote:rgba(120, 125, 140, 0.1)}[data-md-color-scheme=dracula] .md-typeset .admonition,[data-md-color-scheme=dracula] .md-typeset details{border-color:var(--md-admonition-icon-color--note);box-shadow:var(--md-shadow-z2)}[data-md-color-scheme=dracula] .md-typeset .admonition:focus-within,[data-md-color-scheme=dracula] .md-typeset details:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details>summary{background-color:var(--md-admonition-bg-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note,[data-md-color-scheme=dracula] .md-typeset details.note{border-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note:focus-within,[data-md-color-scheme=dracula] .md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.note>summary{background-color:var(--md-admonition-bg-color--note);border-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract,[data-md-color-scheme=dracula] .md-typeset details.abstract{border-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract:focus-within,[data-md-color-scheme=dracula] .md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary{background-color:var(--md-admonition-bg-color--abstract);border-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.info,[data-md-color-scheme=dracula] .md-typeset details.info{border-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info:focus-within,[data-md-color-scheme=dracula] .md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.info>summary{background-color:var(--md-admonition-bg-color--info);border-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip,[data-md-color-scheme=dracula] .md-typeset details.tip{border-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip:focus-within,[data-md-color-scheme=dracula] .md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.tip>summary{background-color:var(--md-admonition-bg-color--tip);border-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.success,[data-md-color-scheme=dracula] .md-typeset details.success{border-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success:focus-within,[data-md-color-scheme=dracula] .md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.success>summary{background-color:var(--md-admonition-bg-color--success);border-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.question,[data-md-color-scheme=dracula] .md-typeset details.question{border-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question:focus-within,[data-md-color-scheme=dracula] .md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.question>summary{background-color:var(--md-admonition-bg-color--question);border-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning,[data-md-color-scheme=dracula] .md-typeset details.warning{border-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning:focus-within,[data-md-color-scheme=dracula] .md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.warning>summary{background-color:var(--md-admonition-bg-color--warning);border-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure,[data-md-color-scheme=dracula] .md-typeset details.failure{border-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure:focus-within,[data-md-color-scheme=dracula] .md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.failure>summary{background-color:var(--md-admonition-bg-color--failure);border-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger,[data-md-color-scheme=dracula] .md-typeset details.danger{border-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger:focus-within,[data-md-color-scheme=dracula] .md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.danger>summary{background-color:var(--md-admonition-bg-color--danger);border-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug,[data-md-color-scheme=dracula] .md-typeset details.bug{border-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug:focus-within,[data-md-color-scheme=dracula] .md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.bug>summary{background-color:var(--md-admonition-bg-color--bug);border-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.example,[data-md-color-scheme=dracula] .md-typeset details.example{border-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example:focus-within,[data-md-color-scheme=dracula] .md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.example>summary{background-color:var(--md-admonition-bg-color--example);border-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote,[data-md-color-scheme=dracula] .md-typeset details.quote{border-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote:focus-within,[data-md-color-scheme=dracula] .md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.quote>summary{background-color:var(--md-admonition-bg-color--quote);border-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.config,.md-typeset .admonition.settings,.md-typeset details.config,.md-typeset details.settings{border-color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.config:focus-within,.md-typeset .admonition.settings:focus-within,.md-typeset details.config:focus-within,.md-typeset details.settings:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--settings)}.md-typeset .admonition.config>.admonition-title,.md-typeset .admonition.settings>.admonition-title,.md-typeset details.config>.admonition-title,.md-typeset details.config>summary,.md-typeset details.settings>.admonition-title,.md-typeset details.settings>summary{background-color:var(--md-admonition-bg-color--settings);border-color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.config>.admonition-title::before,.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.config>.admonition-title::before,.md-typeset details.config>summary::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.config>.admonition-title::after,.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.config>.admonition-title::after,.md-typeset details.config>summary::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{border-color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.new:focus-within,.md-typeset details.new:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--new)}.md-typeset .admonition.new>.admonition-title,.md-typeset details.new>.admonition-title,.md-typeset details.new>summary{background-color:var(--md-admonition-bg-color--new);border-color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}mjx-container[display=true]{font-size:120%!important}mjx-container:not([display]){font-size:100%!important}[data-md-color-scheme=dracula] .CtxtMenu_InfoContent pre,[data-md-color-scheme=dracula] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre,[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input{color:#000}[data-md-color-scheme=dracula] .CtxtMenu_Info,[data-md-color-scheme=dracula] .CtxtMenu_Menu,[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0 10px 20px rgba(0,0,0,.5)}.md-typeset .arithmatex{overflow-x:auto!important;overflow-y:hidden!important}.katex-display .katex-html{display:flex!important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline!important}.katex-display .katex-html .tag{position:relative!important;display:inline!important;margin-left:var(--margin-small)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .bp,.highlight .nb{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset :not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset a>code{color:inherit!important;background-color:var(--md-code-link-bg-color)!important;transition:color 125ms;transition:background-color 125ms}.md-typeset a>code *{color:var(--md-typeset-a-color)!important}.md-typeset a>code:hover{background-color:var(--md-code-link-accent-bg-color)!important}.md-typeset a>code:hover *{color:var(--md-accent-fg-color)!important}.md-typeset pre>code{outline:0}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight+.result{border-width:.1rem}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.1rem;border-top-right-radius:.1rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-image:url('data:image/svg+xml;charset=utf-8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-primary-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-image:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-image:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:absolute;bottom:0;left:0;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom,transparent,var(--md-default-bg-color) 80% 100%)}.md-typeset .keys .key-power::before{padding-right:.4em;content:"â»"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"â˜"}:root>*{--magiclink-email-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-github-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-bitbucket-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-gitlab-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-commit-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-compare-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-pull-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-issue-icon:url('data:image/svg+xml;charset=utf-8,');--magiclink-discussion-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-.0625em -.0625em .375em var(--md-default-bg-color--light),.0625em -.0625em .375em var(--md-default-bg-color--light),-.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg,var(--md-progress-stripe) 27%,transparent 27%,transparent 52%,var(--md-progress-stripe) 52%,var(--md-progress-stripe) 77%,transparent 77%,transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}[data-md-color-scheme=dracula] .md-typeset .tabbed-set>.tabbed-labels{box-shadow:0 -.05rem var(--md-default-fg-color--lighter) inset}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child>.code-footer{left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-typeset table:not([class]){box-shadow:var(--md-shadow-z2)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.08)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) th{color:var(--md-text-color);background-color:var(--md-default-bg-color--ultra-dark);border-bottom:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) td{border-top:.05rem solid var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:#51f97b}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-image:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}html{background-color:transparent}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula]{--md-text-color:var(--md-default-fg-color);background-color:var(--md-default-bg-color);--md-footer-bg-color:transparent;--md-footer-bg-color--dark:var(--md-default-bg-color--darkest);--md-header-fg-color:var(--md-text-color);--md-header-bg-color:var(--md-default-bg-color--darkest)}[data-md-color-scheme=dracula] .md-header{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.15),0 0 .2rem .4rem rgba(0,0,0,.2)}[data-md-color-scheme=dracula] .md-top{background-color:var(--md-default-bg-color--dark)}[data-md-color-scheme=dracula] .md-top:hover{background-color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-tabs{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-tabs__link--active{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-tabs__link:hover{color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-hero{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-nav__source{color:var(--md-text-color)}[data-md-color-scheme=dracula] .md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] .md-nav__item .md-nav__link--active{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-nav__link:focus,[data-md-color-scheme=dracula] .md-nav__link:hover{color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-search__input{color:var(--md-text-color);background-color:var(--md-accent-bg-color--light)}[data-md-color-scheme=dracula] .md-search__input:hover{background-color:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] .md-search__input~.md-search__icon{color:var(--md-text-color)}[data-md-color-scheme=dracula] .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] .md-search__input::placeholder{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] [data-md-toggle=search]:checked~.md-header .md-search__input{background-color:transparent}[data-md-color-scheme=dracula] .md-search__suggest{color:var(--md-default-autocomplete-fg-color)}[data-md-color-scheme=dracula] .md-overlay,[data-md-color-scheme=dracula] .md-search__overlay{background-color:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] .md-footer-nav__direction{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-footer-meta{border-top:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] [data-md-component=announce]{background-color:var(--md-default-bg-color--ultra-dark)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-search__scrollwrap,.md-sidebar__scrollwrap,.md-typeset diagram-div,.md-typeset div.arithmatex,.md-typeset div.diagram,.md-typeset div.mermaid,.md-typeset mermaid-div,.md-typeset pre.arithmatex,.md-typeset pre>code,.md-typeset__scrollwrap{scrollbar-color:var(--md-default-fg-color--lighter) transparent;scrollbar-width:thin}.md-search__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-typeset diagram-div:hover,.md-typeset div.arithmatex:hover,.md-typeset div.diagram:hover,.md-typeset div.mermaid:hover,.md-typeset mermaid-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset pre>code:hover,.md-typeset__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset__scrollwrap::-webkit-scrollbar-corner{background-color:transparent}.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width:59.9375em){.md-header-nav__scheme{padding-right:0}label[for=__search]{padding-left:0}[data-md-color-scheme=dracula] .md-nav__source{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-nav .md-nav__title{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}}@media screen and (max-width:44.9375em){.md-typeset>diagram-div{margin-right:-.8rem;margin-left:-.8rem}.md-typeset>.collapse-code{margin-right:-.8rem;margin-left:-.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}@media screen and (max-width:76.1875em){[data-md-color-scheme=dracula] .md-nav--primary .md-nav__item--active>.md-nav__link:not(:hover){color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-nav--primary .md-nav__title{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}} /*# sourceMappingURL=extra-8611f6c398.css.map */ pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/extra-8611f6c398.css.map000066400000000000000000004106641465124271600277560ustar00rootroot00000000000000{"version":3,"sources":["palette/_colors.scss","extra.css","_general.scss","extensions/_admonition.scss","extensions/_arithmatex.scss","extensions/_critic.scss","extensions/_details.scss","extensions/_highlight.scss","extensions/_keys.scss","extensions/_magiclink.scss","extensions/_mark.scss","extensions/_progressbar.scss","extensions/_tabbed.scss","extensions/_tables.scss","extensions/_tasklist.scss","extensions/_toc.scss","extensions/_superfences.scss","_material.scss","utilities/_break.scss"],"names":[],"mappings":"iBAEA,QAEE,wBAAA,oBACA,+BAAA,6BACA,6BAAA,yBACA,yBAAA,wBACA,0BAAA,wBAEA,2BAAA,QACA,6BAAA,wBAEA,+BAAA,wBACA,6BAAA,wBAEA,0BAAA,gCACA,uBAAA,gCACA,2BAAA,iCACA,yBAAA,iCAGA,qBAAA,QAGA,qBAAA,oCACA,kBAAA,QACA,iBAAA,QACA,iBAAA,QACA,iBAAA,QACA,iBAAA,QACA,gBAAA,QAGA,uBAAA,QACA,8BAAA,QACA,8BAAA,uBAEA,mCAEE,wBAAA,uBACA,+BAAA,6BACA,2BAAA,QACA,6BAAA,qBAGA,uBAAA,qCACA,8BAAA,QACA,8BAAA,oCAIF,qCAEE,sBAAA,0BACA,6BAAA,0BACA,+BAAA,0BACA,gCAAA,0BACA,mCAAA,yBACA,eAAA,EAAA,OAAA,OAAA,oBAAA,CChBmC,EAAE,EAAE,QAAQ,qBDmB/C,sBAAA,oCACA,6BAAA,sBACA,+BAAA,sBACA,gCAAA,uBACA,6BAAA,oBAGA,4BAAA,QACA,8BAAA,QACA,+BAAA,QACA,kCAAA,QAGA,gBAAA,2BACA,mBAAA,2BAGA,yBAAA,2BAGA,mBAAA,kBACA,mBAAA,mBACA,yBAAA,uCACA,0BAAA,QACA,4BAAA,oBACA,+BAAA,kBACA,0BAAA,kBACA,2BAAA,mBACA,0BAAA,mBACA,2BAAA,oBACA,wBAAA,kBACA,4BAAA,mBACA,4BAAA,mBACA,2BAAA,mBACA,4BAAA,mBACA,2BAAA,mBACA,mBAAA,mBAGA,0BAAA,mBACA,uBAAA,oBACA,6BAAA,kBACA,2BAAA,mBACA,yBAAA,mBAEA,2BAAA,QACA,6BAAA,QACA,wBAAA,QAGA,qBAAA,mBACA,wBAAA,QACA,uBAAA,QACA,uBAAA,QAGA,qBAAA,qCACA,kBAAA,mBACA,iBAAA,mBACA,iBAAA,kBACA,iBAAA,mBACA,iBAAA,oBACA,gBAAA,kBAGA,uBAAA,qCACA,8BAAA,uCACA,8BAAA,oCC/BJ,uFD2DE,0DAIE,2BAAA,QACA,sBAAA,yBACA,mCAAA,2BACA,6BAAA,yBACA,4BAAA,yBACA,sBAAA,2BACA,6BAAA,kCC1DJ,wFDgDE,2DAIE,2BAAA,QACA,sBAAA,2BACA,mCAAA,6BACA,6BAAA,2BACA,4BAAA,2BACA,sBAAA,2BACA,6BAAA,kCC/CJ,0FDqCE,6DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCpCJ,+FD0BE,kEAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCzBJ,wFDeE,2DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCdJ,0FDIE,6DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCHJ,8FDPE,iEAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCQJ,wFDlBE,2DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCmBJ,wFD7BE,2DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCC8BJ,yFDxCE,4DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCyCJ,+FDnDE,kEAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCoDJ,wFD9DE,2DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCC+DJ,0FDzEE,6DAIE,2BAAA,QACA,sBAAA,yBACA,mCAAA,2BACA,6BAAA,yBACA,4BAAA,yBACA,sBAAA,2BACA,6BAAA,kCC0EJ,yFDpFE,4DAIE,2BAAA,QACA,sBAAA,yBACA,mCAAA,2BACA,6BAAA,yBACA,4BAAA,yBACA,sBAAA,2BACA,6BAAA,kCCqFJ,0FD/FE,6DAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCCgGJ,+FD1GE,kEAIE,2BAAA,QACA,sBAAA,0BACA,mCAAA,4BACA,6BAAA,0BACA,4BAAA,0BACA,sBAAA,2BACA,6BAAA,kCC2GJ,uFD/EE,yDAEE,+BAAA,QACA,qBAAA,yBACA,kCAAA,2BACA,qBAAA,2BACA,4BAAA,kCCkFJ,wFDxFE,0DAEE,+BAAA,QACA,qBAAA,2BACA,kCAAA,6BACA,qBAAA,2BACA,4BAAA,kCC2FJ,0FDjGE,4DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCoGJ,+FD1GE,iEAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCC6GJ,wFDnHE,0DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCsHJ,0FD5HE,4DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCC+HJ,8FDrIE,gEAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCwIJ,wFD9IE,0DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCiJJ,wFDvJE,0DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCC0JJ,yFDhKE,2DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCmKJ,+FDzKE,iEAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCC4KJ,wFDlLE,0DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCqLJ,0FD3LE,4DAEE,+BAAA,QACA,qBAAA,yBACA,kCAAA,2BACA,qBAAA,2BACA,4BAAA,kCC8LJ,yFDpME,2DAEE,+BAAA,QACA,qBAAA,yBACA,kCAAA,2BACA,qBAAA,2BACA,4BAAA,kCCuMJ,0FD7ME,4DAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCCgNJ,+FDtNE,iEAEE,+BAAA,QACA,qBAAA,0BACA,kCAAA,4BACA,qBAAA,2BACA,4BAAA,kCExMJ,MACE,WAAA,QACA,eAAA,QAEA,qBACE,cAAA,MAIF,qCACE,WAAA,oBACA,eAAA,kBAMA,eACE,OAAA,IAAA,EAAA,IAGF,0BACI,SAAA,SACA,IAAA,OACA,MAAA,MACA,MAAA,oCACA,WAAA,MAAA,MAEA,gCACE,MAAA,0BAGF,mCACI,OAAA,OAEA,uCACI,MAAA,OACA,OAAA,OAKZ,iDACE,WAAA,MAMF,yBAAA,+BACE,SAAA,SACA,MAAA,gBACA,UAAA,MAAA,KAAA,KAAA,SAKN,iBACE,GAAK,UAAA,SACL,IAAM,MAAA,oBAA4B,UAAA,WAClC,IAAM,UAAA,WACN,IAAM,MAAA,oBAA4B,UAAA,WAClC,KAAO,UAAA,UAGT,mBACE,WAAA,OAEA,sBACE,QAAA,aACA,MAAA,OACA,OAAA,EAAA,MACA,eAAA,OACA,cAAA,IAAA,MAAA,oCAIA,4BACI,aAAA,0BAKJ,8DACI,MAAA,8CAQJ,iGDqZJ,kGACA,mGCnZM,QAAA,KAMF,gGDiZJ,kGACA,mGC/YM,QAAA,KAKF,0ID8YJ,2IACA,4IC5YM,QAAA,KAKF,4DD2YJ,6DACA,+DCzYM,QAAA,KAKN,uBACE,QAAA,EAaF,kEACE,QAAA,KC7IF,wBAAA,oBACE,aAAA,EACA,kBAAA,IAwBF,QACE,yBAAA,YAEA,qCACE,2BAAA,kBAQA,QACE,+BAAA,+wBACA,mCAAA,uBACA,qCAAA,QACA,uCAAA,uBAGF,qCACE,mCAAA,uCACA,qCAAA,oBACA,uCAAA,yBAMA,QACE,+BAAA,uCACA,iCAAA,kBACA,mCAAA,yBAHF,QACE,mCAAA,uCACA,qCAAA,mBACA,uCAAA,yBAHF,QACE,+BAAA,uCACA,iCAAA,mBACA,mCAAA,yBAHF,QACE,8BAAA,uCACA,gCAAA,mBACA,kCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,wBAHF,QACE,mCAAA,uCACA,qCAAA,mBACA,uCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,kBACA,sCAAA,uBAHF,QACE,iCAAA,uCACA,mCAAA,kBACA,qCAAA,uBAHF,QACE,8BAAA,uCACA,gCAAA,oBACA,kCAAA,wBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,yBAHF,QACE,gCAAA,uCACA,kCAAA,kBACA,oCAAA,yBAnBJ,QACE,0BAAA,4TACA,8BAAA,uBACA,gCAAA,QACA,kCAAA,uBAGF,qCACE,8BAAA,uCACA,gCAAA,kBACA,kCAAA,yBAMA,QACE,+BAAA,uCACA,iCAAA,kBACA,mCAAA,yBAHF,QACE,mCAAA,uCACA,qCAAA,mBACA,uCAAA,yBAHF,QACE,+BAAA,uCACA,iCAAA,mBACA,mCAAA,yBAHF,QACE,8BAAA,uCACA,gCAAA,mBACA,kCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,wBAHF,QACE,mCAAA,uCACA,qCAAA,mBACA,uCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,yBAHF,QACE,kCAAA,uCACA,oCAAA,kBACA,sCAAA,uBAHF,QACE,iCAAA,uCACA,mCAAA,kBACA,qCAAA,uBAHF,QACE,8BAAA,uCACA,gCAAA,oBACA,kCAAA,wBAHF,QACE,kCAAA,uCACA,oCAAA,mBACA,sCAAA,yBAHF,QACE,gCAAA,uCACA,kCAAA,kBACA,oCAAA,yBAOR,uDAAA,mDACE,aAAA,sCACA,WAAA,oBAEA,oEAAA,gEACE,WAAA,EAAA,EAAA,EAAA,MAAA,wCAGF,yEAAA,qEAAA,2DACE,iBAAA,oCACA,iFAAA,6EAAA,mEACE,iBAAA,sCAEF,gFAAA,4EAAA,kEACE,MAAA,sCAaF,4DAAA,wDACE,aAAA,sCAEA,yEAAA,qEACE,WAAA,EAAA,EAAA,EAAA,MAAA,wCAIF,8EAAA,0EAAA,gEACE,iBAAA,oCACA,aAAA,sCAGA,sFAAA,kFAAA,wEACE,iBAAA,sCAEF,qFAAA,iFAAA,uEACE,MAAA,sCAjBN,gEAAA,4DACE,aAAA,0CAEA,6EAAA,yEACE,WAAA,EAAA,EAAA,EAAA,MAAA,4CAIF,kFAAA,8EAAA,oEACE,iBAAA,wCACA,aAAA,0CAGA,0FAAA,sFAAA,4EACE,iBAAA,0CAEF,yFAAA,qFAAA,2EACE,MAAA,0CAjBN,4DAAA,wDACE,aAAA,sCAEA,yEAAA,qEACE,WAAA,EAAA,EAAA,EAAA,MAAA,wCAIF,8EAAA,0EAAA,gEACE,iBAAA,oCACA,aAAA,sCAGA,sFAAA,kFAAA,wEACE,iBAAA,sCAEF,qFAAA,iFAAA,uEACE,MAAA,sCAjBN,2DAAA,uDACE,aAAA,qCAEA,wEAAA,oEACE,WAAA,EAAA,EAAA,EAAA,MAAA,uCAIF,6EAAA,yEAAA,+DACE,iBAAA,mCACA,aAAA,qCAGA,qFAAA,iFAAA,uEACE,iBAAA,qCAEF,oFAAA,gFAAA,sEACE,MAAA,qCAjBN,+DAAA,2DACE,aAAA,yCAEA,4EAAA,wEACE,WAAA,EAAA,EAAA,EAAA,MAAA,2CAIF,iFAAA,6EAAA,mEACE,iBAAA,uCACA,aAAA,yCAGA,yFAAA,qFAAA,2EACE,iBAAA,yCAEF,wFAAA,oFAAA,0EACE,MAAA,yCAjBN,gEAAA,4DACE,aAAA,0CAEA,6EAAA,yEACE,WAAA,EAAA,EAAA,EAAA,MAAA,4CAIF,kFAAA,8EAAA,oEACE,iBAAA,wCACA,aAAA,0CAGA,0FAAA,sFAAA,4EACE,iBAAA,0CAEF,yFAAA,qFAAA,2EACE,MAAA,0CAjBN,+DAAA,2DACE,aAAA,yCAEA,4EAAA,wEACE,WAAA,EAAA,EAAA,EAAA,MAAA,2CAIF,iFAAA,6EAAA,mEACE,iBAAA,uCACA,aAAA,yCAGA,yFAAA,qFAAA,2EACE,iBAAA,yCAEF,wFAAA,oFAAA,0EACE,MAAA,yCAjBN,+DAAA,2DACE,aAAA,yCAEA,4EAAA,wEACE,WAAA,EAAA,EAAA,EAAA,MAAA,2CAIF,iFAAA,6EAAA,mEACE,iBAAA,uCACA,aAAA,yCAGA,yFAAA,qFAAA,2EACE,iBAAA,yCAEF,wFAAA,oFAAA,0EACE,MAAA,yCAjBN,8DAAA,0DACE,aAAA,wCAEA,2EAAA,uEACE,WAAA,EAAA,EAAA,EAAA,MAAA,0CAIF,gFAAA,4EAAA,kEACE,iBAAA,sCACA,aAAA,wCAGA,wFAAA,oFAAA,0EACE,iBAAA,wCAEF,uFAAA,mFAAA,yEACE,MAAA,wCAjBN,2DAAA,uDACE,aAAA,qCAEA,wEAAA,oEACE,WAAA,EAAA,EAAA,EAAA,MAAA,uCAIF,6EAAA,yEAAA,+DACE,iBAAA,mCACA,aAAA,qCAGA,qFAAA,iFAAA,uEACE,iBAAA,qCAEF,oFAAA,gFAAA,sEACE,MAAA,qCAjBN,+DAAA,2DACE,aAAA,yCAEA,4EAAA,wEACE,WAAA,EAAA,EAAA,EAAA,MAAA,2CAIF,iFAAA,6EAAA,mEACE,iBAAA,uCACA,aAAA,yCAGA,yFAAA,qFAAA,2EACE,iBAAA,yCAEF,wFAAA,oFAAA,0EACE,MAAA,yCAjBN,6DAAA,yDACE,aAAA,uCAEA,0EAAA,sEACE,WAAA,EAAA,EAAA,EAAA,MAAA,yCAIF,+EAAA,2EAAA,iEACE,iBAAA,qCACA,aAAA,uCAGA,uFAAA,mFAAA,yEACE,iBAAA,uCAEF,sFAAA,kFAAA,wEACE,MAAA,uCAoBR,+BAAA,iCAAA,2BAAA,6BACE,aAAA,0CAEA,4CAAA,8CAAA,wCAAA,0CACE,WAAA,EAAA,EAAA,EAAA,MAAA,4CAGF,iDAAA,mDAAA,6CAAA,mCAAA,+CAAA,qCACE,iBAAA,wCACA,aAAA,0CAGA,yDAAA,2DAAA,qDAAA,2CAAA,uDAAA,6CACE,MAAA,KACA,OAAA,KACA,iBAAA,0CACA,gBAAA,KACA,mBAAA,oCAAA,WAAA,oCACA,QAAA,IAEF,wDAAA,0DAAA,oDAAA,0CAAA,sDAAA,4CACE,MAAA,0CArBN,4BAAA,wBACE,aAAA,qCAEA,yCAAA,qCACE,WAAA,EAAA,EAAA,EAAA,MAAA,uCAGF,8CAAA,0CAAA,gCACE,iBAAA,mCACA,aAAA,qCAGA,sDAAA,kDAAA,wCACE,MAAA,KACA,OAAA,KACA,iBAAA,qCACA,gBAAA,KACA,mBAAA,+BAAA,WAAA,+BACA,QAAA,IAEF,qDAAA,iDAAA,uCACE,MAAA,qCCrJR,4BACE,UAAA,eAGF,6BACE,UAAA,eHq7BF,yDADA,6DADA,uDG76BE,2DAEE,MAAA,KHk7BJ,8CACA,8CGj7BE,4CH+6BF,4CG76BI,WAAA,EAAA,KAAA,KAAA,eAKJ,wBACE,WAAA,eACA,WAAA,iBAKA,2BACE,QAAA,eACA,eAAA,IACA,UAAA,OACA,YAAA,SACA,gBAAA,cAGA,iCACE,QAAA,iBAGF,gCACE,SAAA,mBACA,QAAA,iBACA,YAAA,oBCvCF,uBJs9BJ,uBACA,wBIt9BM,QAAA,EAAA,MACA,MAAA,MACA,WAAA,KAIJ,0BACE,OAAA,ECXF,oBAGE,SAAA,OAOE,kCACE,cAAA,KCZN,eACE,MAAA,iCAGF,eN4+BF,eMz+BI,MAAA,8BAGF,eACE,MAAA,+BN4+BJ,eMz+BE,eAEE,MAAA,gCAGF,eACE,MAAA,kCAGF,eNu+BF,eACA,eMr+BI,MAAA,+BAEF,eNu+BF,eMr+BI,MAAA,4BAOF,2BACI,OAAA,EACA,QAAA,EAAA,cACA,MAAA,wBACA,iBAAA,+BACA,cAAA,MACA,WAAA,KAKF,mBACE,MAAA,kBACA,iBAAA,uCACA,WAAA,MAAA,MACA,WAAA,iBAAA,MAGA,qBACE,MAAA,oCAGF,yBACE,iBAAA,8CAEA,2BACE,MAAA,oCAMR,qBACE,QAAA,EAIF,oBACE,WAAA,OAGF,uBAGE,cAAA,EAAA,YAAA,EAAA,SAAA,EAEA,+BACE,aAAA,MAOA,sDACE,iBAAA,gCAQF,gDACE,aAAA,eACA,YAAA,gBACA,cAAA,cACA,aAAA,eACA,iBAAA,gCAMN,qCAGE,SAAA,SACA,QAAA,MACA,WAAA,IACA,QAAA,KAAA,eAAA,KAAA,eACA,YAAA,IACA,UAAA,OACA,iBAAA,8BACA,uBAAA,MACA,wBAAA,MAGA,yCACE,WAAA,EAEA,8CACE,uBAAA,EACA,wBAAA,EAKJ,6CACE,SAAA,SACA,KAAA,cACA,MAAA,eACA,OAAA,eACA,iBAAA,2BACA,mBAAA,uRAAA,WAAA,uRACA,oBAAA,UAAA,YAAA,UACA,kBAAA,QAAA,UAAA,QACA,QAAA,GAIJ,2BACE,SAAA,SACA,WAAA,IACA,cAAA,IAEA,+BACE,WAAA,EACA,cAAA,EAGF,iCACE,QAAA,KAEA,8CACE,MAAA,KACA,OAAA,EACA,QAAA,MAAA,KAAA,MAAA,EAEA,oDACE,SAAA,SACA,OAAA,MACA,QAAA,MAAA,KACA,MAAA,2BACA,UAAA,IACA,iBAAA,2BACA,oBAAA,UAAA,YAAA,UACA,kBAAA,QAAA,UAAA,QACA,cAAA,MACA,OAAA,QACA,QAAA,GAEA,0DACE,iBAAA,0BAGF,4DACE,SAAA,SACA,IAAA,MACA,KAAA,MACA,QAAA,MACA,WAAA,WACA,MAAA,OACA,OAAA,OACA,iBAAA,2BACA,gBAAA,OACA,QAAA,GAGF,2DACE,QAAA,KAEA,mEACE,mBAAA,oNAAA,WAAA,oNAGJ,qEACE,mBAAA,mNAAA,WAAA,mNAMJ,mEACE,QAAA,OAGF,qEACE,QAAA,KAGF,4DACE,WAAA,QACA,SAAA,OAGF,sDACE,SAAA,SACA,OAAA,EACA,KAAA,EACA,QAAA,IAAA,KAAA,KAAA,MACA,iBAAA,2EC1NJ,qCACE,cAAA,KACA,QAAA,IAFF,2CACE,cAAA,KACA,QAAA,ICZR,QACE,uBAAA,uOACA,wBAAA,0pBACA,2BAAA,qSACA,wBAAA,4pBACA,wBAAA,iSACA,yBAAA,mhBACA,sBAAA,yvBACA,uBAAA,sUACA,4BAAA,8xBAIA,8DACE,mBAAA,4BAAA,WAAA,4BR2rCJ,qDADA,sDAIA,yDADA,oDADA,mDQlrCI,yDRqrCJ,sDQprCM,SAAA,SACA,aAAA,QRyrCN,6DADA,8DAIA,iEADA,4DADA,2DQxrCM,iER2rCN,8DQ1rCQ,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,MACA,WAAA,WACA,MAAA,OACA,OAAA,OACA,iBAAA,0BACA,gBAAA,OACA,WAAA,iBAAA,MACA,oBAAA,UAAA,YAAA,UACA,kBAAA,QAAA,UAAA,QACA,QAAA,GRisCR,mEADA,oEAIA,uEADA,kEADA,iEQ/rCM,uERksCN,oEQjsCQ,iBAAA,0BAgBF,6DACE,mBAAA,6BAAA,WAAA,6BADF,8DACE,mBAAA,8BAAA,WAAA,8BADF,2DACE,mBAAA,2BAAA,WAAA,2BADF,4DACE,mBAAA,4BAAA,WAAA,4BADF,iEACE,mBAAA,iCAAA,WAAA,iCAcF,kFACE,mBAAA,6BAAA,WAAA,6BADF,kFACE,mBAAA,6BAAA,WAAA,6BADF,qFACE,mBAAA,gCAAA,WAAA,gCC7ER,8BACE,WAAA,KCCA,4BACE,SAAA,SACA,MAAA,KACA,OAAA,EACA,MAAA,qBACA,YAAA,IACA,YAAA,OACA,YAAA,OACA,WAAA,OACA,YAAA,SAAA,SAAA,OAAA,iCAAA,CAAA,QAAA,SAAA,OAAA,iCAAA,CAAA,SAAA,QAAA,OAAA,iCAAA,CAAA,QAAA,QAAA,OAAA,kCAOF,0BACE,MAAA,KACA,OAAA,OACA,iBAAA,QAKA,+CACE,UAAA,gBAAA,GAAA,OAAA,SAIJ,sBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,OAAA,OACA,OAAA,MAAA,EACA,iBAAA,qCAEA,2BACE,OAAA,MACA,WAAA,MAEA,2CACE,WAAA,OAGF,yCACE,OAAA,MAIJ,gDACE,iBAAA,8KAWA,gBAAA,KAAA,KAaA,4CACE,iBAAA,uBADF,2CACE,iBAAA,sBADF,2CACE,iBAAA,sBADF,2CACE,iBAAA,sBADF,2CACE,iBAAA,sBADF,0CACE,iBAAA,qBAKN,2BACE,GACE,oBAAA,EAAA,EAGF,KACE,oBAAA,KAAA,GCvFF,sEACE,WAAA,EAAA,QAAA,oCAAA,MASF,yDACE,MAAA,KAEA,iEACE,MAAA,OACA,QAAA,EAIJ,uEACE,QAAA,EAAA,MXm2CN,8FACA,mGACA,6FACA,kGW71CU,sFACE,aAAA,QACA,YAAA,QACA,cAAA,MACA,aAAA,MXg2CZ,4GACA,iHACA,2GACA,gHWj2CY,oGACE,WAAA,EAKN,iGACE,WAAA,EAEA,aAAA,QACA,YAAA,QACA,cAAA,MACA,aAAA,MAEA,8GACE,KAAA,MAIJ,8FACE,aAAA,QACA,YAAA,QACA,cAAA,MACA,aAAA,MAOV,uCACE,iBAAA,0BCnEA,8DACE,WAAA,oBAEA,uEACE,iBAAA,gBAGF,iEACE,MAAA,qBACA,iBAAA,uCACA,cAAA,OAAA,MAAA,2BAGF,iEACE,WAAA,OAAA,MAAA,oCCbF,2FACC,iBAAA,oCAGD,mHACC,iBAAA,QCNH,wBACE,MAAA,IACA,OAAA,IACA,eAAA,OACA,iBAAA,oCACA,gBAAA,IACA,kBAAA,IAAA,UAAA,IACA,oBAAA,UAAA,YAAA,UACA,WAAA,QACA,mBAAA,kUAAA,WAAA,kUAGF,8Bdy7CF,oCcv7CI,iBAAA,0BCfJ,YACE,SAAA,KCFF,KACE,iBAAA,YAGF,sCACE,MAAA,2BAIF,+BAEE,gBAAA,2BACA,iBAAA,2BAGA,qBAAA,YACA,2BAAA,oCAGA,qBAAA,qBACA,qBAAA,oCAGA,0CACE,MAAA,qBACA,iBAAA,0BACA,cAAA,OAAA,MAAA,2BAEA,gEACI,WAAA,EAAA,EAAA,MAAA,eAAA,CAAA,EAAA,EAAA,MAAA,MAAA,eAKN,uCACE,iBAAA,iCAEA,6CACE,iBAAA,2BAKJ,wCACE,MAAA,qBACA,iBAAA,wCAEA,sDACI,MAAA,2BAGJ,oDACI,MAAA,0BAKN,wCACE,MAAA,qBACA,iBAAA,wCAIF,+CACE,MAAA,qBAGF,iEACE,MAAA,kCAGF,mEACE,MAAA,2BAIA,mDAAA,mDAEE,MAAA,0BAkCJ,iDACE,MAAA,qBACA,iBAAA,iCAEA,uDACE,iBAAA,kCAGF,kEACE,MAAA,qBAEF,mEACE,MAAA,kCADF,8DACE,MAAA,kCAIJ,4FACE,iBAAA,YAGF,mDACE,MAAA,wCAGF,2CAAA,mDACE,iBAAA,kCAKA,yDACE,MAAA,2BAGF,+CACE,WAAA,OAAA,MAAA,2BAKJ,4DACE,iBAAA,uCAMF,eACE,MAAA,qBACA,eAAA,KhBm5CJ,uBADA,wBAMA,wBAEA,2BAJA,wBADA,wBAEA,wBAEA,2BALA,qBgBh5CA,wBAWE,gBAAA,oCAAA,YACA,gBAAA,KhBg5CF,6BADA,8BAMA,8BAEA,iCAJA,8BADA,8BAEA,8BAEA,iCALA,2BgB94CE,8BACE,gBAAA,0BAAA,YhBw5CJ,0CADA,2CAMA,2CAEA,8CAJA,2CADA,2CAEA,2CAEA,8CALA,wCgBr5CE,2CACE,MAAA,MACA,OAAA,MhB+5CJ,iDADA,kDAMA,kDAEA,qDAJA,kDADA,kDAEA,kDAEA,qDALA,+CgB75CE,kDACE,iBAAA,YhBu6CJ,gDADA,iDAMA,iDAEA,oDAJA,iDADA,iDAEA,iDAEA,oDALA,8CgBp6CE,iDACE,iBAAA,oChB86CJ,sDADA,uDAMA,uDAEA,0DAJA,uDADA,uDAEA,uDAEA,0DALA,oDgB56CI,uDACE,iBAAA,0BCKF,wChB1EF,uBACE,cAAA,EAGF,oBACE,aAAA,EerCA,+CACE,MAAA,qBACA,iBAAA,wCAGF,sDACE,MAAA,qBACA,iBAAA,0BACA,cAAA,OAAA,MAAA,4BCkGF,wCXoCE,wBACE,aAAA,OACA,YAAA,OAEF,2BACE,aAAA,OACA,YAAA,OAEA,0CACE,KAAA,MKhLR,wDACE,aAAA,EAGF,8CACE,UAAA,KACA,OAAA,EACA,qBAAA,EACA,4BAAA,EAEA,qDACE,mBAAA,EACA,QAAA,KAIF,oEACE,oBAAA,EACA,qBAAA,EAIF,oEACE,kBAAA,EACA,mBAAA,GM2GF,wCDzHA,gGACE,MAAA,2BAIF,+DACE,MAAA,qBACA,iBAAA,0BACA,cAAA,OAAA,MAAA","file":"extra-8611f6c398.css","sourcesContent":["@import \"./dracula\";\n\n:root > * {\n // Custom code colors\n --md-code-link-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-link-accent-bg-color: var(--md-code-link-bg-color);\n --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);\n --md-code-title-bg-color: var(--md-code-bg-color);\n --md-code-inline-bg-color: var(--md-code-bg-color);\n\n --md-code-special-bg-color: #{darken(hsl(0, 0%, 96%), 5%)};\n --md-code-alternate-bg-color: var(--md-code-bg-color);\n\n --md-code-hl-punctuation-color: var(--md-code-fg-color);\n --md-code-hl-namespace-color: var(--md-code-fg-color);\n\n --md-code-hl-entity-color: var(--md-code-hl-keyword-color);\n --md-code-hl-tag-color: var(--md-code-hl-keyword-color);\n --md-code-hl-builtin-color: var(--md-code-hl-constant-color);\n --md-code-hl-class-color: var(--md-code-hl-function-color);\n\n // Various Material related color variables\n --md-typeset-a-color: #{$clr-cyan-500};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lighter);\n --md-progress-100: #{$clr-green-a400};\n --md-progress-80: #{$clr-green-a400};\n --md-progress-60: #{$clr-yellow-700};\n --md-progress-40: #{$clr-orange-a400};\n --md-progress-20: #{$clr-red-a200};\n --md-progress-0: #{$clr-red-a400};\n\n // Keys colors\n --md-typeset-kbd-color: #{shade(hsla(0, 100%, 100%, 1), 8%)};\n --md-typeset-kbd-border-color: #{shade(hsla(0, 100%, 100%, 1), 28%)};\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n\n &[data-md-color-scheme=\"slate\"] {\n // Custom code colors\n --md-code-link-bg-color: hsla(232, 15%, 15%, 1);\n --md-code-link-accent-bg-color: var(--md-code-link-bg-color);\n --md-code-special-bg-color: #{lighten(hsl(232, 15%, 15%), 5%)};\n --md-default-bg-color--trans: hsla(232,15%,15%, 0);\n\n // Keys colors\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: #{darken(rgb(46, 48, 62), 9%)};\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n }\n\n // Dark mode color changes\n &[data-md-color-scheme=\"dracula\"] {\n // Default color shades\n --md-default-fg-color: #{transparentize($drac-fg, 0.13)};\n --md-default-fg-color--light: #{transparentize($drac-fg, 0.46)};\n --md-default-fg-color--lighter: #{transparentize($drac-fg, 0.84)};\n --md-default-fg-color--lightest: #{transparentize($drac-fg, 0.93)};\n --md-default-autocomplete-fg-color: #{transparentize($drac-fg, 0.60)};\n --md-shadow-z2: 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.3),\n 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.2);\n\n --md-default-bg-color: var(--md-default-bg-color--darkest);\n --md-default-bg-color--light: #{transparentize($drac-default-bg, 0.3)};\n --md-default-bg-color--lighter: #{transparentize($drac-default-bg, 0.7)};\n --md-default-bg-color--lightest: #{transparentize($drac-default-bg, 0.88)};\n --md-default-bg-color--trans: #{transparentize($drac-default-bg, 1)};\n\n // Dark specific colors\n --md-default-bg-color--dark: #{darken($drac-default-bg, 3%)};\n --md-default-bg-color--darker: #{darken($drac-default-bg, 6%)};\n --md-default-bg-color--darkest: #{darken($drac-default-bg, 9%)};\n --md-default-bg-color--ultra-dark: #{darken($drac-default-bg, 15%)};\n\n // General text\n --md-text-color: var(--md-default-fg-color);\n --md-typeset-color: var(--md-default-fg-color);\n\n // Admonition colors\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Code colors\n --md-code-fg-color: #{$drac-fg};\n --md-code-bg-color: #{$drac-bg};\n --md-code-title-bg-color: var(--md-default-bg-color--ultra-dark);\n --md-code-inline-bg-color: #{lighten($drac-bg, 5%)};\n --md-code-hl-operator-color: #{$drac-pink};\n --md-code-hl-punctuation-color: #{$drac-fg};\n --md-code-hl-string-color: #{$drac-yellow};\n --md-code-hl-special-color: #{$drac-purple};\n --md-code-hl-number-color: #{$drac-purple};\n --md-code-hl-keyword-color: #{$drac-pink};\n --md-code-hl-name-color: #{$drac-fg};\n --md-code-hl-constant-color: #{$drac-purple};\n --md-code-hl-function-color: #{$drac-green};\n --md-code-hl-comment-color: #{$drac-blue};\n --md-code-hl-variable-color: #{$drac-orange};\n --md-code-hl-generic-color: #{$drac-blue};\n --md-code-hl-color: #{$drac-selection};\n\n // Custom code colors\n --md-code-hl-entity-color: #{$drac-green};\n --md-code-hl-tag-color: #{$drac-pink};\n --md-code-hl-namespace-color: #{$drac-fg};\n --md-code-hl-builtin-color: #{$drac-cyan};\n --md-code-hl-class-color: #{$drac-cyan};\n\n --md-code-special-bg-color: #{darken($drac-bg, 5%)};\n --md-code-alternate-bg-color: #{tint($drac-bg, 10%)};\n --md-code-link-bg-color: #{mix($drac-cyan, $drac-bg, 15%)};\n\n // Various Material related color variables\n --md-typeset-a-color: #{$drac-cyan};\n --md-typeset-mark-color: #{mix($drac-yellow, $drac-bg, 35%)};\n --md-typeset-del-color: #{mix($drac-pink, $drac-bg, 35%)};\n --md-typeset-ins-color: #{mix($drac-green, $drac-bg, 35%)};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lightest);\n --md-progress-100: #{$drac-green};\n --md-progress-80: #{$drac-light-green};\n --md-progress-60: #{$drac-yellow};\n --md-progress-40: #{$drac-orange};\n --md-progress-20: #{$drac-pink};\n --md-progress-0: #{$drac-red};\n\n // Keys colors\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: var(--md-default-bg-color--ultra-dark);\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: primary colors\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": $drac-red lighten($drac-red, 5%) darken($drac-red, 5%),\n \"pink\": $drac-pink lighten($drac-pink, 5%) darken($drac-pink, 5%),\n \"purple\": $drac-purple lighten($drac-purple, 5%) darken($drac-purple, 5%),\n \"deep-purple\": $drac-purple lighten($drac-purple, 5%) darken($drac-purple, 5%),\n \"blue\": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%),\n \"indigo\": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%),\n \"light-blue\": $drac-blue lighten($drac-blue, 5%) darken($drac-blue, 5%),\n \"cyan\": $drac-cyan lighten($drac-cyan, 5%) darken($drac-cyan, 5%),\n \"teal\": $drac-cyan lighten($drac-cyan, 5%) darken($drac-cyan, 5%),\n \"green\": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%),\n \"light-green\": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%),\n \"lime\": $drac-green lighten($drac-green, 5%) darken($drac-green, 5%),\n \"yellow\": $drac-yellow lighten($drac-yellow, 5%) darken($drac-yellow, 5%),\n \"amber\": $drac-yellow lighten($drac-yellow, 5%) darken($drac-yellow, 5%),\n \"orange\": $drac-orange lighten($drac-orange, 5%) darken($drac-orange, 5%),\n \"deep-orange\": $drac-orange lighten($drac-orange, 5%) darken($drac-orange, 5%)\n) {\n\n // Color palette\n [data-md-color-scheme=\"dracula\"][data-md-color-primary=\"#{$name}\"],\n [data-md-color-scheme=\"dracula\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"]\n {\n\n --md-primary-code-bg-color: #{mix($drac-bg, nth($colors, 1), 85%)};\n --md-primary-fg-color: hsla(#{hex2hsl(nth($colors, 1))}, 1);\n --md-primary-fg-color--transparent: hsla(#{hex2hsl(nth($colors, 1))}, 0.1);\n --md-primary-fg-color--light: hsla(#{hex2hsl(nth($colors, 2))}, 1);\n --md-primary-fg-color--dark: hsla(#{hex2hsl(nth($colors, 3))}, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: accent colors\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": darken($drac-red, 5%),\n \"pink\": darken($drac-pink, 5%),\n \"purple\": darken($drac-purple, 5%),\n \"deep-purple\": darken($drac-purple, 5%),\n \"blue\": darken($drac-blue, 5%),\n \"indigo\": darken($drac-blue, 5%),\n \"light-blue\": darken($drac-blue, 5%),\n \"cyan\": darken($drac-cyan, 5%),\n \"teal\": darken($drac-cyan, 5%),\n \"green\": darken($drac-green, 5%),\n \"light-green\": darken($drac-green, 5%),\n \"lime\": darken($drac-green, 5%),\n \"yellow\": darken($drac-yellow, 5%),\n \"amber\": darken($drac-yellow, 5%),\n \"orange\": darken($drac-orange, 5%),\n \"deep-orange\": darken($drac-orange, 5%)\n) {\n\n // Color palette\n [data-md-color-scheme=\"dracula\"][data-md-color-accent=\"#{$name}\"],\n [data-md-color-scheme=\"dracula\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"] {\n --md-code-link-accent-bg-color: #{mix($color, $drac-bg, 15%)};\n --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n","@charset \"UTF-8\";\n:root > * {\n --md-code-link-bg-color: hsla(0, 0%, 96%, 1);\n --md-code-link-accent-bg-color: var(--md-code-link-bg-color);\n --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);\n --md-code-title-bg-color: var(--md-code-bg-color);\n --md-code-inline-bg-color: var(--md-code-bg-color);\n --md-code-special-bg-color: #e8e8e8;\n --md-code-alternate-bg-color: var(--md-code-bg-color);\n --md-code-hl-punctuation-color: var(--md-code-fg-color);\n --md-code-hl-namespace-color: var(--md-code-fg-color);\n --md-code-hl-entity-color: var(--md-code-hl-keyword-color);\n --md-code-hl-tag-color: var(--md-code-hl-keyword-color);\n --md-code-hl-builtin-color: var(--md-code-hl-constant-color);\n --md-code-hl-class-color: var(--md-code-hl-function-color);\n --md-typeset-a-color: #00bcd4;\n --md-progress-stripe: var(--md-default-bg-color--lighter);\n --md-progress-100: #00e676;\n --md-progress-80: #00e676;\n --md-progress-60: #fbc02d;\n --md-progress-40: #ff9100;\n --md-progress-20: #ff5252;\n --md-progress-0: #ff1744;\n --md-typeset-kbd-color: #ebebeb;\n --md-typeset-kbd-border-color: #b8b8b8;\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n}\n:root > *[data-md-color-scheme=slate] {\n --md-code-link-bg-color: hsla(232, 15%, 15%, 1);\n --md-code-link-accent-bg-color: var(--md-code-link-bg-color);\n --md-code-special-bg-color: #2b2d3b;\n --md-default-bg-color--trans: hsla(232,15%,15%, 0);\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: #1a1c24;\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n}\n:root > *[data-md-color-scheme=dracula] {\n --md-default-fg-color: rgba(248, 248, 242, 0.87);\n --md-default-fg-color--light: rgba(248, 248, 242, 0.54);\n --md-default-fg-color--lighter: rgba(248, 248, 242, 0.16);\n --md-default-fg-color--lightest: rgba(248, 248, 242, 0.07);\n --md-default-autocomplete-fg-color: rgba(248, 248, 242, 0.4);\n --md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3),\n 0 0 0.05rem hsla(0, 0%, 0%, 0.2);\n --md-default-bg-color: var(--md-default-bg-color--darkest);\n --md-default-bg-color--light: rgba(50, 52, 67, 0.7);\n --md-default-bg-color--lighter: rgba(50, 52, 67, 0.3);\n --md-default-bg-color--lightest: rgba(50, 52, 67, 0.12);\n --md-default-bg-color--trans: rgba(50, 52, 67, 0);\n --md-default-bg-color--dark: #2b2e3b;\n --md-default-bg-color--darker: #252732;\n --md-default-bg-color--darkest: #1e2029;\n --md-default-bg-color--ultra-dark: #111217;\n --md-text-color: var(--md-default-fg-color);\n --md-typeset-color: var(--md-default-fg-color);\n --md-admonition-fg-color: var(--md-default-fg-color);\n --md-code-fg-color: hsl(60, 30%, 96%);\n --md-code-bg-color: hsl(231, 15%, 18%);\n --md-code-title-bg-color: var(--md-default-bg-color--ultra-dark);\n --md-code-inline-bg-color: #323443;\n --md-code-hl-operator-color: hsl(326, 100%, 74%);\n --md-code-hl-punctuation-color: hsl(60, 30%, 96%);\n --md-code-hl-string-color: hsl(65, 92%, 76%);\n --md-code-hl-special-color: hsl(265, 89%, 78%);\n --md-code-hl-number-color: hsl(265, 89%, 78%);\n --md-code-hl-keyword-color: hsl(326, 100%, 74%);\n --md-code-hl-name-color: hsl(60, 30%, 96%);\n --md-code-hl-constant-color: hsl(265, 89%, 78%);\n --md-code-hl-function-color: hsl(135, 94%, 65%);\n --md-code-hl-comment-color: hsl(225, 27%, 51%);\n --md-code-hl-variable-color: hsl(31, 100%, 71%);\n --md-code-hl-generic-color: hsl(225, 27%, 51%);\n --md-code-hl-color: hsl(231, 25%, 25%);\n --md-code-hl-entity-color: hsl(135, 94%, 65%);\n --md-code-hl-tag-color: hsl(326, 100%, 74%);\n --md-code-hl-namespace-color: hsl(60, 30%, 96%);\n --md-code-hl-builtin-color: hsl(191, 97%, 77%);\n --md-code-hl-class-color: hsl(191, 97%, 77%);\n --md-code-special-bg-color: #1c1e26;\n --md-code-alternate-bg-color: #3d3e49;\n --md-code-link-bg-color: #364653;\n --md-typeset-a-color: hsl(191, 97%, 77%);\n --md-typeset-mark-color: #6e7252;\n --md-typeset-del-color: #734568;\n --md-typeset-ins-color: #36724e;\n --md-progress-stripe: var(--md-default-bg-color--lightest);\n --md-progress-100: hsl(135, 94%, 65%);\n --md-progress-80: hsl(135, 92%, 79%);\n --md-progress-60: hsl(65, 92%, 76%);\n --md-progress-40: hsl(31, 100%, 71%);\n --md-progress-20: hsl(326, 100%, 74%);\n --md-progress-0: hsl(0, 100%, 67%);\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: var(--md-default-bg-color--ultra-dark);\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=red],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red] {\n --md-primary-code-bg-color: #47303a;\n --md-primary-fg-color: hsla(0deg, 100%, 67%, 1);\n --md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.1);\n --md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);\n --md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=pink],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink] {\n --md-primary-code-bg-color: #47354b;\n --md-primary-fg-color: hsla(326deg, 100%, 74%, 1);\n --md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.1);\n --md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);\n --md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=purple],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple] {\n --md-primary-code-bg-color: #3e3952;\n --md-primary-fg-color: hsla(265deg, 89%, 78%, 1);\n --md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.1);\n --md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);\n --md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=deep-purple],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple] {\n --md-primary-code-bg-color: #3e3952;\n --md-primary-fg-color: hsla(265deg, 89%, 78%, 1);\n --md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.1);\n --md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);\n --md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=blue],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue] {\n --md-primary-code-bg-color: #303446;\n --md-primary-fg-color: hsla(225deg, 27%, 51%, 1);\n --md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);\n --md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);\n --md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=indigo],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo] {\n --md-primary-code-bg-color: #303446;\n --md-primary-fg-color: hsla(225deg, 27%, 51%, 1);\n --md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);\n --md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);\n --md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=light-blue],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue] {\n --md-primary-code-bg-color: #303446;\n --md-primary-fg-color: hsla(225deg, 27%, 51%, 1);\n --md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);\n --md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);\n --md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=cyan],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan] {\n --md-primary-code-bg-color: #364653;\n --md-primary-fg-color: hsla(191deg, 97%, 77%, 1);\n --md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.1);\n --md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);\n --md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=teal],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal] {\n --md-primary-code-bg-color: #364653;\n --md-primary-fg-color: hsla(191deg, 97%, 77%, 1);\n --md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.1);\n --md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);\n --md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=green],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green] {\n --md-primary-code-bg-color: #2d4840;\n --md-primary-fg-color: hsla(135deg, 94%, 65%, 1);\n --md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);\n --md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);\n --md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=light-green],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green] {\n --md-primary-code-bg-color: #2d4840;\n --md-primary-fg-color: hsla(135deg, 94%, 65%, 1);\n --md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);\n --md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);\n --md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=lime],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime] {\n --md-primary-code-bg-color: #2d4840;\n --md-primary-fg-color: hsla(135deg, 94%, 65%, 1);\n --md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);\n --md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);\n --md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=yellow],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow] {\n --md-primary-code-bg-color: #454842;\n --md-primary-fg-color: hsla(65deg, 92%, 76%, 1);\n --md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.1);\n --md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);\n --md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=amber],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber] {\n --md-primary-code-bg-color: #454842;\n --md-primary-fg-color: hsla(65deg, 92%, 76%, 1);\n --md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.1);\n --md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);\n --md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=orange],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange] {\n --md-primary-code-bg-color: #473e3d;\n --md-primary-fg-color: hsla(31deg, 100%, 71%, 1);\n --md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.1);\n --md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);\n --md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-primary=deep-orange],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange] {\n --md-primary-code-bg-color: #473e3d;\n --md-primary-fg-color: hsla(31deg, 100%, 71%, 1);\n --md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.1);\n --md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);\n --md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=red],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red] {\n --md-code-link-accent-bg-color: #472c36;\n --md-accent-fg-color: hsla(0deg, 100%, 62%, 1);\n --md-accent-fg-color--transparent: hsla(0deg, 100%, 62%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=pink],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink] {\n --md-code-link-accent-bg-color: #473149;\n --md-accent-fg-color: hsla(326deg, 100%, 69%, 1);\n --md-accent-fg-color--transparent: hsla(326deg, 100%, 69%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=purple],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple] {\n --md-code-link-accent-bg-color: #3c3652;\n --md-accent-fg-color: hsla(265deg, 89%, 73%, 1);\n --md-accent-fg-color--transparent: hsla(265deg, 89%, 73%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=deep-purple],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple] {\n --md-code-link-accent-bg-color: #3c3652;\n --md-accent-fg-color: hsla(265deg, 89%, 73%, 1);\n --md-accent-fg-color--transparent: hsla(265deg, 89%, 73%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=blue],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue] {\n --md-code-link-accent-bg-color: #2e3243;\n --md-accent-fg-color: hsla(225deg, 27%, 46%, 1);\n --md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=indigo],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo] {\n --md-code-link-accent-bg-color: #2e3243;\n --md-accent-fg-color: hsla(225deg, 27%, 46%, 1);\n --md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=light-blue],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue] {\n --md-code-link-accent-bg-color: #2e3243;\n --md-accent-fg-color: hsla(225deg, 27%, 46%, 1);\n --md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=cyan],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan] {\n --md-code-link-accent-bg-color: #324553;\n --md-accent-fg-color: hsla(191deg, 97%, 72%, 1);\n --md-accent-fg-color--transparent: hsla(191deg, 97%, 72%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=teal],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal] {\n --md-code-link-accent-bg-color: #324553;\n --md-accent-fg-color: hsla(191deg, 97%, 72%, 1);\n --md-accent-fg-color--transparent: hsla(191deg, 97%, 72%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=green],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green] {\n --md-code-link-accent-bg-color: #2a483d;\n --md-accent-fg-color: hsla(135deg, 94%, 60%, 1);\n --md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=light-green],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green] {\n --md-code-link-accent-bg-color: #2a483d;\n --md-accent-fg-color: hsla(135deg, 94%, 60%, 1);\n --md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=lime],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime] {\n --md-code-link-accent-bg-color: #2a483d;\n --md-accent-fg-color: hsla(135deg, 94%, 60%, 1);\n --md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=yellow],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow] {\n --md-code-link-accent-bg-color: #45483e;\n --md-accent-fg-color: hsla(65deg, 92%, 71%, 1);\n --md-accent-fg-color--transparent: hsla(65deg, 92%, 71%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=amber],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber] {\n --md-code-link-accent-bg-color: #45483e;\n --md-accent-fg-color: hsla(65deg, 92%, 71%, 1);\n --md-accent-fg-color--transparent: hsla(65deg, 92%, 71%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=orange],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange] {\n --md-code-link-accent-bg-color: #473d39;\n --md-accent-fg-color: hsla(31deg, 100%, 66%, 1);\n --md-accent-fg-color--transparent: hsla(31deg, 100%, 66%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n[data-md-color-scheme=dracula][data-md-color-accent=deep-orange],\n[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange] {\n --md-code-link-accent-bg-color: #473d39;\n --md-accent-fg-color: hsla(31deg, 100%, 66%, 1);\n --md-accent-fg-color--transparent: hsla(31deg, 100%, 66%, 0.1);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n}\n\n/* Normal colors */\n:root {\n --md-heart: #ff5252;\n --md-heart-big: #ff1744;\n /* Dark mode colors */\n}\n:root :focus-visible {\n outline-style: solid;\n}\n:root [data-md-color-scheme=dracula] {\n --md-heart: hsl(326, 100%, 74%);\n --md-heart-big: hsl(0, 100%, 67%);\n}\n\n.md-typeset h4 {\n margin: 2em 0 1em;\n}\n.md-typeset a.source-link {\n position: relative;\n top: -0.6rem;\n float: right;\n color: var(--md-default-fg-color--lighter);\n transition: color 125ms;\n}\n.md-typeset a.source-link:hover {\n color: var(--md-accent-fg-color);\n}\n.md-typeset a.source-link .twemoji {\n height: 1.2rem;\n}\n.md-typeset a.source-link .twemoji svg {\n width: 1.2rem;\n height: 1.2rem;\n}\n.md-typeset div.highlight.md-max-height pre > code {\n max-height: 15rem;\n}\n\n.twemoji.heart-throb svg, .twemoji.heart-throb-hover svg {\n position: relative;\n color: var(--md-heart);\n animation: pulse 1.5s ease infinite;\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 40% {\n color: var(--md-heart-big);\n transform: scale(1.3);\n }\n 50% {\n transform: scale(1.2);\n }\n 60% {\n color: var(--md-heart-big);\n transform: scale(1.3);\n }\n 100% {\n transform: scale(1);\n }\n}\nfooter.sponsorship {\n text-align: center;\n}\nfooter.sponsorship hr {\n display: inline-block;\n width: 1.6rem;\n margin: 0 0.7rem;\n vertical-align: middle;\n border-bottom: 2px solid var(--md-default-fg-color--lighter);\n}\nfooter.sponsorship:hover hr {\n border-color: var(--md-accent-fg-color);\n}\nfooter.sponsorship:not(:hover) .twemoji.heart-throb-hover svg {\n color: var(--md-default-fg-color--lighter) !important;\n}\n\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .light-mode,\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .system-mode,\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .unknown-mode {\n display: none;\n}\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode,\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode,\nbody:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode {\n display: none;\n}\nbody:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .dark-mode,\nbody:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .light-mode,\nbody:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .system-mode {\n display: none;\n}\nbody[data-md-prefers-color-scheme=true] .md-icon .dark-mode,\nbody[data-md-prefers-color-scheme=true] .md-icon .light-mode,\nbody[data-md-prefers-color-scheme=true] .md-icon .unknown-mode {\n display: none;\n}\n\n.md-header-nav__scheme {\n z-index: 0;\n}\n\n@media screen and (max-width: 59.9375em) {\n .md-header-nav__scheme {\n padding-right: 0;\n }\n label[for=__search] {\n padding-left: 0;\n }\n}\n[data-md-toggle=search]:checked ~ .md-header .md-header-nav__scheme {\n display: none;\n}\n\n.md-typeset .admonition, .md-typeset details {\n border-width: 0;\n border-left-width: 4px;\n}\n\n/* Style new admonitions with dark or light colors */\n:root > * {\n --md-admonition-bg-color: transparent;\n}\n:root > *[data-md-color-scheme=dracula] {\n --md-admonition-icon-color: $drac-dark-yellow;\n}\n:root > * {\n --md-admonition-icon--settings: svg-load(\"@mdi/svg/svg/cog.svg\");\n --md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);\n --md-admonition-icon-color--settings: #aa00ff;\n --md-admonition-shadow-color--settings: rgba(170, 0, 255, 0.1);\n}\n:root > *[data-md-color-scheme=dracula] {\n --md-admonition-bg-color--settings: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--settings: hsl(326, 100%, 74%);\n --md-admonition-shadow-color--settings: rgba(255, 122, 198, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--note: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--note: hsl(51, 94%, 73%);\n --md-admonition-shadow-color--note: rgba(251, 231, 121, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--abstract: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--abstract: hsl(191, 97%, 77%);\n --md-admonition-shadow-color--abstract: rgba(139, 232, 253, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--info: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--info: hsl(190, 94%, 87%);\n --md-admonition-shadow-color--info: rgba(191, 243, 253, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--tip: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--tip: hsl(161, 97%, 77%);\n --md-admonition-shadow-color--tip: rgba(139, 253, 217, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--success: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--success: hsl(135, 94%, 65%);\n --md-admonition-shadow-color--success: rgba(82, 250, 124, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--question: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--question: hsl(135, 92%, 79%);\n --md-admonition-shadow-color--question: rgba(152, 251, 177, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--warning: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--warning: hsl(31, 100%, 71%);\n --md-admonition-shadow-color--warning: rgba(255, 184, 107, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--failure: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--failure: hsl(0, 100%, 59%);\n --md-admonition-shadow-color--failure: rgba(255, 46, 46, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--danger: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--danger: hsl(0, 100%, 67%);\n --md-admonition-shadow-color--danger: rgba(255, 87, 87, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--bug: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--bug: hsl(325, 100%, 64%);\n --md-admonition-shadow-color--bug: rgba(255, 71, 179, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--example: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--example: hsl(265, 89%, 78%);\n --md-admonition-shadow-color--example: rgba(191, 149, 249, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--quote: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--quote: hsl(225, 8%, 51%);\n --md-admonition-shadow-color--quote: rgba(120, 125, 140, 0.1);\n}\n:root > * {\n --md-admonition-icon--new: svg-load(\"@mdi/svg/svg/alert-decagram.svg\");\n --md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);\n --md-admonition-icon-color--new: #ffd600;\n --md-admonition-shadow-color--new: rgba(255, 214, 0, 0.1);\n}\n:root > *[data-md-color-scheme=dracula] {\n --md-admonition-bg-color--new: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--new: hsl(65, 92%, 76%);\n --md-admonition-shadow-color--new: rgba(241, 250, 137, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--note: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--note: hsl(51, 94%, 73%);\n --md-admonition-shadow-color--note: rgba(251, 231, 121, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--abstract: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--abstract: hsl(191, 97%, 77%);\n --md-admonition-shadow-color--abstract: rgba(139, 232, 253, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--info: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--info: hsl(190, 94%, 87%);\n --md-admonition-shadow-color--info: rgba(191, 243, 253, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--tip: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--tip: hsl(161, 97%, 77%);\n --md-admonition-shadow-color--tip: rgba(139, 253, 217, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--success: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--success: hsl(135, 94%, 65%);\n --md-admonition-shadow-color--success: rgba(82, 250, 124, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--question: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--question: hsl(135, 92%, 79%);\n --md-admonition-shadow-color--question: rgba(152, 251, 177, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--warning: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--warning: hsl(31, 100%, 71%);\n --md-admonition-shadow-color--warning: rgba(255, 184, 107, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--failure: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--failure: hsl(0, 100%, 59%);\n --md-admonition-shadow-color--failure: rgba(255, 46, 46, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--danger: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--danger: hsl(0, 100%, 67%);\n --md-admonition-shadow-color--danger: rgba(255, 87, 87, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--bug: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--bug: hsl(325, 100%, 64%);\n --md-admonition-shadow-color--bug: rgba(255, 71, 179, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--example: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--example: hsl(265, 89%, 78%);\n --md-admonition-shadow-color--example: rgba(191, 149, 249, 0.1);\n}\n:root > * {\n --md-admonition-bg-color--quote: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--quote: hsl(225, 8%, 51%);\n --md-admonition-shadow-color--quote: rgba(120, 125, 140, 0.1);\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=dracula] .md-typeset .admonition, [data-md-color-scheme=dracula] .md-typeset details {\n border-color: var(--md-admonition-icon-color--note);\n box-shadow: var(--md-shadow-z2);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition:focus-within, [data-md-color-scheme=dracula] .md-typeset details:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details > summary {\n background-color: var(--md-admonition-bg-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details > summary::before {\n background-color: var(--md-admonition-icon-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details > summary::after {\n color: var(--md-admonition-icon-color--note);\n}\n\n/* Style existing admonitions with dark mode colors */\n[data-md-color-scheme=dracula] .md-typeset .admonition.note, [data-md-color-scheme=dracula] .md-typeset details.note {\n border-color: var(--md-admonition-icon-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.note:focus-within, [data-md-color-scheme=dracula] .md-typeset details.note:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.note > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.note > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.note > summary {\n background-color: var(--md-admonition-bg-color--note);\n border-color: var(--md-admonition-icon-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.note > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.note > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.note > summary::before {\n background-color: var(--md-admonition-icon-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.note > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.note > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.note > summary::after {\n color: var(--md-admonition-icon-color--note);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.abstract, [data-md-color-scheme=dracula] .md-typeset details.abstract {\n border-color: var(--md-admonition-icon-color--abstract);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.abstract:focus-within, [data-md-color-scheme=dracula] .md-typeset details.abstract:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--abstract);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.abstract > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.abstract > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.abstract > summary {\n background-color: var(--md-admonition-bg-color--abstract);\n border-color: var(--md-admonition-icon-color--abstract);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.abstract > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.abstract > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.abstract > summary::before {\n background-color: var(--md-admonition-icon-color--abstract);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.abstract > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.abstract > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.abstract > summary::after {\n color: var(--md-admonition-icon-color--abstract);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.info, [data-md-color-scheme=dracula] .md-typeset details.info {\n border-color: var(--md-admonition-icon-color--info);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.info:focus-within, [data-md-color-scheme=dracula] .md-typeset details.info:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--info);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.info > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.info > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.info > summary {\n background-color: var(--md-admonition-bg-color--info);\n border-color: var(--md-admonition-icon-color--info);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.info > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.info > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.info > summary::before {\n background-color: var(--md-admonition-icon-color--info);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.info > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.info > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.info > summary::after {\n color: var(--md-admonition-icon-color--info);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.tip, [data-md-color-scheme=dracula] .md-typeset details.tip {\n border-color: var(--md-admonition-icon-color--tip);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.tip:focus-within, [data-md-color-scheme=dracula] .md-typeset details.tip:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--tip);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.tip > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.tip > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.tip > summary {\n background-color: var(--md-admonition-bg-color--tip);\n border-color: var(--md-admonition-icon-color--tip);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.tip > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.tip > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.tip > summary::before {\n background-color: var(--md-admonition-icon-color--tip);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.tip > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.tip > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.tip > summary::after {\n color: var(--md-admonition-icon-color--tip);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.success, [data-md-color-scheme=dracula] .md-typeset details.success {\n border-color: var(--md-admonition-icon-color--success);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.success:focus-within, [data-md-color-scheme=dracula] .md-typeset details.success:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--success);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.success > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.success > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.success > summary {\n background-color: var(--md-admonition-bg-color--success);\n border-color: var(--md-admonition-icon-color--success);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.success > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.success > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.success > summary::before {\n background-color: var(--md-admonition-icon-color--success);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.success > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.success > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.success > summary::after {\n color: var(--md-admonition-icon-color--success);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.question, [data-md-color-scheme=dracula] .md-typeset details.question {\n border-color: var(--md-admonition-icon-color--question);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.question:focus-within, [data-md-color-scheme=dracula] .md-typeset details.question:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--question);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.question > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.question > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.question > summary {\n background-color: var(--md-admonition-bg-color--question);\n border-color: var(--md-admonition-icon-color--question);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.question > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.question > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.question > summary::before {\n background-color: var(--md-admonition-icon-color--question);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.question > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.question > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.question > summary::after {\n color: var(--md-admonition-icon-color--question);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.warning, [data-md-color-scheme=dracula] .md-typeset details.warning {\n border-color: var(--md-admonition-icon-color--warning);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.warning:focus-within, [data-md-color-scheme=dracula] .md-typeset details.warning:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--warning);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.warning > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.warning > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.warning > summary {\n background-color: var(--md-admonition-bg-color--warning);\n border-color: var(--md-admonition-icon-color--warning);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.warning > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.warning > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.warning > summary::before {\n background-color: var(--md-admonition-icon-color--warning);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.warning > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.warning > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.warning > summary::after {\n color: var(--md-admonition-icon-color--warning);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.failure, [data-md-color-scheme=dracula] .md-typeset details.failure {\n border-color: var(--md-admonition-icon-color--failure);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.failure:focus-within, [data-md-color-scheme=dracula] .md-typeset details.failure:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--failure);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.failure > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.failure > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.failure > summary {\n background-color: var(--md-admonition-bg-color--failure);\n border-color: var(--md-admonition-icon-color--failure);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.failure > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.failure > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.failure > summary::before {\n background-color: var(--md-admonition-icon-color--failure);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.failure > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.failure > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.failure > summary::after {\n color: var(--md-admonition-icon-color--failure);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.danger, [data-md-color-scheme=dracula] .md-typeset details.danger {\n border-color: var(--md-admonition-icon-color--danger);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.danger:focus-within, [data-md-color-scheme=dracula] .md-typeset details.danger:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--danger);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.danger > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.danger > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.danger > summary {\n background-color: var(--md-admonition-bg-color--danger);\n border-color: var(--md-admonition-icon-color--danger);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.danger > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.danger > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.danger > summary::before {\n background-color: var(--md-admonition-icon-color--danger);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.danger > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.danger > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.danger > summary::after {\n color: var(--md-admonition-icon-color--danger);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.bug, [data-md-color-scheme=dracula] .md-typeset details.bug {\n border-color: var(--md-admonition-icon-color--bug);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.bug:focus-within, [data-md-color-scheme=dracula] .md-typeset details.bug:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--bug);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.bug > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.bug > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.bug > summary {\n background-color: var(--md-admonition-bg-color--bug);\n border-color: var(--md-admonition-icon-color--bug);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.bug > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.bug > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.bug > summary::before {\n background-color: var(--md-admonition-icon-color--bug);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.bug > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.bug > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.bug > summary::after {\n color: var(--md-admonition-icon-color--bug);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.example, [data-md-color-scheme=dracula] .md-typeset details.example {\n border-color: var(--md-admonition-icon-color--example);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.example:focus-within, [data-md-color-scheme=dracula] .md-typeset details.example:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--example);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.example > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.example > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.example > summary {\n background-color: var(--md-admonition-bg-color--example);\n border-color: var(--md-admonition-icon-color--example);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.example > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.example > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.example > summary::before {\n background-color: var(--md-admonition-icon-color--example);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.example > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.example > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.example > summary::after {\n color: var(--md-admonition-icon-color--example);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.quote, [data-md-color-scheme=dracula] .md-typeset details.quote {\n border-color: var(--md-admonition-icon-color--quote);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.quote:focus-within, [data-md-color-scheme=dracula] .md-typeset details.quote:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--quote);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.quote > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.quote > .admonition-title, [data-md-color-scheme=dracula] .md-typeset details.quote > summary {\n background-color: var(--md-admonition-bg-color--quote);\n border-color: var(--md-admonition-icon-color--quote);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.quote > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.quote > .admonition-title::before, [data-md-color-scheme=dracula] .md-typeset details.quote > summary::before {\n background-color: var(--md-admonition-icon-color--quote);\n}\n[data-md-color-scheme=dracula] .md-typeset .admonition.quote > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.quote > .admonition-title::after, [data-md-color-scheme=dracula] .md-typeset details.quote > summary::after {\n color: var(--md-admonition-icon-color--quote);\n}\n\n.md-typeset .admonition.settings, .md-typeset details.settings, .md-typeset .admonition.config, .md-typeset details.config {\n border-color: var(--md-admonition-icon-color--settings);\n}\n.md-typeset .admonition.settings:focus-within, .md-typeset details.settings:focus-within, .md-typeset .admonition.config:focus-within, .md-typeset details.config:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--settings);\n}\n.md-typeset .admonition.settings > .admonition-title, .md-typeset details.settings > .admonition-title, .md-typeset details.settings > summary, .md-typeset .admonition.config > .admonition-title, .md-typeset details.config > .admonition-title, .md-typeset details.config > summary {\n background-color: var(--md-admonition-bg-color--settings);\n border-color: var(--md-admonition-icon-color--settings);\n}\n.md-typeset .admonition.settings > .admonition-title::before, .md-typeset details.settings > .admonition-title::before, .md-typeset details.settings > summary::before, .md-typeset .admonition.config > .admonition-title::before, .md-typeset details.config > .admonition-title::before, .md-typeset details.config > summary::before {\n width: 1rem;\n height: 1rem;\n background-color: var(--md-admonition-icon-color--settings);\n background-size: 1rem;\n mask-image: var(--md-admonition-icon--settings);\n content: \" \";\n}\n.md-typeset .admonition.settings > .admonition-title::after, .md-typeset details.settings > .admonition-title::after, .md-typeset details.settings > summary::after, .md-typeset .admonition.config > .admonition-title::after, .md-typeset details.config > .admonition-title::after, .md-typeset details.config > summary::after {\n color: var(--md-admonition-icon-color--settings);\n}\n\n.md-typeset .admonition.new, .md-typeset details.new {\n border-color: var(--md-admonition-icon-color--new);\n}\n.md-typeset .admonition.new:focus-within, .md-typeset details.new:focus-within {\n box-shadow: 0 0 0 0.2rem var(--md-admonition-shadow-color--new);\n}\n.md-typeset .admonition.new > .admonition-title, .md-typeset details.new > .admonition-title, .md-typeset details.new > summary {\n background-color: var(--md-admonition-bg-color--new);\n border-color: var(--md-admonition-icon-color--new);\n}\n.md-typeset .admonition.new > .admonition-title::before, .md-typeset details.new > .admonition-title::before, .md-typeset details.new > summary::before {\n width: 1rem;\n height: 1rem;\n background-color: var(--md-admonition-icon-color--new);\n background-size: 1rem;\n mask-image: var(--md-admonition-icon--new);\n content: \" \";\n}\n.md-typeset .admonition.new > .admonition-title::after, .md-typeset details.new > .admonition-title::after, .md-typeset details.new > summary::after {\n color: var(--md-admonition-icon-color--new);\n}\n\nmjx-container[display=true] {\n font-size: 120% !important;\n}\n\nmjx-container:not([display]) {\n font-size: 100% !important;\n}\n\n[data-md-color-scheme=slate],\n[data-md-color-scheme=dracula] {\n /* stylelint-disable selector-class-pattern */\n /* stylelint-enable selector-class-pattern */\n}\n[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,\n[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre,\n[data-md-color-scheme=dracula] .CtxtMenu_InfoSignature input,\n[data-md-color-scheme=dracula] .CtxtMenu_InfoContent pre {\n color: rgb(0, 0, 0);\n}\n[data-md-color-scheme=slate] .CtxtMenu_Info,\n[data-md-color-scheme=slate] .CtxtMenu_Menu,\n[data-md-color-scheme=dracula] .CtxtMenu_Info,\n[data-md-color-scheme=dracula] .CtxtMenu_Menu {\n box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.5);\n}\n\n.md-typeset .arithmatex {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n}\n\n.katex-display .katex-html {\n display: flex !important;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: baseline;\n justify-content: space-between;\n}\n.katex-display .katex-html .base {\n display: inline !important;\n}\n.katex-display .katex-html .tag {\n position: relative !important;\n display: inline !important;\n margin-left: var(--margin-small);\n}\n\n/* Don't use box shadows */\n.md-typeset del.critic,\n.md-typeset ins.critic,\n.md-typeset mark.critic {\n padding: 0 0.25em;\n color: unset;\n box-shadow: none;\n}\n.md-typeset .critic.break {\n margin: 0;\n}\n\n/* Inherit admonition style */\n.md-typeset details {\n overflow: hidden;\n}\n.md-typeset details > summary:focus {\n outline-style: none;\n}\n\n.highlight .kc {\n color: var(--md-code-hl-constant-color);\n}\n.highlight .nc,\n.highlight .ne {\n color: var(--md-code-hl-class-color);\n}\n.highlight .mb {\n color: var(--md-code-hl-number-color);\n}\n.highlight .nb,\n.highlight .bp {\n color: var(--md-code-hl-builtin-color);\n}\n.highlight .nn {\n color: var(--md-code-hl-namespace-color);\n}\n.highlight .na,\n.highlight .nd,\n.highlight .ni {\n color: var(--md-code-hl-entity-color);\n}\n.highlight .nl,\n.highlight .nt {\n color: var(--md-code-hl-tag-color);\n}\n\n.md-typeset {\n /* Allow code to look like code everywhere despite Material's current preference */\n /* Code that is also a link */\n /* Don't always like code breaking in table cells */\n /* Special line number coloring for tables */\n}\n.md-typeset *:not(pre) > code {\n margin: 0;\n padding: 0 0.2941176471em;\n color: var(--md-code-fg-color);\n background-color: var(--md-code-inline-bg-color);\n border-radius: 0.1rem;\n box-shadow: none;\n}\n.md-typeset a > code {\n color: inherit !important;\n background-color: var(--md-code-link-bg-color) !important;\n transition: color 125ms;\n transition: background-color 125ms;\n /* If we are linking highlighted, inline code, force it to just look like a code link */\n}\n.md-typeset a > code * {\n color: var(--md-typeset-a-color) !important;\n}\n.md-typeset a > code:hover {\n background-color: var(--md-code-link-accent-bg-color) !important;\n}\n.md-typeset a > code:hover * {\n color: var(--md-accent-fg-color) !important;\n}\n.md-typeset pre > code {\n outline: none;\n}\n.md-typeset td code {\n word-break: normal;\n}\n.md-typeset .highlight {\n /* Needed for tab preserving mode */\n tab-size: 8;\n /* `pymdownx-inline` mode */\n}\n.md-typeset .highlight + .result {\n border-width: 0.1rem;\n}\n.md-typeset .highlight [data-linenos] {\n /* Special line mode coloring */\n}\n.md-typeset .highlight [data-linenos].special::before {\n background-color: var(--md-code-special-bg-color);\n}\n.md-typeset .highlighttable .linenodiv .special {\n margin-right: -0.5882352941em;\n margin-left: -1.1764705882em;\n padding-right: 0.5882352941em;\n padding-left: 1.1764705882em;\n background-color: var(--md-code-special-bg-color);\n}\n.md-typeset .highlight span.filename {\n position: relative;\n display: block;\n margin-top: 1em;\n padding: 0.5em 1.1764705882em 0.5em 2.9411764706em;\n font-weight: 700;\n font-size: 0.68rem;\n background-color: var(--md-code-title-bg-color);\n border-top-left-radius: 0.1rem;\n border-top-right-radius: 0.1rem;\n}\n.md-typeset .highlight span.filename + pre {\n margin-top: 0;\n}\n.md-typeset .highlight span.filename + pre code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.md-typeset .highlight span.filename::before {\n position: absolute;\n left: 0.8823529412em;\n width: 1.4705882353em;\n height: 1.4705882353em;\n background-color: var(--md-default-fg-color);\n mask-image: svg-load(\"@mdi/svg/svg/console.svg\");\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n.md-typeset .collapse-code {\n position: relative;\n margin-top: 1em;\n margin-bottom: 1em;\n}\n.md-typeset .collapse-code pre {\n margin-top: 0;\n margin-bottom: 0;\n}\n.md-typeset .collapse-code input {\n display: none;\n}\n.md-typeset .collapse-code input ~ .code-footer {\n width: 100%;\n margin: 0;\n padding: 0.25em 0.5em 0.25em 0em;\n}\n.md-typeset .collapse-code input ~ .code-footer label {\n position: relative;\n margin: 0.05em;\n padding: 0.15em 0.8em;\n color: var(--md-primary-bg-color);\n font-size: 90%;\n background-color: var(--md-primary-fg-color);\n mask-repeat: no-repeat;\n mask-size: contain;\n border-radius: 0.1rem;\n cursor: pointer;\n content: \"\";\n}\n.md-typeset .collapse-code input ~ .code-footer label:hover {\n background-color: var(--md-accent-fg-color);\n}\n.md-typeset .collapse-code input ~ .code-footer label::before {\n position: absolute;\n top: 0.15em;\n left: 0.15em;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-primary-bg-color);\n background-size: 1.25em;\n content: \"\";\n}\n.md-typeset .collapse-code input ~ .code-footer label.expand {\n display: none;\n}\n.md-typeset .collapse-code input ~ .code-footer label.expand::before {\n mask-image: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");\n}\n.md-typeset .collapse-code input ~ .code-footer label.collapse::before {\n mask-image: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\");\n}\n.md-typeset .collapse-code input:checked ~ .code-footer label.expand {\n display: inline;\n}\n.md-typeset .collapse-code input:checked ~ .code-footer label.collapse {\n display: none;\n}\n.md-typeset .collapse-code input:checked + div.highlight code {\n max-height: 9.375em;\n overflow: hidden;\n}\n.md-typeset .collapse-code input:checked ~ .code-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 2em 0.5em 0.5em 0.8rem;\n background-image: linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);\n}\n@media screen and (max-width: 44.9375em) {\n .md-typeset > diagram-div {\n margin-right: -0.8rem;\n margin-left: -0.8rem;\n }\n .md-typeset > .collapse-code {\n margin-right: -0.8rem;\n margin-left: -0.8rem;\n }\n .md-typeset > .collapse-code label.collapse {\n left: 0.8rem;\n }\n}\n\n.md-typeset .keys .key-power::before {\n padding-right: 0.4em;\n content: \"â»\";\n}\n.md-typeset .keys .key-fingerprint::before {\n padding-right: 0.4em;\n content: \"â˜\";\n}\n\n:root > * {\n --magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");\n --magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");\n --magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");\n --magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");\n --magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");\n --magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");\n --magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");\n --magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");\n --magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\");\n}\n\n.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-email-icon);\n}\n.md-typeset .magiclink-repository:not(.magiclink-ignore),\n.md-typeset .magiclink-compare:not(.magiclink-ignore),\n.md-typeset .magiclink-commit:not(.magiclink-ignore),\n.md-typeset .magiclink-pull:not(.magiclink-ignore),\n.md-typeset .magiclink-issue:not(.magiclink-ignore),\n.md-typeset .magiclink-discussion:not(.magiclink-ignore),\n.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore) {\n position: relative;\n padding-left: 1.375em;\n}\n.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,\n.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,\n.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,\n.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,\n.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,\n.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,\n.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-typeset-a-color);\n background-size: 1.25em;\n transition: background-color 125ms;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n}\n.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,\n.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,\n.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,\n.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,\n.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,\n.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,\n.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore):hover::before {\n background-color: var(--md-accent-fg-color);\n}\n\n.md-typeset .magiclink-commit:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-commit-icon);\n}\n\n.md-typeset .magiclink-compare:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-compare-icon);\n}\n\n.md-typeset .magiclink-pull:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-pull-icon);\n}\n\n.md-typeset .magiclink-issue:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-issue-icon);\n}\n\n.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-discussion-icon);\n}\n\n.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-github-icon);\n}\n\n.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-gitlab-icon);\n}\n\n.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-bitbucket-icon);\n}\n\n/* Shadow boxes sometimes give issues, so just pad. */\n.md-typeset mark:not(.critic) {\n box-shadow: none;\n}\n\n.md-typeset {\n /* Progress Bars */\n /* Stripe animation */\n}\n.md-typeset .progress-label {\n position: absolute;\n width: 100%;\n margin: 0;\n color: var(--md-text-color);\n font-weight: 700;\n line-height: 1.4rem;\n white-space: nowrap;\n text-align: center;\n text-shadow: -0.0625em -0.0625em 0.375em var(--md-default-bg-color--light), 0.0625em -0.0625em 0.375em var(--md-default-bg-color--light), -0.0625em 0.0625em 0.375em var(--md-default-bg-color--light), 0.0625em 0.0625em 0.375em var(--md-default-bg-color--light);\n}\n.md-typeset .progress-bar {\n float: left;\n height: 1.2rem;\n background-color: #2979ff;\n}\n.md-typeset .candystripe-animate .progress-bar {\n animation: animate-stripes 3s linear infinite;\n}\n.md-typeset .progress {\n position: relative;\n display: block;\n width: 100%;\n height: 1.2rem;\n margin: 0.5rem 0;\n background-color: var(--md-default-fg-color--lightest);\n}\n.md-typeset .progress.thin {\n height: 0.4rem;\n margin-top: 0.9rem;\n}\n.md-typeset .progress.thin .progress-label {\n margin-top: -0.4rem;\n}\n.md-typeset .progress.thin .progress-bar {\n height: 0.4rem;\n}\n.md-typeset .progress.candystripe .progress-bar {\n background-image: linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);\n background-size: 2rem 2rem;\n}\n.md-typeset .progress-100plus .progress-bar {\n background-color: var(--md-progress-100);\n}\n.md-typeset .progress-80plus .progress-bar {\n background-color: var(--md-progress-80);\n}\n.md-typeset .progress-60plus .progress-bar {\n background-color: var(--md-progress-60);\n}\n.md-typeset .progress-40plus .progress-bar {\n background-color: var(--md-progress-40);\n}\n.md-typeset .progress-20plus .progress-bar {\n background-color: var(--md-progress-20);\n}\n.md-typeset .progress-0plus .progress-bar {\n background-color: var(--md-progress-0);\n}\n@keyframes animate-stripes {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 6rem 0;\n }\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=dracula] .md-typeset .tabbed-set > .tabbed-labels {\n box-shadow: 0 -0.05rem var(--md-default-fg-color--lighter) inset;\n}\n\n/* Style code blocks to fill full tab,\n but otherwise, pad content. */\n.md-typeset .tabbed-alternate.tabbed-set .tabbed-control {\n width: 2rem;\n}\n.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden] {\n width: 1.2rem;\n opacity: 0;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block {\n padding: 0 0.6rem;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > pre:only-child,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .codehilite:only-child,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .codehilitetable:only-child,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .highlight:only-child,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .highlighttable:only-child {\n margin-right: -1.2rem;\n margin-left: -1.2rem;\n padding-right: 0.6rem;\n padding-left: 0.6rem;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > pre:only-child span.filename,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .codehilite:only-child span.filename,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .codehilitetable:only-child span.filename,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .highlight:only-child span.filename,\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .highlighttable:only-child span.filename {\n margin-top: 0;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .collapse-code:only-child {\n margin-top: 0;\n margin-right: -1.2rem;\n margin-left: -1.2rem;\n padding-right: 0.6rem;\n padding-left: 0.6rem;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > .collapse-code:only-child > .code-footer {\n left: 0.6rem;\n}\n.md-typeset .tabbed-alternate.tabbed-set > .tabbed-content > .tabbed-block > diagram-div:only-child {\n margin-right: -1.2rem;\n margin-left: -1.2rem;\n padding-right: 0.6rem;\n padding-left: 0.6rem;\n}\n\n.js .md-typeset .tabbed-labels::before {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Ignore mobile overflow styling that extends the tab bar */\n@media screen and (max-width: 44.9375em) {\n [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels {\n padding-left: 0;\n }\n .md-content__inner > .tabbed-set .tabbed-labels {\n max-width: 100%;\n margin: 0;\n padding-inline-start: 0;\n scroll-padding-inline-start: 0;\n }\n .md-content__inner > .tabbed-set .tabbed-labels::after {\n padding-inline-end: 0;\n content: none;\n }\n .md-content__inner > .tabbed-set .tabbed-labels ~ .tabbed-control--prev {\n margin-inline-start: 0;\n padding-inline-start: 0;\n }\n .md-content__inner > .tabbed-set .tabbed-labels ~ .tabbed-control--next {\n margin-inline-end: 0;\n padding-inline-end: 0;\n }\n}\n/* Dark mode changes */\n[data-md-color-scheme=dracula] .md-typeset table:not([class]) {\n box-shadow: var(--md-shadow-z2);\n}\n[data-md-color-scheme=dracula] .md-typeset table:not([class]) tr:hover {\n background-color: rgba(0, 0, 0, 0.08);\n}\n[data-md-color-scheme=dracula] .md-typeset table:not([class]) th {\n color: var(--md-text-color);\n background-color: var(--md-default-bg-color--ultra-dark);\n border-bottom: 0.05rem solid var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-typeset table:not([class]) td {\n border-top: 0.05rem solid var(--md-default-fg-color--lighter);\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=dracula] .md-typeset .task-list-control .task-list-indicator::before {\n background-color: var(--md-default-fg-color--lighter);\n}\n[data-md-color-scheme=dracula] .md-typeset .task-list-control [type=checkbox]:checked + .task-list-indicator::before {\n background-color: hsl(135, 94%, 65%);\n}\n\n.md-typeset .headerlink {\n width: 1em;\n height: 1em;\n vertical-align: middle;\n background-color: var(--md-default-fg-color--lighter);\n background-size: 1em;\n mask-size: 1em;\n mask-repeat: no-repeat;\n visibility: visible;\n mask-image: svg-load(\"@mdi/svg/svg/link.svg\");\n}\n.md-typeset .headerlink:hover,\n.md-typeset [id]:target .headerlink {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Special handling of Mermaid content. */\ndiagram-div {\n overflow: auto;\n}\n\nhtml {\n background-color: transparent;\n}\n\n[data-md-component=announce] .twemoji {\n color: var(--md-primary-fg-color);\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=dracula] {\n --md-text-color: var(--md-default-fg-color);\n background-color: var(--md-default-bg-color);\n --md-footer-bg-color: transparent;\n --md-footer-bg-color--dark: var(--md-default-bg-color--darkest);\n --md-header-fg-color: var(--md-text-color);\n --md-header-bg-color: var(--md-default-bg-color--darkest);\n}\n[data-md-color-scheme=dracula] .md-header {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: 0.05rem solid var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-header[data-md-state=shadow] {\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.15), 0 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);\n}\n[data-md-color-scheme=dracula] .md-top {\n background-color: var(--md-default-bg-color--dark);\n}\n[data-md-color-scheme=dracula] .md-top:hover {\n background-color: var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-tabs {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n}\n[data-md-color-scheme=dracula] .md-tabs__link--active {\n color: var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-tabs__link:hover {\n color: var(--md-accent-fg-color);\n}\n[data-md-color-scheme=dracula] .md-hero {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n}\n[data-md-color-scheme=dracula] .md-nav__source {\n color: var(--md-text-color);\n}\n[data-md-color-scheme=dracula] .md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n}\n[data-md-color-scheme=dracula] .md-nav__item .md-nav__link--active {\n color: var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-nav__link:focus, [data-md-color-scheme=dracula] .md-nav__link:hover {\n color: var(--md-accent-fg-color);\n}\n@media screen and (max-width: 76.1875em) {\n [data-md-color-scheme=dracula] .md-nav--primary .md-nav__item--active > .md-nav__link:not(:hover) {\n color: var(--md-primary-fg-color);\n }\n [data-md-color-scheme=dracula] .md-nav--primary .md-nav__title {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: 0.05rem solid var(--md-primary-fg-color);\n }\n}\n@media screen and (max-width: 59.9375em) {\n [data-md-color-scheme=dracula] .md-nav__source {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n }\n [data-md-color-scheme=dracula] .md-nav .md-nav__title {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: 0.05rem solid var(--md-primary-fg-color);\n }\n}\n[data-md-color-scheme=dracula] .md-search__input {\n color: var(--md-text-color);\n background-color: var(--md-accent-bg-color--light);\n}\n[data-md-color-scheme=dracula] .md-search__input:hover {\n background-color: var(--md-default-bg-color--light);\n}\n[data-md-color-scheme=dracula] .md-search__input ~ .md-search__icon {\n color: var(--md-text-color);\n}\n[data-md-color-scheme=dracula] .md-search__input::placeholder {\n color: var(--md-default-fg-color--light);\n}\n[data-md-color-scheme=dracula] [data-md-toggle=search]:checked ~ .md-header .md-search__input {\n background-color: transparent;\n}\n[data-md-color-scheme=dracula] .md-search__suggest {\n color: var(--md-default-autocomplete-fg-color);\n}\n[data-md-color-scheme=dracula] .md-search__overlay, [data-md-color-scheme=dracula] .md-overlay {\n background-color: var(--md-default-bg-color--light);\n}\n[data-md-color-scheme=dracula] .md-footer-nav__direction {\n color: var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] .md-footer-meta {\n border-top: 0.05rem solid var(--md-primary-fg-color);\n}\n[data-md-color-scheme=dracula] [data-md-component=announce] {\n background-color: var(--md-default-bg-color--ultra-dark);\n}\n\n/* Don't force capitalization of `H5` elements. */\n.md-typeset h5 {\n color: var(--md-text-color);\n text-transform: none;\n}\n\n.md-typeset__scrollwrap,\n.md-sidebar__scrollwrap,\n.md-search__scrollwrap,\n.md-typeset pre > code,\n.md-typeset div.mermaid,\n.md-typeset div.diagram,\n.md-typeset mermaid-div,\n.md-typeset diagram-div,\n.md-typeset pre.arithmatex,\n.md-typeset div.arithmatex {\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n scrollbar-width: thin;\n}\n.md-typeset__scrollwrap:hover,\n.md-sidebar__scrollwrap:hover,\n.md-search__scrollwrap:hover,\n.md-typeset pre > code:hover,\n.md-typeset div.mermaid:hover,\n.md-typeset div.diagram:hover,\n.md-typeset mermaid-div:hover,\n.md-typeset diagram-div:hover,\n.md-typeset pre.arithmatex:hover,\n.md-typeset div.arithmatex:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n}\n.md-typeset__scrollwrap::-webkit-scrollbar,\n.md-sidebar__scrollwrap::-webkit-scrollbar,\n.md-search__scrollwrap::-webkit-scrollbar,\n.md-typeset pre > code::-webkit-scrollbar,\n.md-typeset div.mermaid::-webkit-scrollbar,\n.md-typeset div.diagram::-webkit-scrollbar,\n.md-typeset mermaid-div::-webkit-scrollbar,\n.md-typeset diagram-div::-webkit-scrollbar,\n.md-typeset pre.arithmatex::-webkit-scrollbar,\n.md-typeset div.arithmatex::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-typeset__scrollwrap::-webkit-scrollbar-corner,\n.md-sidebar__scrollwrap::-webkit-scrollbar-corner,\n.md-search__scrollwrap::-webkit-scrollbar-corner,\n.md-typeset pre > code::-webkit-scrollbar-corner,\n.md-typeset div.mermaid::-webkit-scrollbar-corner,\n.md-typeset div.diagram::-webkit-scrollbar-corner,\n.md-typeset mermaid-div::-webkit-scrollbar-corner,\n.md-typeset diagram-div::-webkit-scrollbar-corner,\n.md-typeset pre.arithmatex::-webkit-scrollbar-corner,\n.md-typeset div.arithmatex::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n.md-typeset__scrollwrap::-webkit-scrollbar-thumb,\n.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,\n.md-search__scrollwrap::-webkit-scrollbar-thumb,\n.md-typeset pre > code::-webkit-scrollbar-thumb,\n.md-typeset div.mermaid::-webkit-scrollbar-thumb,\n.md-typeset div.diagram::-webkit-scrollbar-thumb,\n.md-typeset mermaid-div::-webkit-scrollbar-thumb,\n.md-typeset diagram-div::-webkit-scrollbar-thumb,\n.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,\n.md-typeset div.arithmatex::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,\n.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,\n.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,\n.md-typeset pre > code::-webkit-scrollbar-thumb:hover,\n.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,\n.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,\n.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,\n.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,\n.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,\n.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}","/* Normal colors */\n:root {\n --md-heart: #{$clr-red-a200};\n --md-heart-big: #{$clr-red-a400};\n\n :focus-visible {\n outline-style: solid;\n }\n\n /* Dark mode colors */\n [data-md-color-scheme=\"dracula\"] {\n --md-heart: #{$drac-pink};\n --md-heart-big: #{$drac-red};\n }\n}\n\n.md-typeset {\n\n h4 {\n margin: 2.0em 0 1em;\n }\n\n a.source-link {\n position: relative;\n top: px2rem(-12px);\n float: right;\n color: var(--md-default-fg-color--lighter);\n transition: color 125ms;\n\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n .twemoji {\n height: px2rem(24px);\n\n svg {\n width: px2rem(24px);\n height: px2rem(24px);\n }\n }\n }\n\n div.highlight.md-max-height pre > code {\n max-height: px2rem(300px);\n }\n}\n\n.twemoji {\n &.heart-throb, &.heart-throb-hover {\n svg {\n position: relative;\n color: var(--md-heart);\n animation: pulse 1.5s ease infinite;\n }\n }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 40% { color: var(--md-heart-big); transform: scale(1.3); }\n 50% { transform: scale(1.2); }\n 60% { color: var(--md-heart-big); transform: scale(1.3); }\n 100% { transform: scale(1); }\n}\n\nfooter.sponsorship {\n text-align: center;\n\n hr {\n display: inline-block;\n width: px2rem(32px);\n margin: 0 px2rem(14px);\n vertical-align: middle;\n border-bottom: 2px solid var(--md-default-fg-color--lighter);\n }\n\n &:hover {\n hr {\n border-color: var(--md-accent-fg-color);\n }\n }\n\n &:not(:hover) {\n .twemoji.heart-throb-hover svg{\n color: var(--md-default-fg-color--lighter) !important;\n }\n }\n}\n\n// Scheme toggle\nbody {\n &:not([data-md-prefers-color-scheme=\"true\"])[data-md-color-scheme=\"dracula\"] .md-icon {\n .light-mode,\n .system-mode,\n .unknown-mode {\n display: none;\n }\n }\n\n\n &:not([data-md-prefers-color-scheme=\"true\"])[data-md-color-scheme=\"default\"] .md-icon {\n .dark-mode,\n .system-mode,\n .unknown-mode {\n display: none;\n }\n }\n\n &:not([data-md-prefers-color-scheme=\"true\"]):not([data-md-color-scheme=\"default\"]):not([data-md-color-scheme=\"dracula\"]) .md-icon {\n .dark-mode,\n .light-mode,\n .system-mode {\n display: none;\n }\n }\n\n &[data-md-prefers-color-scheme=\"true\"] .md-icon {\n .dark-mode,\n .light-mode,\n .unknown-mode {\n display: none;\n }\n }\n}\n\n.md-header-nav__scheme {\n z-index: 0;\n}\n\n@include break-to-device(tablet portrait) {\n .md-header-nav__scheme {\n padding-right: 0;\n }\n\n label[for=\"__search\"] {\n padding-left: 0;\n }\n}\n\n[data-md-toggle=search]:checked~.md-header .md-header-nav__scheme {\n display: none;\n}\n",".md-typeset .admonition {\n border-width: 0;\n border-left-width: 4px;\n}\n\n$new-admonitions: (\n settings config: $drac-pink $clr-purple-a700 \"@mdi/svg/svg/cog.svg\",\n new: $drac-yellow $clr-yellow-a700 \"@mdi/svg/svg/alert-decagram.svg\"\n) !default;\n\n $old-admonitions: (\n note: $drac-dark-yellow,\n abstract: $drac-cyan,\n info: $drac-light-blue,\n tip: $drac-teal,\n success: $drac-green,\n question: $drac-light-green,\n warning: $drac-orange,\n failure: $drac-dark-red,\n danger: $drac-red,\n bug: $drac-dark-pink,\n example: $drac-purple,\n quote: $drac-grey\n ) !default;\n\n/* Style new admonitions with dark or light colors */\n:root > * {\n --md-admonition-bg-color: transparent;\n\n &[data-md-color-scheme=\"dracula\"] {\n --md-admonition-icon-color: $drac-dark-yellow;\n }\n\n @each $names, $prop in $new-admonitions {\n $tint: nth($prop, 1);\n $tint2: nth($prop, 2);\n $name: nth($names, 1);\n\n & {\n --md-admonition-icon--#{$name}: svg-load(\"#{nth($prop, 3)}\");\n --md-admonition-bg-color--#{$name}: #{transparentize($tint2, 0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n --md-admonition-shadow-color--#{$name}: #{transparentize($tint2, 0.9)};\n }\n\n &[data-md-color-scheme=\"dracula\"] {\n --md-admonition-bg-color--#{$name}: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--#{$name}: #{$tint};\n --md-admonition-shadow-color--#{$name}: #{transparentize($tint, 0.9)};\n }\n\n @each $names, $tint in $old-admonitions {\n $name: nth($names, 1);\n\n & {\n --md-admonition-bg-color--#{$name}: var(--md-default-bg-color--ultra-dark);\n --md-admonition-icon-color--#{$name}: #{$tint};\n --md-admonition-shadow-color--#{$name}: #{transparentize($tint, 0.9)};\n }\n }\n }\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=\"dracula\"] .md-typeset .admonition {\n border-color: var(--md-admonition-icon-color--note);\n box-shadow: var(--md-shadow-z2);\n\n &:focus-within {\n box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--note);\n }\n\n > .admonition-title {\n background-color: var(--md-admonition-bg-color--note);\n &::before {\n background-color: var(--md-admonition-icon-color--note);\n }\n &::after {\n color: var(--md-admonition-icon-color--note);\n }\n }\n}\n\n/* Style existing admonitions with dark mode colors */\n[data-md-color-scheme=\"dracula\"] {\n\n @each $names, $prop in $old-admonitions {\n\n $name: nth($names, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: var(--md-admonition-icon-color--#{$name});\n\n &:focus-within {\n box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--#{$name});\n }\n\n // Define base class\n > .admonition-title {\n background-color: var(--md-admonition-bg-color--#{$name});\n border-color: var(--md-admonition-icon-color--#{$name});\n\n // Icon\n &::before {\n background-color: var(--md-admonition-icon-color--#{$name});\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\n }\n }\n}\n\n@each $names, $prop in $new-admonitions {\n $name: nth($names, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n border-color: var(--md-admonition-icon-color--#{$name});\n\n &:focus-within {\n box-shadow: 0 0 0 px2rem(4px) var(--md-admonition-shadow-color--#{$name});\n }\n\n > .admonition-title {\n background-color: var(--md-admonition-bg-color--#{$name});\n border-color: var(--md-admonition-icon-color--#{$name});\n\n // Icon\n &::before {\n width: px2rem(20px);\n height: px2rem(20px);\n background-color: var(--md-admonition-icon-color--#{$name});\n background-size: px2rem(20px);\n mask-image: var(--md-admonition-icon--#{$name});\n content: \"\\a0\";\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n\n // Define synonyms for base class\n @if length($names) > 1 {\n @for $n from 2 through length($names) {\n .#{nth($names, $n)} {\n @extend .#{$name};\n }\n }\n }\n}\n","mjx-container[display=true] {\n font-size: 120% !important;\n}\n\nmjx-container:not([display]) {\n font-size: 100% !important;\n}\n\n[data-md-color-scheme=\"slate\"],\n[data-md-color-scheme=\"dracula\"] {\n /* stylelint-disable selector-class-pattern */\n .CtxtMenu_InfoSignature input,\n .CtxtMenu_InfoContent pre {\n color: rgb(0, 0, 0);\n }\n .CtxtMenu_Info,\n .CtxtMenu_Menu {\n box-shadow: 0px 10px 20px rgb(0 0 0 / 0.5);\n }\n /* stylelint-enable selector-class-pattern */\n}\n\n.md-typeset .arithmatex {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n}\n\n// Fix tag overlap in `KaTeX`\n.katex-display {\n .katex-html {\n display: flex !important;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: baseline;\n justify-content: space-between;\n // overflow-x: auto;\n\n .base {\n display: inline !important;\n }\n\n .tag {\n position: relative !important;\n display: inline !important;\n margin-left: var(--margin-small);\n }\n }\n}\n","/* Don't use box shadows */\n.md-typeset {\n del,\n ins,\n mark {\n &.critic {\n padding: 0 px2em(4px, 16px);\n color: unset;\n box-shadow: none;\n }\n }\n\n .critic.break {\n margin: 0;\n }\n}\n","/* Inherit admonition style */\n.md-typeset {\n details {\n @extend .admonition;\n\n overflow: hidden;\n\n // Title\n > summary {\n @extend .admonition-title;\n\n // Disable accessibility focus\n &:focus {\n outline-style: none;\n }\n }\n }\n}\n",".highlight {\n .kc { // Keyword constant\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n {\n color: var(--md-code-hl-class-color);\n }\n\n .mb {\n color: var(--md-code-hl-number-color);\n }\n\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-builtin-color);\n }\n\n .nn { // Name, namespace Name, namespace Name, namespace Name, namespace\n color: var(--md-code-hl-namespace-color);\n }\n\n .na, // Name, attribute\n .nd, // Name, decorator\n .ni { // Name, entity\n color: var(--md-code-hl-entity-color);\n }\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-tag-color);\n }\n}\n\n.md-typeset {\n\n /* Allow code to look like code everywhere despite Material's current preference */\n *:not(pre) > code {\n margin: 0;\n padding: 0 px2em( 4px, 13.6px);\n color: var(--md-code-fg-color);\n background-color: var(--md-code-inline-bg-color);\n border-radius: px2rem(2px);\n box-shadow: none;\n }\n\n /* Code that is also a link */\n a {\n > code {\n color: inherit !important;\n background-color: var(--md-code-link-bg-color) !important;\n transition: color 125ms;\n transition: background-color 125ms;\n\n /* If we are linking highlighted, inline code, force it to just look like a code link */\n * {\n color: var(--md-typeset-a-color) !important;\n }\n\n &:hover {\n background-color: var(--md-code-link-accent-bg-color) !important;\n\n * {\n color: var(--md-accent-fg-color) !important;\n }\n }\n }\n }\n\n pre > code {\n outline: none;\n }\n\n /* Don't always like code breaking in table cells */\n td code {\n word-break: normal;\n }\n\n .highlight {\n\n /* Needed for tab preserving mode */\n tab-size: 8;\n\n + .result {\n border-width: px2rem(2px);\n }\n\n /* `pymdownx-inline` mode */\n [data-linenos] {\n\n /* Special line mode coloring */\n &.special::before {\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n /* Special line number coloring for tables */\n .highlighttable {\n .linenodiv {\n .special {\n margin-right: px2em(-8px, 13.6px);\n margin-left: px2em(-16px, 13.6px);\n padding-right: px2em(8px, 13.6px);\n padding-left: px2em(16px, 13.6px);\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n // Filename span\n .highlight span.filename {\n\n // Style the filename banner\n position: relative;\n display: block;\n margin-top: 1em;\n padding: px2em(8px) px2em(16px, 13.6px) px2em(8px) px2em(40px, 13.6px);\n font-weight: 700;\n font-size: px2rem(13.6px);\n background-color: var(--md-code-title-bg-color);\n border-top-left-radius: px2rem(2px);\n border-top-right-radius: px2rem(2px);\n\n // Adjust margins and and general container look of code block\n + pre {\n margin-top: 0;\n\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Add code icon\n &::before {\n position: absolute;\n left: px2em(12px, 13.6px);\n width: px2em(20px, 13.6px);\n height: px2em(20px, 13.6px);\n background-color: var(--md-default-fg-color);\n mask-image: svg-load(\"@mdi/svg/svg/console.svg\");\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n .collapse-code {\n position: relative;\n margin-top: 1em;\n margin-bottom: 1em;\n\n pre {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n input{\n display: none;\n\n ~ .code-footer {\n width: 100%;\n margin: 0;\n padding: px2em(4px) px2em(8px) px2em(4px) px2em(0px);\n\n label {\n position: relative;\n margin: 0.05em;\n padding: 0.15em 0.8em;\n color: var(--md-primary-bg-color);\n font-size: 90%;\n background-color: var(--md-primary-fg-color);\n mask-repeat: no-repeat;\n mask-size: contain;\n border-radius: px2rem(2px);\n cursor: pointer;\n content: \"\";\n\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n\n &::before {\n position: absolute;\n top: 0.15em;\n left: 0.15em;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-primary-bg-color);\n background-size: 1.25em;\n content: \"\";\n }\n\n &.expand {\n display: none;\n\n &::before {\n mask-image: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");\n }\n }\n &.collapse::before {\n mask-image: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\");\n }\n }\n }\n\n &:checked {\n ~ .code-footer label.expand {\n display: inline;\n }\n\n ~ .code-footer label.collapse {\n display: none;\n }\n\n + div.highlight code {\n max-height: px2em(150px);\n overflow: hidden;\n }\n\n ~ .code-footer {\n position: absolute;\n bottom: 0;\n left: 0;\n padding: px2em(32px) px2em(8px) px2em(8px) px2rem(16px);\n background-image: linear-gradient(to bottom,\n transparent,\n var(--md-default-bg-color) 80%\n 100%);\n }\n }\n }\n }\n\n @include break-to-device(mobile) {\n\n > {\n diagram-div {\n margin-right: px2rem(-16px);\n margin-left: px2rem(-16px);\n }\n .collapse-code {\n margin-right: px2rem(-16px);\n margin-left: px2rem(-16px);\n\n label.collapse {\n left: px2rem(16px);\n }\n }\n }\n }\n}\n",".md-typeset {\n\n // Keyboard key\n .keys {\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n // Extra Keys\n \"power\": \"\\23FB\",\n \"fingerprint\": \"\\261D\",\n ) {\n .key-#{$name}::before {\n padding-right: px2em(6.4px);\n content: $code;\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n // Extra Keys\n ) {\n .key-#{$name}::after {\n padding-left: px2em(6.4px);\n content: $code;\n }\n }\n }\n}\n","// General styling for repository link icons\n:root > * {\n --magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");\n --magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");\n --magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");\n --magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");\n --magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");\n --magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");\n --magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");\n --magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");\n --magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\");\n}\n\n.md-typeset {\n a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-email-icon);\n }\n\n .magiclink-repository,\n .magiclink-compare,\n .magiclink-commit,\n .magiclink-pull,\n .magiclink-issue,\n .magiclink-discussion,\n a[href^=\"mailto:\"] {\n &:not(.magiclink-ignore) {\n position: relative;\n padding-left: px2em(22px);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n width: px2em(20px);\n height: px2em(20px);\n background-color: var(--md-typeset-a-color);\n background-size: px2em(20px);\n transition: background-color 125ms;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n &:hover::before {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"commit\": \"commit\",\n \"compare\": \"compare\",\n \"pull\": \"pull\",\n \"issue\": \"issue\",\n \"discussion\": \"discussion\"\n) {\n .md-typeset {\n .magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"github\": \"github\",\n \"gitlab\": \"gitlab\",\n \"bitbucket\": \"bitbucket\"\n) {\n .md-typeset {\n .magiclink-repository.magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n","/* Shadow boxes sometimes give issues, so just pad. */\n.md-typeset mark:not(.critic) {\n box-shadow: none;\n}\n",".md-typeset {\n\n /* Progress Bars */\n .progress-label {\n position: absolute;\n width: 100%;\n margin: 0;\n color: var(--md-text-color);\n font-weight: 700;\n line-height: px2rem(28px);\n white-space: nowrap;\n text-align: center;\n text-shadow:\n px2em(-1px) px2em(-1px) px2em(6px) var(--md-default-bg-color--light),\n px2em(1px) px2em(-1px) px2em(6px) var(--md-default-bg-color--light),\n px2em(-1px) px2em(1px) px2em(6px) var(--md-default-bg-color--light),\n px2em(1px) px2em(1px) px2em(6px) var(--md-default-bg-color--light);\n }\n\n .progress-bar {\n float: left;\n height: px2rem(24px);\n background-color: $clr-blue-a400;\n }\n\n /* Stripe animation */\n .candystripe-animate {\n .progress-bar{\n animation: animate-stripes 3s linear infinite;\n }\n }\n\n .progress {\n position: relative;\n display: block;\n width: 100%;\n height: px2rem(24px);\n margin: px2rem(10px) 0;\n background-color: var(--md-default-fg-color--lightest);\n\n &.thin {\n height: px2rem(8px);\n margin-top: px2rem(18px);\n\n .progress-label {\n margin-top: px2rem(-8px);\n }\n\n .progress-bar {\n height: px2rem(8px);\n }\n }\n\n &.candystripe .progress-bar {\n background-image:\n linear-gradient(\n 135deg,\n var(--md-progress-stripe) 27%,\n transparent 27%,\n transparent 52%,\n var(--md-progress-stripe) 52%,\n var(--md-progress-stripe) 77%,\n transparent 77%,\n transparent\n );\n background-size: px2rem(40px) px2rem(40px);\n }\n }\n\n @each $percent, $color in (\n \"100\": var(--md-progress-100),\n \"80\": var(--md-progress-80),\n \"60\": var(--md-progress-60),\n \"40\": var(--md-progress-40),\n \"20\": var(--md-progress-20),\n \"0\": var(--md-progress-0)\n ) {\n .progress-#{$percent}plus {\n .progress-bar {\n background-color: $color;\n }\n }\n }\n\n @keyframes animate-stripes {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: px2rem(120px) 0;\n }\n }\n}\n","/* Dark mode changes */\n[data-md-color-scheme=\"dracula\"] {\n .md-typeset {\n .tabbed-set > .tabbed-labels {\n box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lighter) inset;\n }\n }\n}\n\n/* Style code blocks to fill full tab,\n but otherwise, pad content. */\n.md-typeset {\n .tabbed-alternate {\n &.tabbed-set .tabbed-control {\n width: px2rem(40px);\n\n &[hidden] {\n width: px2rem(24px);\n opacity: 0;\n }\n }\n\n &.tabbed-set > .tabbed-content > .tabbed-block {\n padding: 0 px2rem(12px);\n\n > {\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n\n &:only-child {\n margin-right: px2rem(-24px);\n margin-left: px2rem(-24px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n\n span.filename {\n margin-top: 0;\n }\n }\n }\n\n .collapse-code:only-child {\n margin-top: 0;\n\n margin-right: px2rem(-24px);\n margin-left: px2rem(-24px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n\n > .code-footer {\n left: px2rem(12px)\n }\n }\n\n diagram-div:only-child {\n margin-right: px2rem(-24px);\n margin-left: px2rem(-24px);\n padding-right: px2rem(12px);\n padding-left: px2rem(12px);\n }\n }\n }\n }\n}\n\n.js .md-typeset .tabbed-labels::before {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Ignore mobile overflow styling that extends the tab bar */\n@include break-to-device(mobile) {\n [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels {\n padding-left: 0;\n }\n\n .md-content__inner > .tabbed-set .tabbed-labels {\n max-width: 100%;\n margin: 0;\n padding-inline-start: 0;\n scroll-padding-inline-start: 0;\n\n &::after {\n padding-inline-end: 0;\n content: none;\n }\n\n // Tabbed control previous\n ~ .tabbed-control--prev {\n margin-inline-start: 0;\n padding-inline-start: 0;\n }\n\n // Tabbed control next\n ~ .tabbed-control--next {\n margin-inline-end: 0;\n padding-inline-end: 0;\n }\n }\n}\n","/* Dark mode changes */\n[data-md-color-scheme=\"dracula\"] {\n .md-typeset table:not([class]) {\n box-shadow: var(--md-shadow-z2);\n\n tr:hover {\n background-color: rgba(0,0,0,.08);\n }\n\n th {\n color: var(--md-text-color);\n background-color: var(--md-default-bg-color--ultra-dark);\n border-bottom: px2rem(1px) solid var(--md-primary-fg-color);\n }\n\n td {\n border-top: px2rem(1px) solid var(--md-default-fg-color--lighter);\n }\n }\n}\n","/* Dark mode changes */\n[data-md-color-scheme=\"dracula\"] {\n .md-typeset .task-list-control {\n .task-list-indicator::before {\n \tbackground-color: var(--md-default-fg-color--lighter);\n }\n\n [type=checkbox]:checked + .task-list-indicator::before {\n \tbackground-color: $drac-green;\n }\n }\n}\n","// Header anchors\n.md-typeset {\n .headerlink {\n width: px2em(16px);\n height: px2em(16px);\n vertical-align: middle;\n background-color: var(--md-default-fg-color--lighter);\n background-size: px2em(16px);\n mask-size: px2em(16px);\n mask-repeat: no-repeat;\n visibility: visible;\n mask-image: svg-load(\"@mdi/svg/svg/link.svg\");\n }\n\n .headerlink:hover,\n [id]:target .headerlink {\n background-color: var(--md-accent-fg-color);\n }\n}\n","/* Special handling of Mermaid content. */\ndiagram-div {\n overflow: auto;\n}\n","html {\n background-color: transparent;\n}\n\n[data-md-component=\"announce\"] .twemoji {\n color: var(--md-primary-fg-color);\n}\n\n/* Dark mode changes */\n[data-md-color-scheme=\"dracula\"] {\n\n --md-text-color: var(--md-default-fg-color);\n background-color: var(--md-default-bg-color);\n\n // Footer color shades\n --md-footer-bg-color: transparent;\n --md-footer-bg-color--dark: var(--md-default-bg-color--darkest);\n\n // Header colors\n --md-header-fg-color: var(--md-text-color);\n --md-header-bg-color: var(--md-default-bg-color--darkest);\n\n // Header\n .md-header {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: px2rem(1px) solid var(--md-primary-fg-color);\n\n &[data-md-state=shadow] {\n box-shadow: 0 0 px2rem(4px) rgba(0,0,0,.15),\n 0 0 px2rem(4px) px2rem(8px) rgba(0,0,0,.2);\n }\n }\n\n .md-top {\n background-color: var(--md-default-bg-color--dark);\n\n &:hover {\n background-color: var(--md-primary-fg-color);\n }\n }\n\n // Tabs\n .md-tabs {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n\n &__link--active {\n color: var(--md-primary-fg-color);\n }\n\n &__link:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n // Hero\n .md-hero {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n }\n\n // Navigation\n .md-nav__source {\n color: var(--md-text-color);\n }\n\n .md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n }\n\n .md-nav__item .md-nav__link--active {\n color: var(--md-primary-fg-color);\n }\n\n .md-nav__link {\n &:focus,\n &:hover {\n color: var(--md-accent-fg-color);\n }\n }\n\n @include break-to-device(tablet) {\n\n .md-nav--primary .md-nav__item--active > .md-nav__link:not(:hover) {\n color: var(--md-primary-fg-color);\n }\n\n // Site title in main navigation\n .md-nav--primary .md-nav__title {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: px2rem(1px) solid var(--md-primary-fg-color);\n }\n }\n\n @include break-to-device(tablet portrait) {\n\n // Repository containing source\n .md-nav__source {\n color: var(--md-text-color);\n background-color: var(--md-primary-fg-color--transparent);\n }\n\n .md-nav .md-nav__title {\n color: var(--md-text-color);\n background-color: var(--md-header-bg-color);\n border-bottom: px2rem(1px) solid var(--md-primary-fg-color);\n }\n }\n\n // Search\n .md-search__input {\n color: var(--md-text-color);\n background-color: var(--md-accent-bg-color--light);\n\n &:hover {\n background-color: var(--md-default-bg-color--light);\n }\n\n ~ .md-search__icon {\n color: var(--md-text-color);\n }\n &::placeholder {\n color: var(--md-default-fg-color--light);\n }\n }\n\n [data-md-toggle=search]:checked~.md-header .md-search__input {\n background-color: transparent;\n }\n\n .md-search__suggest {\n color: var(--md-default-autocomplete-fg-color);\n }\n\n .md-search__overlay, .md-overlay {\n background-color: var(--md-default-bg-color--light);\n }\n\n // Footer\n .md-footer {\n &-nav__direction {\n color: var(--md-primary-fg-color);\n }\n\n &-meta {\n border-top: px2rem(1px) solid var(--md-primary-fg-color);\n }\n }\n\n // Announcements\n [data-md-component=\"announce\"] {\n background-color: var(--md-default-bg-color--ultra-dark);\n }\n}\n\n/* Don't force capitalization of `H5` elements. */\n.md-typeset {\n h5 {\n color: var(--md-text-color);\n text-transform: none;\n }\n}\n\n.md-typeset__scrollwrap,\n.md-sidebar__scrollwrap,\n.md-search__scrollwrap,\n.md-typeset pre > code,\n.md-typeset div.mermaid,\n.md-typeset div.diagram,\n.md-typeset mermaid-div,\n.md-typeset diagram-div,\n.md-typeset pre.arithmatex,\n.md-typeset div.arithmatex {\n // Firefox scrollbar and thumb\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n scrollbar-width: thin;\n\n // Firefox hovered scrollbar and thumb\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n$break-devices: () !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if type-of($value) == list {\n @each $number in $value {\n @if type-of($number) == number {\n $min: min($number, $min);\n @if $max != null {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through length($device) {\n @if type-of($current) == map {\n $current: map-get($current, nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if type-of($current) == list or type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if type-of($breakpoint) == list {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n @if type-of($min) == number and type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if nth($breakpoint, 2) != null {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: nth($breakpoint, 1);\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: nth($breakpoint, 2);\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n"]}pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/extra-loader-iLQ-keay.js000066400000000000000000000310201465124271600304250ustar00rootroot00000000000000function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}!function(){"use strict";function t(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function e(t,e,r){return e=n(e),function(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,i()?Reflect.construct(e,[],n(t).constructor):e.apply(t,r))}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&c(t,e)}function i(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(i=function(){return!!t})()}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var i=e&&e.prototype instanceof g?e:g,a=Object.create(i.prototype),c=new N(n||[]);return o(a,"_invoke",{value:S(t,r,c)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var d="suspendedStart",p="suspendedYield",y="executing",m="completed",v={};function g(){}function b(){}function w(){}var x={};f(x,c,(function(){return this}));var E=Object.getPrototypeOf,L=E&&E(E(C([])));L&&L!==r&&n.call(L,c)&&(x=L);var O=w.prototype=g.prototype=Object.create(x);function _(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,a,c){var u=h(t[o],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==_typeof(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=d;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var l=h(e,r,n);if("normal"===l.type){if(o=n.done?m:p,l.arg===v)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=h(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function c(t,e){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},c(t,e)}function u(t){var e="function"==typeof Map?new Map:void 0;return u=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(i())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&c(o,r.prototype),o}(t,arguments,n(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),c(r,t)},u(t)}var l,f,s,h,d=function(){var n,i=(n=a().mark((function t(n){var i,c,l,f,s,h,d,p,y,m,v,g,b,w,x,E;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=function(t){function n(){var t;r(this,n);var o=(t=e(this,n)).attachShadow({mode:"open"}),i=document.createElement("style");return i.textContent="\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }",o.appendChild(i),t}return o(n,t),i=n,Object.defineProperty(i,"prototype",{writable:!1}),i;var i}(u(HTMLElement)),void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",i),c=function(t){for(var e="",r=0;r {\n\n // Custom element to encapsulate Mermaid content.\n class MermaidDiv extends HTMLElement {\n\n /**\n * Creates a special Mermaid div shadow DOM.\n * Works around issues of shared IDs.\n * @return {void}\n */\n constructor() {\n super()\n\n // Create the Shadow DOM and attach style\n const shadow = this.attachShadow({mode: \"open\"})\n const style = document.createElement(\"style\")\n style.textContent = `\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }`\n shadow.appendChild(style)\n }\n }\n\n if (typeof customElements.get(\"diagram-div\") === \"undefined\") {\n customElements.define(\"diagram-div\", MermaidDiv)\n }\n\n const getFromCode = parent => {\n // Handles
 text extraction.\n    let text = \"\"\n    for (let j = 0; j < parent.childNodes.length; j++) {\n      const subEl = parent.childNodes[j]\n      if (subEl.tagName.toLowerCase() === \"code\") {\n        for (let k = 0; k < subEl.childNodes.length; k++) {\n          const child = subEl.childNodes[k]\n          const whitespace = /^\\s*$/\n          if (child.nodeName === \"#text\" && !(whitespace.test(child.nodeValue))) {\n            text = child.nodeValue\n            break\n          }\n        }\n      }\n    }\n    return text\n  }\n\n  // We use this to determine if we want the dark or light theme.\n  // This is specific for our MkDocs Material environment.\n  // You should load your configs based on your own environment's needs.\n  const defaultConfig = {\n    startOnLoad: false,\n    theme: \"default\",\n    flowchart: {\n      htmlLabels: false\n    },\n    er: {\n      useMaxWidth: false\n    },\n    sequence: {\n      useMaxWidth: false,\n      noteFontWeight: \"14px\",\n      actorFontSize: \"14px\",\n      messageFontSize: \"16px\"\n    }\n  }\n  mermaid.mermaidAPI.globalReset()\n  // Non Material themes should just use \"default\"\n  let scheme = null\n  try {\n    scheme = document.querySelector(\"[data-md-color-scheme]\").getAttribute(\"data-md-color-scheme\")\n  } catch (err) {\n    scheme = \"default\"\n  }\n  const config = (typeof mermaidConfig === \"undefined\") ?\n    defaultConfig :\n    mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)\n  mermaid.initialize(config)\n\n  // Find all of our Mermaid sources and render them.\n  const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)\n  const surrogate = document.querySelector(\"html body\")\n  for (let i = 0; i < blocks.length; i++) {\n    const block = blocks[i]\n    const parentEl = (block.tagName.toLowerCase() === \"diagram-div\") ?\n      block.shadowRoot.querySelector(`pre.${className}`) :\n      block\n\n    // Create a temporary element with the typeset and size we desire.\n    // Insert it at the end of our parent to render the SVG.\n    const temp = document.createElement(\"div\")\n    temp.style.visibility = \"hidden\"\n    temp.style.display = \"display\"\n    temp.style.padding = \"0\"\n    temp.style.margin = \"0\"\n    temp.style.lineHeight = \"initial\"\n    temp.style.fontSize = \"16px\"\n    surrogate.appendChild(temp)\n\n    try {\n      const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)\n      const content = res.svg\n      const fn = res.bindFunctions\n      const el = document.createElement(\"div\")\n      el.className = className\n      el.innerHTML = content\n      if (fn) {\n        fn(el)\n      }\n\n      // Insert the render where we want it and remove the original text source.\n      // Mermaid will clean up the temporary element.\n      const shadow = document.createElement(\"diagram-div\")\n      shadow.shadowRoot.appendChild(el)\n      block.parentNode.insertBefore(shadow, block)\n      parentEl.style.display = \"none\"\n      shadow.shadowRoot.appendChild(parentEl)\n      if (parentEl !== block) {\n        block.parentNode.removeChild(block)\n      }\n    } catch (err) {} // eslint-disable-line no-empty\n\n    if (surrogate.contains(temp)) {\n      surrogate.removeChild(temp)\n    }\n  }\n}\n","import uml from \"./uml\"\nimport arithmatex from \"./arithmatex\"\n\n// Main function\n(() => {\n  let umlPromise = Promise.resolve()\n  let mathPromise = Promise.resolve()\n\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type === \"attributes\") {\n        let scheme = mutation.target.getAttribute(\"data-md-color-scheme\")\n        if (!scheme) {\n          scheme = \"default\"\n        }\n        localStorage.setItem(\"data-md-color-scheme\", scheme)\n        if (typeof mermaid !== \"undefined\") {\n          uml(\"diagram\")\n        }\n      }\n    })\n  })\n\n  const main = () => {\n    observer.observe(document.querySelector(\"body\"), {attributeFilter: [\"data-md-color-scheme\"]})\n\n    if (typeof mermaid !== \"undefined\") {\n      umlPromise = umlPromise.then(() => {\n        uml(\"diagram\")\n      }).catch(err => {\n        console.log(`UML loading failed...${err}`) // eslint-disable-line no-console\n      })\n    }\n\n    if (typeof katex !== \"undefined\") {\n      mathPromise = mathPromise.then(() => {\n        arithmatex(\"arithmatex\", \"katex\")\n      }).catch(err => {\n        console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n      })\n    } else if (typeof MathJax !== \"undefined\" && 'typesetPromise' in MathJax) {\n      mathPromise = mathPromise.then(() => {\n        arithmatex(\"arithmatex\", \"mathjax\")\n      }).catch(err => {\n        console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n      })\n    }\n  }\n\n  if (window.document$) {\n    // Material specific hook\n    window.document$.subscribe(main)\n  } else {\n    // Normal non-Material specific hook\n    document.addEventListener(\"DOMContentLoaded\", main)\n  }\n})()\n","export default (className, mode) => {\n  if (mode === 'katex') {\n    const maths = document.querySelectorAll(`.${className}`)\n\n    for (let i = 0; i < maths.length; i++) {\n      const tex = maths[i].textContent || maths[i].innerText\n\n      if (tex.startsWith('\\\\(') && tex.endsWith('\\\\)')) {\n        katex.render(tex.slice(2, -2), maths[i], {'displayMode': false})\n      } else if (tex.startsWith('\\\\[') && tex.endsWith('\\\\]')) {\n        katex.render(tex.slice(2, -2), maths[i], {'displayMode': true})\n      }\n    }\n  } else if (mode === 'mathjax') {\n    MathJax.startup.output.clearCache()\n    MathJax.typesetClear()\n    MathJax.texReset()\n    MathJax.typesetPromise()\n  }\n}\n"],"names":["umlPromise","mathPromise","observer","main","uml","_ref","_regeneratorRuntime","mark","_callee","className","MermaidDiv","getFromCode","defaultConfig","scheme","config","blocks","surrogate","i","block","parentEl","temp","res","content","fn","el","shadow","wrap","_context","prev","next","_HTMLElement","_this","_classCallCheck","_callSuper","this","attachShadow","mode","style","document","createElement","textContent","appendChild","_inherits","_wrapNativeSuper","HTMLElement","customElements","get","define","parent","text","j","childNodes","length","subEl","tagName","toLowerCase","k","child","nodeName","test","nodeValue","startOnLoad","theme","flowchart","htmlLabels","er","useMaxWidth","sequence","noteFontWeight","actorFontSize","messageFontSize","mermaid","mermaidAPI","globalReset","querySelector","getAttribute","err","mermaidConfig","initialize","querySelectorAll","concat","shadowRoot","visibility","display","padding","margin","lineHeight","fontSize","render","sent","svg","bindFunctions","innerHTML","parentNode","insertBefore","removeChild","t0","contains","stop","_x","apply","arguments","arithmatex","maths","tex","innerText","startsWith","endsWith","katex","slice","displayMode","MathJax","startup","output","clearCache","typesetClear","texReset","typesetPromise","Promise","resolve","MutationObserver","mutations","forEach","mutation","type","target","localStorage","setItem","observe","attributeFilter","then","console","log","window","document$","subscribe","addEventListener"],"mappings":"6kRAcA,ICTMA,EACAC,EAEEC,EAeAC,EDTRC,EAAA,WAAA,MAAAC,KAAAC,IAAAC,MAAe,SAAAC,EAAMC,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAnB,IAAAoB,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAGtBnB,WAAUoB,GAOd,SAAApB,IAAc,IAAAqB,EAAAC,OAAAtB,GAIZ,IAAMe,GAHNM,EAAAE,EAAAC,KAAAxB,IAGoByB,aAAa,CAACC,KAAM,SAClCC,EAAQC,SAASC,cAAc,SAWZ,OAVzBF,EAAMG,YASJ,2LACFf,EAAOgB,YAAYJ,GAAMN,CAC3B,CAAC,OAAAW,EAAAhC,EAAAoB,KAAApB,8DAAAiC,EAxBsBC,mBA2BwB,IAAtCC,eAAeC,IAAI,gBAC5BD,eAAeE,OAAO,cAAerC,GAGjCC,EAAc,SAAAqC,GAGlB,IADA,IAAIC,EAAO,GACFC,EAAI,EAAGA,EAAIF,EAAOG,WAAWC,OAAQF,IAAK,CACjD,IAAMG,EAAQL,EAAOG,WAAWD,GAChC,GAAoC,SAAhCG,EAAMC,QAAQC,cAChB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAMF,WAAWC,OAAQI,IAAK,CAChD,IAAMC,EAAQJ,EAAMF,WAAWK,GAE/B,GAAuB,UAAnBC,EAAMC,WADS,QAC4BC,KAAKF,EAAMG,WAAa,CACrEX,EAAOQ,EAAMG,UACb,KACF,CACF,CAEJ,CACA,OAAOX,CACT,EAKMrC,EAAgB,CACpBiD,aAAa,EACbC,MAAO,UACPC,UAAW,CACTC,YAAY,GAEdC,GAAI,CACFC,aAAa,GAEfC,SAAU,CACRD,aAAa,EACbE,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,SAGrBC,QAAQC,WAAWC,cAEf5D,EAAS,KACb,IACEA,EAASyB,SAASoC,cAAc,0BAA0BC,aAAa,uBACxE,CAAC,MAAOC,GACP/D,EAAS,SACX,CACMC,EAAmC,oBAAlB+D,cACrBjE,EACAiE,cAAchE,IAAYgE,cAAa,SAAYjE,EACrD2D,QAAQO,WAAWhE,GAGbC,EAASuB,SAASyC,wBAAgBC,OAAQvE,EAAS,kBACnDO,EAAYsB,SAASoC,cAAc,aAChCzD,EAAI,EAAC,KAAA,GAAA,KAAEA,EAAIF,EAAOqC,QAAM,CAAAzB,EAAAE,KAAA,GAAA,KAAA,CAeJ,OAdrBX,EAAQH,EAAOE,GACfE,EAA4C,gBAAhCD,EAAMoC,QAAQC,cAC9BrC,EAAM+D,WAAWP,cAAa,OAAAM,OAAQvE,IACtCS,GAIIE,EAAOkB,SAASC,cAAc,QAC/BF,MAAM6C,WAAa,SACxB9D,EAAKiB,MAAM8C,QAAU,UACrB/D,EAAKiB,MAAM+C,QAAU,IACrBhE,EAAKiB,MAAMgD,OAAS,IACpBjE,EAAKiB,MAAMiD,WAAa,UACxBlE,EAAKiB,MAAMkD,SAAW,OACtBvE,EAAUyB,YAAYrB,GAAKO,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAGP0C,QAAQiB,OAAM,YAAAR,OAAa/D,GAAKN,EAAYQ,GAAWC,GAAK,KAAA,GAAxEC,EAAGM,EAAA8D,KACHnE,EAAUD,EAAIqE,IACdnE,EAAKF,EAAIsE,eACTnE,EAAKc,SAASC,cAAc,QAC/B9B,UAAYA,EACfe,EAAGoE,UAAYtE,EACXC,GACFA,EAAGC,IAKCC,EAASa,SAASC,cAAc,gBAC/B0C,WAAWxC,YAAYjB,GAC9BN,EAAM2E,WAAWC,aAAarE,EAAQP,GACtCC,EAASkB,MAAM8C,QAAU,OACzB1D,EAAOwD,WAAWxC,YAAYtB,GAC1BA,IAAaD,GACfA,EAAM2E,WAAWE,YAAY7E,GAC9BS,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAqE,GAAArE,EAAA,MAAA,IAAA,KAAA,GAGCX,EAAUiF,SAAS7E,IACrBJ,EAAU+E,YAAY3E,GACvB,KAAA,GA1CgCH,IAAGU,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAA,IAAA,MAAA,OAAAF,EAAAuE,OAAA,GAAA1F,EAAA,KAAA,CAAA,CAAA,GAAA,KA4CvC,mLAAA,OAAA,SAAA2F,GAAA,OAAA9F,EAAA+F,MAAAlE,KAAAmE,UAAA,CAAA,CApID,GEdAC,EAAe,SAAC7F,EAAW2B,GACzB,GAAa,UAATA,EAGF,IAFA,IAAMmE,EAAQjE,SAASyC,qBAAgBC,OAAKvE,IAEnCQ,EAAI,EAAGA,EAAIsF,EAAMnD,OAAQnC,IAAK,CACrC,IAAMuF,EAAMD,EAAMtF,GAAGuB,aAAe+D,EAAMtF,GAAGwF,UAEzCD,EAAIE,WAAW,QAAUF,EAAIG,SAAS,OACxCC,MAAMpB,OAAOgB,EAAIK,MAAM,GAAI,GAAIN,EAAMtF,GAAI,CAAC6F,aAAe,IAChDN,EAAIE,WAAW,QAAUF,EAAIG,SAAS,QAC/CC,MAAMpB,OAAOgB,EAAIK,MAAM,GAAI,GAAIN,EAAMtF,GAAI,CAAC6F,aAAe,GAE7D,KACkB,YAAT1E,IACT2E,QAAQC,QAAQC,OAAOC,aACvBH,QAAQI,eACRJ,QAAQK,WACRL,QAAQM,iBAEZ,EDdMrH,EAAasH,QAAQC,UACrBtH,EAAcqH,QAAQC,UAEpBrH,EAAW,IAAIsH,kBAAiB,SAAAC,GACpCA,EAAUC,SAAQ,SAAAC,GAChB,GAAsB,eAAlBA,EAASC,KAAuB,CAClC,IAAI/G,EAAS8G,EAASE,OAAOlD,aAAa,wBACrC9D,IACHA,EAAS,WAEXiH,aAAaC,QAAQ,uBAAwBlH,GACtB,oBAAZ0D,SACTnE,EAAI,UAER,CACF,GACF,IAEMD,EAAO,WACXD,EAAS8H,QAAQ1F,SAASoC,cAAc,QAAS,CAACuD,gBAAiB,CAAC,0BAE7C,oBAAZ1D,UACTvE,EAAaA,EAAWkI,MAAK,WAC3B9H,EAAI,UACN,IAAE,OAAO,SAAAwE,GACPuD,QAAQC,IAAGpD,wBAAAA,OAAyBJ,GACtC,KAGmB,oBAAVgC,MACT3G,EAAcA,EAAYiI,MAAK,WAC7B5B,EAAW,aAAc,QAC3B,IAAE,OAAO,SAAA1B,GACPuD,QAAQC,IAAGpD,yBAAAA,OAA0BJ,GACvC,IAC4B,oBAAZmC,SAA2B,mBAAoBA,UAC/D9G,EAAcA,EAAYiI,MAAK,WAC7B5B,EAAW,aAAc,UAC3B,IAAE,OAAO,SAAA1B,GACPuD,QAAQC,IAAGpD,yBAAAA,OAA0BJ,GACvC,MAIAyD,OAAOC,UAETD,OAAOC,UAAUC,UAAUpI,GAG3BmC,SAASkG,iBAAiB,mBAAoBrI"}pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/material-extra-3rdparty-BUCF4rjN.js000066400000000000000000000146601465124271600323770ustar00rootroot00000000000000!function(){"use strict";"mathjaxConfig"in window||(window.MathJax={tex:{inlineMath:[["\\(","\\)"]],displayMath:[["\\[","\\]"]],processEscapes:!0,processEnvironments:!0,tagSide:"right",tagIndent:".8em",multlineWidth:"85%",tags:"ams"},options:{ignoreHtmlClass:".*",processHtmlClass:"arithmatex"}}),"mermaidConfig"in window||(window.mermaidConfig={dracula:{startOnLoad:!1,theme:"base",themeCSS:"        * {          --drac-page-bg: hsl(233, 15%, 23%);          --drac-white-fg: hsl(60, 30%, 96%);          --drac-purple-fg: hsl(265, 89%, 78%);          --drac-purple-bg: hsl(265, 25%, 39%);          --drac-yellow-fg: hsl(65, 92%, 76%);          --drac-blue-fg: hsl(225, 27%, 51%);        }                /* General */        [id^='_diagram'] {          background-color: var(--drac-page-bg);        }                /* Entity Relationship */        rect.relationshipLabelBox {          opacity: 0.75 !important;          fill: var(--drac-purple-bg) !important;        }        defs marker#ZERO_OR_MORE_END circle {          fill: var(--drac-page-bg) !important;          stroke: var(--drac-purple-fg) !important;        }        defs marker#ZERO_OR_MORE_END path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ZERO_OR_MORE_START circle{          fill: var(--drac-page-bg) !important;          stroke: var(--drac-purple-fg) !important;        }        defs marker#ZERO_OR_MORE_START path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ONLY_ONE_START path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ONLY_ONE_END path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ZERO_OR_ONE_START path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ZERO_OR_ONE_END path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ONE_OR_MORE_START path {          stroke: var(--drac-purple-fg) !important;        }        defs marker#ONE_OR_MORE_END path {          stroke: var(--drac-purple-fg) !important;        }                /* Flowchart */        .labelText,        :not(.branchLabel) > .label text {          fill: var(--drac-purple-fg);        }        .edgeLabel text {          fill: var(--drac-purple-fg) !important;        }        .edgeLabel rect {          opacity: 0.75 !important;          fill: var(--drac-purple-bg) !important;        }                .grey rect.label-container {           fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-fg) !important;        }         /* Sequence */        line[id^='actor'] {          stroke: var(--drac-blue-fg);        }        .noteText {          fill: var(--drac-yellow-fg);        }                /* Gantt */        .sectionTitle {          fill: var(--drac-purple-fg) !important;        }                .grid .tick line {          stroke: var(--drac-blue-fg) !important;        }                .grid .tick text {          fill: var(--drac-purple-fg);        }                /* Class Diagram */        .statediagram-state rect.divider {          fill: transparent !important;        }                /* State Diagram */        .stateGroup circle[style$=\"fill: black;\"] {          fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-bg) !important;        }                .stateGroup circle[style$=\"fill: white;\"] {          fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-fg) !important;        }                .stateGroup .composit {          fill: var(--drac-page-bg);        }        /* Pie */        text.slice {          fill: var(--drac-white-fg) !important;        }        /* Git Graph */        .commit-bullets .commit-reverse,        .commit-bullets .commit-merge,         .commit-bullets .commit-highlight-inner {          fill: var(--drac-page-bg) !important;          stroke: var(--drac-page-bg) !important;        }        ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},slate:{startOnLoad:!1,theme:"dark",flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}})}();
//# sourceMappingURL=material-extra-3rdparty-BUCF4rjN.js.map
pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/material-extra-3rdparty-BUCF4rjN.js.map000066400000000000000000000314241465124271600331500ustar00rootroot00000000000000{"version":3,"file":"material-extra-3rdparty-BUCF4rjN.js","sources":["material-extra-3rdparty.js"],"sourcesContent":["// MathJax configuration\n\nif (!('mathjaxConfig' in window)) {\n  window.MathJax = {\n    tex: {\n      inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n      displayMath: [[\"\\\\[\", \"\\\\]\"]],\n      processEscapes: true,\n      processEnvironments: true,\n      tagSide: \"right\",\n      tagIndent: \".8em\",\n      multlineWidth: \"85%\",\n      tags: \"ams\"\n    },\n    options: {\n      ignoreHtmlClass: \".*\",\n      processHtmlClass: \"arithmatex\"\n    }\n  }\n}\n\nif (!('mermaidConfig' in window)) {\n  // Our loader looks for `mermaidConfig` and will load the the appropriate\n  // configuration based on our current scheme: light, dark, etc.\n  window.mermaidConfig = {\n    dracula: {\n      startOnLoad: false,\n      theme: \"base\",\n      themeCSS: \"\\\n        * {\\\n          --drac-page-bg: hsl(233, 15%, 23%);\\\n          --drac-white-fg: hsl(60, 30%, 96%);\\\n          --drac-purple-fg: hsl(265, 89%, 78%);\\\n          --drac-purple-bg: hsl(265, 25%, 39%);\\\n          --drac-yellow-fg: hsl(65, 92%, 76%);\\\n          --drac-blue-fg: hsl(225, 27%, 51%);\\\n        }\\\n        \\\n        /* General */\\\n        [id^='_diagram'] {\\\n          background-color: var(--drac-page-bg);\\\n        }\\\n        \\\n        /* Entity Relationship */\\\n        rect.relationshipLabelBox {\\\n          opacity: 0.75 !important;\\\n          fill: var(--drac-purple-bg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_END circle {\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_START circle{\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONLY_ONE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONLY_ONE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_ONE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_ONE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONE_OR_MORE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONE_OR_MORE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        /* Flowchart */\\\n        .labelText,\\\n        :not(.branchLabel) > .label text {\\\n          fill: var(--drac-purple-fg);\\\n        }\\\n        .edgeLabel text {\\\n          fill: var(--drac-purple-fg) !important;\\\n        }\\\n        .edgeLabel rect {\\\n          opacity: 0.75 !important;\\\n          fill: var(--drac-purple-bg) !important;\\\n        }\\\n        \\\n        .grey rect.label-container { \\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        } \\\n        /* Sequence */\\\n        line[id^='actor'] {\\\n          stroke: var(--drac-blue-fg);\\\n        }\\\n        .noteText {\\\n          fill: var(--drac-yellow-fg);\\\n        }\\\n        \\\n        /* Gantt */\\\n        .sectionTitle {\\\n          fill: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        .grid .tick line {\\\n          stroke: var(--drac-blue-fg) !important;\\\n        }\\\n        \\\n        .grid .tick text {\\\n          fill: var(--drac-purple-fg);\\\n        }\\\n        \\\n        /* Class Diagram */\\\n        .statediagram-state rect.divider {\\\n          fill: transparent !important;\\\n        }\\\n        \\\n        /* State Diagram */\\\n        .stateGroup circle[style$=\\\"fill: black;\\\"] {\\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-bg) !important;\\\n        }\\\n        \\\n        .stateGroup circle[style$=\\\"fill: white;\\\"] {\\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        .stateGroup .composit {\\\n          fill: var(--drac-page-bg);\\\n        }\\\n        /* Pie */\\\n        text.slice {\\\n          fill: var(--drac-white-fg) !important;\\\n        }\\\n        /* Git Graph */\\\n        .commit-bullets .commit-reverse,\\\n        .commit-bullets .commit-merge, \\\n        .commit-bullets .commit-highlight-inner {\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-page-bg) !important;\\\n        }\\\n        \",\n      themeVariables: {\n        darkMode: true,\n        background: \"#323443\",\n        mainBkg: \"#604b7d\",\n        textColor: \"#bf95f9\",\n        lineColor: \"#bf95f9\",\n        errorBkgColor: \"#802c2c\",\n        errorTextColor: \"#ff5757\",\n        primaryColor: \"#604b7d\",\n        primaryTextColor: \"#bf95f9\",\n        primaryBorderColor: \"#bf95f9\",\n        secondaryColor: \"#297d3e\",\n        secondaryTextColor: \"#52fa7c\",\n        secondaryBorderColor: \"#52fa7c\",\n        tertiaryColor: \"#303952\",\n        tertiaryTextColor: \"#6071a4\",\n        tertiaryBorderColor: \"#6071a4\",\n        noteBkgColor: \"#797d45\",\n        noteTextColor: \"#f1fa89\",\n        noteBorderColor: \"#f1fa89\",\n        edgeLabelBackground: \"#604b7d\",\n        edgeLabelText: \"#604b7d\",\n\n        actorLineColor: \"#6071a4\",\n\n        activeTaskBkgColor: \"#803d63\",\n        activeTaskBorderColor: \"#ff7ac6\",\n        doneTaskBkgColor: \"#297d3e\",\n        doneTaskBorderColor: \"#52fa7c\",\n        critBkgColor: \"#802c2c\",\n        critBorderColor: \"#ff5757\",\n        taskTextColor: \"#bf95f9\",\n        taskTextOutsideColor: \"#bf95f9\",\n        taskTextLightColor: \"#bf95f9\",\n        sectionBkgColor: \"#bf95f9b3\",\n        sectionBkgColor2: \"#bf95f966\",\n        altSectionBkgColor: \"#323443\",\n        todayLineColor: \"#ff7ac6\",\n        gridColor: \"#6071a4\",\n        defaultLinkColor: \"#8be8fd\",\n\n        altBackground: \"#bf95f9\",\n\n        classText: \"#bf95f9\",\n\n        fillType0: \"#406080\",\n        fillType1: \"#46747f\",\n        fillType2: \"#297d3e\",\n        fillType3: \"#805c36\",\n        fillType4: \"#803d63\",\n        fillType5: \"#604b7d\",\n        fillType6: \"#802c2c\",\n        fillType7: \"#797d45\",\n        fillType8: \"#7c7c79\",\n\n        git0: \"#ff5555\",\n        git1: \"#ffb86c\",\n        git2: \"#f1fa8c\",\n        git3: \"#50fa7b\",\n        git4: \"#8be9fd\",\n        git5: \"#809fff\",\n        git6: \"#ff79c6\",\n        git7: \"#bd93f9\",\n\n        gitInv0: \"#ff5555\",\n        gitInv1: \"#ffb86c\",\n        gitInv2: \"#f1fa8c\",\n        gitInv3: \"#50fa7b\",\n        gitInv4: \"#8be9fd\",\n        gitInv5: \"#809fff\",\n        gitInv6: \"#ff79c6\",\n        gitInv7: \"#bd93f9\",\n\n        gitBranchLabel0: \"#323443\",\n        gitBranchLabel1: \"#323443\",\n        gitBranchLabel2: \"#323443\",\n        gitBranchLabel3: \"#323443\",\n        gitBranchLabel4: \"#323443\",\n        gitBranchLabel5: \"#323443\",\n        gitBranchLabel6: \"#323443\",\n        gitBranchLabel7: \"#323443\",\n\n        commitLabelColor: '#52fa7c',\n        commitLabelBackground: '#297d3e'\n      },\n      flowchart: {\n        htmlLabels: false,\n        useMaxWidth: false\n      },\n      er: {\n        useMaxWidth: false\n      },\n      sequence: {\n        useMaxWidth: false,\n        // Mermaid handles Firefox a little different.\n        // For some reason, it doesn't attach font sizes to the labels in Firefox.\n        // If we specify the documented defaults, font sizes are written to the labels in Firefox.\n        noteFontWeight: \"14px\",\n        actorFontSize: \"14px\",\n        messageFontSize: \"16px\"\n      },\n      journey: {\n        useMaxWidth: false\n      },\n      pie: {\n        useMaxWidth: false\n      },\n      gantt: {\n        useMaxWidth: false\n      },\n      gitGraph: {\n        useMaxWidth: false\n      }\n    },\n\n    default: {\n      startOnLoad: false,\n      theme: \"default\",\n      flowchart: {\n        htmlLabels: false,\n        useMaxWidth: false\n      },\n      er: {\n        useMaxWidth: false\n      },\n      sequence: {\n        useMaxWidth: false,\n        noteFontWeight: \"14px\",\n        actorFontSize: \"14px\",\n        messageFontSize: \"16px\"\n      },\n      journey: {\n        useMaxWidth: false\n      },\n      pie: {\n        useMaxWidth: false\n      },\n      gantt: {\n        useMaxWidth: false\n      },\n      gitGraph: {\n        useMaxWidth: false\n      }\n    },\n\n    slate: {\n      startOnLoad: false,\n      theme: \"dark\",\n      flowchart: {\n        htmlLabels: false,\n        useMaxWidth: false\n      },\n      er: {\n        useMaxWidth: false\n      },\n      sequence: {\n        useMaxWidth: false,\n        noteFontWeight: \"14px\",\n        actorFontSize: \"14px\",\n        messageFontSize: \"16px\"\n      },\n      journey: {\n        useMaxWidth: false\n      },\n      pie: {\n        useMaxWidth: false\n      },\n      gantt: {\n        useMaxWidth: false\n      },\n      gitGraph: {\n        useMaxWidth: false\n      }\n    }\n  }\n}\n"],"names":["window","MathJax","tex","inlineMath","displayMath","processEscapes","processEnvironments","tagSide","tagIndent","multlineWidth","tags","options","ignoreHtmlClass","processHtmlClass","mermaidConfig","dracula","startOnLoad","theme","themeCSS","themeVariables","darkMode","background","mainBkg","textColor","lineColor","errorBkgColor","errorTextColor","primaryColor","primaryTextColor","primaryBorderColor","secondaryColor","secondaryTextColor","secondaryBorderColor","tertiaryColor","tertiaryTextColor","tertiaryBorderColor","noteBkgColor","noteTextColor","noteBorderColor","edgeLabelBackground","edgeLabelText","actorLineColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBkgColor","doneTaskBorderColor","critBkgColor","critBorderColor","taskTextColor","taskTextOutsideColor","taskTextLightColor","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","todayLineColor","gridColor","defaultLinkColor","altBackground","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","fillType8","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","commitLabelColor","commitLabelBackground","flowchart","htmlLabels","useMaxWidth","er","sequence","noteFontWeight","actorFontSize","messageFontSize","journey","pie","gantt","gitGraph","default","slate"],"mappings":"yBAEM,kBAAmBA,SACvBA,OAAOC,QAAU,CACfC,IAAK,CACHC,WAAY,CAAC,CAAC,MAAO,QACrBC,YAAa,CAAC,CAAC,MAAO,QACtBC,gBAAgB,EAChBC,qBAAqB,EACrBC,QAAS,QACTC,UAAW,OACXC,cAAe,MACfC,KAAM,OAERC,QAAS,CACPC,gBAAiB,KACjBC,iBAAkB,gBAKlB,kBAAmBb,SAGvBA,OAAOc,cAAgB,CACrBC,QAAS,CACPC,aAAa,EACbC,MAAO,OACPC,SAAU,w/GA0HVC,eAAgB,CACdC,UAAU,EACVC,WAAY,UACZC,QAAS,UACTC,UAAW,UACXC,UAAW,UACXC,cAAe,UACfC,eAAgB,UAChBC,aAAc,UACdC,iBAAkB,UAClBC,mBAAoB,UACpBC,eAAgB,UAChBC,mBAAoB,UACpBC,qBAAsB,UACtBC,cAAe,UACfC,kBAAmB,UACnBC,oBAAqB,UACrBC,aAAc,UACdC,cAAe,UACfC,gBAAiB,UACjBC,oBAAqB,UACrBC,cAAe,UAEfC,eAAgB,UAEhBC,mBAAoB,UACpBC,sBAAuB,UACvBC,iBAAkB,UAClBC,oBAAqB,UACrBC,aAAc,UACdC,gBAAiB,UACjBC,cAAe,UACfC,qBAAsB,UACtBC,mBAAoB,UACpBC,gBAAiB,YACjBC,iBAAkB,YAClBC,mBAAoB,UACpBC,eAAgB,UAChBC,UAAW,UACXC,iBAAkB,UAElBC,cAAe,UAEfC,UAAW,UAEXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UAEXC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UAENC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UAETC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UAEjBC,iBAAkB,UAClBC,sBAAuB,WAEzBC,UAAW,CACTC,YAAY,EACZC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EAIbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,QAEnBC,QAAS,CACPN,aAAa,GAEfO,IAAK,CACHP,aAAa,GAEfQ,MAAO,CACLR,aAAa,GAEfS,SAAU,CACRT,aAAa,IAIjBU,QAAS,CACP1F,aAAa,EACbC,MAAO,UACP6E,UAAW,CACTC,YAAY,EACZC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EACbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,QAEnBC,QAAS,CACPN,aAAa,GAEfO,IAAK,CACHP,aAAa,GAEfQ,MAAO,CACLR,aAAa,GAEfS,SAAU,CACRT,aAAa,IAIjBW,MAAO,CACL3F,aAAa,EACbC,MAAO,OACP6E,UAAW,CACTC,YAAY,EACZC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EACbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,QAEnBC,QAAS,CACPN,aAAa,GAEfO,IAAK,CACHP,aAAa,GAEfQ,MAAO,CACLR,aAAa,GAEfS,SAAU,CACRT,aAAa"}pymdown-extensions-10.9/docs/theme/assets/pymdownx-extras/material-extra-theme-2ek1P7jT.js000066400000000000000000000031541465124271600317170ustar00rootroot00000000000000!function(){"use strict";var e;e=function(e){"true"===localStorage.getItem("data-md-prefers-color-scheme")&&document.querySelector("body").setAttribute("data-md-color-scheme",e.matches?"dracula":"default")},new MutationObserver((function(t){t.forEach((function(t){if("childList"===t.type&&t.addedNodes.length)for(var a=0;a {\n\n  const preferToggle = e => {\n    if (localStorage.getItem(\"data-md-prefers-color-scheme\") === \"true\") {\n      document.querySelector(\"body\").setAttribute(\"data-md-color-scheme\", (e.matches) ? \"dracula\" : \"default\")\n    }\n  }\n\n  const setupTheme = body => {\n    const preferSupported = window.matchMedia(\"(prefers-color-scheme)\").media !== \"not all\"\n    let scheme = localStorage.getItem(\"data-md-color-scheme\")\n    let prefers = localStorage.getItem(\"data-md-prefers-color-scheme\")\n\n    if (!scheme) {\n      scheme = \"dracula\"\n    }\n    if (!prefers) {\n      prefers = \"false\"\n    }\n\n    if (prefers === \"true\" && preferSupported) {\n      scheme = (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) ? \"dracula\" : \"default\"\n    } else {\n      prefers = \"false\"\n    }\n\n    body.setAttribute(\"data-md-prefers-color-scheme\", prefers)\n    body.setAttribute(\"data-md-color-scheme\", scheme)\n\n    if (preferSupported) {\n      const matchListener = window.matchMedia(\"(prefers-color-scheme: dark)\")\n      matchListener.addListener(preferToggle)\n    }\n  }\n\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type === \"childList\") {\n        if (mutation.addedNodes.length) {\n          for (let i = 0; i < mutation.addedNodes.length; i++) {\n            const el = mutation.addedNodes[i]\n\n            if (el.nodeType === 1 && el.tagName.toLowerCase() === \"body\") {\n              setupTheme(el)\n              break\n            }\n          }\n        }\n      }\n    })\n  })\n\n  observer.observe(document.querySelector(\"html\"), {childList: true})\n})()\n\nwindow.toggleScheme = () => {\n  const body = document.querySelector(\"body\")\n  const preferSupported = window.matchMedia(\"(prefers-color-scheme)\").media !== \"not all\"\n  let scheme = body.getAttribute(\"data-md-color-scheme\")\n  let prefer = body.getAttribute(\"data-md-prefers-color-scheme\")\n\n  if (preferSupported && scheme === \"default\" && prefer !== \"true\") {\n    prefer = \"true\"\n    scheme = (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) ? \"dracula\" : \"default\"\n  } else if (preferSupported && prefer === \"true\") {\n    prefer = \"false\"\n    scheme = \"dracula\"\n  } else if (scheme === \"dracula\") {\n    prefer = \"false\"\n    scheme = \"default\"\n  } else {\n    prefer = \"false\"\n    scheme = \"dracula\"\n  }\n  localStorage.setItem(\"data-md-prefers-color-scheme\", prefer)\n  body.setAttribute(\"data-md-prefers-color-scheme\", prefer)\n  body.setAttribute(\"data-md-color-scheme\", scheme)\n}\n"],"names":["preferToggle","e","localStorage","getItem","document","querySelector","setAttribute","matches","MutationObserver","mutations","forEach","mutation","type","addedNodes","length","i","el","nodeType","tagName","toLowerCase","body","preferSupported","scheme","prefers","window","matchMedia","media","addListener","observe","childList","toggleScheme","getAttribute","prefer","setItem"],"mappings":"yBAAA,IAEQA,IAAe,SAAAC,GAC0C,SAAzDC,aAAaC,QAAQ,iCACvBC,SAASC,cAAc,QAAQC,aAAa,uBAAyBL,EAAEM,QAAW,UAAY,YA+BjF,IAAIC,kBAAiB,SAAAC,GACpCA,EAAUC,SAAQ,SAAAC,GAChB,GAAsB,cAAlBA,EAASC,MACPD,EAASE,WAAWC,OACtB,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAASE,WAAWC,OAAQC,IAAK,CACnD,IAAMC,EAAKL,EAASE,WAAWE,GAE/B,GAAoB,IAAhBC,EAAGC,UAA+C,SAA7BD,EAAGE,QAAQC,cAA0B,CAlCrDC,EAmCIJ,EAlCfK,SACFC,SACAC,SAFEF,EAAwE,YAAtDG,OAAOC,WAAW,0BAA0BC,MAChEJ,EAASpB,aAAaC,QAAQ,wBAC9BoB,EAAUrB,aAAaC,QAAQ,gCAE9BmB,IACHA,EAAS,WAENC,IACHA,EAAU,SAGI,SAAZA,GAAsBF,EACxBC,EAAUE,OAAOC,WAAW,gCAAgClB,QAAW,UAAY,UAEnFgB,EAAU,QAGZH,EAAKd,aAAa,+BAAgCiB,GAClDH,EAAKd,aAAa,uBAAwBgB,GAEtCD,GACoBG,OAAOC,WAAW,gCAC1BE,YAAY3B,GAalB,KACF,CACF,CAtCW,IAAAoB,EACXC,EACFC,EACAC,CAsCJ,GACF,IAESK,QAAQxB,SAASC,cAAc,QAAS,CAACwB,WAAW,IAG/DL,OAAOM,aAAe,WACpB,IAAMV,EAAOhB,SAASC,cAAc,QAC9BgB,EAAwE,YAAtDG,OAAOC,WAAW,0BAA0BC,MAChEJ,EAASF,EAAKW,aAAa,wBAC3BC,EAASZ,EAAKW,aAAa,gCAE3BV,GAA8B,YAAXC,GAAmC,SAAXU,GAC7CA,EAAS,OACTV,EAAUE,OAAOC,WAAW,gCAAgClB,QAAW,UAAY,WAC1Ec,GAA8B,SAAXW,GAC5BA,EAAS,QACTV,EAAS,WACW,YAAXA,GACTU,EAAS,QACTV,EAAS,YAETU,EAAS,QACTV,EAAS,WAEXpB,aAAa+B,QAAQ,+BAAgCD,GACrDZ,EAAKd,aAAa,+BAAgC0B,GAClDZ,EAAKd,aAAa,uBAAwBgB,EAC5C"}pymdown-extensions-10.9/docs/theme/main.html000066400000000000000000000011771465124271600212170ustar00rootroot00000000000000{% extends "base.html" %}

{% block libs %}
{{ super() }}
{% include "partials/libs.html" ignore missing %}
{% endblock %}

{% block announce %}{% include "announce.html" ignore missing %}{% endblock %}

{% block content %}
  {{ super() }}
  {% if config.theme.pymdownx and config.theme.pymdownx.sponsor %}
  
  {% endif %}
{% endblock %}
pymdown-extensions-10.9/docs/theme/partials/000077500000000000000000000000001465124271600212165ustar00rootroot00000000000000pymdown-extensions-10.9/docs/theme/partials/footer.html000066400000000000000000000041601465124271600234030ustar00rootroot00000000000000
{% import "partials/language.html" as lang with context %}

pymdown-extensions-10.9/docs/theme/partials/header.html000066400000000000000000000054431465124271600233420ustar00rootroot00000000000000
{% set site_url = config.site_url | d(nav.homepage.url, true) | url %}
{% if not config.use_directory_urls and site_url[0] == site_url[-1] == "." %}
  {% set site_url = site_url ~ "/index.html" %}
{% endif %}
pymdown-extensions-10.9/docs/theme/partials/libs.html000066400000000000000000000003551465124271600230400ustar00rootroot00000000000000 pymdown-extensions-10.9/gulpfile.babel.js000066400000000000000000000225261465124271600205650ustar00rootroot00000000000000/* Theme builder and previewer. Minimize JavaScript. Convert SASS to CSS and minify. Start MkDocs server */ import Promise from "promise" import yargs from "yargs" import {hideBin} from "yargs/helpers" import gulp from "gulp" import gulpSass from "gulp-sass" import * as sassCompiler from "sass" import postcss from "gulp-postcss" import scss from "postcss-scss" import autoprefixer from "autoprefixer" import cleanCSS from "gulp-clean-css" import childProcess from "child_process" import gulpif from "gulp-if" import concat from "gulp-concat" import mqpacker from "css-mqpacker" import terser from '@rollup/plugin-terser' import {rollup} from "rollup" import {babel as rollupBabel, getBabelOutputPlugin} from "@rollup/plugin-babel" import stylelint from "gulp-stylelint" import eslint from "gulp-eslint" import rev from "gulp-rev" import revReplace from "gulp-rev-replace" import vinylPaths from "vinyl-paths" import {deleteAsync, deleteSync} from "del" import touch from "gulp-touch-fd" import path from "path" import inlineSvg from "postcss-inline-svg" import cssSvgo from "postcss-svgo" import replace from "gulp-replace" import outputManifest from "rollup-plugin-output-manifest" import sourcemaps from "gulp-sourcemaps" const sass = gulpSass(sassCompiler) /* Argument Flags */ const args = yargs(hideBin(process.argv)) .boolean("compress") .boolean("lint") .boolean("clean") .boolean("sourcemaps") .boolean("buildmkdocs") .boolean("revision") .default("mkdocs", "mkdocs") .argv // ------------------------------ // Configuration // ------------------------------ const config = { files: { scss: "./docs/src/scss/**/*.scss", css: [ "./docs/theme/assets/pymdownx-extras/*.css", "./docs/theme/assets/pymdownx-extras/*.css.map" ], jsSrc: "./docs/src/js/**/*.js", js: [ "./docs/theme/assets/pymdownx-extras/*.js", "./docs/theme/assets/pymdownx-extras/*.js.map" ], gulp: "gulpfile.babel.js", mkdocsSrc: "./docs/src/mkdocs.yml" }, folders: { mkdocs: "./site", theme: "./docs/theme/assets/pymdownx-extras", src: "./docs/src" }, compress: { enabled: args.compress, jsOptions: { conditionals: true, unused: true, comparisons: true, sequences: true, dead_code: true, // eslint-disable-line camelcase evaluate: true, if_return: true, // eslint-disable-line camelcase join_vars: true // eslint-disable-line camelcase, } }, lint: { enabled: args.lint }, clean: args.clean, sourcemaps: args.sourcemaps, buildmkdocs: args.buildmkdocs, revision: args.revision, mkdocsCmd: args.mkdocs } const rollupjs = async(sources, options) => { const pluginModules = [rollupBabel({babelHelpers: "bundled"})] if (options.revision) { pluginModules.push(outputManifest.default({fileName: "manifest-js.json", isMerge: options.merge})) } const outputPlugins = [getBabelOutputPlugin({allowAllFormats: true, presets: ["@babel/preset-env"]})] if (options.minify) { outputPlugins.push(terser()) } let p = Promise.resolve() for (let i = 0; i < sources.length; i++) { const src = sources[i] p = p.then(async() => { return await rollup({ input: src, plugins: pluginModules }).then(async bundle => { await bundle.write({ dir: options.dest, format: "iife", sourcemapPathTransform: (relativeSourcePath, sourcemapPath) => { // eslint-disable-line no-unused-vars // Something changed and now we must force the mapping to be relative to the file. return path.basename(relativeSourcePath) }, sourcemapFile: src, entryFileNames: (options.revision) ? "[name]-[hash].js" : "[name].js", chunkFileNames: (options.revision) ? "[name]-[hash].js" : "[name].js", sourcemap: options.sourcemap, plugins: outputPlugins }) }) }) } return await p } // ------------------------------ // SASS/SCSS processing // ------------------------------ gulp.task("scss:build:sass", () => { const plugins = [ inlineSvg( { paths: [ "node_modules" ], encode: false } ), cssSvgo( { plugins: [ { name: "preset-default", params: { overrides: { removeViewBox: { active: false } } } }, 'removeDimensions' ], encode: false } ), mqpacker, autoprefixer ].filter(t => t) deleteSync(`${config.folders.theme}/manifest-css.json`) return gulp.src("./docs/src/scss/extra*.scss") .pipe(sourcemaps.init()) .pipe(sass({ includePaths: [ "node_modules/modularscale-sass/stylesheets", "node_modules/material-design-color", "node_modules/material-shadows"] }).on("error", sass.logError)) .pipe(postcss(plugins)) .pipe(gulpif(config.compress.enabled, cleanCSS())) .pipe( vinylPaths( filepath => { return concat(path.basename(filepath, ".scss")) })) // Revisioning .pipe(gulpif(config.revision, rev())) .pipe(sourcemaps.write(".")) .pipe(gulp.dest(config.folders.theme)) .pipe( gulpif( config.revision, rev.manifest(`${config.folders.theme}/manifest-css.json`, {base: config.folders.theme, merge: true}) )) .pipe(gulpif(config.revision, gulp.dest(config.folders.theme))) }) gulp.task("scss:build", gulp.series("scss:build:sass", () => { return gulp.src(config.files.mkdocsSrc) .pipe(gulpif(config.revision, revReplace({ manifest: gulp.src(`${config.folders.theme}/manifest*.json`, {allowEmpty: true}), replaceInExtensions: [".yml"] }))) .pipe(gulp.dest(".")) })) gulp.task("scss:lint", () => { return gulp.src(config.files.scss) .pipe( stylelint({ customSyntax: scss, reporters: [ {formatter: "string", console: true} ] })) }) gulp.task("scss:watch", () => { gulp.watch(config.files.scss, gulp.series("scss:build", "mkdocs:update")) }) gulp.task("scss:clean", () => { return deleteAsync(config.files.css) }) gulp.task("js:build:rollup", async() => { deleteSync(`${config.folders.theme}/manifest-js.json`) return await rollupjs( [ `${config.folders.src}/js/material-extra-theme.js`, `${config.folders.src}/js/material-extra-3rdparty.js`, `${config.folders.src}/js/extra-loader.js` ], { dest: `${config.folders.theme}`, minify: config.compress.enabled, revision: config.revision, sourcemap: config.sourcemaps, merge: true } ) }) gulp.task("html:build", () => { return gulp.src("./docs/src/html/*.html") .pipe(gulpif(config.revision, revReplace({ manifest: gulp.src(`${config.folders.theme}/manifest*.json`, {allowEmpty: true}), replaceInExtensions: [".html"] }))) .pipe(replace(/((?:\r?\n?\s*)(?:\s*)(?=\r?\n)|)/g, "")) .pipe(gulp.dest("./docs/theme/partials/")) }) gulp.task("html:watch", () => { gulp.watch("./docs/src/html/*.html", gulp.series("html:build", "mkdocs:update")) }) gulp.task("js:build", gulp.series("js:build:rollup", "html:build", () => { return gulp.src(config.files.mkdocsSrc) .pipe(gulpif(config.revision, revReplace({ manifest: gulp.src(`${config.folders.theme}/manifest*.json`, {allowEmpty: true}), replaceInExtensions: [".yml"] }))) .pipe(gulp.dest("./")) })) gulp.task("js:lint", () => { return gulp.src([config.files.jsSrc, config.files.gulp]) .pipe(eslint()) .pipe(eslint.format()) .pipe(eslint.failAfterError()) }) gulp.task("js:watch", () => { gulp.watch(config.files.jsSrc, gulp.series("js:build", "mkdocs:update")) }) gulp.task("js:clean", () => { return deleteAsync(config.files.js) }) // ------------------------------ // MkDocs // ------------------------------ gulp.task("mkdocs:watch", () => { gulp.watch(config.files.mkdocsSrc, gulp.series("mkdocs:update")) }) gulp.task("mkdocs:update", () => { return gulp.src(config.files.mkdocsSrc) .pipe(gulp.dest(".")) .pipe(touch()) }) gulp.task("mkdocs:build", () => { return new Promise((resolve, reject) => { const cmdParts = (`${config.mkdocsCmd} build`).split(/ +/) const cmd = cmdParts[0] const cmdArgs = cmdParts.slice(1, cmdParts.length - 1) const proc = childProcess.spawnSync(cmd, cmdArgs) if (proc.status) reject(proc.stderr.toString()) else resolve() }) }) gulp.task("mkdocs:clean", () => { return deleteAsync(config.folders.mkdocs) }) // ------------------------------ // Main entry points // ------------------------------ gulp.task("serve", gulp.series( // Clean "scss:clean", "js:clean", // Build JS and CSS "js:build", "scss:build", // Watch for changes and start mkdocs gulp.parallel( "scss:watch", "js:watch", "html:watch", "mkdocs:watch" ) )) gulp.task("clean", gulp.series( "scss:clean", "js:clean", "mkdocs:clean" )) gulp.task("lint", gulp.series( "js:lint", "scss:lint" )) gulp.task("build", gulp.series( // Clean config.clean ? "clean" : ["scss:clean", "js:clean"], // Build JS and CSS "js:build", "scss:build", [ // Lint config.lint.enabled ? "lint" : false, // Build Mkdocs config.buildmkdocs ? "mkdocs:build" : false ].filter(t => t) )) pymdown-extensions-10.9/hatch_build.py000066400000000000000000000031631465124271600201700ustar00rootroot00000000000000"""Dynamically define some metadata.""" import os from hatchling.metadata.plugin.interface import MetadataHookInterface def get_version_dev_status(root): """Get version_info without importing the entire module.""" import importlib.util path = os.path.join(root, "pymdownx", "__meta__.py") spec = importlib.util.spec_from_file_location("__meta__", path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module.__version_info__._get_dev_status() class CustomMetadataHook(MetadataHookInterface): """Our metadata hook.""" def update(self, metadata): """See https://ofek.dev/hatch/latest/plugins/metadata-hook/ for more information.""" metadata["classifiers"] = [ f"Development Status :: {get_version_dev_status(self.root)}", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Filters", "Topic :: Text Processing :: Markup :: HTML", ] pymdown-extensions-10.9/mkdocs.yml000066400000000000000000000163631465124271600173610ustar00rootroot00000000000000site_name: PyMdown Extensions Documentation site_url: https://facelessuser.github.io/pymdown-extensions repo_url: https://github.com/facelessuser/pymdown-extensions edit_uri: tree/master/docs/src/markdown site_description: A Collection of Useful Extensions for Python Markdown copyright: | Copyright © 2014 - 2024 Isaac Muse docs_dir: docs/src/markdown theme: name: material custom_dir: docs/theme icon: logo: material/book-open-page-variant palette: scheme: dracula primary: deep purple accent: deep purple font: text: Roboto code: Roboto Mono features: - announce.dismiss - navigation.tabs - navigation.top - navigation.instant - navigation.indexes - toc.follow - content.tabs.link - search.share - search.highlight - search.suggest - content.code.copy - content.code.annotations pymdownx: sponsor: "https://github.com/sponsors/facelessuser" nav: - Home: - Pymdown Extensions: index.md - Installation: installation.md - Usage Notes: usage_notes.md - Extensions: - Arithmatex: extensions/arithmatex.md - B64: extensions/b64.md - BetterEm: extensions/betterem.md - Blocks: - extensions/blocks/index.md - Blocks Extension API: extensions/blocks/api.md - Admonition: extensions/blocks/plugins/admonition.md - Definition: extensions/blocks/plugins/definition.md - Details: extensions/blocks/plugins/details.md - HTML: extensions/blocks/plugins/html.md - Tab: extensions/blocks/plugins/tab.md - Caret: extensions/caret.md - Critic: extensions/critic.md - Details: extensions/details.md - Emoji: extensions/emoji.md - EscapeAll: extensions/escapeall.md - Extra: extensions/extra.md - Highlight: extensions/highlight.md - InlineHilite: extensions/inlinehilite.md - Keys: extensions/keys.md - MagicLink: extensions/magiclink.md - Mark: extensions/mark.md - PathConverter: extensions/pathconverter.md - ProgressBar: extensions/progressbar.md - SaneHeaders: extensions/saneheaders.md - SmartSymbols: extensions/smartsymbols.md - Snippets: extensions/snippets.md - StripHTML: extensions/striphtml.md - SuperFences: extensions/superfences.md - Tabbed: extensions/tabbed.md - Tasklist: extensions/tasklist.md - Tilde: extensions/tilde.md - Extras: - Slugs: extras/slugs.md - Advanced Mermaid Notes: extras/mermaid.md - FAQ: - Frequently Asked Questions: faq.md - About: - Contributing & Support: about/contributing.md - Development: about/development.md - Security Vulnerabilities: about/security.md - Changelog: about/changelog.md - Migration Notes: - '6.0': about/releases/6.0.md - '7.0': about/releases/7.0.md - '8.0': about/releases/8.0.md - '9.0': about/releases/9.0.md - License: about/license.md markdown_extensions: - markdown.extensions.toc: slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}} permalink: "" - markdown.extensions.admonition: - markdown.extensions.smarty: smart_quotes: false - pymdownx.betterem: - markdown.extensions.attr_list: - markdown.extensions.def_list: - markdown.extensions.tables: - markdown.extensions.abbr: - markdown.extensions.footnotes: - markdown.extensions.md_in_html: - pymdownx.superfences: preserve_tabs: true custom_fences: # Mermaid diagrams - name: diagram class: diagram format: !!python/name:pymdownx.superfences.fence_code_format - name: math class: arithmatex format: !!python/object/apply:pymdownx.arithmatex.arithmatex_fenced_format {kwds: {mode: generic, tag: pre}} - name: md-render class: md-render format: !!python/name:tools.pymdownx_md_render.md_sub_render - pymdownx.highlight: extend_pygments_lang: - name: php-inline lang: php options: startinline: true - name: pycon3 lang: pycon options: python3: true linenums_style: pymdownx-inline - pymdownx.inlinehilite: custom_inline: - name: math class: arithmatex format: !!python/object/apply:pymdownx.arithmatex.arithmatex_inline_format {kwds: {mode: generic}} - pymdownx.magiclink: repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true social_url_shortener: true user: facelessuser repo: pymdown-extensions normalize_issue_symbols: true - pymdownx.tilde: - pymdownx.caret: - pymdownx.smartsymbols: - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.escapeall: hardbreak: True nbsp: True - pymdownx.tasklist: custom_checkbox: true - pymdownx.progressbar: - pymdownx.arithmatex: generic: true block_tag: 'pre' - pymdownx.mark: - pymdownx.striphtml: - pymdownx.snippets: base_path: - docs/src/markdown/.snippets - LICENSE.md - SECURITY.md auto_append: - refs.md check_paths: true - pymdownx.keys: separator: "\uff0b" - pymdownx.details: - pymdownx.tabbed: alternate_style: true - pymdownx.saneheaders: - pymdownx.blocks.admonition: types: - new - settings - note - abstract - info - tip - success - question - warning - failure - danger - bug - example - quote - pymdownx.blocks.details: types: - name: details-new class: new - name: details-settings class: settings - name: details-note class: note - name: details-abstract class: abstract - name: details-info class: info - name: details-tip class: tip - name: details-success class: success - name: details-question class: question - name: details-warning class: warning - name: details-failure class: failure - name: details-danger class: danger - name: details-bug class: bug - name: details-example class: example - name: details-quote class: quote - pymdownx.blocks.html: - pymdownx.blocks.definition: - pymdownx.blocks.tab: alternate_style: True combine_header_slug: True slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}} - tools.collapse_code: expand_text: '' collapse_text: '' extra: social: - icon: fontawesome/brands/github link: https://github.com/facelessuser extra_css: # - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css - assets/pymdownx-extras/extra-8611f6c398.css extra_javascript: - https://unpkg.com/mermaid@10.6.1/dist/mermaid.min.js # - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js - assets/pymdownx-extras/extra-loader-iLQ-keay.js plugins: - search: - git-revision-date-localized: fallback_to_build_date: true - minify: minify_html: true pymdown-extensions-10.9/package-lock.json000066400000000000000000033602371465124271600205770ustar00rootroot00000000000000{ "name": "pymdown-extensions", "version": "8.1.2", "lockfileVersion": 2, "requires": true, "type": "module", "packages": { "": { "name": "pymdown-extensions", "version": "8.1.2", "license": "MIT", "devDependencies": { "@babel/cli": "^7.24.8", "@babel/core": "^7.24.9", "@babel/eslint-parser": "^7.25.0", "@babel/plugin-external-helpers": "^7.24.7", "@babel/preset-env": "^7.25.0", "@babel/register": "^7.24.6", "@fortawesome/fontawesome-free": "^6.6.0", "@mdi/svg": "^7.4.47", "@primer/octicons": "^19.11.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-terser": "^0.4.4", "autoprefixer": "^10.4.19", "babel-core": "^7.0.0-bridge.0", "clean-css": "^5.3.3", "css-mqpacker": "^7.0.0", "del": "^7.1.0", "eslint": "^9.8.0", "gulp": "^5.0.0", "gulp-clean-css": "^4.3.0", "gulp-concat": "^2.6.1", "gulp-eslint": "^6.0.0", "gulp-if": "^3.0.0", "gulp-postcss": "^10.0.0", "gulp-replace": "^1.1.4", "gulp-rev": "^11.0.0", "gulp-rev-replace": "^0.4.4", "gulp-sass": "^5.1.0", "gulp-sourcemaps": "^3.0.0", "gulp-stylelint": "^13.0.0", "gulp-touch-fd": "github:funkedigital/gulp-touch-fd", "material-design-color": "^2.3.2", "material-shadows": "^3.0.1", "postcss-inline-svg": "^6.0.0", "postcss-pseudo-classes": "^0.4.0", "postcss-scss": "^4.0.9", "postcss-svgo": "^7.0.1", "promise": "^8.3.0", "rollup": "^4.19.1", "rollup-plugin-output-manifest": "^2.0.0", "sass": "^1.77.8", "stylelint": "^15.11.0", "stylelint-config-rational-order": "^0.1.2", "stylelint-config-standard": "^36.0.1", "stylelint-order": "^6.0.4", "stylelint-scss": "^6.4.1", "terser": "^5.31.3", "vinyl-paths": "^5.0.0", "yargs": "^17.7.2" }, "engines": { "node": ">= 10", "yarn": "YARN NO LONGER USED - use npm instead." } }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/cli": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz", "integrity": "sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "commander": "^6.2.0", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.2.0", "make-dir": "^2.1.0", "slash": "^2.0.0" }, "bin": { "babel": "bin/babel.js", "babel-external-helpers": "bin/babel-external-helpers.js" }, "engines": { "node": ">=6.9.0" }, "optionalDependencies": { "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/cli/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "node_modules/@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "license": "MIT", "dependencies": { "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.24.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.24.9", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-module-transforms": "^7.24.9", "@babel/helpers": "^7.24.8", "@babel/parser": "^7.24.8", "@babel/template": "^7.24.7", "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/babel" } }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "node_modules/@babel/eslint-parser": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.0.tgz", "integrity": "sha512-mlcTKuQAjczDRwWLIxv+Q925jaMUO8Jl5dxmWJSSGVYfZ4rKMp8daQvVC3rM1G2v8V+/fO0yIVTSLS+2zcB8rg==", "dev": true, "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { "@babel/core": "^7.11.0", "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/@babel/generator": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.7", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz", "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-wrap-function": "^7.25.0", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-replace-supers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.0", "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.25.0", "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", "dev": true, "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", "integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-external-helpers": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.24.7.tgz", "integrity": "sha512-IgK2yjWkxQhtc+UvSbUA8GfIDCQvs7FxqNtgLkmO5FAKos53sT2sl9bxeO4NxjcnZs27xnYIMyhjdXkNaZP4jA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@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, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "node_modules/@babel/plugin-transform-classes": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", "@babel/traverse": "^7.25.0", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz", "integrity": "sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/preset-env": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz", "integrity": "sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.25.0", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.24.7", "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@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-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.0", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-class-static-block": "^7.24.7", "@babel/plugin-transform-classes": "^7.25.0", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", "@babel/plugin-transform-duplicate-keys": "^7.24.7", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", "@babel/plugin-transform-dynamic-import": "^7.24.7", "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.0", "@babel/plugin-transform-json-strings": "^7.24.7", "@babel/plugin-transform-literals": "^7.24.7", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-modules-systemjs": "^7.25.0", "@babel/plugin-transform-modules-umd": "^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-new-target": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-object-super": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-reserved-words": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-template-literals": "^7.24.7", "@babel/plugin-transform-typeof-symbol": "^7.24.8", "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.4", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/register": { "version": "7.24.6", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", "dev": true, "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", "pirates": "^4.0.6", "source-map-support": "^0.5.16" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "dev": true }, "node_modules/@babel/runtime": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/parser": "^7.25.0", "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.0", "@babel/template": "^7.25.0", "@babel/types": "^7.25.0", "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@csstools/css-parser-algorithms": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/csstools" }, { "type": "opencollective", "url": "https://opencollective.com/csstools" } ], "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-tokenizer": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/csstools" }, { "type": "opencollective", "url": "https://opencollective.com/csstools" } ], "engines": { "node": "^14 || ^16 || >=18" } }, "node_modules/@csstools/media-query-list-parser": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/csstools" }, { "type": "opencollective", "url": "https://opencollective.com/csstools" } ], "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^2.6.1", "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/selector-specificity": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz", "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/csstools" }, { "type": "opencollective", "url": "https://opencollective.com/csstools" } ], "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { "postcss-selector-parser": "^6.0.13" } }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint-community/regexpp": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", "minimatch": "^3.1.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/@eslint/js": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@fortawesome/fontawesome-free": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", "dev": true, "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", "engines": { "node": ">=6" } }, "node_modules/@gulp-sourcemaps/identity-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", "dev": true, "license": "MIT", "dependencies": { "acorn": "^6.4.1", "normalize-path": "^3.0.0", "postcss": "^7.0.16", "source-map": "^0.6.0", "through2": "^3.0.1" }, "engines": { "node": ">= 0.10" } }, "node_modules/@gulp-sourcemaps/identity-map/node_modules/acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/@gulp-sourcemaps/identity-map/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true, "license": "ISC" }, "node_modules/@gulp-sourcemaps/identity-map/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/@gulp-sourcemaps/identity-map/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/@gulp-sourcemaps/map-sources": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", "dev": true, "dependencies": { "normalize-path": "^2.0.1", "through2": "^2.0.3" }, "engines": { "node": ">= 0.10" } }, "node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/@gulp-sourcemaps/map-sources/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "node_modules/@gulpjs/messages": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@gulpjs/messages/-/messages-1.1.0.tgz", "integrity": "sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/@gulpjs/to-absolute-glob": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz", "integrity": "sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==", "dev": true, "dependencies": { "is-negated-glob": "^1.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "engines": { "node": ">=12.22" }, "funding": { "type": "github", "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/retry": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18.18" }, "funding": { "type": "github", "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@mdi/svg": { "version": "7.4.47", "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz", "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==", "dev": true }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "license": "MIT", "dependencies": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" }, "engines": { "node": ">=4" } }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, "optional": true }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, "dependencies": { "eslint-scope": "5.1.1" } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" }, "engines": { "node": ">= 8" } }, "node_modules/@primer/octicons": { "version": "19.11.0", "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-19.11.0.tgz", "integrity": "sha512-dJfi3I7zF4JyqHyHpxaUliUa//w4AmTYAo0i5KgKbz92ZQ0IizRU1rlW+eVdYk5nitAebpUX7gnKceZBDGW3XQ==", "dev": true, "license": "MIT", "dependencies": { "object-assign": "^4.1.1" } }, "node_modules/@rollup/plugin-babel": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", "@rollup/pluginutils": "^5.0.1" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0", "@types/babel__core": "^7.1.9", "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "@types/babel__core": { "optional": true }, "rollup": { "optional": true } } }, "node_modules/@rollup/plugin-terser": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "dependencies": { "serialize-javascript": "^6.0.1", "smob": "^1.0.0", "terser": "^5.17.4" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { "optional": true } } }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^2.3.1" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { "optional": true } } }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", "cpu": [ "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", "cpu": [ "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", "cpu": [ "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", "cpu": [ "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", "cpu": [ "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", "cpu": [ "riscv64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", "cpu": [ "s390x" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", "cpu": [ "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", "cpu": [ "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", "cpu": [ "ia32" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", "cpu": [ "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, "license": "ISC", "engines": { "node": ">=10.13.0" } }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/expect": { "version": "1.20.4", "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", "dev": true }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "license": "MIT", "dependencies": { "@types/minimatch": "*", "@types/node": "*" } }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true, "license": "MIT" }, "node_modules/@types/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true }, "node_modules/@types/node": { "version": "14.17.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.11.tgz", "integrity": "sha512-n2OQ+0Bz6WEsUjrvcHD1xZ8K+Kgo4cn9/w94s1bJS690QMUWfJPW/m7CCb7gPkA1fcYwL2UpjXP/rq/Eo41m6w==", "dev": true }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "node_modules/@types/unist": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true, "license": "MIT" }, "node_modules/@types/vfile": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", "@types/unist": "*", "@types/vfile-message": "*" } }, "node_modules/@types/vfile-message": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", "deprecated": "This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed.", "dev": true, "license": "MIT", "dependencies": { "vfile-message": "*" } }, "node_modules/@types/vinyl": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.10.tgz", "integrity": "sha512-DqN5BjCrmjAtZ1apqzcq2vk2PSW0m1nFfjIafBFkAyddmHxuw3ZAK3omLiSdpuu81+8h07i6U4DtaE38Xsf2xQ==", "dev": true, "dependencies": { "@types/expect": "^1.20.4", "@types/node": "*" } }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", "dev": true, "dependencies": { "clean-stack": "^4.0.0", "indent-string": "^5.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, "dependencies": { "ansi-wrap": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "type-fest": "^0.21.3" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-escapes/node_modules/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, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ansi-red": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/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, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" }, "engines": { "node": ">= 8" } }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/async-done": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz", "integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==", "dev": true, "dependencies": { "end-of-stream": "^1.4.4", "once": "^1.4.0", "stream-exhaust": "^1.0.2" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/async-settle": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-2.0.0.tgz", "integrity": "sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==", "dev": true, "dependencies": { "async-done": "^2.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/autoprefixer": { "version": "10.4.19", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "dependencies": { "browserslist": "^4.23.0", "caniuse-lite": "^1.0.30001599", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, "engines": { "node": "^10 || ^12 || >=14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.10", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.1", "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/bach": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/bach/-/bach-2.0.1.tgz", "integrity": "sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==", "dev": true, "dependencies": { "async-done": "^2.0.0", "async-settle": "^2.0.0", "now-and-later": "^3.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/bare-events": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", "dev": true, "optional": true }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "license": "MIT", "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/binaryextensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", "dev": true, "engines": { "node": ">=0.8" }, "funding": { "url": "https://bevry.me/fund" } }, "node_modules/bl": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dev": true, "dependencies": { "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, "node_modules/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, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { "version": "4.23.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001640", "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ], "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "license": "MIT", "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", "has-value": "^1.0.0", "isobject": "^3.0.1", "set-value": "^2.0.0", "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/call-me-maybe": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", "dev": true, "license": "MIT" }, "node_modules/caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "license": "MIT", "dependencies": { "callsites": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "license": "MIT", "dependencies": { "caller-callsite": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/camelcase-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", "dev": true, "license": "MIT", "dependencies": { "camelcase": "^4.1.0", "map-obj": "^2.0.0", "quick-lru": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/caniuse-lite": { "version": "1.0.30001643", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/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, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/character-entities-html4": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/character-reference-invalid": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "funding": { "url": "https://paulmillr.com/funding/" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/chokidar/node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/chokidar/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { "picomatch": "^2.2.1" }, "engines": { "node": ">=8.10.0" } }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, "dependencies": { "source-map": "~0.6.0" }, "engines": { "node": ">= 10.0" } }, "node_modules/clean-css/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/clean-stack": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", "dev": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/clean-stack/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, "engines": { "node": ">=8" } }, "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, "engines": { "node": ">= 10" } }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=12" } }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/clone-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/clone-regexp": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", "dev": true, "license": "MIT", "dependencies": { "is-regexp": "^1.0.0", "is-supported-regexp-flag": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", "dev": true }, "node_modules/cloneable-readable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "dependencies": { "inherits": "^2.0.1", "process-nextick-args": "^2.0.0", "readable-stream": "^2.3.5" } }, "node_modules/collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "license": "MIT", "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, "bin": { "color-support": "bin.js" } }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true }, "node_modules/commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "node_modules/component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/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 }, "node_modules/concat-with-sourcemaps": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", "dev": true, "dependencies": { "source-map": "^0.6.1" } }, "node_modules/concat-with-sourcemaps/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/copy-props": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-4.0.0.tgz", "integrity": "sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==", "dev": true, "dependencies": { "each-props": "^3.0.0", "is-plain-object": "^5.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/copy-props/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", "dev": true, "license": "MIT", "dependencies": { "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/d-fischer" }, "peerDependencies": { "typescript": ">=4.9.5" }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, "node_modules/cosmiconfig/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "node_modules/cosmiconfig/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/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, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/css": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.4", "source-map": "^0.6.1", "source-map-resolve": "^0.6.0" } }, "node_modules/css-functions-list": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true, "engines": { "node": ">=12 || >=16" } }, "node_modules/css-mqpacker": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/css-mqpacker/-/css-mqpacker-7.0.0.tgz", "integrity": "sha512-temVrWS+sB4uocE2quhW8ru/KguDmGhCU7zN213KxtDvWOH3WS/ZUStfpF4fdCT7W8fPpFrQdWRFqtFtPPfBLA==", "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", "dev": true, "dependencies": { "minimist": "^1.2.0", "postcss": "^7.0.0" }, "bin": { "mqpacker": "bin/mqpacker.js" } }, "node_modules/css-mqpacker/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "node_modules/css-mqpacker/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/css-mqpacker/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css-select/node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/css-select/node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, "engines": { "node": ">= 4" }, "funding": { "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/css-select/node_modules/domutils": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.1" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/css-select/node_modules/entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "dev": true, "engines": { "node": ">=0.12" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/css-tree": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, "engines": { "node": ">= 6" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "bin": { "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, "node_modules/csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "license": "MIT", "dependencies": { "css-tree": "~2.2.0" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/css-tree": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "license": "MIT", "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "dev": true, "license": "CC0-1.0" }, "node_modules/currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", "dev": true, "license": "MIT", "dependencies": { "array-find-index": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "dependencies": { "es5-ext": "^0.10.50", "type": "^1.0.1" } }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/debug-fabulous": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", "dev": true, "dependencies": { "debug": "3.X", "memoizee": "0.4.X", "object-assign": "4.X" } }, "node_modules/debug-fabulous/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" }, "engines": { "node": ">=0.10.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/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 }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/del": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", "dev": true, "dependencies": { "globby": "^13.1.2", "graceful-fs": "^4.2.10", "is-glob": "^4.0.3", "is-path-cwd": "^3.0.0", "is-path-inside": "^4.0.0", "p-map": "^5.5.0", "rimraf": "^3.0.2", "slash": "^4.0.0" }, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/del/node_modules/globby": { "version": "13.1.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", "dev": true, "dependencies": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^4.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/del/node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/del/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { "path-type": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { "node": ">=6.0.0" } }, "node_modules/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, "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" } }, "node_modules/dom-serializer/node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } ] }, "node_modules/domhandler": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "domelementtype": "1" } }, "node_modules/domhandler/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" } }, "node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/duplexify": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", "dev": true, "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.0" } }, "node_modules/duplexify/node_modules/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, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/each-props": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/each-props/-/each-props-3.0.0.tgz", "integrity": "sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==", "dev": true, "dependencies": { "is-plain-object": "^5.0.0", "object.defaults": "^1.1.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/each-props/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/easy-transform-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/easy-transform-stream/-/easy-transform-stream-1.0.1.tgz", "integrity": "sha512-ktkaa6XR7COAR3oj02CF3IOgz2m1hCaY3SfzvKT4Svt2MhHw9XCt+ncJNWfe2TGz31iqzNGZ8spdKQflj+Rlog==", "dev": true, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/electron-to-chromium": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==", "dev": true, "license": "ISC" }, "node_modules/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 }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/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, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es5-ext": { "version": "0.10.64", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "dev": true, "hasInstallScript": true, "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", "esniff": "^2.0.1", "next-tick": "^1.1.0" }, "engines": { "node": ">=0.10" } }, "node_modules/es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "dependencies": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, "node_modules/es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "dependencies": { "d": "^1.0.1", "ext": "^1.1.2" } }, "node_modules/es6-weak-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, "dependencies": { "d": "1", "es5-ext": "^0.10.46", "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/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, "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", "espree": "^10.1.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://eslint.org/donate" } }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { "node": ">=8.0.0" } }, "node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/eslint/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/eslint/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/eslint/node_modules/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 }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/eslint-scope": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { "is-glob": "^4.0.3" }, "engines": { "node": ">=10.13.0" } }, "node_modules/eslint/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/eslint/node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { "p-locate": "^5.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { "p-limit": "^3.0.2" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dev": true, "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", "event-emitter": "^0.3.5", "type": "^2.7.2" }, "engines": { "node": ">=0.10" } }, "node_modules/esniff/node_modules/type": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "dev": true }, "node_modules/espree": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/acorn": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/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, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" }, "engines": { "node": ">=0.10" } }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "dependencies": { "d": "1", "es5-ext": "~0.10.14" } }, "node_modules/execall": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", "integrity": "sha512-/J0Q8CvOvlAdpvhfkD/WnTQ4H1eU0exze2nFGPj/RSC7jpQ0NkKe2r28T5eMkhEEs+fzepMZNy1kVRKNlC04nQ==", "dev": true, "license": "MIT", "dependencies": { "clone-regexp": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "license": "MIT", "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/expand-brackets/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "dependencies": { "homedir-polyfill": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ext": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", "dev": true, "dependencies": { "type": "^2.5.0" } }, "node_modules/ext/node_modules/type": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" }, "engines": { "node": ">=4" } }, "node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "license": "MIT", "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/extglob/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", "dev": true, "dependencies": { "ansi-gray": "^0.1.1", "color-support": "^1.1.3", "parse-node-version": "^1.0.0", "time-stamp": "^1.0.0" }, "engines": { "node": ">= 0.10" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-fifo": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" }, "engines": { "node": ">=8.6.0" } }, "node_modules/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 }, "node_modules/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 }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { "flat-cache": "^4.0.0" }, "engines": { "node": ">=16.0.0" } }, "node_modules/file-entry-cache/node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" }, "engines": { "node": ">=16" } }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { "locate-path": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/findup-sync": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "dev": true, "dependencies": { "detect-file": "^1.0.0", "is-glob": "^4.0.3", "micromatch": "^4.0.4", "resolve-dir": "^1.0.1" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/fined": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", "dev": true, "dependencies": { "expand-tilde": "^2.0.2", "is-plain-object": "^5.0.0", "object.defaults": "^1.1.0", "object.pick": "^1.3.0", "parse-filepath": "^1.0.2" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/fined/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/first-chunk-stream": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flagged-respawn": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" }, "engines": { "node": ">=4" } }, "node_modules/flat-cache/node_modules/flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "node_modules/flat-cache/node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "node_modules/flatted": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/for-own": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, "dependencies": { "for-in": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fork-stream": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", "dev": true }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, "engines": { "node": "*" }, "funding": { "type": "patreon", "url": "https://github.com/sponsors/rawify" } }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "license": "MIT", "dependencies": { "map-cache": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/fs-mkdirp-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz", "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.8", "streamx": "^2.12.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "node_modules/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, "engines": { "node": ">=6.9.0" } }, "node_modules/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, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/glob-stream": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.2.tgz", "integrity": "sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==", "dev": true, "dependencies": { "@gulpjs/to-absolute-glob": "^4.0.0", "anymatch": "^3.1.3", "fastq": "^1.13.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "is-negated-glob": "^1.0.0", "normalize-path": "^3.0.0", "streamx": "^2.12.5" }, "engines": { "node": ">=10.13.0" } }, "node_modules/glob-stream/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { "is-glob": "^4.0.3" }, "engines": { "node": ">=10.13.0" } }, "node_modules/glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", "dev": true, "license": "BSD" }, "node_modules/glob-watcher": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz", "integrity": "sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==", "dev": true, "dependencies": { "async-done": "^2.0.0", "chokidar": "^3.5.3" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", "resolve-dir": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" }, "engines": { "node": ">=0.10.0" } }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/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, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globby/node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/globby/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", "dev": true }, "node_modules/glogg": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", "dev": true, "dependencies": { "sparkles": "^2.1.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", "dev": true, "license": "MIT", "dependencies": { "minimist": "^1.2.5" }, "bin": { "gonzales": "bin/gonzales.js" }, "engines": { "node": ">=0.6.0" } }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "node_modules/gulp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz", "integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==", "dev": true, "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.0.0", "undertaker": "^2.0.0", "vinyl-fs": "^4.0.0" }, "bin": { "gulp": "bin/gulp.js" }, "engines": { "node": ">=10.13.0" } }, "node_modules/gulp-clean-css": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", "dev": true, "dependencies": { "clean-css": "4.2.3", "plugin-error": "1.0.1", "through2": "3.0.1", "vinyl-sourcemaps-apply": "0.2.1" } }, "node_modules/gulp-clean-css/node_modules/clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "dev": true, "dependencies": { "source-map": "~0.6.0" }, "engines": { "node": ">= 4.0" } }, "node_modules/gulp-clean-css/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-cli": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", "integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==", "dev": true, "dependencies": { "@gulpjs/messages": "^1.1.0", "chalk": "^4.1.2", "copy-props": "^4.0.0", "gulplog": "^2.2.0", "interpret": "^3.1.1", "liftoff": "^5.0.0", "mute-stdout": "^2.0.0", "replace-homedir": "^2.0.0", "semver-greatest-satisfied-range": "^2.0.0", "string-width": "^4.2.3", "v8flags": "^4.0.0", "yargs": "^16.2.0" }, "bin": { "gulp": "bin/gulp.js" }, "engines": { "node": ">=10.13.0" } }, "node_modules/gulp-cli/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/gulp-cli/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/gulp-cli/node_modules/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, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "node_modules/gulp-cli/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/gulp-cli/node_modules/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 }, "node_modules/gulp-cli/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/gulp-cli/node_modules/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/gulp-cli/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { "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" }, "engines": { "node": ">=10" } }, "node_modules/gulp-concat": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", "dev": true, "dependencies": { "concat-with-sourcemaps": "^1.0.0", "through2": "^2.0.0", "vinyl": "^2.0.0" }, "engines": { "node": ">= 0.10" } }, "node_modules/gulp-concat/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "node_modules/gulp-eslint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-6.0.0.tgz", "integrity": "sha512-dCVPSh1sA+UVhn7JSQt7KEb4An2sQNbOdB3PA8UCfxsoPlAKjJHxYHGXdXC7eb+V1FAnilSFFqslPrq037l1ig==", "dev": true, "dependencies": { "eslint": "^6.0.0", "fancy-log": "^1.3.2", "plugin-error": "^1.0.1" } }, "node_modules/gulp-eslint/node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/gulp-eslint/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/gulp-eslint/node_modules/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, "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" }, "engines": { "node": ">=4.8" } }, "node_modules/gulp-eslint/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/gulp-eslint/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "node_modules/gulp-eslint/node_modules/eslint": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", "debug": "^4.0.1", "doctrine": "^3.0.0", "eslint-scope": "^5.0.0", "eslint-utils": "^1.4.3", "eslint-visitor-keys": "^1.1.0", "espree": "^6.1.2", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.14", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", "strip-ansi": "^5.2.0", "strip-json-comments": "^3.0.1", "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/gulp-eslint/node_modules/eslint-utils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "dependencies": { "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/espree": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "dependencies": { "acorn": "^7.1.1", "acorn-jsx": "^5.2.0", "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/gulp-eslint/node_modules/file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "dependencies": { "flat-cache": "^2.0.1" }, "engines": { "node": ">=4" } }, "node_modules/gulp-eslint/node_modules/globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { "type-fest": "^0.8.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gulp-eslint/node_modules/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, "engines": { "node": ">=4" } }, "node_modules/gulp-eslint/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/gulp-eslint/node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { "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" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/gulp-eslint/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/gulp-eslint/node_modules/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, "engines": { "node": ">= 0.8.0" } }, "node_modules/gulp-eslint/node_modules/regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, "engines": { "node": ">=6.5.0" } }, "node_modules/gulp-eslint/node_modules/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, "dependencies": { "shebang-regex": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-eslint/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-eslint/node_modules/slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" }, "engines": { "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/gulp-eslint/node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "dependencies": { "prelude-ls": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/gulp-eslint/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/gulp-eslint/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/gulp-if": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", "dev": true, "dependencies": { "gulp-match": "^1.1.0", "ternary-stream": "^3.0.0", "through2": "^3.0.1" } }, "node_modules/gulp-match": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", "dev": true, "dependencies": { "minimatch": "^3.0.3" } }, "node_modules/gulp-plugin-extras": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/gulp-plugin-extras/-/gulp-plugin-extras-0.3.0.tgz", "integrity": "sha512-I/kOBSpo61QsGQZcqozZYEnDseKvpudUafVVWDLYgBFAUJ37kW5R8Sjw9cMYzpGyPUfEYOeoY4p+dkfLqgyJUQ==", "dev": true, "dependencies": { "@types/vinyl": "^2.0.9", "chalk": "^5.3.0", "easy-transform-stream": "^1.0.1" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gulp-plugin-extras/node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/gulp-postcss": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-10.0.0.tgz", "integrity": "sha512-z1RF2RJEX/BvFsKN11PXai8lRmihZTiHnlJf7Zu8uHaA/Q7Om4IeN8z1NtMAW5OiLwUY02H0DIFl9tHl0CNSgA==", "dev": true, "dependencies": { "fancy-log": "^2.0.0", "plugin-error": "^2.0.1", "postcss-load-config": "^5.0.0", "vinyl-sourcemaps-apply": "^0.2.1" }, "engines": { "node": ">=18" }, "peerDependencies": { "postcss": "^8.0.0" } }, "node_modules/gulp-postcss/node_modules/fancy-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dev": true, "dependencies": { "color-support": "^1.1.3" }, "engines": { "node": ">=10.13.0" } }, "node_modules/gulp-postcss/node_modules/plugin-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", "dev": true, "dependencies": { "ansi-colors": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/gulp-replace": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz", "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==", "dev": true, "dependencies": { "@types/node": "*", "@types/vinyl": "^2.0.4", "istextorbinary": "^3.0.0", "replacestream": "^4.0.3", "yargs-parser": ">=5.0.0-security.0" }, "engines": { "node": ">=10" } }, "node_modules/gulp-rev": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/gulp-rev/-/gulp-rev-11.0.0.tgz", "integrity": "sha512-KJSyw0qMQBL0xB3YhYrdinelbnWnYHDxj3jqVL2Xvn8bUA1lh7py5/2Z6fUgIWiX+F1XyKYVxI8yy9asIAvZJA==", "dev": true, "dependencies": { "gulp-plugin-extras": "^0.3.0", "modify-filename": "^2.0.0", "rev-hash": "^4.1.0", "rev-path": "^3.0.0", "sort-keys": "^5.0.0", "vinyl": "^3.0.0", "vinyl-file": "^5.0.0" }, "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" }, "peerDependencies": { "gulp": ">=4" }, "peerDependenciesMeta": { "gulp": { "optional": true } } }, "node_modules/gulp-rev-replace": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/gulp-rev-replace/-/gulp-rev-replace-0.4.4.tgz", "integrity": "sha512-2yiDel/TGamn/HgHyo8H1rYEEL2zLsOYODerItoX8batOo0gPAe7uX7t6NlaqB7FEHpS5tGzUr5CKUEmrgdHyQ==", "dev": true, "dependencies": { "plugin-error": "^0.1.2", "through2": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/arr-diff": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "dev": true, "dependencies": { "arr-flatten": "^1.0.1", "array-slice": "^0.2.3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/arr-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/extend-shallow": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "dev": true, "dependencies": { "kind-of": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/kind-of": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/plugin-error": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "dev": true, "dependencies": { "ansi-cyan": "^0.1.1", "ansi-red": "^0.1.1", "arr-diff": "^1.0.1", "arr-union": "^2.0.1", "extend-shallow": "^1.1.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-rev-replace/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "node_modules/gulp-rev/node_modules/vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/gulp-sass": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz", "integrity": "sha512-7VT0uaF+VZCmkNBglfe1b34bxn/AfcssquLKVDYnCDJ3xNBaW7cUuI3p3BQmoKcoKFrs9jdzUxyb+u+NGfL4OQ==", "dev": true, "dependencies": { "lodash.clonedeep": "^4.5.0", "picocolors": "^1.0.0", "plugin-error": "^1.0.1", "replace-ext": "^2.0.0", "strip-ansi": "^6.0.1", "vinyl-sourcemaps-apply": "^0.2.1" }, "engines": { "node": ">=12" } }, "node_modules/gulp-sourcemaps": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", "dev": true, "license": "ISC", "dependencies": { "@gulp-sourcemaps/identity-map": "^2.0.1", "@gulp-sourcemaps/map-sources": "^1.0.0", "acorn": "^6.4.1", "convert-source-map": "^1.0.0", "css": "^3.0.0", "debug-fabulous": "^1.0.0", "detect-newline": "^2.0.0", "graceful-fs": "^4.0.0", "source-map": "^0.6.0", "strip-bom-string": "^1.0.0", "through2": "^2.0.0" }, "engines": { "node": ">= 6" } }, "node_modules/gulp-sourcemaps/node_modules/acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/gulp-sourcemaps/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/gulp-sourcemaps/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "node_modules/gulp-stylelint": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-13.0.0.tgz", "integrity": "sha512-qFWBXnYDsGy6ttzqptctMZjJhhGc0FdFE+UNPlj/5fTyuUo5mfxcc7pzN4hIJnvB79BO1WikLtdtXuC/G2AhGA==", "dev": true, "dependencies": { "chalk": "^3.0.0", "fancy-log": "^1.3.3", "plugin-error": "^1.0.1", "source-map": "^0.7.3", "strip-ansi": "^6.0.0", "through2": "^3.0.1" }, "engines": { "node": ">=10.12.0" }, "peerDependencies": { "stylelint": "^13.0.0" } }, "node_modules/gulp-stylelint/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/gulp-stylelint/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, "node_modules/gulp-stylelint/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/gulp-stylelint/node_modules/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 }, "node_modules/gulp-stylelint/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/gulp-stylelint/node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/gulp-stylelint/node_modules/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/gulp-touch-fd": { "version": "2.0.0", "resolved": "git+ssh://git@github.com/funkedigital/gulp-touch-fd.git#37db9cfb962f8d05601e5224d10673db76de3a7f", "dev": true, "license": "ISC", "dependencies": { "map-stream": "0.0.7" } }, "node_modules/gulplog": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", "dev": true, "dependencies": { "glogg": "^2.2.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { "function-bind": "^1.1.1" }, "engines": { "node": ">= 0.4.0" } }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "license": "MIT", "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "license": "MIT", "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, "license": "MIT" }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "dependencies": { "parse-passwd": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "license": "ISC" }, "node_modules/html-tags": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/htmlparser2": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { "type": "github", "url": "https://github.com/sponsors/fb55" } ], "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "entities": "^4.3.0" } }, "node_modules/htmlparser2/node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/htmlparser2/node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, "engines": { "node": ">= 4" }, "funding": { "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/htmlparser2/node_modules/domutils": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.1" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/htmlparser2/node_modules/entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "dev": true, "engines": { "node": ">=0.12" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/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, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-lazy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true, "license": "MIT" }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "node_modules/inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.19", "mute-stream": "0.0.8", "run-async": "^2.4.0", "rxjs": "^6.6.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "engines": { "node": ">=8.0.0" } }, "node_modules/inquirer/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/inquirer/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/inquirer/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/inquirer/node_modules/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 }, "node_modules/inquirer/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/inquirer/node_modules/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "dependencies": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-accessor-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" }, "engines": { "node": ">= 0.10" } }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-alphanumeric": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "dev": true, "license": "MIT", "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ], "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/is-core-module": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", "dev": true, "dependencies": { "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-data-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-descriptor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-path-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-path-inside": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", "dev": true }, "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "dependencies": { "is-unc-path": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-supported-regexp-flag": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "dependencies": { "unc-path-regex": "^0.1.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "node_modules/is-valid-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-word-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/istextorbinary": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", "dev": true, "dependencies": { "binaryextensions": "^2.2.0", "textextensions": "^3.2.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://bevry.me/fund" } }, "node_modules/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, "license": "MIT" }, "node_modules/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, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, "node_modules/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, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/known-css-properties": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true }, "node_modules/last-run": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/last-run/-/last-run-2.0.0.tgz", "integrity": "sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/lead": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz", "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/liftoff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.0.tgz", "integrity": "sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==", "dev": true, "dependencies": { "extend": "^3.0.2", "findup-sync": "^5.0.0", "fined": "^2.0.0", "flagged-respawn": "^2.0.0", "is-plain-object": "^5.0.0", "rechoir": "^0.8.0", "resolve": "^1.20.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/liftoff/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/lilconfig": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", "dev": true, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/load-json-file/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/load-json-file/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, "node_modules/log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^2.0.1" }, "engines": { "node": ">=4" } }, "node_modules/longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", "dev": true, "license": "MIT", "dependencies": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, "node_modules/lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", "dev": true, "dependencies": { "es5-ext": "~0.10.2" } }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" }, "engines": { "node": ">=6" } }, "node_modules/make-dir/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/map-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/map-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", "dev": true }, "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "license": "MIT", "dependencies": { "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-escapes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/markdown-table": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", "dev": true, "license": "MIT" }, "node_modules/material-design-color": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/material-design-color/-/material-design-color-2.3.2.tgz", "integrity": "sha1-6K+VjYUqh0e/shHkjOEoK9qRiBU=", "dev": true }, "node_modules/material-shadows": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/material-shadows/-/material-shadows-3.0.1.tgz", "integrity": "sha1-WGrRKxZzYKjk6Je/dTDLaazqURA=", "dev": true }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/mdast-util-compact": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", "dev": true, "license": "MIT", "dependencies": { "unist-util-visit": "^1.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, "node_modules/memoizee": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", "dev": true, "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.53", "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", "is-promise": "^2.2.2", "lru-queue": "^0.1.0", "next-tick": "^1.1.0", "timers-ext": "^0.1.7" } }, "node_modules/meow": { "version": "10.1.5", "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", "dev": true, "dependencies": { "@types/minimist": "^1.2.2", "camelcase-keys": "^7.0.0", "decamelize": "^5.0.0", "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", "minimist-options": "4.1.0", "normalize-package-data": "^3.0.2", "read-pkg-up": "^8.0.0", "redent": "^4.0.0", "trim-newlines": "^4.0.2", "type-fest": "^1.2.2", "yargs-parser": "^20.2.9" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/camelcase-keys": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", "dev": true, "dependencies": { "camelcase": "^6.3.0", "map-obj": "^4.1.0", "quick-lru": "^5.1.1", "type-fest": "^1.2.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/decamelize": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, "engines": { "node": ">=10" } }, "node_modules/meow/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { "p-locate": "^5.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/minimist-options": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", "kind-of": "^6.0.3" }, "engines": { "node": ">= 6" } }, "node_modules/meow/node_modules/normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" }, "engines": { "node": ">=10" } }, "node_modules/meow/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { "p-limit": "^3.0.2" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/meow/node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/read-pkg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", "dev": true, "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^3.0.2", "parse-json": "^5.2.0", "type-fest": "^1.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/read-pkg-up": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", "dev": true, "dependencies": { "find-up": "^5.0.0", "read-pkg": "^6.0.0", "type-fest": "^1.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/redent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", "dev": true, "dependencies": { "indent-string": "^5.0.0", "strip-indent": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/meow/node_modules/strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", "dev": true, "dependencies": { "min-indent": "^1.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/meow/node_modules/trim-newlines": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/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 }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/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, "engines": { "node": ">=6" } }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/minimist-options": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", "dev": true, "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0" }, "engines": { "node": ">= 4" } }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "dependencies": { "minimist": "^1.2.5" }, "bin": { "mkdirp": "bin/cmd.js" } }, "node_modules/modify-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-2.0.0.tgz", "integrity": "sha512-VX9/MdgUN9StpSLImJ0+AyV2dxJJtyojIwRHF/Ja942tW7FTzxXI186jDSTk4k5wj2+59a4bRzFnJUgMSi+ygg==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/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 }, "node_modules/mute-stdout": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz", "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], "bin": { "nanoid": "bin/nanoid.cjs" }, "engines": { "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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 }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, "node_modules/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_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/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, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-selector": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", "dev": true, "license": "MIT" }, "node_modules/now-and-later": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz", "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==", "dev": true, "dependencies": { "once": "^1.4.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" }, "funding": { "url": "https://github.com/fb55/nth-check?sponsor=1" } }, "node_modules/num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", "dev": true, "license": "MIT" }, "node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, "license": "MIT" }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, "dependencies": { "array-each": "^1.0.1", "array-slice": "^1.0.0", "for-own": "^1.0.0", "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "dependencies": { "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { "mimic-fn": "^2.1.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { "p-limit": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/p-map": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", "dev": true, "dependencies": { "aggregate-error": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/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, "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/parse-entities": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", "dev": true, "license": "MIT", "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", "character-reference-invalid": "^1.0.0", "is-alphanumerical": "^1.0.0", "is-decimal": "^1.0.0", "is-hexadecimal": "^1.0.0" } }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, "dependencies": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", "path-root": "^0.1.1" }, "engines": { "node": ">=0.8" } }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, "license": "MIT" }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, "dependencies": { "path-root-regex": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/path-root-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "dependencies": { "find-up": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/plugin-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", "dev": true, "dependencies": { "ansi-colors": "^1.0.1", "arr-diff": "^4.0.0", "arr-union": "^3.1.0", "extend-shallow": "^3.0.2" }, "engines": { "node": ">= 0.10" } }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-html": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", "dev": true, "license": "MIT", "dependencies": { "htmlparser2": "^3.10.0" }, "peerDependencies": { "postcss": ">=5.0.0", "postcss-syntax": ">=0.36.0" } }, "node_modules/postcss-html/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/postcss-html/node_modules/htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "dev": true, "license": "MIT", "dependencies": { "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" } }, "node_modules/postcss-html/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/postcss-inline-svg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-inline-svg/-/postcss-inline-svg-6.0.0.tgz", "integrity": "sha512-ok5j0Iqsn8mS/5U1W+Im6qkQjm6nBxdwwJU+BSnBaDhLjC06h1xvy9MA+tefxhfZP/ARTRwARSozzYGf/sqEGg==", "dev": true, "dependencies": { "css-select": "^5.1.0", "dom-serializer": "^2.0.0", "htmlparser2": "^8.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.4" } }, "node_modules/postcss-inline-svg/node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/postcss-inline-svg/node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, "engines": { "node": ">= 4" }, "funding": { "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/postcss-inline-svg/node_modules/entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "dev": true, "engines": { "node": ">=0.12" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/postcss-jsx": { "version": "0.36.4", "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz", "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": ">=7.2.2" }, "peerDependencies": { "postcss": ">=5.0.0", "postcss-syntax": ">=0.36.0" } }, "node_modules/postcss-less": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", "dev": true, "license": "MIT", "dependencies": { "postcss": "^7.0.14" }, "engines": { "node": ">=6.14.4" } }, "node_modules/postcss-less/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true, "license": "ISC" }, "node_modules/postcss-less/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-less/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss-load-config": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.3.tgz", "integrity": "sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" }, "engines": { "node": ">= 18" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9" }, "peerDependenciesMeta": { "jiti": { "optional": true }, "postcss": { "optional": true } } }, "node_modules/postcss-markdown": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==", "dev": true, "license": "MIT", "dependencies": { "remark": "^10.0.1", "unist-util-find-all-after": "^1.0.2" }, "peerDependencies": { "postcss": ">=5.0.0", "postcss-syntax": ">=0.36.0" } }, "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, "node_modules/postcss-pseudo-classes": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/postcss-pseudo-classes/-/postcss-pseudo-classes-0.4.0.tgz", "integrity": "sha512-k1MTMzMdBg3eW05QV/W3rZyuzOFJ3HU3AMbMamillv5G/5NuepHdMl6jO+6GHnjxH12/sNmBqdOI+zYIP86kZg==", "dev": true, "peerDependencies": { "postcss": "^8.0.0" } }, "node_modules/postcss-reporter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^2.4.1", "lodash": "^4.17.11", "log-symbols": "^2.2.0", "postcss": "^7.0.7" }, "engines": { "node": ">=6" } }, "node_modules/postcss-reporter/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true, "license": "ISC" }, "node_modules/postcss-reporter/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-reporter/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", "dev": true }, "node_modules/postcss-safe-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true, "engines": { "node": ">=12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, "peerDependencies": { "postcss": "^8.3.3" } }, "node_modules/postcss-sass": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", "dev": true, "license": "MIT", "dependencies": { "gonzales-pe": "^4.2.3", "postcss": "^7.0.1" } }, "node_modules/postcss-sass/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true, "license": "ISC" }, "node_modules/postcss-sass/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-sass/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss-scss": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss-scss" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "engines": { "node": ">=12.0" }, "peerDependencies": { "postcss": "^8.4.29" } }, "node_modules/postcss-selector-parser": { "version": "6.0.16", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, "node_modules/postcss-sorting": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", "dev": true, "peerDependencies": { "postcss": "^8.4.20" } }, "node_modules/postcss-svgo": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", "dev": true, "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^3.3.2" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >= 18" }, "peerDependencies": { "postcss": "^8.4.31" } }, "node_modules/postcss-syntax": { "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", "dev": true, "license": "MIT", "peerDependencies": { "postcss": ">=5.0.0" } }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dev": true, "dependencies": { "asap": "~2.0.6" } }, "node_modules/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, "engines": { "node": ">=6" } }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/queue-tick": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", "dev": true }, "node_modules/quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/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, "license": "MIT", "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "dependencies": { "resolve": "^1.20.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/redent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", "dev": true, "license": "MIT", "dependencies": { "indent-string": "^3.0.0", "strip-indent": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/redent/node_modules/indent-string": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true, "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/remark": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", "dev": true, "license": "MIT", "dependencies": { "remark-parse": "^6.0.0", "remark-stringify": "^6.0.0", "unified": "^7.0.0" } }, "node_modules/remark-parse": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", "dev": true, "license": "MIT", "dependencies": { "collapse-white-space": "^1.0.2", "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "is-word-character": "^1.0.0", "markdown-escapes": "^1.0.0", "parse-entities": "^1.1.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", "unist-util-remove-position": "^1.0.0", "vfile-location": "^2.0.0", "xtend": "^4.0.1" } }, "node_modules/remark-stringify": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", "dev": true, "license": "MIT", "dependencies": { "ccount": "^1.0.0", "is-alphanumeric": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "longest-streak": "^2.0.1", "markdown-escapes": "^1.0.0", "markdown-table": "^1.1.0", "mdast-util-compact": "^1.0.0", "parse-entities": "^1.0.2", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "stringify-entities": "^1.0.1", "unherit": "^1.0.4", "xtend": "^4.0.1" } }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/replace-ext": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, "engines": { "node": ">= 10" } }, "node_modules/replace-homedir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-2.0.0.tgz", "integrity": "sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/replacestream": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", "dev": true, "dependencies": { "escape-string-regexp": "^1.0.3", "object-assign": "^4.0.1", "readable-stream": "^2.0.2" } }, "node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/resolve-options": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-2.0.0.tgz", "integrity": "sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==", "dev": true, "dependencies": { "value-or-function": "^4.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true, "license": "MIT" }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, "license": "MIT", "engines": { "node": ">=0.12" } }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rev-hash": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/rev-hash/-/rev-hash-4.1.0.tgz", "integrity": "sha512-e0EGnaveLY2IYpYwHNdh43WZ2M84KgW3Z/T4F6+Z/BlZI/T1ZbxTWj36xgYgUPOieGXYo2q225jTeUXn+LWYjw==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rev-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rev-path/-/rev-path-3.0.0.tgz", "integrity": "sha512-2fUuv6IC7Z+Vj+DXEunJYJDZuwSsaJJHeLar3n2PGvHSH7j5+Xpd/Xh7PenekH4WQhxFuHtsGwd1dCh/HvT6Gw==", "dev": true, "dependencies": { "modify-filename": "^2.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/rollup": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.19.1", "@rollup/rollup-android-arm64": "4.19.1", "@rollup/rollup-darwin-arm64": "4.19.1", "@rollup/rollup-darwin-x64": "4.19.1", "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", "@rollup/rollup-linux-arm-musleabihf": "4.19.1", "@rollup/rollup-linux-arm64-gnu": "4.19.1", "@rollup/rollup-linux-arm64-musl": "4.19.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", "@rollup/rollup-linux-riscv64-gnu": "4.19.1", "@rollup/rollup-linux-s390x-gnu": "4.19.1", "@rollup/rollup-linux-x64-gnu": "4.19.1", "@rollup/rollup-linux-x64-musl": "4.19.1", "@rollup/rollup-win32-arm64-msvc": "4.19.1", "@rollup/rollup-win32-ia32-msvc": "4.19.1", "@rollup/rollup-win32-x64-msvc": "4.19.1", "fsevents": "~2.3.2" } }, "node_modules/rollup-plugin-output-manifest": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-output-manifest/-/rollup-plugin-output-manifest-2.0.0.tgz", "integrity": "sha512-RJJ/MzM2Sj65o63qs1aIwD+AofAhdYi5Hx1Pk8/Fn6dWxbcSlficfJLNGeYJ14CPi7CHvEHwgjs23LiFS/x/Dw==", "dev": true, "dependencies": { "@types/node": "^13.9.1", "tslib": "^1.10.0" } }, "node_modules/rollup-plugin-output-manifest/node_modules/@types/node": { "version": "13.13.52", "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", "dev": true }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, "engines": { "node": ">=0.12.0" } }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ], "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { "tslib": "^1.9.0" }, "engines": { "npm": ">=2.0.0" } }, "node_modules/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 }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "license": "MIT", "dependencies": { "ret": "~0.1.10" } }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "node_modules/sass": { "version": "1.77.8", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, "license": "MIT", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { "sass": "sass.js" }, "engines": { "node": ">=14.0.0" } }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/semver-greatest-satisfied-range": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-2.0.0.tgz", "integrity": "sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==", "dev": true, "dependencies": { "sver": "^1.8.3" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/set-value/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { "kind-of": "^6.0.2" }, "engines": { "node": ">=8" } }, "node_modules/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, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/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, "engines": { "node": ">=8" } }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "node_modules/slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/slice-ansi/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/slice-ansi/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/slice-ansi/node_modules/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 }, "node_modules/smob": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "license": "MIT", "dependencies": { "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon-util/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, "license": "MIT" }, "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/snapdragon/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, "node_modules/snapdragon/node_modules/source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "node_modules/sort-keys": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", "dev": true, "dependencies": { "is-plain-obj": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/sort-keys/node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0" } }, "node_modules/source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "node_modules/source-map-support/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true, "license": "MIT" }, "node_modules/sparkles": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, "node_modules/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, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, "node_modules/specificity": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", "dev": true, "license": "MIT", "bin": { "specificity": "bin/specificity" } }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "node_modules/state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/stream-composer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz", "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==", "dev": true, "dependencies": { "streamx": "^2.13.2" } }, "node_modules/stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "node_modules/streamx": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", "dev": true, "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/stringify-entities": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", "dev": true, "license": "MIT", "dependencies": { "character-entities-html4": "^1.0.0", "character-entities-legacy": "^1.0.0", "is-alphanumerical": "^1.0.0", "is-hexadecimal": "^1.0.0" } }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-bom-buf": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", "dev": true, "dependencies": { "is-utf8": "^0.2.1" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-bom-stream": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", "dev": true, "dependencies": { "first-chunk-stream": "^5.0.0", "strip-bom-buf": "^3.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/strip-indent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/style-search": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", "dev": true }, "node_modules/stylelint": { "version": "15.11.0", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "dependencies": { "@csstools/css-parser-algorithms": "^2.3.1", "@csstools/css-tokenizer": "^2.2.0", "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", "css-functions-list": "^3.2.1", "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^7.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", "ignore": "^5.2.4", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.29.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", "postcss": "^8.4.28", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "style-search": "^0.1.0", "supports-hyperlinks": "^3.0.0", "svg-tags": "^1.0.0", "table": "^6.8.1", "write-file-atomic": "^5.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" }, "engines": { "node": "^14.13.1 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/stylelint" } }, "node_modules/stylelint-config-rational-order": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/stylelint-config-rational-order/-/stylelint-config-rational-order-0.1.2.tgz", "integrity": "sha512-Qo7ZQaihCwTqijfZg4sbdQQHtugOX/B1/fYh018EiDZHW+lkqH9uHOnsDwDPGZrYJuB6CoyI7MZh2ecw2dOkew==", "dev": true, "license": "Apache-2.0", "dependencies": { "stylelint": "^9.10.1", "stylelint-order": "^2.2.1" } }, "node_modules/stylelint-config-rational-order/node_modules/@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true, "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/stylelint-config-rational-order/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dev": true, "license": "MIT", "dependencies": { "array-uniq": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/autoprefixer": { "version": "9.8.8", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "license": "MIT", "dependencies": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, "funding": { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, "node_modules/stylelint-config-rational-order/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "license": "MIT", "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "license": "MIT", "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dev": true, "license": "MIT", "dependencies": { "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true, "license": "MIT" }, "node_modules/stylelint-config-rational-order/node_modules/fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "dev": true, "license": "MIT", "dependencies": { "@mrmlnc/readdir-enhanced": "^2.2.1", "@nodelib/fs.stat": "^1.1.2", "glob-parent": "^3.1.0", "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" }, "engines": { "node": ">=4.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/file-entry-cache": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", "dev": true, "license": "MIT", "dependencies": { "flat-cache": "^2.0.1" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "license": "ISC", "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/globby": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", "dev": true, "license": "MIT", "dependencies": { "@types/glob": "^7.1.1", "array-union": "^1.0.2", "dir-glob": "^2.2.2", "fast-glob": "^2.2.6", "glob": "^7.1.3", "ignore": "^4.0.3", "pify": "^4.0.1", "slash": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", "dev": true, "license": "MIT", "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/import-fresh/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, "license": "MIT" }, "node_modules/stylelint-config-rational-order/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/known-css-properties": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", "dev": true, "license": "MIT" }, "node_modules/stylelint-config-rational-order/node_modules/meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", "dev": true, "license": "MIT", "dependencies": { "camelcase-keys": "^4.0.0", "decamelize-keys": "^1.0.0", "loud-rejection": "^1.0.0", "minimist-options": "^3.0.1", "normalize-package-data": "^2.3.4", "read-pkg-up": "^3.0.0", "redent": "^2.0.0", "trim-newlines": "^2.0.0", "yargs-parser": "^10.0.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/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, "license": "MIT", "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/path-type/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/stylelint-config-rational-order/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "node_modules/stylelint-config-rational-order/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/stylelint-config-rational-order/node_modules/postcss-safe-parser": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", "dev": true, "license": "MIT", "dependencies": { "postcss": "^7.0.26" }, "engines": { "node": ">=6.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/postcss-scss": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", "dev": true, "license": "MIT", "dependencies": { "postcss": "^7.0.6" }, "engines": { "node": ">=6.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", "dev": true, "license": "MIT", "dependencies": { "dot-prop": "^5.2.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" }, "engines": { "node": ">=8" } }, "node_modules/stylelint-config-rational-order/node_modules/postcss-sorting": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-4.1.0.tgz", "integrity": "sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw==", "dev": true, "dependencies": { "lodash": "^4.17.4", "postcss": "^7.0.0" }, "engines": { "node": ">=6.14.3" } }, "node_modules/stylelint-config-rational-order/node_modules/slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/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, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/stylelint": { "version": "9.10.1", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", "dev": true, "license": "MIT", "dependencies": { "autoprefixer": "^9.0.0", "balanced-match": "^1.0.0", "chalk": "^2.4.1", "cosmiconfig": "^5.0.0", "debug": "^4.0.0", "execall": "^1.0.0", "file-entry-cache": "^4.0.0", "get-stdin": "^6.0.0", "global-modules": "^2.0.0", "globby": "^9.0.0", "globjoin": "^0.1.4", "html-tags": "^2.0.0", "ignore": "^5.0.4", "import-lazy": "^3.1.0", "imurmurhash": "^0.1.4", "known-css-properties": "^0.11.0", "leven": "^2.1.0", "lodash": "^4.17.4", "log-symbols": "^2.0.0", "mathml-tag-names": "^2.0.1", "meow": "^5.0.0", "micromatch": "^3.1.10", "normalize-selector": "^0.2.0", "pify": "^4.0.0", "postcss": "^7.0.13", "postcss-html": "^0.36.0", "postcss-jsx": "^0.36.0", "postcss-less": "^3.1.0", "postcss-markdown": "^0.36.0", "postcss-media-query-parser": "^0.2.3", "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^4.0.0", "postcss-sass": "^0.3.5", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^3.1.0", "postcss-syntax": "^0.36.2", "postcss-value-parser": "^3.3.0", "resolve-from": "^4.0.0", "signal-exit": "^3.0.2", "slash": "^2.0.0", "specificity": "^0.4.1", "string-width": "^3.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", "table": "^5.0.0" }, "bin": { "stylelint": "bin/stylelint.js" }, "engines": { "node": ">=6" } }, "node_modules/stylelint-config-rational-order/node_modules/stylelint-order": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-2.2.1.tgz", "integrity": "sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg==", "dev": true, "dependencies": { "lodash": "^4.17.10", "postcss": "^7.0.2", "postcss-sorting": "^4.1.0" }, "engines": { "node": ">=6" }, "peerDependencies": { "stylelint": "^9.10.1 || ^10.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/stylelint-config-rational-order/node_modules/stylelint/node_modules/postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true, "license": "MIT" }, "node_modules/stylelint-config-rational-order/node_modules/table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/stylelint-config-rational-order/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "license": "MIT", "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint-config-rational-order/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/stylelint-config-rational-order/node_modules/yargs-parser": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "license": "ISC", "dependencies": { "camelcase": "^4.1.0" } }, "node_modules/stylelint-config-recommended": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/stylelint" }, { "type": "github", "url": "https://github.com/sponsors/stylelint" } ], "license": "MIT", "engines": { "node": ">=18.12.0" }, "peerDependencies": { "stylelint": "^16.1.0" } }, "node_modules/stylelint-config-standard": { "version": "36.0.1", "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/stylelint" }, { "type": "github", "url": "https://github.com/sponsors/stylelint" } ], "license": "MIT", "dependencies": { "stylelint-config-recommended": "^14.0.1" }, "engines": { "node": ">=18.12.0" }, "peerDependencies": { "stylelint": "^16.1.0" } }, "node_modules/stylelint-order": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz", "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==", "dev": true, "dependencies": { "postcss": "^8.4.32", "postcss-sorting": "^8.0.2" }, "peerDependencies": { "stylelint": "^14.0.0 || ^15.0.0 || ^16.0.1" } }, "node_modules/stylelint-scss": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz", "integrity": "sha512-+clI2bQC2FPOt06ZwUlXZZ95IO2C5bKTP0GLN1LNQPVvISfSNcgMKv/VTwym1mK9vnqhHbOk8lO4rj4nY7L9pw==", "dev": true, "license": "MIT", "dependencies": { "known-css-properties": "^0.34.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-selector-parser": "^6.1.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": ">=18.12.0" }, "peerDependencies": { "stylelint": "^16.0.2" } }, "node_modules/stylelint-scss/node_modules/known-css-properties": { "version": "0.34.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", "dev": true, "license": "MIT" }, "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true }, "node_modules/stylelint/node_modules/file-entry-cache": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz", "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==", "dev": true, "dependencies": { "flat-cache": "^3.2.0" }, "engines": { "node": ">=12.0.0" } }, "node_modules/stylelint/node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, "node_modules/stylelint/node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "dependencies": { "global-prefix": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/stylelint/node_modules/global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" }, "engines": { "node": ">=6" } }, "node_modules/stylelint/node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/stylelint/node_modules/import-lazy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/stylelint/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/stylelint/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/stylelint/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "bin/which" } }, "node_modules/sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", "dev": true, "license": "MIT", "dependencies": { "postcss": "^7.0.2" } }, "node_modules/sugarss/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true, "license": "ISC" }, "node_modules/sugarss/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/sugarss/node_modules/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, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/supports-hyperlinks": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", "dev": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { "node": ">=14.18" } }, "node_modules/supports-hyperlinks/node_modules/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, "engines": { "node": ">=8" } }, "node_modules/supports-hyperlinks/node_modules/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, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/sver": { "version": "1.8.4", "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz", "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==", "dev": true, "optionalDependencies": { "semver": "^6.3.0" } }, "node_modules/svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", "dev": true }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.0.0" }, "bin": { "svgo": "bin/svgo" }, "engines": { "node": ">=14.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/svgo" } }, "node_modules/svgo/node_modules/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, "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=10.0.0" } }, "node_modules/table/node_modules/ajv": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/teex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dev": true, "dependencies": { "streamx": "^2.12.5" } }, "node_modules/ternary-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", "dev": true, "dependencies": { "duplexify": "^4.1.1", "fork-stream": "^0.0.4", "merge-stream": "^2.0.0", "through2": "^3.0.1" } }, "node_modules/terser": { "version": "5.31.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" }, "engines": { "node": ">=10" } }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "node_modules/textextensions": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz", "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://bevry.me/fund" } }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "node_modules/through2": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "dependencies": { "readable-stream": "2 || 3" } }, "node_modules/time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/timers-ext": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", "dev": true, "dependencies": { "es5-ext": "~0.10.46", "next-tick": "1" } }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "dependencies": { "os-tmpdir": "~1.0.2" }, "engines": { "node": ">=0.6.0" } }, "node_modules/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, "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/to-object-path/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, "license": "MIT" }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, "engines": { "node": ">=8.0" } }, "node_modules/to-through": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz", "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==", "dev": true, "dependencies": { "streamx": "^2.12.5" }, "engines": { "node": ">=10.13.0" } }, "node_modules/trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", "deprecated": "Use String.prototype.trim() instead", "dev": true }, "node_modules/trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/trim-trailing-lines": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true, "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/undertaker": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-2.0.0.tgz", "integrity": "sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==", "dev": true, "dependencies": { "bach": "^2.0.1", "fast-levenshtein": "^3.0.0", "last-run": "^2.0.0", "undertaker-registry": "^2.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/undertaker-registry": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-2.0.0.tgz", "integrity": "sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/undertaker/node_modules/fast-levenshtein": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, "dependencies": { "fastest-levenshtein": "^1.0.7" } }, "node_modules/unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.0", "xtend": "^4.0.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unified": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", "dev": true, "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "@types/vfile": "^3.0.0", "bail": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^1.1.0", "trough": "^1.0.0", "vfile": "^3.0.0", "x-is-string": "^0.1.0" } }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/union-value/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", "dev": true, "license": "MIT" }, "node_modules/unist-util-find-all-after": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz", "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==", "dev": true, "license": "MIT", "dependencies": { "unist-util-is": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-is": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==", "dev": true, "license": "MIT" }, "node_modules/unist-util-remove-position": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", "dev": true, "license": "MIT", "dependencies": { "unist-util-visit": "^1.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-stringify-position": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", "dev": true, "license": "MIT" }, "node_modules/unist-util-visit": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", "dev": true, "license": "MIT", "dependencies": { "unist-util-visit-parents": "^2.0.0" } }, "node_modules/unist-util-visit-parents": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "dev": true, "license": "MIT", "dependencies": { "unist-util-is": "^3.0.0" } }, "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "license": "MIT", "dependencies": { "isarray": "1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { "escalade": "^3.1.2", "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" } }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true, "license": "MIT" }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "node_modules/v8flags": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz", "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/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, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "node_modules/value-or-function": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz", "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==", "dev": true, "engines": { "node": ">= 10.13.0" } }, "node_modules/vfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", "dev": true, "license": "MIT", "dependencies": { "is-buffer": "^2.0.0", "replace-ext": "1.0.0", "unist-util-stringify-position": "^1.0.0", "vfile-message": "^1.0.0" } }, "node_modules/vfile-location": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", "dev": true, "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/vfile-message": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "dev": true, "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/vfile-message/node_modules/@types/unist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true, "license": "MIT" }, "node_modules/vfile-message/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dev": true, "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/vfile/node_modules/replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", "integrity": "sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/vfile/node_modules/vfile-message": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", "dev": true, "license": "MIT", "dependencies": { "unist-util-stringify-position": "^1.1.1" } }, "node_modules/vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, "dependencies": { "clone": "^2.1.1", "clone-buffer": "^1.0.0", "clone-stats": "^1.0.0", "cloneable-readable": "^1.0.0", "remove-trailing-separator": "^1.0.1", "replace-ext": "^1.0.0" }, "engines": { "node": ">= 0.10" } }, "node_modules/vinyl-contents": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz", "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==", "dev": true, "dependencies": { "bl": "^5.0.0", "vinyl": "^3.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-contents/node_modules/vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-file": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", "dev": true, "dependencies": { "@types/vinyl": "^2.0.7", "strip-bom-buf": "^3.0.1", "strip-bom-stream": "^5.0.0", "vinyl": "^3.0.0" }, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/vinyl-file/node_modules/vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-fs": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", "integrity": "sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==", "dev": true, "dependencies": { "fs-mkdirp-stream": "^2.0.1", "glob-stream": "^8.0.0", "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", "lead": "^4.0.0", "normalize-path": "3.0.0", "resolve-options": "^2.0.0", "stream-composer": "^1.0.2", "streamx": "^2.14.0", "to-through": "^3.0.0", "value-or-function": "^4.0.0", "vinyl": "^3.0.0", "vinyl-sourcemap": "^2.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-fs/node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/vinyl-fs/node_modules/vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-paths": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/vinyl-paths/-/vinyl-paths-5.0.0.tgz", "integrity": "sha512-mlclGXHx/ZWInRh92Ti/qaJAZSDmfXL9TsUVs5z8mKueiS76GtVaZYD2vEtm4RePAt69vGZGHKe5d790CPcd1g==", "dev": true, "dependencies": { "easy-transform-stream": "^1.0.0" }, "engines": { "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/vinyl-sourcemap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz", "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==", "dev": true, "dependencies": { "convert-source-map": "^2.0.0", "graceful-fs": "^4.2.10", "now-and-later": "^3.0.0", "streamx": "^2.12.5", "vinyl": "^3.0.0", "vinyl-contents": "^2.0.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-sourcemap/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "node_modules/vinyl-sourcemap/node_modules/vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" }, "engines": { "node": ">=10.13.0" } }, "node_modules/vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", "dev": true, "dependencies": { "source-map": "^0.5.1" } }, "node_modules/vinyl/node_modules/replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/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, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi/node_modules/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, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/wrap-ansi/node_modules/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, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/wrap-ansi/node_modules/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 }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "node_modules/write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "dependencies": { "mkdirp": "^0.5.1" }, "engines": { "node": ">=4" } }, "node_modules/write-file-atomic": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/x-is-string": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", "integrity": "sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==", "dev": true }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "node_modules/yaml": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", "dev": true, "bin": { "yaml": "bin.mjs" }, "engines": { "node": ">= 14" } }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" } }, "node_modules/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, "engines": { "node": ">=10" } }, "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" } }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } } }, "dependencies": { "@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" }, "dependencies": { "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" } } } }, "@babel/cli": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz", "integrity": "sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.25", "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0", "commander": "^6.2.0", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.2.0", "make-dir": "^2.1.0", "slash": "^2.0.0" }, "dependencies": { "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true } } }, "@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "requires": { "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" } }, "@babel/compat-data": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", "dev": true }, "@babel/core": { "version": "7.24.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.24.9", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-module-transforms": "^7.24.9", "@babel/helpers": "^7.24.8", "@babel/parser": "^7.24.8", "@babel/template": "^7.24.7", "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" }, "dependencies": { "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true } } }, "@babel/eslint-parser": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.0.tgz", "integrity": "sha512-mlcTKuQAjczDRwWLIxv+Q925jaMUO8Jl5dxmWJSSGVYfZ4rKMp8daQvVC3rM1G2v8V+/fO0yIVTSLS+2zcB8rg==", "dev": true, "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.1" }, "dependencies": { "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true } } }, "@babel/generator": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, "requires": { "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" } }, "@babel/helper-annotate-as-pure": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "requires": { "@babel/types": "^7.24.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" } }, "@babel/helper-compilation-targets": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, "requires": { "@babel/compat-data": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "dependencies": { "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" } }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "@babel/helper-create-class-features-plugin": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.7", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" } }, "@babel/helper-create-regexp-features-plugin": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" } }, "@babel/helper-define-polyfill-provider": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2" } }, "@babel/helper-environment-visitor": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, "requires": { "@babel/types": "^7.24.7" } }, "@babel/helper-function-name": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, "requires": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" } }, "@babel/helper-member-expression-to-functions": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "requires": { "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.8" } }, "@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" } }, "@babel/helper-module-transforms": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz", "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.0" } }, "@babel/helper-optimise-call-expression": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "requires": { "@babel/types": "^7.24.7" } }, "@babel/helper-plugin-utils": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true }, "@babel/helper-remap-async-to-generator": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-wrap-function": "^7.25.0", "@babel/traverse": "^7.25.0" } }, "@babel/helper-replace-supers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/traverse": "^7.25.0" } }, "@babel/helper-simple-access": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" } }, "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" } }, "@babel/helper-split-export-declaration": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "requires": { "@babel/types": "^7.24.7" } }, "@babel/helper-string-parser": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true }, "@babel/helper-validator-identifier": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, "@babel/helper-validator-option": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true }, "@babel/helper-wrap-function": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, "requires": { "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.0", "@babel/types": "^7.25.0" } }, "@babel/helpers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, "requires": { "@babel/template": "^7.25.0", "@babel/types": "^7.25.0" } }, "@babel/highlight": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "@babel/parser": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", "dev": true }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", "integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" } }, "@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.7" } }, "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" } }, "@babel/plugin-external-helpers": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.24.7.tgz", "integrity": "sha512-IgK2yjWkxQhtc+UvSbUA8GfIDCQvs7FxqNtgLkmO5FAKos53sT2sl9bxeO4NxjcnZs27xnYIMyhjdXkNaZP4jA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "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-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-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-import-assertions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-syntax-import-attributes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@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-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@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-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-arrow-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-async-generator-functions": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/traverse": "^7.25.0" } }, "@babel/plugin-transform-async-to-generator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-remap-async-to-generator": "^7.24.7" } }, "@babel/plugin-transform-block-scoped-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-block-scoping": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-class-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-class-static-block": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-transform-classes": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", "@babel/traverse": "^7.25.0", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/template": "^7.24.7" } }, "@babel/plugin-transform-destructuring": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-dotall-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-duplicate-keys": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-export-namespace-from": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" } }, "@babel/plugin-transform-function-name": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz", "integrity": "sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" } }, "@babel/plugin-transform-json-strings": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-logical-assignment-operators": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-modules-amd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-modules-commonjs": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" } }, "@babel/plugin-transform-modules-systemjs": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.0" } }, "@babel/plugin-transform-modules-umd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-new-target": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-transform-numeric-separator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-transform-object-rest-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.24.7" } }, "@babel/plugin-transform-object-super": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7" } }, "@babel/plugin-transform-optional-catch-binding": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-transform-optional-chaining": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-private-methods": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-private-property-in-object": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-regenerator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" } }, "@babel/plugin-transform-reserved-words": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-shorthand-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" } }, "@babel/plugin-transform-sticky-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-template-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-typeof-symbol": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-unicode-escapes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-unicode-property-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-unicode-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-unicode-sets-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/preset-env": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz", "integrity": "sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==", "dev": true, "requires": { "@babel/compat-data": "^7.25.0", "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.24.7", "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@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-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.0", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-class-static-block": "^7.24.7", "@babel/plugin-transform-classes": "^7.25.0", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", "@babel/plugin-transform-duplicate-keys": "^7.24.7", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", "@babel/plugin-transform-dynamic-import": "^7.24.7", "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.0", "@babel/plugin-transform-json-strings": "^7.24.7", "@babel/plugin-transform-literals": "^7.24.7", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-modules-systemjs": "^7.25.0", "@babel/plugin-transform-modules-umd": "^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-new-target": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-object-super": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-reserved-words": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-template-literals": "^7.24.7", "@babel/plugin-transform-typeof-symbol": "^7.24.8", "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.4", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" } }, "@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", "esutils": "^2.0.2" } }, "@babel/register": { "version": "7.24.6", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", "dev": true, "requires": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", "pirates": "^4.0.6", "source-map-support": "^0.5.16" } }, "@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "dev": true }, "@babel/runtime": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" } }, "@babel/template": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "requires": { "@babel/code-frame": "^7.24.7", "@babel/parser": "^7.25.0", "@babel/types": "^7.25.0" } }, "@babel/traverse": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", "dev": true, "requires": { "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.0", "@babel/template": "^7.25.0", "@babel/types": "^7.25.0", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" } }, "@csstools/css-parser-algorithms": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true }, "@csstools/css-tokenizer": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true }, "@csstools/media-query-list-parser": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true }, "@csstools/selector-specificity": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz", "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==", "dev": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" }, "dependencies": { "eslint-visitor-keys": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "dev": true } } }, "@eslint-community/regexpp": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true }, "@eslint/config-array": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, "requires": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true }, "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" } } } }, "@eslint/js": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true }, "@eslint/object-schema": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true }, "@fortawesome/fontawesome-free": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", "dev": true }, "@gulp-sourcemaps/identity-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", "dev": true, "requires": { "acorn": "^6.4.1", "normalize-path": "^3.0.0", "postcss": "^7.0.16", "source-map": "^0.6.0", "through2": "^3.0.1" }, "dependencies": { "acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "@gulp-sourcemaps/map-sources": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", "dev": true, "requires": { "normalize-path": "^2.0.1", "through2": "^2.0.3" }, "dependencies": { "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } } } }, "@gulpjs/messages": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@gulpjs/messages/-/messages-1.1.0.tgz", "integrity": "sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==", "dev": true }, "@gulpjs/to-absolute-glob": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz", "integrity": "sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==", "dev": true, "requires": { "is-negated-glob": "^1.0.0" } }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/retry": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", "dev": true }, "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/source-map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@mdi/svg": { "version": "7.4.47", "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz", "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==", "dev": true }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "requires": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" } }, "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, "optional": true }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, "requires": { "eslint-scope": "5.1.1" } }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@primer/octicons": { "version": "19.11.0", "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-19.11.0.tgz", "integrity": "sha512-dJfi3I7zF4JyqHyHpxaUliUa//w4AmTYAo0i5KgKbz92ZQ0IizRU1rlW+eVdYk5nitAebpUX7gnKceZBDGW3XQ==", "dev": true, "requires": { "object-assign": "^4.1.1" } }, "@rollup/plugin-babel": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", "@rollup/pluginutils": "^5.0.1" } }, "@rollup/plugin-terser": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "requires": { "serialize-javascript": "^6.0.1", "smob": "^1.0.0", "terser": "^5.17.4" } }, "@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, "requires": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^2.3.1" } }, "@rollup/rollup-android-arm-eabi": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", "dev": true, "optional": true }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/expect": { "version": "1.20.4", "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", "dev": true }, "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" } }, "@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "@types/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true }, "@types/node": { "version": "14.17.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.11.tgz", "integrity": "sha512-n2OQ+0Bz6WEsUjrvcHD1xZ8K+Kgo4cn9/w94s1bJS690QMUWfJPW/m7CCb7gPkA1fcYwL2UpjXP/rq/Eo41m6w==", "dev": true }, "@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "@types/unist": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "@types/vfile": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", "dev": true, "requires": { "@types/node": "*", "@types/unist": "*", "@types/vfile-message": "*" } }, "@types/vfile-message": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", "dev": true, "requires": { "vfile-message": "*" } }, "@types/vinyl": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.10.tgz", "integrity": "sha512-DqN5BjCrmjAtZ1apqzcq2vk2PSW0m1nFfjIafBFkAyddmHxuw3ZAK3omLiSdpuu81+8h07i6U4DtaE38Xsf2xQ==", "dev": true, "requires": { "@types/expect": "^1.20.4", "@types/node": "*" } }, "acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, "aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", "dev": true, "requires": { "clean-stack": "^4.0.0", "indent-string": "^5.0.0" } }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, "requires": { "ansi-wrap": "^0.1.0" } }, "ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", "dev": true, "requires": { "ansi-wrap": "0.1.0" } }, "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" }, "dependencies": { "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 } } }, "ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", "dev": true, "requires": { "ansi-wrap": "0.1.0" } }, "ansi-red": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "dev": true, "requires": { "ansi-wrap": "0.1.0" } }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "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" } }, "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, "anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "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" } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", "dev": true }, "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async-done": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz", "integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==", "dev": true, "requires": { "end-of-stream": "^1.4.4", "once": "^1.4.0", "stream-exhaust": "^1.0.2" } }, "async-settle": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-2.0.0.tgz", "integrity": "sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==", "dev": true, "requires": { "async-done": "^2.0.0" } }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "autoprefixer": { "version": "10.4.19", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "requires": { "browserslist": "^4.23.0", "caniuse-lite": "^1.0.30001599", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true }, "babel-plugin-polyfill-corejs2": { "version": "0.4.10", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.6.1", "core-js-compat": "^3.36.1" } }, "babel-plugin-polyfill-regenerator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.6.1" } }, "bach": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/bach/-/bach-2.0.1.tgz", "integrity": "sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==", "dev": true, "requires": { "async-done": "^2.0.0", "async-settle": "^2.0.0", "now-and-later": "^3.0.0" } }, "bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", "dev": true }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "bare-events": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", "dev": true, "optional": true }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } } } }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "binaryextensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", "dev": true }, "bl": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dev": true, "requires": { "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" }, "dependencies": { "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "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.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { "fill-range": "^7.1.1" } }, "browserslist": { "version": "4.23.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001640", "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", "update-browserslist-db": "^1.1.0" } }, "buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", "has-value": "^1.0.0", "isobject": "^3.0.1", "set-value": "^2.0.0", "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" } }, "call-me-maybe": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", "dev": true }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "requires": { "callsites": "^2.0.0" }, "dependencies": { "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "dev": true } } }, "caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "requires": { "caller-callsite": "^2.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": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", "dev": true }, "camelcase-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", "dev": true, "requires": { "camelcase": "^4.1.0", "map-obj": "^2.0.0", "quick-lru": "^1.0.0" } }, "caniuse-lite": { "version": "1.0.30001643", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", "dev": true }, "ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", "dev": true }, "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" } }, "character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "dev": true }, "character-entities-html4": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", "dev": true }, "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", "dev": true }, "character-reference-invalid": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, "chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "dependencies": { "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { "binary-extensions": "^2.0.0" } }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" } } } }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } } } }, "clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, "requires": { "source-map": "~0.6.0" }, "dependencies": { "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 } } }, "clean-stack": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", "dev": true, "requires": { "escape-string-regexp": "5.0.0" }, "dependencies": { "escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true } } }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" } }, "cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, "clone-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } }, "clone-regexp": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", "dev": true, "requires": { "is-regexp": "^1.0.0", "is-supported-regexp-flag": "^1.0.0" } }, "clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", "dev": true }, "cloneable-readable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "requires": { "inherits": "^2.0.1", "process-nextick-args": "^2.0.0", "readable-stream": "^2.3.5" } }, "collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", "dev": true }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.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 }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, "colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true }, "commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "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 }, "concat-with-sourcemaps": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", "dev": true, "requires": { "source-map": "^0.6.1" }, "dependencies": { "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 } } }, "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" } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "copy-props": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-4.0.0.tgz", "integrity": "sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==", "dev": true, "requires": { "each-props": "^3.0.0", "is-plain-object": "^5.0.0" }, "dependencies": { "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true } } }, "core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", "dev": true, "requires": { "browserslist": "^4.23.0" } }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "requires": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "dependencies": { "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" } } } }, "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" } }, "css": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "dev": true, "requires": { "inherits": "^2.0.4", "source-map": "^0.6.1", "source-map-resolve": "^0.6.0" }, "dependencies": { "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 } } }, "css-functions-list": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true }, "css-mqpacker": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/css-mqpacker/-/css-mqpacker-7.0.0.tgz", "integrity": "sha512-temVrWS+sB4uocE2quhW8ru/KguDmGhCU7zN213KxtDvWOH3WS/ZUStfpF4fdCT7W8fPpFrQdWRFqtFtPPfBLA==", "dev": true, "requires": { "minimist": "^1.2.0", "postcss": "^7.0.0" }, "dependencies": { "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "requires": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" }, "dependencies": { "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "requires": { "domelementtype": "^2.3.0" } }, "domutils": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.1" } }, "entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "dev": true } } }, "css-tree": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, "requires": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" } }, "css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "requires": { "css-tree": "~2.2.0" }, "dependencies": { "css-tree": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "requires": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "mdn-data": { "version": "2.0.28", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "dev": true } } }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", "dev": true, "requires": { "array-find-index": "^1.0.1" } }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "requires": { "es5-ext": "^0.10.50", "type": "^1.0.1" } }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" } }, "debug-fabulous": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", "dev": true, "requires": { "debug": "3.X", "memoizee": "0.4.X", "object-assign": "4.X" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decamelize-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" }, "dependencies": { "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } }, "decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "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 }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" } }, "del": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", "dev": true, "requires": { "globby": "^13.1.2", "graceful-fs": "^4.2.10", "is-glob": "^4.0.3", "is-path-cwd": "^3.0.0", "is-path-inside": "^4.0.0", "p-map": "^5.5.0", "rimraf": "^3.0.2", "slash": "^4.0.0" }, "dependencies": { "globby": { "version": "13.1.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", "dev": true, "requires": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^4.0.0" } }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true } } }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" } }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "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": { "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true } } }, "domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "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" }, "dependencies": { "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true } } }, "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" }, "dependencies": { "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true } } }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" } }, "duplexify": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", "dev": true, "requires": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.0" }, "dependencies": { "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" } } } }, "each-props": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/each-props/-/each-props-3.0.0.tgz", "integrity": "sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==", "dev": true, "requires": { "is-plain-object": "^5.0.0", "object.defaults": "^1.1.0" }, "dependencies": { "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true } } }, "easy-transform-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/easy-transform-stream/-/easy-transform-stream-1.0.1.tgz", "integrity": "sha512-ktkaa6XR7COAR3oj02CF3IOgz2m1hCaY3SfzvKT4Svt2MhHw9XCt+ncJNWfe2TGz31iqzNGZ8spdKQflj+Rlog==", "dev": true }, "electron-to-chromium": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==", "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 }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "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" } }, "es5-ext": { "version": "0.10.64", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "dev": true, "requires": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", "esniff": "^2.0.1", "next-tick": "^1.1.0" } }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "requires": { "d": "^1.0.1", "ext": "^1.1.2" } }, "es6-weak-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, "requires": { "d": "1", "es5-ext": "^0.10.46", "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, "escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "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 }, "eslint": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", "espree": "^10.1.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "dependencies": { "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" } }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "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 }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint-scope": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true }, "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" } }, "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 }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" } }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" } }, "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 }, "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" } } } }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dev": true, "requires": { "d": "^1.0.1", "es5-ext": "^0.10.62", "event-emitter": "^0.3.5", "type": "^2.7.2" }, "dependencies": { "type": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "dev": true } } }, "espree": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "requires": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, "dependencies": { "acorn": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true }, "eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true } } }, "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 }, "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "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 }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { "d": "1", "es5-ext": "~0.10.14" } }, "execall": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", "integrity": "sha512-/J0Q8CvOvlAdpvhfkD/WnTQ4H1eU0exze2nFGPj/RSC7jpQ0NkKe2r28T5eMkhEEs+fzepMZNy1kVRKNlC04nQ==", "dev": true, "requires": { "clone-regexp": "^1.0.0" } }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" } }, "ext": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", "dev": true, "requires": { "type": "^2.5.0" }, "dependencies": { "type": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true } } }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" } }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", "dev": true, "requires": { "ansi-gray": "^0.1.1", "color-support": "^1.1.3", "parse-node-version": "^1.0.0", "time-stamp": "^1.0.0" } }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-fifo": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", "dev": true }, "fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "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 }, "fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "requires": { "reusify": "^1.0.4" } }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "requires": { "flat-cache": "^4.0.0" }, "dependencies": { "flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "requires": { "flatted": "^3.2.9", "keyv": "^4.5.4" } } } }, "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" } }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" } }, "findup-sync": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "dev": true, "requires": { "detect-file": "^1.0.0", "is-glob": "^4.0.3", "micromatch": "^4.0.4", "resolve-dir": "^1.0.1" } }, "fined": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", "dev": true, "requires": { "expand-tilde": "^2.0.2", "is-plain-object": "^5.0.0", "object.defaults": "^1.1.0", "object.pick": "^1.3.0", "parse-filepath": "^1.0.2" }, "dependencies": { "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true } } }, "first-chunk-stream": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", "dev": true }, "flagged-respawn": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", "dev": true }, "flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" }, "dependencies": { "flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "flatted": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "for-own": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, "requires": { "for-in": "^1.0.1" } }, "fork-stream": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", "dev": true }, "fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" } }, "fs-mkdirp-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz", "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==", "dev": true, "requires": { "graceful-fs": "^4.2.8", "streamx": "^2.12.0" } }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, "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.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "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-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "glob-stream": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.2.tgz", "integrity": "sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==", "dev": true, "requires": { "@gulpjs/to-absolute-glob": "^4.0.0", "anymatch": "^3.1.3", "fastq": "^1.13.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "is-negated-glob": "^1.0.0", "normalize-path": "^3.0.0", "streamx": "^2.12.5" }, "dependencies": { "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" } } } }, "glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", "dev": true }, "glob-watcher": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz", "integrity": "sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==", "dev": true, "requires": { "async-done": "^2.0.0", "chokidar": "^3.5.3" } }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", "resolve-dir": "^1.0.0" } }, "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, "requires": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" }, "dependencies": { "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" } } } }, "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 }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" }, "dependencies": { "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true } } }, "globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", "dev": true }, "glogg": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", "dev": true, "requires": { "sparkles": "^2.1.0" } }, "gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", "dev": true, "requires": { "minimist": "^1.2.5" } }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "gulp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz", "integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==", "dev": true, "requires": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.0.0", "undertaker": "^2.0.0", "vinyl-fs": "^4.0.0" } }, "gulp-clean-css": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", "dev": true, "requires": { "clean-css": "4.2.3", "plugin-error": "1.0.1", "through2": "3.0.1", "vinyl-sourcemaps-apply": "0.2.1" }, "dependencies": { "clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "dev": true, "requires": { "source-map": "~0.6.0" } }, "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 } } }, "gulp-cli": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", "integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==", "dev": true, "requires": { "@gulpjs/messages": "^1.1.0", "chalk": "^4.1.2", "copy-props": "^4.0.0", "gulplog": "^2.2.0", "interpret": "^3.1.1", "liftoff": "^5.0.0", "mute-stdout": "^2.0.0", "replace-homedir": "^2.0.0", "semver-greatest-satisfied-range": "^2.0.0", "string-width": "^4.2.3", "v8flags": "^4.0.0", "yargs": "^16.2.0" }, "dependencies": { "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" } }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.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" } }, "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 }, "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 }, "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" } }, "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" } } } }, "gulp-concat": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", "dev": true, "requires": { "concat-with-sourcemaps": "^1.0.0", "through2": "^2.0.0", "vinyl": "^2.0.0" }, "dependencies": { "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } } } }, "gulp-eslint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-6.0.0.tgz", "integrity": "sha512-dCVPSh1sA+UVhn7JSQt7KEb4An2sQNbOdB3PA8UCfxsoPlAKjJHxYHGXdXC7eb+V1FAnilSFFqslPrq037l1ig==", "dev": true, "requires": { "eslint": "^6.0.0", "fancy-log": "^1.3.2", "plugin-error": "^1.0.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 }, "ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "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" }, "dependencies": { "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "eslint": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", "debug": "^4.0.1", "doctrine": "^3.0.0", "eslint-scope": "^5.0.0", "eslint-utils": "^1.4.3", "eslint-visitor-keys": "^1.1.0", "espree": "^6.1.2", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.14", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", "strip-ansi": "^5.2.0", "strip-json-comments": "^3.0.1", "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" } }, "eslint-utils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" } }, "espree": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "requires": { "acorn": "^7.1.1", "acorn-jsx": "^5.2.0", "eslint-visitor-keys": "^1.1.0" } }, "file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { "flat-cache": "^2.0.1" } }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { "type-fest": "^0.8.1" } }, "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 }, "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" } }, "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" } }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "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 }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "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 }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" } }, "table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" } }, "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-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, "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" } } } }, "gulp-if": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", "dev": true, "requires": { "gulp-match": "^1.1.0", "ternary-stream": "^3.0.0", "through2": "^3.0.1" } }, "gulp-match": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", "dev": true, "requires": { "minimatch": "^3.0.3" } }, "gulp-plugin-extras": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/gulp-plugin-extras/-/gulp-plugin-extras-0.3.0.tgz", "integrity": "sha512-I/kOBSpo61QsGQZcqozZYEnDseKvpudUafVVWDLYgBFAUJ37kW5R8Sjw9cMYzpGyPUfEYOeoY4p+dkfLqgyJUQ==", "dev": true, "requires": { "@types/vinyl": "^2.0.9", "chalk": "^5.3.0", "easy-transform-stream": "^1.0.1" }, "dependencies": { "chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true } } }, "gulp-postcss": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-10.0.0.tgz", "integrity": "sha512-z1RF2RJEX/BvFsKN11PXai8lRmihZTiHnlJf7Zu8uHaA/Q7Om4IeN8z1NtMAW5OiLwUY02H0DIFl9tHl0CNSgA==", "dev": true, "requires": { "fancy-log": "^2.0.0", "plugin-error": "^2.0.1", "postcss-load-config": "^5.0.0", "vinyl-sourcemaps-apply": "^0.2.1" }, "dependencies": { "fancy-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dev": true, "requires": { "color-support": "^1.1.3" } }, "plugin-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", "dev": true, "requires": { "ansi-colors": "^1.0.1" } } } }, "gulp-replace": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz", "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==", "dev": true, "requires": { "@types/node": "*", "@types/vinyl": "^2.0.4", "istextorbinary": "^3.0.0", "replacestream": "^4.0.3", "yargs-parser": ">=5.0.0-security.0" } }, "gulp-rev": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/gulp-rev/-/gulp-rev-11.0.0.tgz", "integrity": "sha512-KJSyw0qMQBL0xB3YhYrdinelbnWnYHDxj3jqVL2Xvn8bUA1lh7py5/2Z6fUgIWiX+F1XyKYVxI8yy9asIAvZJA==", "dev": true, "requires": { "gulp-plugin-extras": "^0.3.0", "modify-filename": "^2.0.0", "rev-hash": "^4.1.0", "rev-path": "^3.0.0", "sort-keys": "^5.0.0", "vinyl": "^3.0.0", "vinyl-file": "^5.0.0" }, "dependencies": { "vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" } } } }, "gulp-rev-replace": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/gulp-rev-replace/-/gulp-rev-replace-0.4.4.tgz", "integrity": "sha512-2yiDel/TGamn/HgHyo8H1rYEEL2zLsOYODerItoX8batOo0gPAe7uX7t6NlaqB7FEHpS5tGzUr5CKUEmrgdHyQ==", "dev": true, "requires": { "plugin-error": "^0.1.2", "through2": "^2.0.0" }, "dependencies": { "arr-diff": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "dev": true, "requires": { "arr-flatten": "^1.0.1", "array-slice": "^0.2.3" } }, "arr-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", "dev": true }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", "dev": true }, "extend-shallow": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "dev": true, "requires": { "kind-of": "^1.1.0" } }, "kind-of": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true }, "plugin-error": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "dev": true, "requires": { "ansi-cyan": "^0.1.1", "ansi-red": "^0.1.1", "arr-diff": "^1.0.1", "arr-union": "^2.0.1", "extend-shallow": "^1.1.2" } }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } } } }, "gulp-sass": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz", "integrity": "sha512-7VT0uaF+VZCmkNBglfe1b34bxn/AfcssquLKVDYnCDJ3xNBaW7cUuI3p3BQmoKcoKFrs9jdzUxyb+u+NGfL4OQ==", "dev": true, "requires": { "lodash.clonedeep": "^4.5.0", "picocolors": "^1.0.0", "plugin-error": "^1.0.1", "replace-ext": "^2.0.0", "strip-ansi": "^6.0.1", "vinyl-sourcemaps-apply": "^0.2.1" } }, "gulp-sourcemaps": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", "dev": true, "requires": { "@gulp-sourcemaps/identity-map": "^2.0.1", "@gulp-sourcemaps/map-sources": "^1.0.0", "acorn": "^6.4.1", "convert-source-map": "^1.0.0", "css": "^3.0.0", "debug-fabulous": "^1.0.0", "detect-newline": "^2.0.0", "graceful-fs": "^4.0.0", "source-map": "^0.6.0", "strip-bom-string": "^1.0.0", "through2": "^2.0.0" }, "dependencies": { "acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "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 }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } } } }, "gulp-stylelint": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-13.0.0.tgz", "integrity": "sha512-qFWBXnYDsGy6ttzqptctMZjJhhGc0FdFE+UNPlj/5fTyuUo5mfxcc7pzN4hIJnvB79BO1WikLtdtXuC/G2AhGA==", "dev": true, "requires": { "chalk": "^3.0.0", "fancy-log": "^1.3.3", "plugin-error": "^1.0.1", "source-map": "^0.7.3", "strip-ansi": "^6.0.0", "through2": "^3.0.1" }, "dependencies": { "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" } }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "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 }, "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 }, "source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true }, "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" } } } }, "gulp-touch-fd": { "version": "git+ssh://git@github.com/funkedigital/gulp-touch-fd.git#37db9cfb962f8d05601e5224d10673db76de3a7f", "dev": true, "from": "gulp-touch-fd@github:funkedigital/gulp-touch-fd", "requires": { "map-stream": "0.0.7" } }, "gulplog": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", "dev": true, "requires": { "glogg": "^2.2.0" } }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "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": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "requires": { "function-bind": "^1.1.2" } }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "requires": { "parse-passwd": "^1.0.0" } }, "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-tags": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true }, "htmlparser2": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "entities": "^4.3.0" }, "dependencies": { "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "requires": { "domelementtype": "^2.3.0" } }, "domutils": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.1" } }, "entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "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" } }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "import-lazy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", "dev": true }, "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": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true }, "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true }, "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 }, "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.19", "mute-stream": "0.0.8", "run-async": "^2.4.0", "rxjs": "^6.6.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "dependencies": { "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" } }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "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 }, "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 }, "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" } } } }, "interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "requires": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" } }, "is-accessor-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, "requires": { "hasown": "^2.0.0" } }, "is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true }, "is-alphanumeric": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", "dev": true }, "is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "dev": true, "requires": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, "is-core-module": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", "dev": true, "requires": { "has": "^1.0.3" } }, "is-data-descriptor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, "requires": { "hasown": "^2.0.0" } }, "is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true }, "is-descriptor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true }, "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "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-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true }, "is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "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-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-path-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", "dev": true }, "is-path-inside": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" } }, "is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", "dev": true }, "is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true }, "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "requires": { "is-unc-path": "^1.0.0" } }, "is-supported-regexp-flag": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==", "dev": true }, "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "requires": { "unc-path-regex": "^0.1.2" } }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-valid-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", "dev": true }, "is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", "dev": true }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "is-word-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "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 }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istextorbinary": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", "dev": true, "requires": { "binaryextensions": "^2.2.0", "textextensions": "^3.2.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" } }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "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 }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "requires": { "json-buffer": "3.0.1" } }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "known-css-properties": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true }, "last-run": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/last-run/-/last-run-2.0.0.tgz", "integrity": "sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==", "dev": true }, "lead": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz", "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==", "dev": true }, "leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", "dev": true }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "liftoff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.0.tgz", "integrity": "sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==", "dev": true, "requires": { "extend": "^3.0.2", "findup-sync": "^5.0.0", "fined": "^2.0.0", "flagged-respawn": "^2.0.0", "is-plain-object": "^5.0.0", "rechoir": "^0.8.0", "resolve": "^1.20.0" }, "dependencies": { "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true } } }, "lilconfig": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", "dev": true }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "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": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { "chalk": "^2.0.1" } }, "longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", "dev": true }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", "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" } }, "lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", "dev": true, "requires": { "es5-ext": "~0.10.2" } }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" }, "dependencies": { "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", "dev": true }, "map-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" } }, "markdown-escapes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", "dev": true }, "markdown-table": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", "dev": true }, "material-design-color": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/material-design-color/-/material-design-color-2.3.2.tgz", "integrity": "sha1-6K+VjYUqh0e/shHkjOEoK9qRiBU=", "dev": true }, "material-shadows": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/material-shadows/-/material-shadows-3.0.1.tgz", "integrity": "sha1-WGrRKxZzYKjk6Je/dTDLaazqURA=", "dev": true }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true }, "mdast-util-compact": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", "dev": true, "requires": { "unist-util-visit": "^1.1.0" } }, "mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, "memoizee": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", "dev": true, "requires": { "d": "^1.0.1", "es5-ext": "^0.10.53", "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", "is-promise": "^2.2.2", "lru-queue": "^0.1.0", "next-tick": "^1.1.0", "timers-ext": "^0.1.7" } }, "meow": { "version": "10.1.5", "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", "dev": true, "requires": { "@types/minimist": "^1.2.2", "camelcase-keys": "^7.0.0", "decamelize": "^5.0.0", "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", "minimist-options": "4.1.0", "normalize-package-data": "^3.0.2", "read-pkg-up": "^8.0.0", "redent": "^4.0.0", "trim-newlines": "^4.0.2", "type-fest": "^1.2.2", "yargs-parser": "^20.2.9" }, "dependencies": { "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "camelcase-keys": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", "dev": true, "requires": { "camelcase": "^6.3.0", "map-obj": "^4.1.0", "quick-lru": "^5.1.1", "type-fest": "^1.2.1" } }, "decamelize": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" } }, "map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, "minimist-options": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "requires": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", "kind-of": "^6.0.3" } }, "normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "requires": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" } }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" } }, "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 }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, "read-pkg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", "dev": true, "requires": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^3.0.2", "parse-json": "^5.2.0", "type-fest": "^1.0.1" } }, "read-pkg-up": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", "dev": true, "requires": { "find-up": "^5.0.0", "read-pkg": "^6.0.0", "type-fest": "^1.0.1" } }, "redent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", "dev": true, "requires": { "indent-string": "^5.0.0", "strip-indent": "^4.0.0" } }, "semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", "dev": true, "requires": { "min-indent": "^1.0.1" } }, "trim-newlines": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", "dev": true } } }, "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 }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" } }, "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 }, "min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "minimist-options": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", "dev": true, "requires": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0" } }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" } }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" } }, "modify-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-2.0.0.tgz", "integrity": "sha512-VX9/MdgUN9StpSLImJ0+AyV2dxJJtyojIwRHF/Ja942tW7FTzxXI186jDSTk4k5wj2+59a4bRzFnJUgMSi+ygg==", "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 }, "mute-stdout": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz", "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==", "dev": true }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" } }, "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 }, "next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "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-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "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" }, "dependencies": { "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } }, "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 }, "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, "normalize-selector": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", "dev": true }, "now-and-later": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz", "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==", "dev": true, "requires": { "once": "^1.4.0" } }, "nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" } }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", "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-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" } }, "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, "requires": { "array-each": "^1.0.1", "array-slice": "^1.0.0", "for-own": "^1.0.0", "isobject": "^3.0.0" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.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.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0" } }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "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": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "p-map": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", "dev": true, "requires": { "aggregate-error": "^4.0.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 }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, "parse-entities": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", "dev": true, "requires": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", "character-reference-invalid": "^1.0.0", "is-alphanumerical": "^1.0.0", "is-decimal": "^1.0.0", "is-hexadecimal": "^1.0.0" } }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, "requires": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", "path-root": "^0.1.1" } }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "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": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, "requires": { "path-root-regex": "^0.1.0" } }, "path-root-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" } }, "plugin-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", "dev": true, "requires": { "ansi-colors": "^1.0.1", "arr-diff": "^4.0.0", "arr-union": "^3.1.0", "extend-shallow": "^3.0.2" } }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.2.0" } }, "postcss-html": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", "dev": true, "requires": { "htmlparser2": "^3.10.0" }, "dependencies": { "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "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" } }, "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } } } }, "postcss-inline-svg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-inline-svg/-/postcss-inline-svg-6.0.0.tgz", "integrity": "sha512-ok5j0Iqsn8mS/5U1W+Im6qkQjm6nBxdwwJU+BSnBaDhLjC06h1xvy9MA+tefxhfZP/ARTRwARSozzYGf/sqEGg==", "dev": true, "requires": { "css-select": "^5.1.0", "dom-serializer": "^2.0.0", "htmlparser2": "^8.0.1", "postcss-value-parser": "^4.2.0" }, "dependencies": { "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "requires": { "domelementtype": "^2.3.0" } }, "entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", "dev": true } } }, "postcss-jsx": { "version": "0.36.4", "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz", "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==", "dev": true, "requires": { "@babel/core": ">=7.2.2" } }, "postcss-less": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", "dev": true, "requires": { "postcss": "^7.0.14" }, "dependencies": { "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "postcss-load-config": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.3.tgz", "integrity": "sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==", "dev": true, "requires": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" } }, "postcss-markdown": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==", "dev": true, "requires": { "remark": "^10.0.1", "unist-util-find-all-after": "^1.0.2" } }, "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, "postcss-pseudo-classes": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/postcss-pseudo-classes/-/postcss-pseudo-classes-0.4.0.tgz", "integrity": "sha512-k1MTMzMdBg3eW05QV/W3rZyuzOFJ3HU3AMbMamillv5G/5NuepHdMl6jO+6GHnjxH12/sNmBqdOI+zYIP86kZg==", "dev": true }, "postcss-reporter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", "dev": true, "requires": { "chalk": "^2.4.1", "lodash": "^4.17.11", "log-symbols": "^2.2.0", "postcss": "^7.0.7" }, "dependencies": { "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", "dev": true }, "postcss-safe-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true }, "postcss-sass": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", "dev": true, "requires": { "gonzales-pe": "^4.2.3", "postcss": "^7.0.1" }, "dependencies": { "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "postcss-scss": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", "dev": true }, "postcss-selector-parser": { "version": "6.0.16", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "postcss-sorting": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", "dev": true }, "postcss-svgo": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0", "svgo": "^3.3.2" } }, "postcss-syntax": { "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", "dev": true }, "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dev": true, "requires": { "asap": "~2.0.6" } }, "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 }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "queue-tick": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", "dev": true }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", "dev": true }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" }, "dependencies": { "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" } }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, "requires": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" }, "dependencies": { "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "requires": { "locate-path": "^2.0.0" } }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "requires": { "p-limit": "^1.1.0" } }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true } } }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" } }, "redent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", "dev": true, "requires": { "indent-string": "^3.0.0", "strip-indent": "^2.0.0" }, "dependencies": { "indent-string": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", "dev": true } } }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, "regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "requires": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" } }, "regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } }, "remark": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", "dev": true, "requires": { "remark-parse": "^6.0.0", "remark-stringify": "^6.0.0", "unified": "^7.0.0" } }, "remark-parse": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", "dev": true, "requires": { "collapse-white-space": "^1.0.2", "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "is-word-character": "^1.0.0", "markdown-escapes": "^1.0.0", "parse-entities": "^1.1.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", "unist-util-remove-position": "^1.0.0", "vfile-location": "^2.0.0", "xtend": "^4.0.1" } }, "remark-stringify": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", "dev": true, "requires": { "ccount": "^1.0.0", "is-alphanumeric": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "longest-streak": "^2.0.1", "markdown-escapes": "^1.0.0", "markdown-table": "^1.1.0", "mdast-util-compact": "^1.0.0", "parse-entities": "^1.0.2", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "stringify-entities": "^1.0.1", "unherit": "^1.0.4", "xtend": "^4.0.1" } }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "replace-ext": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true }, "replace-homedir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-2.0.0.tgz", "integrity": "sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==", "dev": true }, "replacestream": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", "dev": true, "requires": { "escape-string-regexp": "^1.0.3", "object-assign": "^4.0.1", "readable-stream": "^2.0.2" } }, "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 }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "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" } }, "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "requires": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" } }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-options": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-2.0.0.tgz", "integrity": "sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==", "dev": true, "requires": { "value-or-function": "^4.0.0" } }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rev-hash": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/rev-hash/-/rev-hash-4.1.0.tgz", "integrity": "sha512-e0EGnaveLY2IYpYwHNdh43WZ2M84KgW3Z/T4F6+Z/BlZI/T1ZbxTWj36xgYgUPOieGXYo2q225jTeUXn+LWYjw==", "dev": true }, "rev-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rev-path/-/rev-path-3.0.0.tgz", "integrity": "sha512-2fUuv6IC7Z+Vj+DXEunJYJDZuwSsaJJHeLar3n2PGvHSH7j5+Xpd/Xh7PenekH4WQhxFuHtsGwd1dCh/HvT6Gw==", "dev": true, "requires": { "modify-filename": "^2.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" } }, "rollup": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", "dev": true, "requires": { "@rollup/rollup-android-arm-eabi": "4.19.1", "@rollup/rollup-android-arm64": "4.19.1", "@rollup/rollup-darwin-arm64": "4.19.1", "@rollup/rollup-darwin-x64": "4.19.1", "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", "@rollup/rollup-linux-arm-musleabihf": "4.19.1", "@rollup/rollup-linux-arm64-gnu": "4.19.1", "@rollup/rollup-linux-arm64-musl": "4.19.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", "@rollup/rollup-linux-riscv64-gnu": "4.19.1", "@rollup/rollup-linux-s390x-gnu": "4.19.1", "@rollup/rollup-linux-x64-gnu": "4.19.1", "@rollup/rollup-linux-x64-musl": "4.19.1", "@rollup/rollup-win32-arm64-msvc": "4.19.1", "@rollup/rollup-win32-ia32-msvc": "4.19.1", "@rollup/rollup-win32-x64-msvc": "4.19.1", "@types/estree": "1.0.5", "fsevents": "~2.3.2" } }, "rollup-plugin-output-manifest": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-output-manifest/-/rollup-plugin-output-manifest-2.0.0.tgz", "integrity": "sha512-RJJ/MzM2Sj65o63qs1aIwD+AofAhdYi5Hx1Pk8/Fn6dWxbcSlficfJLNGeYJ14CPi7CHvEHwgjs23LiFS/x/Dw==", "dev": true, "requires": { "@types/node": "^13.9.1", "tslib": "^1.10.0" }, "dependencies": { "@types/node": { "version": "13.13.52", "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", "dev": true } } }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "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 }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" } }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sass": { "version": "1.77.8", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" } }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "semver-greatest-satisfied-range": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-2.0.0.tgz", "integrity": "sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==", "dev": true, "requires": { "sver": "^1.8.3" } }, "serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" } }, "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 }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "dependencies": { "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" } }, "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 } } }, "smob": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } } } }, "snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } } } }, "snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" }, "dependencies": { "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "sort-keys": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", "dev": true, "requires": { "is-plain-obj": "^4.0.0" }, "dependencies": { "is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "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 }, "source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true }, "source-map-resolve": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0" } }, "source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, "dependencies": { "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-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "sparkles": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", "dev": true }, "spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "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.17", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, "specificity": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", "dev": true }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", "dev": true }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-descriptor": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.1", "is-data-descriptor": "^1.0.1" } } } }, "stream-composer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz", "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==", "dev": true, "requires": { "streamx": "^2.13.2" } }, "stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "streamx": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", "dev": true, "requires": { "bare-events": "^2.2.0", "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" } }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" } }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "stringify-entities": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", "dev": true, "requires": { "character-entities-html4": "^1.0.0", "character-entities-legacy": "^1.0.0", "is-alphanumerical": "^1.0.0", "is-hexadecimal": "^1.0.0" } }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-bom-buf": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", "dev": true, "requires": { "is-utf8": "^0.2.1" } }, "strip-bom-stream": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", "dev": true, "requires": { "first-chunk-stream": "^5.0.0", "strip-bom-buf": "^3.0.0" } }, "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "dev": true }, "strip-indent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "style-search": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", "dev": true }, "stylelint": { "version": "15.11.0", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "requires": { "@csstools/css-parser-algorithms": "^2.3.1", "@csstools/css-tokenizer": "^2.2.0", "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", "css-functions-list": "^3.2.1", "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^7.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", "ignore": "^5.2.4", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.29.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", "postcss": "^8.4.28", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "style-search": "^0.1.0", "supports-hyperlinks": "^3.0.0", "svg-tags": "^1.0.0", "table": "^6.8.1", "write-file-atomic": "^5.0.1" }, "dependencies": { "balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true }, "file-entry-cache": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz", "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==", "dev": true, "requires": { "flat-cache": "^3.2.0" } }, "flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "requires": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" } }, "global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { "global-prefix": "^3.0.0" } }, "global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "requires": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" } }, "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "import-lazy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true }, "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true }, "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 }, "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" } } } }, "stylelint-config-rational-order": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/stylelint-config-rational-order/-/stylelint-config-rational-order-0.1.2.tgz", "integrity": "sha512-Qo7ZQaihCwTqijfZg4sbdQQHtugOX/B1/fYh018EiDZHW+lkqH9uHOnsDwDPGZrYJuB6CoyI7MZh2ecw2dOkew==", "dev": true, "requires": { "stylelint": "^9.10.1", "stylelint-order": "^2.2.1" }, "dependencies": { "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, "ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dev": true, "requires": { "array-uniq": "^1.0.1" } }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "autoprefixer": { "version": "9.8.8", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" } }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" } }, "dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dev": true, "requires": { "path-type": "^3.0.0" } }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "dev": true, "requires": { "@mrmlnc/readdir-enhanced": "^2.2.1", "@nodelib/fs.stat": "^1.1.2", "glob-parent": "^3.1.0", "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" } }, "file-entry-cache": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", "dev": true, "requires": { "flat-cache": "^2.0.1" } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "requires": { "is-extglob": "^2.1.0" } } } }, "global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { "global-prefix": "^3.0.0" } }, "global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "requires": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" } }, "globby": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", "dev": true, "requires": { "@types/glob": "^7.1.1", "array-union": "^1.0.2", "dir-glob": "^2.2.2", "fast-glob": "^2.2.6", "glob": "^7.1.3", "ignore": "^4.0.3", "pify": "^4.0.1", "slash": "^2.0.0" } }, "html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", "dev": true }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", "dev": true, "requires": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" }, "dependencies": { "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true } } }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "known-css-properties": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", "dev": true }, "meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", "dev": true, "requires": { "camelcase-keys": "^4.0.0", "decamelize-keys": "^1.0.0", "loud-rejection": "^1.0.0", "minimist-options": "^3.0.1", "normalize-package-data": "^2.3.4", "read-pkg-up": "^3.0.0", "redent": "^2.0.0", "trim-newlines": "^2.0.0", "yargs-parser": "^10.0.0" } }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "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" }, "dependencies": { "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "postcss-safe-parser": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", "dev": true, "requires": { "postcss": "^7.0.26" } }, "postcss-scss": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", "dev": true, "requires": { "postcss": "^7.0.6" } }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", "dev": true, "requires": { "dot-prop": "^5.2.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } }, "postcss-sorting": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-4.1.0.tgz", "integrity": "sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw==", "dev": true, "requires": { "lodash": "^4.17.4", "postcss": "^7.0.0" } }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, "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 }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" } }, "stylelint": { "version": "9.10.1", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", "dev": true, "requires": { "autoprefixer": "^9.0.0", "balanced-match": "^1.0.0", "chalk": "^2.4.1", "cosmiconfig": "^5.0.0", "debug": "^4.0.0", "execall": "^1.0.0", "file-entry-cache": "^4.0.0", "get-stdin": "^6.0.0", "global-modules": "^2.0.0", "globby": "^9.0.0", "globjoin": "^0.1.4", "html-tags": "^2.0.0", "ignore": "^5.0.4", "import-lazy": "^3.1.0", "imurmurhash": "^0.1.4", "known-css-properties": "^0.11.0", "leven": "^2.1.0", "lodash": "^4.17.4", "log-symbols": "^2.0.0", "mathml-tag-names": "^2.0.1", "meow": "^5.0.0", "micromatch": "^3.1.10", "normalize-selector": "^0.2.0", "pify": "^4.0.0", "postcss": "^7.0.13", "postcss-html": "^0.36.0", "postcss-jsx": "^0.36.0", "postcss-less": "^3.1.0", "postcss-markdown": "^0.36.0", "postcss-media-query-parser": "^0.2.3", "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^4.0.0", "postcss-sass": "^0.3.5", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^3.1.0", "postcss-syntax": "^0.36.2", "postcss-value-parser": "^3.3.0", "resolve-from": "^4.0.0", "signal-exit": "^3.0.2", "slash": "^2.0.0", "specificity": "^0.4.1", "string-width": "^3.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", "table": "^5.0.0" }, "dependencies": { "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true } } }, "stylelint-order": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-2.2.1.tgz", "integrity": "sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg==", "dev": true, "requires": { "lodash": "^4.17.10", "postcss": "^7.0.2", "postcss-sorting": "^4.1.0" } }, "table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } }, "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" } }, "yargs-parser": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" } } } }, "stylelint-config-recommended": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", "dev": true }, "stylelint-config-standard": { "version": "36.0.1", "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", "dev": true, "requires": { "stylelint-config-recommended": "^14.0.1" } }, "stylelint-order": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz", "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==", "dev": true, "requires": { "postcss": "^8.4.32", "postcss-sorting": "^8.0.2" } }, "stylelint-scss": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz", "integrity": "sha512-+clI2bQC2FPOt06ZwUlXZZ95IO2C5bKTP0GLN1LNQPVvISfSNcgMKv/VTwym1mK9vnqhHbOk8lO4rj4nY7L9pw==", "dev": true, "requires": { "known-css-properties": "^0.34.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-selector-parser": "^6.1.0", "postcss-value-parser": "^4.2.0" }, "dependencies": { "known-css-properties": { "version": "0.34.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", "dev": true }, "postcss-selector-parser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } } } }, "sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", "dev": true, "requires": { "postcss": "^7.0.2" }, "dependencies": { "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "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 } } }, "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" } }, "supports-hyperlinks": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", "dev": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "dependencies": { "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 }, "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" } } } }, "sver": { "version": "1.8.4", "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz", "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==", "dev": true, "requires": { "semver": "^6.3.0" } }, "svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", "dev": true }, "svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "requires": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.0.0" }, "dependencies": { "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 } } }, "table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, "requires": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1" }, "dependencies": { "ajv": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "teex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dev": true, "requires": { "streamx": "^2.12.5" } }, "ternary-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", "dev": true, "requires": { "duplexify": "^4.1.1", "fork-stream": "^0.0.4", "merge-stream": "^2.0.0", "through2": "^3.0.1" } }, "terser": { "version": "5.31.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "dependencies": { "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "textextensions": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz", "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "through2": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { "readable-stream": "2 || 3" } }, "time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, "timers-ext": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", "dev": true, "requires": { "es5-ext": "~0.10.46", "next-tick": "1" } }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "~1.0.2" } }, "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-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" } }, "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" } }, "to-through": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz", "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==", "dev": true, "requires": { "streamx": "^2.12.5" } }, "trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", "dev": true }, "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", "dev": true }, "trim-trailing-lines": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", "dev": true }, "trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" } }, "type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true }, "undertaker": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-2.0.0.tgz", "integrity": "sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==", "dev": true, "requires": { "bach": "^2.0.1", "fast-levenshtein": "^3.0.0", "last-run": "^2.0.0", "undertaker-registry": "^2.0.0" }, "dependencies": { "fast-levenshtein": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, "requires": { "fastest-levenshtein": "^1.0.7" } } } }, "undertaker-registry": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-2.0.0.tgz", "integrity": "sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==", "dev": true }, "unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", "dev": true, "requires": { "inherits": "^2.0.0", "xtend": "^4.0.0" } }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true }, "unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "unified": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", "dev": true, "requires": { "@types/unist": "^2.0.0", "@types/vfile": "^3.0.0", "bail": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^1.1.0", "trough": "^1.0.0", "vfile": "^3.0.0", "x-is-string": "^0.1.0" } }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" }, "dependencies": { "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", "dev": true }, "unist-util-find-all-after": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz", "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==", "dev": true, "requires": { "unist-util-is": "^3.0.0" } }, "unist-util-is": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==", "dev": true }, "unist-util-remove-position": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", "dev": true, "requires": { "unist-util-visit": "^1.1.0" } }, "unist-util-stringify-position": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", "dev": true }, "unist-util-visit": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", "dev": true, "requires": { "unist-util-visit-parents": "^2.0.0" } }, "unist-util-visit-parents": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "dev": true, "requires": { "unist-util-is": "^3.0.0" } }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" } } } }, "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true } } }, "update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "requires": { "escalade": "^3.1.2", "picocolors": "^1.0.1" } }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "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-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8flags": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz", "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==", "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" } }, "value-or-function": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz", "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==", "dev": true }, "vfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", "dev": true, "requires": { "is-buffer": "^2.0.0", "replace-ext": "1.0.0", "unist-util-stringify-position": "^1.0.0", "vfile-message": "^1.0.0" }, "dependencies": { "replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", "integrity": "sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==", "dev": true }, "vfile-message": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", "dev": true, "requires": { "unist-util-stringify-position": "^1.1.1" } } } }, "vfile-location": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", "dev": true }, "vfile-message": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "dev": true, "requires": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" }, "dependencies": { "@types/unist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, "unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dev": true, "requires": { "@types/unist": "^3.0.0" } } } }, "vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, "requires": { "clone": "^2.1.1", "clone-buffer": "^1.0.0", "clone-stats": "^1.0.0", "cloneable-readable": "^1.0.0", "remove-trailing-separator": "^1.0.1", "replace-ext": "^1.0.0" }, "dependencies": { "replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true } } }, "vinyl-contents": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz", "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==", "dev": true, "requires": { "bl": "^5.0.0", "vinyl": "^3.0.0" }, "dependencies": { "vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" } } } }, "vinyl-file": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", "dev": true, "requires": { "@types/vinyl": "^2.0.7", "strip-bom-buf": "^3.0.1", "strip-bom-stream": "^5.0.0", "vinyl": "^3.0.0" }, "dependencies": { "vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" } } } }, "vinyl-fs": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", "integrity": "sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==", "dev": true, "requires": { "fs-mkdirp-stream": "^2.0.1", "glob-stream": "^8.0.0", "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", "lead": "^4.0.0", "normalize-path": "3.0.0", "resolve-options": "^2.0.0", "stream-composer": "^1.0.2", "streamx": "^2.14.0", "to-through": "^3.0.0", "value-or-function": "^4.0.0", "vinyl": "^3.0.0", "vinyl-sourcemap": "^2.0.0" }, "dependencies": { "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" } } } }, "vinyl-paths": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/vinyl-paths/-/vinyl-paths-5.0.0.tgz", "integrity": "sha512-mlclGXHx/ZWInRh92Ti/qaJAZSDmfXL9TsUVs5z8mKueiS76GtVaZYD2vEtm4RePAt69vGZGHKe5d790CPcd1g==", "dev": true, "requires": { "easy-transform-stream": "^1.0.0" } }, "vinyl-sourcemap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz", "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==", "dev": true, "requires": { "convert-source-map": "^2.0.0", "graceful-fs": "^4.2.10", "now-and-later": "^3.0.0", "streamx": "^2.12.5", "vinyl": "^3.0.0", "vinyl-contents": "^2.0.0" }, "dependencies": { "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "vinyl": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { "clone": "^2.1.2", "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" } } } }, "vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", "dev": true, "requires": { "source-map": "^0.5.1" } }, "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" } }, "word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "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" }, "dependencies": { "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" } }, "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 } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, "write-file-atomic": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "requires": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" }, "dependencies": { "signal-exit": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true } } }, "x-is-string": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", "integrity": "sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==", "dev": true }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "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 }, "yaml": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", "dev": true }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" }, "dependencies": { "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, "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 }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } } pymdown-extensions-10.9/package.json000066400000000000000000000044061465124271600176370ustar00rootroot00000000000000{ "name": "pymdown-extensions", "version": "8.1.2", "description": "Extensions for Python Markdown", "repository": "https://github.com/facelessuser/pymdown-extensions.git", "author": "Isaac Muse ", "license": "MIT", "type": "module", "scripts": { "build": "node_modules/.bin/gulp build --compress --lint --buildmkdocs --revision --sourcemaps", "compile": "node_modules/.bin/gulp build --compress --buildmkdocs --revision", "clean_all": "node_modules/.bin/gulp clean", "serve": "node_modules/.bin/gulp serve", "lint": "node_modules/.bin/gulp lint" }, "engines": { "node": ">= 10", "yarn": "YARN NO LONGER USED - use npm instead." }, "devDependencies": { "@babel/cli": "^7.24.8", "@babel/core": "^7.24.9", "@babel/eslint-parser": "^7.25.0", "@babel/plugin-external-helpers": "^7.24.7", "@babel/preset-env": "^7.25.0", "@babel/register": "^7.24.6", "@fortawesome/fontawesome-free": "^6.6.0", "@mdi/svg": "^7.4.47", "@primer/octicons": "^19.11.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-terser": "^0.4.4", "autoprefixer": "^10.4.19", "babel-core": "^7.0.0-bridge.0", "clean-css": "^5.3.3", "css-mqpacker": "^7.0.0", "del": "^7.1.0", "eslint": "^9.8.0", "gulp": "^5.0.0", "gulp-clean-css": "^4.3.0", "gulp-concat": "^2.6.1", "gulp-eslint": "^6.0.0", "gulp-if": "^3.0.0", "gulp-postcss": "^10.0.0", "gulp-replace": "^1.1.4", "gulp-rev": "^11.0.0", "gulp-rev-replace": "^0.4.4", "gulp-sass": "^5.1.0", "gulp-sourcemaps": "^3.0.0", "gulp-stylelint": "^13.0.0", "gulp-touch-fd": "github:funkedigital/gulp-touch-fd", "material-design-color": "^2.3.2", "material-shadows": "^3.0.1", "postcss-inline-svg": "^6.0.0", "postcss-pseudo-classes": "^0.4.0", "postcss-scss": "^4.0.9", "postcss-svgo": "^7.0.1", "promise": "^8.3.0", "rollup": "^4.19.1", "rollup-plugin-output-manifest": "^2.0.0", "sass": "^1.77.8", "stylelint": "^15.11.0", "stylelint-config-rational-order": "^0.1.2", "stylelint-config-standard": "^36.0.1", "stylelint-order": "^6.0.4", "stylelint-scss": "^6.4.1", "terser": "^5.31.3", "vinyl-paths": "^5.0.0", "yargs": "^17.7.2" } } pymdown-extensions-10.9/pymdownx/000077500000000000000000000000001465124271600172325ustar00rootroot00000000000000pymdown-extensions-10.9/pymdownx/__init__.py000066400000000000000000000002151465124271600213410ustar00rootroot00000000000000"""PyMdown extra extensions.""" from .__meta__ import __version__, __version_info__ # noqa: F401 # Nothing to import with all __all__ = () pymdown-extensions-10.9/pymdownx/__meta__.py000066400000000000000000000145621465124271600213360ustar00rootroot00000000000000"""Meta related things.""" from collections import namedtuple import re RE_VER = re.compile( r'''(?x) (?P\d+)(?:\.(?P\d+))?(?:\.(?P\d+))? (?:(?Pa|b|rc)(?P
\d+))?
    (?:\.post(?P\d+))?
    (?:\.dev(?P\d+))?
    '''
)

REL_MAP = {
    ".dev": "",
    ".dev-alpha": "a",
    ".dev-beta": "b",
    ".dev-candidate": "rc",
    "alpha": "a",
    "beta": "b",
    "candidate": "rc",
    "final": ""
}

DEV_STATUS = {
    ".dev": "2 - Pre-Alpha",
    ".dev-alpha": "2 - Pre-Alpha",
    ".dev-beta": "2 - Pre-Alpha",
    ".dev-candidate": "2 - Pre-Alpha",
    "alpha": "3 - Alpha",
    "beta": "4 - Beta",
    "candidate": "4 - Beta",
    "final": "5 - Production/Stable"
}

PRE_REL_MAP = {"a": 'alpha', "b": 'beta', "rc": 'candidate'}


class Version(namedtuple("Version", ["major", "minor", "micro", "release", "pre", "post", "dev"])):
    """
    Get the version (PEP 440).

    A biased approach to the PEP 440 semantic version.

    Provides a tuple structure which is sorted for comparisons `v1 > v2` etc.
      (major, minor, micro, release type, pre-release build, post-release build, development release build)
    Release types are named in is such a way they are comparable with ease.
    Accessors to check if a development, pre-release, or post-release build. Also provides accessor to get
    development status for setup files.

    How it works (currently):

    - You must specify a release type as either `final`, `alpha`, `beta`, or `candidate`.
    - To define a development release, you can use either `.dev`, `.dev-alpha`, `.dev-beta`, or `.dev-candidate`.
      The dot is used to ensure all development specifiers are sorted before `alpha`.
      You can specify a `dev` number for development builds, but do not have to as implicit development releases
      are allowed.
    - You must specify a `pre` value greater than zero if using a prerelease as this project (not PEP 440) does not
      allow implicit prereleases.
    - You can optionally set `post` to a value greater than zero to make the build a post release. While post releases
      are technically allowed in prereleases, it is strongly discouraged, so we are rejecting them. It should be
      noted that we do not allow `post0` even though PEP 440 does not restrict this. This project specifically
      does not allow implicit post releases.
    - It should be noted that we do not support epochs `1!` or local versions `+some-custom.version-1`.

    Acceptable version releases:

    ```
    Version(1, 0, 0, "final")                    1.0
    Version(1, 2, 0, "final")                    1.2
    Version(1, 2, 3, "final")                    1.2.3
    Version(1, 2, 0, ".dev-alpha", pre=4)        1.2a4
    Version(1, 2, 0, ".dev-beta", pre=4)         1.2b4
    Version(1, 2, 0, ".dev-candidate", pre=4)    1.2rc4
    Version(1, 2, 0, "final", post=1)            1.2.post1
    Version(1, 2, 3, ".dev")                     1.2.3.dev0
    Version(1, 2, 3, ".dev", dev=1)              1.2.3.dev1
    ```

    """

    def __new__(cls, major, minor, micro, release="final", pre=0, post=0, dev=0):
        """Validate version info."""

        # Ensure all parts are positive integers.
        for value in (major, minor, micro, pre, post):
            if not (isinstance(value, int) and value >= 0):
                raise ValueError("All version parts except 'release' should be integers.")

        if release not in REL_MAP:
            raise ValueError(f"'{release}' is not a valid release type.")

        # Ensure valid pre-release (we do not allow implicit pre-releases).
        if ".dev-candidate" < release < "final":
            if pre == 0:
                raise ValueError("Implicit pre-releases not allowed.")
            elif dev:
                raise ValueError("Version is not a development release.")
            elif post:
                raise ValueError("Post-releases are not allowed with pre-releases.")

        # Ensure valid development or development/pre release
        elif release < "alpha":
            if release > ".dev" and pre == 0:
                raise ValueError("Implicit pre-release not allowed.")
            elif post:
                raise ValueError("Post-releases are not allowed with pre-releases.")

        # Ensure a valid normal release
        else:
            if pre:
                raise ValueError("Version is not a pre-release.")
            elif dev:
                raise ValueError("Version is not a development release.")

        return super().__new__(cls, major, minor, micro, release, pre, post, dev)

    def _is_pre(self):
        """Is prerelease."""

        return self.pre > 0

    def _is_dev(self):
        """Is development."""

        return bool(self.release < "alpha")

    def _is_post(self):
        """Is post."""

        return self.post > 0

    def _get_dev_status(self):  # pragma: no cover
        """Get development status string."""

        return DEV_STATUS[self.release]

    def _get_canonical(self):
        """Get the canonical output string."""

        # Assemble major, minor, micro version and append `pre`, `post`, or `dev` if needed..
        if self.micro == 0:
            ver = f"{self.major}.{self.minor}"
        else:
            ver = f"{self.major}.{self.minor}.{self.micro}"
        if self._is_pre():
            ver += f'{REL_MAP[self.release]}{self.pre}'
        if self._is_post():
            ver += f".post{self.post}"
        if self._is_dev():
            ver += f".dev{self.dev}"

        return ver


def parse_version(ver, pre=False):
    """Parse version into a comparable Version tuple."""

    m = RE_VER.match(ver)

    # Handle major, minor, micro
    major = int(m.group('major'))
    minor = int(m.group('minor')) if m.group('minor') else 0
    micro = int(m.group('micro')) if m.group('micro') else 0

    # Handle pre releases
    if m.group('type'):
        release = PRE_REL_MAP[m.group('type')]
        pre = int(m.group('pre'))
    else:
        release = "final"
        pre = 0

    # Handle development releases
    dev = m.group('dev') if m.group('dev') else 0
    if m.group('dev'):
        dev = int(m.group('dev'))
        release = '.dev-' + release if pre else '.dev'
    else:
        dev = 0

    # Handle post
    post = int(m.group('post')) if m.group('post') else 0

    return Version(major, minor, micro, release, pre, post, dev)


__version_info__ = Version(10, 9, 0, "final")
__version__ = __version_info__._get_canonical()
pymdown-extensions-10.9/pymdownx/_bypassnorm.py000066400000000000000000000037631465124271600221510ustar00rootroot00000000000000"""
Bypass whitespace normalization.

pymdownx._bypassnorm

Strips `SOH` and `EOT` characters before whitespace normalization
allowing other extensions to then create preprocessors that stash HTML
with `SOH` and `EOT`  After whitespace normalization, all `SOH` and
`EOT` characters will be converted to the Python Markdown standard
`STX` and `ETX` convention since whitespace normalization usually
strips out the `STX` and `ETX` characters.

Copyright 2014 - 2018 Isaac Muse 
"""

from markdown import Extension
from markdown.util import STX, ETX
from markdown.preprocessors import Preprocessor

SOH = '\u0001'  # start
EOT = '\u0004'  # end


class PreNormalizePreprocessor(Preprocessor):
    """Preprocessor to remove workaround symbols."""

    def run(self, lines):
        """Remove workaround placeholder markers before adding actual workaround placeholders."""

        source = '\n'.join(lines)
        source = source.replace(SOH, '').replace(EOT, '')
        return source.split('\n')


class PostNormalizePreprocessor(Preprocessor):
    """Preprocessor to clean up normalization bypass hack."""

    def run(self, lines):
        """Convert alternate placeholder symbols to actual placeholder symbols."""

        source = '\n'.join(lines)
        source = source.replace(SOH, STX).replace(EOT, ETX)
        return source.split('\n')


class BypassNormExtension(Extension):
    """Bypass whitespace normalization."""

    def __init__(self, *args, **kwargs):
        """Initialize."""

        self.inlinehilite = []
        self.config = {}
        super().__init__(*args, **kwargs)

    def extendMarkdown(self, md):
        """Add extensions that help with bypassing whitespace normalization."""

        md.preprocessors.register(PreNormalizePreprocessor(md), "pymdownx-pre-norm-ws", 35)
        md.preprocessors.register(PostNormalizePreprocessor(md), "pymdownx-post-norm-ws", 29.9)


def makeExtension(*args, **kwargs):
    """Return extension."""

    return BypassNormExtension(*args, **kwargs)
pymdown-extensions-10.9/pymdownx/arithmatex.py000066400000000000000000000346321465124271600217620ustar00rootroot00000000000000r"""
Arithmatex.

pymdownx.arithmatex
Extension that preserves the following for MathJax use:

```
$Equation$, \(Equation\)

$$
  Display Equations
$$

\[
  Display Equations
\]

\begin{align}
  Display Equations
\end{align}
```

and `$Inline MathJax Equations$`

Inline and display equations are converted to scripts tags. You can optionally generate previews.

MIT license.

Copyright (c) 2014 - 2017 Isaac Muse 

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from markdown import Extension
from markdown.inlinepatterns import InlineProcessor
from markdown.blockprocessors import BlockProcessor
from markdown import util as md_util
from functools import partial
import xml.etree.ElementTree as etree
from . import util
import re

RE_SMART_DOLLAR_INLINE = r'(?:(?[$]{2})(?P((?:\\.|[^\\])+?))(?P=dollar)'
RE_TEX_BLOCK = r'(?P\\begin\{(?P[a-z]+\*?)\}(?:\\.|[^\\])+?\\end\{(?P=env)\})'
RE_BRACKET_BLOCK = r'\\\[(?P(?:\\[^\]]|[^\\])+?)\\\]'


def _escape(txt):
    """Basic html escaping."""

    txt = txt.replace('&', '&')
    txt = txt.replace('<', '<')
    txt = txt.replace('>', '>')
    txt = txt.replace('"', '"')
    return txt


# Formatters usable with InlineHilite
@util.deprecated(
    "The inline MathJax Preview formatter has been deprecated in favor of the configurable 'arithmatex_fenced_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def inline_mathjax_preview_format(math, language='math', class_name='arithmatex', md=None):
    """Inline math formatter with preview."""

    return _inline_mathjax_format(math, preview=True)


@util.deprecated(
    "The inline MathJax formatter has been deprecated in favor of the configurable 'arithmatex_fenced_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def inline_mathjax_format(math, language='math', class_name='arithmatex', md=None):
    """Inline math formatter."""

    return _inline_mathjax_format(math, preview=False)


@util.deprecated(
    "The inline generic math formatter has been deprecated in favor of the configurable 'arithmatex_inline_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def inline_generic_format(math, language='math', class_name='arithmatex', md=None, **kwargs):
    """Inline generic formatter."""

    return _inline_generic_format(math, language, class_name, md, **kwargs)


def _inline_mathjax_format(math, language='math', class_name='arithmatex', md=None, tag='span', preview=False):
    """Inline math formatter."""

    el = etree.Element(tag, {'class': 'arithmatex'})
    if preview:
        pre = etree.SubElement(el, 'span', {'class': 'MathJax_Preview'})
        pre.text = md_util.AtomicString(math)
    script = etree.SubElement(el, 'script', {'type': 'math/tex'})
    script.text = md_util.AtomicString(math)
    return el


def _inline_generic_format(math, language='math', class_name='arithmatex', md=None, wrap='\\({}\\)', tag='span'):
    """Inline generic formatter."""

    el = etree.Element(tag, {'class': class_name})
    el.text = md_util.AtomicString(wrap.format(math))
    return el


def arithmatex_inline_format(**kwargs):
    """Specify which type of formatter you want and the wrapping tag."""

    mode = kwargs.get('mode', 'generic')
    tag = kwargs.get('tag', 'span')
    preview = kwargs.get('preview', False)

    if mode == 'generic':
        return partial(_inline_generic_format, tag=tag)
    elif mode == 'mathjax':
        return partial(_inline_mathjax_format, preview=preview)


# Formatters usable with SuperFences
@util.deprecated(
    "The fenced MathJax preview formatter has been deprecated in favor of the configurable 'arithmatex_fenced_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def fence_mathjax_preview_format(math, language='math', class_name='arithmatex', options=None, md=None, **kwargs):
    """Block MathJax formatter with preview."""

    return _fence_mathjax_format(math, preview=True)


@util.deprecated(
    "The fenced MathJax preview formatter has been deprecated in favor of the configurable 'arithmatex_fenced_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def fence_mathjax_format(math, language='math', class_name='arithmatex', options=None, md=None, **kwargs):
    """Block MathJax formatter."""

    return _fence_mathjax_format(math, preview=False)


@util.deprecated(
    "The generic math formatter has been deprecated in favor of the configurable 'arithmatex_fenced_format'. "
    "Please see relevant documentation for more information on how to switch before this function is "
    "removed in the future."
)
def fence_generic_format(math, language='math', class_name='arithmatex', options=None, md=None, **kwargs):
    """Generic block formatter."""

    return _fence_generic_format(math, language, class_name, options, md, **kwargs)


def _fence_mathjax_format(
    math, language='math', class_name='arithmatex', options=None, md=None, preview=False, tag="div", **kwargs
):
    """Block math formatter."""

    text = f'<{tag} class="arithmatex">\n'
    if preview:
        text += (
            '
\n' + _escape(math) + '\n
\n' ) text += ( '\n' ) text += '
' return text def _fence_generic_format( math, language='math', class_name='arithmatex', options=None, md=None, wrap='\\[\n{}\n\\]', tag='div', **kwargs ): """Generic block formatter.""" classes = kwargs['classes'] id_value = kwargs['id_value'] attrs = kwargs['attrs'] classes.insert(0, class_name) id_value = f' id="{id_value}"' if id_value else '' classes = ' class="{}"'.format(' '.join(classes)) attrs = ' ' + ' '.join(f'{k}="{v}"' for k, v in attrs.items()) if attrs else '' return f'<{tag}{id_value}{classes}{attrs}>{wrap.format(math)}' def arithmatex_fenced_format(**kwargs): """Specify which type of formatter you want and the wrapping tag.""" mode = kwargs.get('mode', 'generic') tag = kwargs.get('tag', 'div') preview = kwargs.get('preview', False) if mode == 'generic': return partial(_fence_generic_format, tag=tag) elif mode == 'mathjax': return partial(_fence_mathjax_format, tag=tag, preview=preview) class InlineArithmatexPattern(InlineProcessor): """Arithmatex inline pattern handler.""" ESCAPED_BSLASH = '{}{}{}'.format(md_util.STX, ord('\\'), md_util.ETX) def __init__(self, pattern, config): """Initialize.""" # Generic setup self.generic = config.get('generic', False) wrap = config.get('tex_inline_wrap', ["\\(", "\\)"]) self.wrap = ( wrap[0].replace('{', '}}').replace('}', '}}') + '{}' + wrap[1].replace('{', '}}').replace('}', '}}') ) self.inline_tag = config.get('inline_tag', 'span') # Default setup self.preview = config.get('preview', True) InlineProcessor.__init__(self, pattern) def handleMatch(self, m, data): """Handle notations and switch them to something that will be more detectable in HTML.""" # Handle escapes groups = m.groups() escapes = groups[0] if not escapes and len(groups) > 3: escapes = groups[3] if escapes: return escapes.replace('\\\\', self.ESCAPED_BSLASH), m.start(0), m.end(0) # Handle Tex math = groups[2] if not math and len(groups) > 3: math = groups[5] if self.generic: return _inline_generic_format(math, wrap=self.wrap, tag=self.inline_tag), m.start(0), m.end(0) else: return _inline_mathjax_format(math, tag=self.inline_tag, preview=self.preview), m.start(0), m.end(0) class BlockArithmatexProcessor(BlockProcessor): """MathJax block processor to find $$MathJax$$ content.""" def __init__(self, pattern, config, md): """Initialize.""" # Generic setup self.generic = config.get('generic', False) wrap = config.get('tex_block_wrap', ['\\[', '\\]']) self.wrap = ( wrap[0].replace('{', '}}').replace('}', '}}') + '{}' + wrap[1].replace('{', '}}').replace('}', '}}') ) self.block_tag = config.get('block_tag', 'div') # Default setup self.preview = config.get('preview', False) self.match = None self.pattern = re.compile(pattern) BlockProcessor.__init__(self, md.parser) def test(self, parent, block): """Return 'True' for future Python Markdown block compatibility.""" self.match = self.pattern.match(block) if self.pattern is not None else None return self.match is not None def mathjax_output(self, parent, math): """Default MathJax output.""" grandparent = parent parent = etree.SubElement(grandparent, self.block_tag, {'class': 'arithmatex'}) if self.preview: preview = etree.SubElement(parent, 'div', {'class': 'MathJax_Preview'}) preview.text = md_util.AtomicString(math) el = etree.SubElement(parent, 'script', {'type': 'math/tex; mode=display'}) el.text = md_util.AtomicString(math) def generic_output(self, parent, math): """Generic output.""" el = etree.SubElement(parent, self.block_tag, {'class': 'arithmatex'}) el.text = md_util.AtomicString(self.wrap.format(math)) def run(self, parent, blocks): """Find and handle block content.""" blocks.pop(0) groups = self.match.groupdict() math = groups.get('math', '') if not math: math = groups.get('math2', '') if not math: math = groups.get('math3', '') if self.generic: self.generic_output(parent, math) else: self.mathjax_output(parent, math) return True class ArithmatexExtension(Extension): """Adds delete extension to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'tex_inline_wrap': [ ["\\(", "\\)"], "Wrap inline content with the provided text ['open', 'close'] - Default: ['', '']" ], 'tex_block_wrap': [ ["\\[", "\\]"], "Wrap blick content with the provided text ['open', 'close'] - Default: ['', '']" ], "smart_dollar": [True, "Use Arithmatex's smart dollars - Default True"], "block_syntax": [ ['dollar', 'square', 'begin'], 'Enable block syntax: "dollar" ($$...$$), "square" (\\[...\\]), and ' '"begin" (\\begin{env}...\\end{env}). - Default: ["dollar", "square", "begin"]' ], "inline_syntax": [ ['dollar', 'round'], 'Enable block syntax: "dollar" ($$...$$), "bracket" (\\(...\\)) ' ' - Default: ["dollar", "round"]' ], 'generic': [False, "Output in a generic format for non MathJax libraries - Default: False"], 'preview': [ True, "Insert a preview for scripts. - Default: False" ], 'block_tag': ['div', "Specify wrapper tag - Default 'div'"], 'inline_tag': ['span', "Specify wrapper tag - Default 'span'"] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Extend the inline and block processor objects.""" md.registerExtension(self) util.escape_chars(md, ['$']) config = self.getConfigs() # Inline patterns allowed_inline = set(config.get('inline_syntax', ['dollar', 'round'])) smart_dollar = config.get('smart_dollar', True) inline_patterns = [] if 'dollar' in allowed_inline: inline_patterns.append(RE_SMART_DOLLAR_INLINE if smart_dollar else RE_DOLLAR_INLINE) if 'round' in allowed_inline: inline_patterns.append(RE_BRACKET_INLINE) if inline_patterns: inline = InlineArithmatexPattern('(?:%s)' % '|'.join(inline_patterns), config) md.inlinePatterns.register(inline, 'arithmatex-inline', 189.9) # Block patterns allowed_block = set(config.get('block_syntax', ['dollar', 'square', 'begin'])) block_pattern = [] if 'dollar' in allowed_block: block_pattern.append(RE_DOLLAR_BLOCK) if 'square' in allowed_block: block_pattern.append(RE_BRACKET_BLOCK) if 'begin' in allowed_block: block_pattern.append(RE_TEX_BLOCK) if block_pattern: block = BlockArithmatexProcessor(r'(?s)^(?:%s)[ ]*$' % '|'.join(block_pattern), config, md) md.parser.blockprocessors.register(block, "arithmatex-block", 79.9) def makeExtension(*args, **kwargs): """Return extension.""" return ArithmatexExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/b64.py000066400000000000000000000105301465124271600201760ustar00rootroot00000000000000""" B64. An extension for Python Markdown. Given an absolute base path, this extension searches for image tags, and if the images are local, will embed the images in base64. MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.postprocessors import Postprocessor from . import util import os import base64 import re RE_SLASH_WIN_DRIVE = re.compile(r"^/[A-Za-z]{1}:/.*") file_types = { (".png",): "image/png", (".jpg", ".jpeg"): "image/jpeg", (".gif",): "image/gif", (".svg",): "image/svg+xml", } RE_TAG_HTML = re.compile( r'''(?xus) (?: (?P <\s*(?Pscript|style)[^>]*>.*? | (?:(\r?\n?\s*)(\s*)(?=\r?\n)|) )| (?P<\s*(?Pimg)) (?P(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'))?)*) (?P\s*(?:\/?)>) ) ''' ) RE_TAG_LINK_ATTR = re.compile( r'''(?xus) (?P (?: (?P\s+src\s*=\s*) (?P"[^"]*"|'[^']*') ) ) ''' ) def repl_path(m, base_path): """Replace path with b64 encoded data.""" link = m.group(0) try: scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(m.group('path')[1:-1]) if not is_url: path = util.url2path(path) if is_absolute: file_name = os.path.normpath(path) else: file_name = os.path.normpath(os.path.join(base_path, path)) if os.path.exists(file_name): ext = os.path.splitext(file_name)[1].lower() for b64_ext in file_types: if ext in b64_ext: with open(file_name, "rb") as f: link = " src=\"data:{};base64,{}\"".format( file_types[b64_ext], base64.b64encode(f.read()).decode('ascii') ) break except Exception: # pragma: no cover # Parsing crashed and burned; no need to continue. pass return link def repl(m, base_path): """Replace.""" if m.group('avoid'): tag = m.group('avoid') else: tag = m.group('open') tag += RE_TAG_LINK_ATTR.sub(lambda m2: repl_path(m2, base_path), m.group('attr')) tag += m.group('close') return tag class B64Postprocessor(Postprocessor): """Post processor for B64.""" def run(self, text): """Find and replace paths with base64 encoded file.""" basepath = self.config['base_path'] text = RE_TAG_HTML.sub(lambda m: repl(m, basepath), text) return text class B64Extension(Extension): """B64 extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'base_path': [".", "Base path for b64 to use to resolve paths - Default: \".\""] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add base 64 tree processor to Markdown instance.""" b64 = B64Postprocessor(md) b64.config = self.getConfigs() md.postprocessors.register(b64, "b64", 2) md.registerExtension(self) def makeExtension(*args, **kwargs): """Return extension.""" return B64Extension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/betterem.py000066400000000000000000000240201465124271600214110ustar00rootroot00000000000000""" Better Emphasis. pymdownx.betterem Add intelligent handling of to em and strong notations MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re from markdown import Extension from markdown.inlinepatterns import SimpleTextInlineProcessor from . import util SMART_UNDER_CONTENT = r'(.+?_*?)' SMART_STAR_CONTENT = r'(.+?\**?)' UNDER_CONTENT = r'(_|(?:(?<=\s)_|[^_])+?)' UNDER_CONTENT2 = r'((?:[^_]|(? ]*){}({}){}$'.format( mutil.HTML_PLACEHOLDER[0], mutil.HTML_PLACEHOLDER[1:-1] % r'([0-9]+)', mutil.HTML_PLACEHOLDER[-1] ) ) # Block start/end RE_START = re.compile( r'(?:^|\n)[ ]{0,3}(/{3,})[ ]*([\w-]+)[ ]*(?:\|[ ]*(.*?)[ ]*)?(?:\n|$)' ) RE_END = re.compile( r'(?m)(?:^|\n)[ ]{0,3}(/{3,})[ ]*(?:\n|$)' ) # Frontmatter patterns RE_YAML_START = re.compile(r'(?m)^[ ]{0,3}(-{3})[ ]*(?:\n|$)') RE_YAML_END = re.compile( r'(?m)^[ ]{0,3}(-{3})[ ]*(?:\n|$)' ) RE_INDENT_YAML_LINE = re.compile(r'(?m)^(?:[ ]{4,}(?!\s).*?(?:\n|$))+') class BlockEntry: """Track Block entries.""" def __init__(self, block, el, parent): """Block entry.""" self.block = block self.el = el self.parent = parent self.hungry = False def get_frontmatter(string): """ Get frontmatter from string. YAML-ish key value pairs. """ frontmatter = None try: frontmatter = yaml.safe_load(string) if frontmatter is None: frontmatter = {} if not isinstance(frontmatter, dict): frontmatter = None except Exception: pass return frontmatter def reindent(text, pos, level): """Reindent the code to where it is supposed to be.""" indented = [] for line in text.split('\n'): index = pos - level indented.append(line[index:]) return indented def unescape_markdown(md, blocks, is_raw): """Look for SuperFences code placeholders and other HTML stash placeholders and revert them back to plain text.""" superfences = None try: from ..superfences import SuperFencesBlockPreprocessor processor = md.preprocessors['fenced_code_block'] if isinstance(processor, SuperFencesBlockPreprocessor): superfences = processor.extension except Exception: pass new_blocks = [] for block in blocks: new_lines = [] for line in block.split('\n'): m = FENCED_BLOCK_RE.match(line) if m: key = m.group(2) # Extract SuperFences content indent_level = len(m.group(1)) original = None if superfences is not None: original, pos = superfences.stash.get(key, (None, None)) if original is not None: code = reindent(original, pos, indent_level) new_lines.extend(code) superfences.stash.remove(key) # Extract other HTML stashed content if original is None and is_raw: index = int(key.split(':')[1]) if index < len(md.htmlStash.rawHtmlBlocks): original = md.htmlStash.rawHtmlBlocks[index] if isinstance(original, etree.Element): original = etree.tostring(original, encoding='unicode', method='html') new_lines.append(original) # Couldn't find anything to extract if original is None: # pragma: no cover new_lines.append(line) else: new_lines.append(line) new_blocks.append('\n'.join(new_lines)) return new_blocks class BlocksTreeprocessor(Treeprocessor): """Blocks tree processor.""" def __init__(self, md, blocks): """Initialize.""" super().__init__(md) self.blocks = blocks def run(self, doc): """Update tab IDs.""" while self.blocks.inline_stack: entry = self.blocks.inline_stack.pop(0) entry.block.on_inline_end(entry.el) class BlocksProcessor(BlockProcessor): """Generic block processor.""" def __init__(self, parser, md): """Initialization.""" self.md = md # The Block classes indexable by name self.blocks = {} self.config = {} self.empty_tags = {'hr',} self.block_level_tags = set(md.block_level_elements.copy()) self.block_level_tags.add('html') # Block-level tags in which the content only gets span level parsing self.span_tags = { 'address', 'dd', 'dt', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'legend', 'li', 'p', 'summary', 'td', 'th' } # Block-level tags which never get their content parsed. self.raw_tags = {'canvas', 'math', 'option', 'pre', 'script', 'style', 'textarea', 'code'} # Block-level tags in which the content gets parsed as blocks self.block_tags = set(self.block_level_tags) - (self.span_tags | self.raw_tags | self.empty_tags) self.span_and_blocks_tags = self.block_tags | self.span_tags super().__init__(parser) # Persistent storage across a document for blocks self.trackers = {} # Currently queued up blocks self.stack = [] # Blocks that should be processed after inline. self.inline_stack = [] # When set, the assigned block is actively parsing blocks. self.working = None # Cached the found parent when testing # so we can quickly retrieve it when running self.cached_parent = None self.cached_block = None # Used during the alpha/beta stage self.start = RE_START self.end = RE_END self.yaml_line = RE_INDENT_YAML_LINE def register(self, b, config): """Register a block.""" if b.NAME in self.blocks: raise ValueError(f'The block name {b.NAME} is already registered!') self.blocks[b.NAME] = b self.config[b.NAME] = config def test(self, parent, block): """Test to see if we should process the block.""" # Are we hungry for more? if self.get_parent(parent) is not None: return True # Is this the start of a new block? m = self.start.search(block) if m: pre_text = block[:m.start()] if m.start() > 0 else None # Create a block object name = m.group(2).lower() if name in self.blocks: generic_block = self.blocks[name](len(m.group(1)), self.trackers[name], self, self.config[name]) # Remove first line block = block[m.end():] # Get frontmatter and argument(s) options, the_rest = self.split_header(block, generic_block.length) arguments = m.group(3) # Options must be valid status = options is not None # Update the config for the Block if status: status = generic_block._validate(parent, arguments, **options) # Cache the found Block and any remaining content if status: self.cached_block = (generic_block, the_rest) # Any text before the block should get handled if pre_text is not None: self.parser.parseBlocks(parent, [pre_text]) return status return False def _reset(self): """Reset.""" self.stack.clear() self.inline_stack.clear() self.working = None self.trackers = {d: {} for d in self.blocks.keys()} def split_end(self, blocks, length): """Search for end and split the blocks while removing the end.""" good = [] bad = [] end = False # Split on our end notation for the current Block for e, block in enumerate(blocks): # Find the end of the Block m = None for match in self.end.finditer(block): if len(match.group(1)) == length: m = match break # Separate everything from before the "end" and after if m: temp = block[:m.start(0)] if temp: good.append(temp[:-1] if temp.endswith('\n') else temp) end = True # Since we found our end, everything after is unwanted temp = block[m.end(0):] if temp: bad.append(temp) bad.extend(blocks[e + 1:]) break else: # Gather blocks until we find our end good.append(block) # Augment the blocks blocks.clear() blocks.extend(bad) # Send back the new list of blocks to parse and note whether we found our end return good, end def split_header(self, block, length): """Split, YAML-ish header out.""" # Search for end in first block m = None blocks = [] for match in self.end.finditer(block): if len(match.group(1)) == length: m = match break # Move block ending to be parsed later if m: end = block[m.start(0):] blocks.insert(0, end) block = block[:m.start(0)] m = self.yaml_line.match(block) if m is not None: config = textwrap.dedent(m.group(0)) blocks.insert(0, block[m.end():]) if config.strip(): return get_frontmatter(config), '\n'.join(blocks) blocks.insert(0, block) return {}, '\n'.join(blocks) def get_parent(self, parent): """Get parent.""" # Returned the cached parent from our last attempt if self.cached_parent is not None: parent = self.cached_parent self.cached_parent = None return parent temp = parent while temp is not None: for entry in self.stack: if entry.hungry and entry.parent is temp: self.cached_parent = temp return temp if temp is not None: temp = self.lastChild(temp) return None def is_raw(self, tag): """Is tag raw.""" return tag.tag in self.raw_tags def is_block(self, tag): """Is tag block.""" return tag.tag in self.block_tags def parse_blocks(self, blocks, entry): """Parse the blocks.""" # Get the target element and parse for b in blocks: target = entry.block.on_add(entry.el) # The Block does not or no longer accepts more content if target is None: # pragma: no cover break mode = entry.block.on_markdown() if mode not in ('block', 'inline', 'raw'): mode = 'auto' is_block = mode == 'block' or (mode == 'auto' and self.is_block(target)) is_atomic = mode == 'raw' or (mode == 'auto' and self.is_raw(target)) # We should revert fenced code in spans or atomic tags. # Make sure atomic tags have content wrapped as `AtomicString`. if is_atomic or not is_block: child = list(target)[-1] if len(target) else None text = target.text if child is None else child.tail b = '\n\n'.join(unescape_markdown(self.md, [b], is_atomic)) if text: text += '\n\n' + b else: text = b if child is None: target.text = mutil.AtomicString(text) if is_atomic else text else: # pragma: no cover # TODO: We would need to build a special plugin to test this, # as none of the default ones do this, but we have verified this # locally. Once we've written a test, we can remove this. child.tail = mutil.AtomicString(text) if is_atomic else text # Block tags should have content go through the normal block processor else: self.parser.state.set('blocks') working = self.working self.working = entry self.parser.parseChunk(target, b) self.parser.state.reset() self.working = working def run(self, parent, blocks): """Convert to details/summary block.""" # Get the appropriate parent for this Block temp = self.get_parent(parent) if temp is not None: parent = temp # Did we find a new Block? if self.cached_block: # Get cached Block and reset the cache generic_block, block = self.cached_block self.cached_block = None # Discard first block as we've already processed what we need from it blocks.pop(0) if block: blocks.insert(0, block) # Ensure a "tight" parent list item is converted to "loose". if parent is not None and parent.tag in ('li', 'dd'): # pragma: no cover text = parent.text if parent.text: parent.text = '' p = etree.SubElement(parent, 'p') p.text = text # Create the block element el = generic_block._create(parent) # Push a Block entry on the stack. self.stack.append(BlockEntry(generic_block, el, parent)) # Split out blocks we care about ours, end = self.split_end(blocks, generic_block.length) # Parse the text blocks under the Block index = len(self.stack) - 1 self.parse_blocks(ours, self.stack[-1]) # Remove Block from the stack if we are at the end # or add it to the hungry list. if end: # Run the "on end" event generic_block._end(el) self.inline_stack.append(self.stack[index]) del self.stack[index] else: self.stack[index].hungry = True else: for r in range(len(self.stack)): entry = self.stack[r] if entry.hungry and parent is entry.parent: # Find and remove end from the blocks ours, end = self.split_end(blocks, entry.block.length) # Get the target element and parse entry.hungry = False self.parse_blocks(ours, entry) # Clean up if we completed the Block if end: # Run "on end" event entry.block._end(entry.el) self.inline_stack.append(entry) del self.stack[r] else: entry.hungry = True break class BlocksMgrExtension(Extension): """Add generic Blocks extension.""" def extendMarkdown(self, md): """Add Blocks to Markdown instance.""" md.registerExtension(self) util.escape_chars(md, ['/']) self.extension = BlocksProcessor(md.parser, md) # We want to be right after list indentations are processed md.parser.blockprocessors.register(self.extension, "blocks", 89.99) tree = BlocksTreeprocessor(md, self.extension) md.treeprocessors.register(tree, 'blocks_on_inline_end', 19.99) def reset(self): """Reset.""" self.extension._reset() class BlocksExtension(Extension): """Blocks Extension.""" def register_block_mgr(self, md): """Add Blocks to Markdown instance.""" if 'blocks' not in md.parser.blockprocessors: ext = BlocksMgrExtension() ext.extendMarkdown(md) mgr = ext.extension else: mgr = md.parser.blockprocessors['blocks'] return mgr def extendMarkdown(self, md): """Extend markdown.""" mgr = self.register_block_mgr(md) self.extendMarkdownBlocks(md, mgr) def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" pymdown-extensions-10.9/pymdownx/blocks/admonition.py000066400000000000000000000071061465124271600232260ustar00rootroot00000000000000"""Admonitions.""" import xml.etree.ElementTree as etree from .block import Block, type_html_identifier from .. blocks import BlocksExtension import re RE_SEP = re.compile(r'[_-]+') RE_VALID_NAME = re.compile(r'[\w-]+') class Admonition(Block): """ Admonition. Arguments (1 optional): - A title. Options: - `type` (string): Attach a single special class for styling purposes. If more are needed, use the built-in `attributes` options to apply as many classes as desired. Content: Detail body. """ NAME = 'admonition' ARGUMENT = None OPTIONS = { 'type': ['', type_html_identifier], } DEF_TITLE = None DEF_CLASS = None def on_validate(self, parent): """Handle on validate event.""" if self.NAME != 'admonition': self.options['type'] = {'name': self.NAME} if self.DEF_TITLE: self.options['type']['title'] = self.DEF_TITLE if self.DEF_TITLE: self.options['type']['class'] = self.DEF_CLASS return True def on_create(self, parent): """Create the element.""" # Set classes classes = ['admonition'] obj = self.options['type'] atype = def_title = class_name = '' if isinstance(obj, dict): atype = obj['name'] class_name = obj.get('class', atype) def_title = obj.get('title', RE_SEP.sub(' ', class_name).title()) elif isinstance(obj, str): atype = obj class_name = atype def_title = RE_SEP.sub(' ', atype).title() if atype and atype != 'admonition': classes.append(class_name) # Create the admonition el = etree.SubElement(parent, 'div', {'class': ' '.join(classes)}) # Create the title title = None if self.argument is None: if atype: title = def_title elif self.argument: title = self.argument if title is not None: ad_title = etree.SubElement(el, 'p', {'class': 'admonition-title'}) ad_title.text = title return el class AdmonitionExtension(BlocksExtension): """Admonition Blocks Extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { "types": [ ['note', 'attention', 'caution', 'danger', 'error', 'tip', 'hint', 'warning'], "Generate Admonition block extensions for the given types." ] } super().__init__(*args, **kwargs) def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" block_mgr.register(Admonition, self.getConfigs()) # Generate an admonition subclass based on the given names. for obj in self.getConfig('types', []): if isinstance(obj, dict): name = obj['name'] class_name = obj.get('class', name) title = obj.get('title', RE_SEP.sub(' ', class_name).title()) else: name = obj class_name = name title = RE_SEP.sub(' ', class_name).title() subclass = RE_SEP.sub('', name).title() block_mgr.register( type( subclass, (Admonition,), {'OPTIONS': {}, 'NAME': name, 'DEF_TITLE': title, 'DEF_CLASS': class_name} ), {} ) def makeExtension(*args, **kwargs): """Return extension.""" return AdmonitionExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/blocks/block.py000066400000000000000000000241201465124271600221520ustar00rootroot00000000000000"""Block class.""" from abc import ABCMeta, abstractmethod import functools import copy import re from markdown import util as mutil RE_IDENT = re.compile( r''' (?:(?:-?(?:[^\x00-\x2f\x30-\x40\x5B-\x5E\x60\x7B-\x9f])+|--) (?:[^\x00-\x2c\x2e\x2f\x3A-\x40\x5B-\x5E\x60\x7B-\x9f])*) ''', re.I | re.X ) RE_INDENT = re.compile(r'(?m)^([ ]*)[^ \n]') RE_DEDENT = re.compile(r'(?m)^([ ]*)($)?') def _type_multi(value, types=None): """Multi types.""" for t in types: try: return t(value) except ValueError: # noqa: PERF203 pass raise ValueError(f"Type '{type(value)}' did not match any of the provided types") def type_multi(*args): """Validate a type with multiple type functions.""" return functools.partial(_type_multi, types=args) def type_any(value): """Accepts any type.""" return value def type_none(value): """Ensure type None or fail.""" if value is not None: raise ValueError(f'{type(value)} is not None') def _ranged_number(value, minimum, maximum, number_type): """Check the range of the given number type.""" value = number_type(value) if minimum is not None and value < minimum: raise ValueError(f'{value} is not greater than {minimum}') if maximum is not None and value > maximum: raise ValueError(f'{value} is not greater than {minimum}') return value def type_number(value): """Ensure type number or fail.""" if not isinstance(value, (float, int)): raise ValueError(f"Could not convert type {type(value)} to a number") return value def type_integer(value): """Ensure type integer or fail.""" if not isinstance(value, int): if not isinstance(value, float) or not value.is_integer(): raise ValueError(f"Could not convert type {type(value)} to an integer") value = int(value) return value def type_ranged_number(minimum=None, maximum=None): """Ensure typed number is within range.""" return functools.partial(_ranged_number, minimum=minimum, maximum=maximum, number_type=type_number) def type_ranged_integer(minimum=None, maximum=None): """Ensured type integer is within range.""" return functools.partial(_ranged_number, minimum=minimum, maximum=maximum, number_type=type_integer) def type_boolean(value): """Ensure type boolean or fail.""" if not isinstance(value, bool): raise ValueError(f"Could not convert type {type(value)} to a boolean") return value type_ternary = type_multi(type_none, type_boolean) def type_string(value): """Ensure type string or fail.""" if isinstance(value, str): return value raise ValueError(f"Could not convert type {type(value)} to a string") def type_string_insensitive(value): """Ensure type string and normalize case.""" return type_string(value).lower() def type_html_identifier(value): """Ensure type HTML attribute name or fail.""" value = type_string(value) m = RE_IDENT.fullmatch(value) if m is None: raise ValueError('A valid attribute name must be provided') return m.group(0) def _delimiter(string, split, string_type): """Split the string by the delimiter and then parse with the parser.""" l = [] # Ensure input is a string string = type_string(string) for s in string.split(split): s = s.strip() if not s: continue # Ensure each part conforms to the desired string type s = string_type(s) l.append(s) return l def _string_in(value, accepted, string_type): """Ensure type string is within the accepted values.""" value = string_type(value) if value not in accepted: raise ValueError(f'{value} not found in {accepted!s}') return value def type_string_in(accepted, insensitive=True): """Ensure type string is within the accepted list.""" return functools.partial( _string_in, accepted=accepted, string_type=type_string_insensitive if insensitive else type_string ) def type_string_delimiter(split, string_type=type_string): """String delimiter function.""" return functools.partial(_delimiter, split=split, string_type=string_type) def type_html_attribute_dict(value): """Attribute dictionary.""" if not isinstance(value, dict): raise ValueError('Attributes should be contained within a dictionary') attributes = {} for k, v in value.items(): k = type_html_identifier(k) if k.lower() == 'class': k = 'class' v = type_html_classes(v) elif k.lower() == 'id': k = 'id' v = type_html_identifier(v) else: v = type_string(v) attributes[k] = v return attributes # Ensure class(es) or fail type_html_classes = type_string_delimiter(' ', type_html_identifier) class Block(metaclass=ABCMeta): """Block.""" # Set to something if argument should be split. # Arguments will be split and white space stripped. NAME = '' # Instance arguments and options ARGUMENT = False OPTIONS = {} def __init__(self, length, tracker, block_mgr, config): """ Initialize. - `length` specifies the length (number of slashes) that the header used - `tracker` is a persistent storage for the life of the current Markdown page. It is a dictionary where we can keep references until the parent extension is reset. - `md` is the Markdown object just in case access is needed to something we didn't think about. """ # Setup up the argument and options spec # Note that `attributes` is handled special and we always override it self.arg_spec = self.ARGUMENT self.option_spec = copy.deepcopy(self.OPTIONS) if 'attrs' in self.option_spec: # pragma: no cover raise ValueError("'attrs' is a reserved option name and cannot be overriden") self.option_spec['attrs'] = [{}, type_html_attribute_dict] self._block_mgr = block_mgr self.length = length self.tracker = tracker self.md = block_mgr.md self.arguments = [] self.options = {} self.config = config self.on_init() def is_raw(self, tag): """Is raw element.""" return self._block_mgr.is_raw(tag) def is_block(self, tag): # pragma: no cover """Is block element.""" return self._block_mgr.is_block(tag) def html_escape(self, text): """Basic html escaping.""" text = text.replace('&', '&') text = text.replace('<', '<') text = text.replace('>', '>') return text def dedent(self, text, length=None): """Dedent raw text.""" if length is None: length = self.md.tab_length min_length = float('inf') for x in RE_INDENT.findall(text): min_length = min(len(x), min_length) min_length = min(min_length, length) return RE_DEDENT.sub(lambda m, l=min_length: '' if m.group(2) is not None else m.group(1)[l:], text) def on_init(self): """On initialize.""" return def on_markdown(self): """Check how element should be treated by the Markdown parser.""" return "auto" def _validate(self, parent, arg, **options): """Parse configuration.""" # Check argument if (self.arg_spec is not None and ((arg and not self.arg_spec) or (not arg and self.arg_spec))): return False self.argument = arg # Fill in defaults options spec = self.option_spec parsed = {} for k, v in spec.items(): parsed[k] = v[0] # Parse provided options for k, v in options.items(): # Parameter not in spec if k not in spec: # Unrecognized parameter name return False # Spec explicitly handles parameter else: parser = spec[k][1] if parser is not None: try: v = parser(v) except Exception: # Invalid parameter value return False parsed[k] = v # Add parsed options to options self.options = parsed return self.on_validate(parent) def on_validate(self, parent): """ Handle validation event. Run after config parsing completes and allows for the opportunity to invalidate the block if argument, options, or even the parent element do not meet certain criteria. Return `False` to invalidate the block. """ return True @abstractmethod def on_create(self, parent): """Create the needed element and return it.""" def _create(self, parent): """Create the element.""" el = self.on_create(parent) # Handle general HTML attributes attrib = el.attrib for k, v in self.options['attrs'].items(): if k == 'class': if k in attrib: # Don't validate what the developer as already attached v = type_string_delimiter(' ')(attrib['class']) + v attrib['class'] = ' '.join(v) else: attrib[k] = v return el def _end(self, block): """Reached end of the block, dedent raw blocks and call `on_end` hook.""" mode = self.on_markdown() add = self.on_add(block) if mode == 'raw' or (mode == 'auto' and self.is_raw(add)): add.text = mutil.AtomicString(self.dedent(add.text)) self.on_end(block) def on_end(self, block): """Perform any action on end.""" return def on_add(self, block): """ Adjust where the content is added and return the desired element. Is there a sub-element where this content should go? This runs before processing every new block. """ return block def on_inline_end(self, block): """Perform action on the block after inline parsing.""" return pymdown-extensions-10.9/pymdownx/blocks/definition.py000066400000000000000000000033321465124271600232120ustar00rootroot00000000000000"""Definition.""" import xml.etree.ElementTree as etree from .block import Block from ..blocks import BlocksExtension class Definition(Block): """ Definition. Converts non `ul`, `ol` blocks (ideally `p` tags) into `dt` and will convert first level `li` elements of `ul` and `ol` elements to `dd` tags. When done, the `ul`, and `ol` elements will be removed. """ NAME = 'define' def on_create(self, parent): """Create the element.""" return etree.SubElement(parent, 'dl') def on_end(self, block): """Convert non list items to details.""" remove = [] offset = 0 for i, child in enumerate(list(block)): if child.tag.lower() in ('dt', 'dd'): continue elif child.tag.lower() not in ('ul', 'ol'): if child.tag.lower() == 'p': child.tag = 'dt' else: dt = etree.Element('dt') dt.append(child) block.insert(i + offset, dt) block.remove(child) else: for li in list(child): offset += 1 li.tag = 'dd' block.insert(i + offset, li) child.remove(li) remove.append(child) for el in remove: block.remove(el) class DefinitionExtension(BlocksExtension): """Definition Blocks Extension.""" def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" block_mgr.register(Definition, self.getConfigs()) def makeExtension(*args, **kwargs): """Return extension.""" return DefinitionExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/blocks/details.py000066400000000000000000000074761465124271600225240ustar00rootroot00000000000000"""Details.""" import xml.etree.ElementTree as etree from .block import Block, type_boolean, type_html_identifier from ..blocks import BlocksExtension import re RE_SEP = re.compile(r'[_-]+') RE_VALID_NAME = re.compile(r'[\w-]+') class Details(Block): """ Details. Arguments (1 optional): - A summary. Options: - `open` (boolean): force the details block to be in an open state opposed to collapsed. - `type` (string): Attach a single special class for styling purposes. If more are needed, use the built-in `attributes` options to apply as many classes as desired. Content: Detail body. """ NAME = 'details' ARGUMENT = None OPTIONS = { 'open': [False, type_boolean], 'type': ['', type_html_identifier] } DEF_TITLE = None DEF_CLASS = None def on_validate(self, parent): """Handle on validate event.""" if self.NAME != 'details': self.options['type'] = {'name': self.NAME} if self.DEF_TITLE: self.options['type']['title'] = self.DEF_TITLE if self.DEF_TITLE: self.options['type']['class'] = self.DEF_CLASS return True def on_create(self, parent): """Create the element.""" # Is it open? attributes = {} if self.options['open']: attributes['open'] = 'open' # Set classes obj = self.options['type'] dtype = def_title = class_name = '' if isinstance(obj, dict): dtype = obj['name'] class_name = obj.get('class', dtype) def_title = obj.get('title', RE_SEP.sub(' ', class_name).title()) elif isinstance(obj, str): dtype = obj class_name = dtype def_title = RE_SEP.sub(' ', class_name).title() if dtype: attributes['class'] = class_name # Create Detail element el = etree.SubElement(parent, 'details', attributes) # Create the summary summary = None if self.argument is None: if dtype: summary = def_title elif self.argument: summary = self.argument # Create the summary if summary is not None: s = etree.SubElement(el, 'summary') s.text = summary return el class DetailsExtension(BlocksExtension): """Admonition Blocks Extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { "types": [ [], "Generate Admonition block extensions for the given types." ] } super().__init__(*args, **kwargs) def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" block_mgr.register(Details, self.getConfigs()) # Generate an details subclass based on the given names. for obj in self.getConfig('types', []): if isinstance(obj, dict): name = obj['name'] class_name = obj.get('class', name) title = obj.get('title', RE_SEP.sub(' ', class_name).title()) else: name = obj class_name = name title = RE_SEP.sub(' ', class_name).title() subclass = RE_SEP.sub('', name).title() block_mgr.register( type( subclass, (Details,), { 'OPTIONS': {'open': [False, type_boolean]}, 'NAME': name, 'DEF_TITLE': title, 'DEF_CLASS': class_name } ), {} ) def makeExtension(*args, **kwargs): """Return extension.""" return DetailsExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/blocks/html.py000066400000000000000000000127751465124271600220410ustar00rootroot00000000000000"""HTML.""" import xml.etree.ElementTree as etree from .block import Block, type_string_in from ..blocks import BlocksExtension import re # Sub-patterns parts # Whitespace WS = r'(?:[ \t])' # CSS escapes CSS_ESCAPES = fr'(?:\\(?:[a-f0-9]{{1,6}}{WS}?|[^\r\n\f]|$))' # CSS Identifier IDENTIFIER = r''' (?:(?:-?(?:[^\x00-\x2f\x30-\x40\x5B-\x5E\x60\x7B-\x9f])+|--) (?:[^\x00-\x2c\x2e\x2f\x3A-\x40\x5B-\x5E\x60\x7B-\x9f])*) ''' # Value: quoted string or identifier VALUE = r''' (?:"(?:\\(?:.)|[^\\"\r\n\f]+)*?"|'(?:\\(?:.)|[^\\'\r\n\f]+)*?'|{ident}+) '''.format(ident=IDENTIFIER) # Attribute value comparison. ATTR = r''' (?:{ws}*(?P=){ws}*(?P{value}))? '''.format(ws=WS, value=VALUE) # Selector patterns # IDs (`#id`) PAT_ID = fr'\#{IDENTIFIER}' # Classes (`.class`) PAT_CLASS = fr'\.{IDENTIFIER}' # Attributes (`[attr]`, `[attr=value]`, etc.) PAT_ATTR = r''' \[(?:{ws}*(?P{ident}){attr})+{ws}*\] '''.format(ws=WS, ident=IDENTIFIER, attr=ATTR) RE_IDENT = re.compile(IDENTIFIER, flags=re.I | re.X) RE_ID = re.compile(PAT_ID, flags=re.I | re.X) RE_CLASS = re.compile(PAT_CLASS, flags=re.I | re.X) RE_ATTRS = re.compile(PAT_ATTR, flags=re.I | re.X) RE_ATTR = re.compile(fr'(?P{IDENTIFIER}){ATTR}', flags=re.I | re.X) ATTRIBUTES = {'id': RE_ID, 'class': RE_CLASS, 'attr': RE_ATTRS} def parse_selectors(selector): """Parse the selector.""" eol = len(selector) tag = None attrs = {} end = 0 m = None m = RE_IDENT.match(selector) if m is None: raise ValueError('No defined tag') tag = m.group(0) end = m.end() while end < eol: for atype, pat in ATTRIBUTES.items(): m = pat.match(selector, end) if m is not None: if atype == 'id': attrs[atype] = m.group(0)[1:] end = m.end() elif atype == 'class': if atype not in attrs: attrs[atype] = [m.group(0)[1:]] else: attrs[atype].append(m.group(0)[1:]) end = m.end() else: results = m.group(0) m2 = RE_ATTR.search(results) while m2 is not None: pos = m2.end() name = m2.group('attr_name').lower() value = m2.group('value') if value is None: value = name if name != 'class' else '' elif value.startswith(('"', "'")): value = value[1:-1] if name == 'class': value = [v for v in value.split(' ') if v] if value: if name in attrs: attrs[name].extend(value) else: attrs[name] = value else: value = value attrs[name] = value m2 = RE_ATTR.search(results, pos) end = m.end() break if m is None: raise ValueError('Invalid selector') if 'class' in attrs: attrs['class'] = ' '.join(attrs['class']) return tag, attrs class HTML(Block): """ HTML. Arguments (1 required): - HTML tag name Options: - `markdown` (string): specify how content inside the element should be treated: - `auto`: will automatically determine how an element's content should be handled. - `inline`: treat content as an inline element's content. - `block`: treat content as a block element's content. - `raw`: treat the content as raw content (atomic). Content: HTML element content. """ NAME = 'html' ARGUMENT = True OPTIONS = { 'markdown': ['auto', type_string_in(['auto', 'inline', 'block', 'raw', 'html'])] } def __init__(self, length, tracker, md, config): """Initialize.""" self.markdown = None super().__init__(length, tracker, md, config) def on_validate(self, parent): """Handle argument parsing.""" try: self.tag, self.attr = parse_selectors(self.argument) except ValueError: return False return True def on_markdown(self): """Check if this is atomic.""" mode = self.options['markdown'] if mode == 'html': mode = 'raw' return mode def on_create(self, parent): """Create the element.""" # Create element return etree.SubElement(parent, self.tag.lower(), self.attr) def is_html(self, tag): """Does tag require no processing and no HTML escaping.""" return tag.tag in ('script', 'style') def on_end(self, block): """On end event.""" mode = self.options['markdown'] if (mode == 'auto' and self.is_html(block)) or mode == 'html': block.text = self.md.htmlStash.store(block.text) elif (mode == 'auto' and self.is_raw(block)) or mode == 'raw': block.text = self.md.htmlStash.store(self.html_escape(block.text)) class HTMLExtension(BlocksExtension): """HTML Blocks Extension.""" def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" block_mgr.register(HTML, self.getConfigs()) def makeExtension(*args, **kwargs): """Return extension.""" return HTMLExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/blocks/tab.py000066400000000000000000000232611465124271600216330ustar00rootroot00000000000000"""Tabs.""" import xml.etree.ElementTree as etree from markdown.extensions import toc from markdown.treeprocessors import Treeprocessor from .block import Block, type_boolean from ..blocks import BlocksExtension import html HEADERS = {'h1', 'h2', 'h3', 'h4', 'h5', 'h6'} class TabbedTreeprocessor(Treeprocessor): """Tab tree processor.""" def __init__(self, md, config): """Initialize.""" super().__init__(md) self.alternate = config['alternate_style'] self.slugify = config['slugify'] self.combine_header_slug = config['combine_header_slug'] self.sep = config["separator"] def get_parent_header_slug(self, root, header_map, parent_map, el): """Attempt retrieval of parent header slug.""" parent = el last_parent = parent while parent is not root: last_parent = parent parent = parent_map[parent] if parent in header_map: headers = header_map[parent] header = None for i in list(parent): if i is el and header is None: break if i is last_parent: return header.attrib.get("id", '') if i in headers: header = i return '' def run(self, doc): """Update tab IDs.""" # Get a list of id attributes used_ids = set() parent_map = {} header_map = {} if self.combine_header_slug: parent_map = {c: p for p in doc.iter() for c in p} for el in doc.iter(): if "id" in el.attrib: if self.combine_header_slug and el.tag in HEADERS: parent = parent_map[el] if parent in header_map: header_map[parent].append(el) else: header_map[parent] = [el] used_ids.add(el.attrib["id"]) for el in doc.iter(): if isinstance(el.tag, str) and el.tag.lower() == 'div': classes = el.attrib.get('class', '').split() if 'tabbed-set' in classes and (not self.alternate or 'tabbed-alternate' in classes): inputs = [] labels = [] if self.alternate: for i in list(el): if i.tag == 'input': inputs.append(i) if i.tag == 'div' and i.attrib.get('class', '') == 'tabbed-labels': labels = [j for j in list(i) if j.tag == 'label'] else: for i in list(el): if i.tag == 'input': inputs.append(i) if i.tag == 'label': labels.append(i) # Generate slugged IDs for inpt, label in zip(inputs, labels): innerhtml = toc.render_inner_html(toc.remove_fnrefs(label), self.md) innertext = html.unescape(toc.strip_tags(innerhtml)) if self.combine_header_slug: parent_slug = self.get_parent_header_slug(doc, header_map, parent_map, el) else: parent_slug = '' slug = self.slugify(innertext, self.sep) if parent_slug: slug = parent_slug + self.sep + slug slug = toc.unique(slug, used_ids) inpt.attrib["id"] = slug label.attrib["for"] = slug class Tab(Block): """ Tabbed container. Arguments (1 required): - A tab title. Options: - `new` (boolean): since consecutive tabs are automatically grouped, `new` can force a tab to start a new tab container. Content: Detail body. """ NAME = 'tab' ARGUMENT = True OPTIONS = { 'new': [False, type_boolean], 'select': [False, type_boolean] } def on_init(self): """Handle initialization.""" self.alternate_style = self.config['alternate_style'] self.slugify = callable(self.config['slugify']) # Track tab group count across the entire page. if 'tab_group_count' not in self.tracker: self.tracker['tab_group_count'] = 0 self.tab_content = None def last_child(self, parent): """Return the last child of an `etree` element.""" if len(parent): return parent[-1] else: return None def on_add(self, block): """Adjust where the content is added.""" if self.tab_content is None: if self.alternate_style: for d in block.findall('div'): c = d.attrib['class'] if c == 'tabbed-content' or c.startswith('tabbed-content '): self.tab_content = list(d)[-1] break else: self.tab_content = list(block)[-1] return self.tab_content def on_create(self, parent): """Create the element.""" new_group = self.options['new'] select = self.options['select'] title = self.argument sibling = self.last_child(parent) tabbed_set = 'tabbed-set' if not self.alternate_style else 'tabbed-set tabbed-alternate' index = 0 labels = None content = None if ( sibling is not None and sibling.tag.lower() == 'div' and sibling.attrib.get('class', '') == tabbed_set and not new_group ): first = False tab_group = sibling if self.alternate_style: index = [index for index, _ in enumerate(tab_group.findall('input'), 1)][-1] for d in tab_group.findall('div'): if d.attrib['class'] == 'tabbed-labels': labels = d elif d.attrib['class'] == 'tabbed-content': content = d if labels is not None and content is not None: break else: first = True self.tracker['tab_group_count'] += 1 tab_group = etree.SubElement( parent, 'div', {'class': tabbed_set, 'data-tabs': '%d:0' % self.tracker['tab_group_count']} ) if self.alternate_style: labels = etree.SubElement( tab_group, 'div', {'class': 'tabbed-labels'} ) content = etree.SubElement( tab_group, 'div', {'class': 'tabbed-content'} ) data = tab_group.attrib['data-tabs'].split(':') tab_set = int(data[0]) tab_count = int(data[1]) + 1 attributes = { "name": "__tabbed_%d" % tab_set, "type": "radio" } if not self.slugify: attributes['id'] = "__tabbed_%d_%d" % (tab_set, tab_count) attributes2 = {"for": "__tabbed_%d_%d" % (tab_set, tab_count)} if not self.slugify else {} if first or select: attributes['checked'] = 'checked' # Remove any previously assigned "checked states" to siblings for i in tab_group.findall('input'): if i.attrib.get('name', '') == f'__tabbed_{tab_set}': if 'checked' in i.attrib: del i.attrib['checked'] if self.alternate_style: input_el = etree.Element( 'input', attributes ) tab_group.insert(index, input_el) lab = etree.SubElement( labels, "label", attributes2 ) lab.text = title attrib = {'class': 'tabbed-block'} etree.SubElement( content, "div", attrib ) else: etree.SubElement( tab_group, 'input', attributes ) lab = etree.SubElement( tab_group, "label", attributes2 ) lab.text = title etree.SubElement( tab_group, "div", { "class": "tabbed-content" } ) tab_group.attrib['data-tabs'] = '%d:%d' % (tab_set, tab_count) return tab_group class TabExtension(BlocksExtension): """Admonition Blocks Extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'alternate_style': [False, "Use alternate style - Default: False"], 'slugify': [0, "Slugify function used to create tab specific IDs - Default: None"], 'combine_header_slug': [False, "Combine the tab slug with the slug of the parent header - Default: False"], 'separator': ['-', "Slug separator - Default: '-'"] } super().__init__(*args, **kwargs) def extendMarkdownBlocks(self, md, block_mgr): """Extend Markdown blocks.""" block_mgr.register(Tab, self.getConfigs()) if callable(self.getConfig('slugify')): slugs = TabbedTreeprocessor(md, self.getConfigs()) md.treeprocessors.register(slugs, 'tab_slugs', 4) def makeExtension(*args, **kwargs): """Return extension.""" return TabExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/caret.py000077500000000000000000000145751465124271600207210ustar00rootroot00000000000000""" Caret. pymdownx.caret Really simple plugin to add support for `test` tags as `^^test^^` and `test` tags as `^test^` MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re from markdown import Extension from markdown.inlinepatterns import SimpleTextInlineProcessor from . import util SMART_CONTENT = r'(.+?\^*?)' CONTENT = r'(\^|[^\s]+?)' CONTENT2 = r'((?:[^\^]|(?test` tags as `^^test^^` and `test` tags as `^test^`.""" config = self.getConfigs() insert = bool(config.get('insert', True)) superscript = bool(config.get('superscript', True)) smart = bool(config.get('smart_insert', True)) md.registerExtension(self) escape_chars = [] if insert or superscript: escape_chars.append('^') if superscript: escape_chars.append(' ') util.escape_chars(md, escape_chars) caret = None md.inlinePatterns.register(SimpleTextInlineProcessor(NOT_CARET), 'not_tilde', 70) if insert and superscript: caret = CaretSmartProcessor(r'\^') if smart else CaretProcessor(r'\^') elif insert: caret = CaretSmartInsertProcessor(r'\^') if smart else CaretInsertProcessor(r'\^') elif superscript: caret = CaretSupProcessor(r'\^') if caret is not None: md.inlinePatterns.register(caret, "sup_ins", 65) def makeExtension(*args, **kwargs): """Return extension.""" return InsertSupExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/critic.py000066400000000000000000000231541465124271600210660ustar00rootroot00000000000000""" Critic. pymdownx.critic Parses critic markup and outputs the file in a more visual HTML. Must be the last extension loaded. MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.preprocessors import Preprocessor from markdown.postprocessors import Postprocessor from markdown.util import STX, ETX import re SOH = '\u0001' # start EOT = '\u0004' # end CRITIC_KEY = "czjqqkd:%s" CRITIC_PLACEHOLDER = CRITIC_KEY % r'[0-9]+' SINGLE_CRITIC_PLACEHOLDER = r'{stx}(?P{key}){etx}'.format( key=CRITIC_PLACEHOLDER, stx=STX, etx=ETX ) CRITIC_PLACEHOLDERS = r'''(?x) (?: (?P\(?P(?:{stx}{key}{etx})+)\) | {single} ) '''.format( key=CRITIC_PLACEHOLDER, single=SINGLE_CRITIC_PLACEHOLDER, stx=STX, etx=ETX ) ALL_CRITICS = r'''(?x) ((?P(?P\{) (?: (?P\+{2}) (?P.*?) (?P\+{2}) | (?P\-{2}) (?P.*?) (?P\-{2}) | (?P\={2}) (?P.*?) (?P\={2}) | (?P (?P\>{2}) (?P.*?) (?P\<{2}) ) | (?P\~{2}) (?P.*?) (?P\~\>) (?P.*?) (?P\~{2}) ) (?P\}))) ''' RE_CRITIC = re.compile(ALL_CRITICS, re.DOTALL) RE_CRITIC_PLACEHOLDER = re.compile(CRITIC_PLACEHOLDERS) RE_CRITIC_SUB_PLACEHOLDER = re.compile(SINGLE_CRITIC_PLACEHOLDER) RE_CRITIC_BLOCK = re.compile(r'((?:ins|del|mark)\s+)(class=([\'"]))(.*?)(\3)') RE_BLOCK_SEP = re.compile(r'^(?:\r?\n){2,}$') class CriticStash: """Stash critic marks until ready.""" def __init__(self, stash_key): """Initialize.""" self.stash_key = stash_key self.stash = {} self.count = 0 def __len__(self): # pragma: no cover """Get length of stash.""" return len(self.stash) def get(self, key, default=None): """Get the specified item from the stash.""" code = self.stash.get(key, default) return code def remove(self, key): # pragma: no cover """Remove the specified item from the stash.""" del self.stash[key] def store(self, code): """ Store the code in the stash with the placeholder. Return placeholder. """ key = self.stash_key % str(self.count) self.stash[key] = code self.count += 1 return SOH + key + EOT def clear(self): """Clear the stash.""" self.stash = {} self.count = 0 class CriticsPostprocessor(Postprocessor): """Handle cleanup on post process for viewing critic marks.""" def __init__(self, critic_stash): """Initialize.""" super().__init__() self.critic_stash = critic_stash def subrestore(self, m): """Replace all critic tags in the paragraph block `

(critic del close)(critic ins close)

` etc.""" content = None key = m.group('key') if key is not None: content = self.critic_stash.get(key) return content def block_edit(self, m): """Handle block edits.""" if 'break' in m.group(4).split(' '): return m.group(0) else: return m.group(1) + m.group(2) + m.group(4) + ' block' + m.group(5) def restore(self, m): """Replace placeholders with actual critic tags.""" content = None if m.group('block_keys') is not None: content = RE_CRITIC_SUB_PLACEHOLDER.sub( self.subrestore, m.group('block_keys') ) if content is not None: content = RE_CRITIC_BLOCK.sub(self.block_edit, content) else: text = self.critic_stash.get(m.group('key')) if text is not None: content = text return content if content is not None else m.group(0) def run(self, text): """Replace critic placeholders.""" text = RE_CRITIC_PLACEHOLDER.sub(self.restore, text) return text class CriticViewPreprocessor(Preprocessor): """Handle viewing critic marks in Markdown content.""" def __init__(self, critic_stash): """Initialize.""" super().__init__() self.critic_stash = critic_stash def _ins(self, text): """Handle critic inserts.""" if RE_BLOCK_SEP.match(text): return '\n\n%s\n\n' % self.critic_stash.store(' ') return ( self.critic_stash.store('') + text + self.critic_stash.store('') ) def _del(self, text): """Handle critic deletes.""" if RE_BLOCK_SEP.match(text): return self.critic_stash.store(' ') return ( self.critic_stash.store('') + text + self.critic_stash.store('') ) def _mark(self, text): """Handle critic marks.""" return ( self.critic_stash.store('') + text + self.critic_stash.store('') ) def _comment(self, text): """Handle critic comments.""" return ( self.critic_stash.store( '' + self.html_escape(text, strip_nl=True) + '' ) ) def critic_view(self, m): """Insert appropriate HTML to tags to visualize Critic marks.""" if m.group('ins_open'): return self._ins(m.group('ins_text')) elif m.group('del_open'): return self._del(m.group('del_text')) elif m.group('sub_open'): return ( self._del(m.group('sub_del_text')) + self._ins(m.group('sub_ins_text')) ) elif m.group('mark_open'): return self._mark(m.group('mark_text')) elif m.group('com_open'): return self._comment(m.group('com_text')) def critic_parse(self, m): """ Normal critic parser. Either removes accepted or rejected critic marks and replaces with the opposite. Comments are removed and marks are replaced with their content. """ accept = self.config["mode"] == 'accept' if m.group('ins_open'): return m.group('ins_text') if accept else '' elif m.group('del_open'): return '' if accept else m.group('del_text') elif m.group('mark_open'): return m.group('mark_text') elif m.group('com_open'): return '' elif m.group('sub_open'): return m.group('sub_ins_text') if accept else m.group('sub_del_text') def html_escape(self, txt, strip_nl=False): """Basic html escaping.""" txt = txt.replace('&', '&') txt = txt.replace('<', '<') txt = txt.replace('>', '>') txt = txt.replace('"', '"') txt = txt.replace("\n", "
" if not strip_nl else ' ') return txt def run(self, lines): """Process critic marks.""" # Determine processor type to use if self.config['mode'] == "view": processor = self.critic_view else: processor = self.critic_parse # Find and process critic marks text = RE_CRITIC.sub(processor, '\n'.join(lines)) return text.split('\n') class CriticExtension(Extension): """Critic extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'mode': ['view', "Critic mode to run in ('view', 'accept', or 'reject') - Default: view "], 'raw_view': [False, "Raw view keeps the output as the raw markup for view mode - Default False"] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Register the extension.""" md.registerExtension(self) self.critic_stash = CriticStash(CRITIC_KEY) post = CriticsPostprocessor(self.critic_stash) critic = CriticViewPreprocessor(self.critic_stash) critic.config = self.getConfigs() md.preprocessors.register(critic, "critic", 31.1) md.postprocessors.register(post, "critic-post", 25) md.registerExtensions(["pymdownx._bypassnorm"], {}) def reset(self): """Clear stash.""" self.critic_stash.clear() def makeExtension(*args, **kwargs): """Return extension.""" return CriticExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/details.py000066400000000000000000000151101465124271600212270ustar00rootroot00000000000000""" Details. pymdownx.details MIT license. Copyright (c) 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.blockprocessors import BlockProcessor import xml.etree.ElementTree as etree import re class DetailsProcessor(BlockProcessor): """Details block processor.""" START = re.compile( r'(?:^|\n)\?{3}(\+)? ?(?:([\w\-]+(?: +[\w\-]+)*?)?(?: +"(.*?)")|([\w\-]+(?: +[\w\-]+)*?)) *(?:\n|$)' ) COMPRESS_SPACES = re.compile(r' {2,}') def __init__(self, parser): """Initialization.""" super().__init__(parser) self.current_sibling = None self.content_indention = 0 def detab_by_length(self, text, length): """Remove a tab from the front of each line of the given text.""" newtext = [] lines = text.split('\n') for line in lines: if line.startswith(' ' * length): newtext.append(line[length:]) elif not line.strip(): newtext.append('') # pragma: no cover else: break return '\n'.join(newtext), '\n'.join(lines[len(newtext):]) def parse_content(self, parent, block): """ Get sibling details. Retrieve the appropriate sibling element. This can get tricky when dealing with lists. """ old_block = block non_details = '' # We already acquired the block via test if self.current_sibling is not None: sibling = self.current_sibling block, non_details = self.detab_by_length(block, self.content_indent) self.current_sibling = None self.content_indent = 0 return sibling, block, non_details sibling = self.lastChild(parent) if sibling is None or sibling.tag.lower() != 'details': sibling = None else: # If the last child is a list and the content is indented sufficient # to be under it, then the content's is sibling is in the list. last_child = self.lastChild(sibling) indent = 0 while last_child is not None: if ( sibling is not None and block.startswith(' ' * self.tab_length * 2) and last_child is not None and last_child.tag in ('ul', 'ol', 'dl') ): # The expectation is that we'll find an `
  • `. # We should get it's last child as well. sibling = self.lastChild(last_child) last_child = self.lastChild(sibling) if sibling is not None else None # Context has been lost at this point, so we must adjust the # text's indentation level so it will be evaluated correctly # under the list. block = block[self.tab_length:] indent += self.tab_length else: last_child = None if not block.startswith(' ' * self.tab_length): sibling = None if sibling is not None: indent += self.tab_length block, non_details = self.detab_by_length(old_block, indent) self.current_sibling = sibling self.content_indent = indent return sibling, block, non_details def test(self, parent, block): """Test block.""" if self.START.search(block): return True else: return self.parse_content(parent, block)[0] is not None def run(self, parent, blocks): """Convert to details/summary block.""" block = blocks.pop(0) m = self.START.search(block) if m: # remove the first line if m.start() > 0: self.parser.parseBlocks(parent, [block[:m.start()]]) block = block[m.end():] block, non_details = self.detab(block) else: sibling, block, non_details = self.parse_content(parent, block) if m: state = m.group(1) is_open = state is not None if m.group(4): class_name = self.COMPRESS_SPACES.sub(' ', m.group(4).lower()) title = class_name.split(' ')[0].capitalize() else: classes = m.group(2) class_name = '' if classes is None else self.COMPRESS_SPACES.sub(' ', classes.lower()) title = m.group(3) div = etree.SubElement(parent, 'details', ({'open': 'open'} if is_open else {})) if class_name: div.set('class', class_name) summary = etree.SubElement(div, 'summary') summary.text = title else: # Sibling is a list item, but we need to wrap it's content should be wrapped in

    if sibling.tag in ('li', 'dd') and sibling.text: text = sibling.text sibling.text = '' p = etree.SubElement(sibling, 'p') p.text = text div = sibling self.parser.parseChunk(div, block) if non_details: # Insert the non-details content back into blocks blocks.insert(0, non_details) class DetailsExtension(Extension): """Add Details extension.""" def extendMarkdown(self, md): """Add Details to Markdown instance.""" md.registerExtension(self) md.parser.blockprocessors.register(DetailsProcessor(md.parser), "details", 105) def makeExtension(*args, **kwargs): """Return extension.""" return DetailsExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/emoji.py000066400000000000000000000305321465124271600207120ustar00rootroot00000000000000""" Emoji. pymdownx.emoji Emoji extension for EmojiOne's, GitHub's, or Twemoji's gemoji. MIT license. Copyright (c) 2016 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.inlinepatterns import InlineProcessor from markdown import util as md_util import xml.etree.ElementTree as etree import inspect import copy from . import util RE_EMOJI = r'(:[+\-\w]+:)' SUPPORTED_INDEXES = ('emojione', 'gemoji', 'twemoji') UNICODE_VARIATION_SELECTOR_16 = 'fe0f' EMOJIONE_SVG_CDN = 'https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/' EMOJIONE_PNG_CDN = 'https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/' TWEMOJI_SVG_CDN = 'https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/' TWEMOJI_PNG_CDN = 'https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/' GITHUB_UNICODE_CDN = 'https://github.githubassets.com/images/icons/emoji/unicode/' GITHUB_CDN = 'https://github.githubassets.com/images/icons/emoji/' NO_TITLE = 'none' LONG_TITLE = 'long' SHORT_TITLE = 'short' VALID_TITLE = (LONG_TITLE, SHORT_TITLE, NO_TITLE) UNICODE_ENTITY = 'html_entity' UNICODE_ALT = ('unicode', UNICODE_ENTITY) LEGACY_ARG_COUNT = 8 MSG_INDEX_WARN = """Using emoji indexes with no arguments is now deprecated. Emoji indexes now take 2 arguments: 'options' and 'md'. Please update your custom index accordingly. """ def add_attributes(options, attributes): """Add additional attributes from options.""" attr = options.get('attributes', {}) if attr: for k, v in attr.items(): attributes[k] = v # Exists for backwards compatibility as this function # was initially spelled incorrectly. add_attriubtes = add_attributes def emojione(options, md): """The EmojiOne index.""" from . import emoji1_db as emoji_map return { "name": emoji_map.name, "emoji": copy.deepcopy(emoji_map.emoji), "aliases": copy.deepcopy(emoji_map.aliases) } def gemoji(options, md): """The Gemoji index.""" from . import gemoji_db as emoji_map return { "name": emoji_map.name, "emoji": copy.deepcopy(emoji_map.emoji), "aliases": copy.deepcopy(emoji_map.aliases) } def twemoji(options, md): """The Twemoji index.""" from . import twemoji_db as emoji_map return { "name": emoji_map.name, "emoji": copy.deepcopy(emoji_map.emoji), "aliases": copy.deepcopy(emoji_map.aliases) } ################### # Converters ################### def to_png(index, shortname, alias, uc, alt, title, category, options, md): """Return PNG element.""" if index == 'gemoji': def_image_path = GITHUB_UNICODE_CDN def_non_std_image_path = GITHUB_CDN elif index == 'twemoji': def_image_path = TWEMOJI_PNG_CDN def_non_std_image_path = TWEMOJI_PNG_CDN else: def_image_path = EMOJIONE_PNG_CDN def_non_std_image_path = EMOJIONE_PNG_CDN is_unicode = uc is not None classes = options.get('classes', index) # In general we can use the alias, but github specific images don't have one for each alias. # We can tell we have a github specific if there is no Unicode value. if is_unicode: image_path = options.get('image_path', def_image_path) else: # pragma: no cover image_path = options.get('non_standard_image_path', def_non_std_image_path) src = "{}{}.png".format( image_path, uc if is_unicode else shortname[1:-1] ) attributes = { "class": classes, "alt": alt, "src": src } if title: attributes['title'] = title add_attributes(options, attributes) return etree.Element("img", attributes) def to_svg(index, shortname, alias, uc, alt, title, category, options, md): """Return SVG element.""" if index == 'twemoji': svg_path = TWEMOJI_SVG_CDN else: svg_path = EMOJIONE_SVG_CDN attributes = { "class": options.get('classes', index), "alt": alt, "src": "{}{}.svg".format( options.get('image_path', svg_path), uc ) } if title: attributes['title'] = title add_attributes(options, attributes) return etree.Element("img", attributes) def to_png_sprite(index, shortname, alias, uc, alt, title, category, options, md): """Return PNG sprite element.""" attributes = { "class": '%(class)s-%(size)s-%(category)s _%(unicode)s' % { "class": options.get('classes', index), "size": options.get('size', '64'), "category": (category if category else ''), "unicode": uc } } if title: attributes['title'] = title add_attributes(options, attributes) el = etree.Element("span", attributes) el.text = md_util.AtomicString(alt) return el def to_svg_sprite(index, shortname, alias, uc, alt, title, category, options, md): """ Return SVG sprite element. ``` %(alt)s ``` """ xlink_href = '{}#emoji-{}'.format( options.get('image_path', './../assets/sprites/emojione.sprites.svg'), uc ) svg = etree.Element("svg", {"class": options.get('classes', index)}) desc = etree.SubElement(svg, 'description') desc.text = md_util.AtomicString(alt) etree.SubElement(svg, 'use', {'xlink:href': xlink_href}) return svg def to_alt(index, shortname, alias, uc, alt, title, category, options, md): """Return html entities.""" return md.htmlStash.store(alt) ################### # Classes ################### class EmojiPattern(InlineProcessor): """Return element of type `tag` with a text attribute of group(2) of an `InlineProcessor`.""" def __init__(self, pattern, config, md): """Initialize.""" InlineProcessor.__init__(self, pattern, md) title = config['title'] alt = config['alt'] self.options = config['options'] self._set_index(config["emoji_index"]) self.unicode_alt = alt in UNICODE_ALT self.encoded_alt = alt == UNICODE_ENTITY self.remove_var_sel = config['remove_variation_selector'] self.title = title if title in VALID_TITLE else NO_TITLE self.generator = config['emoji_generator'] def _set_index(self, index): """Set the index.""" if len(inspect.getfullargspec(index).args): self.emoji_index = index(self.options, self.md) else: util.warn_deprecated(MSG_INDEX_WARN) self.emoji_index = index() def _remove_variation_selector(self, value): """Remove variation selectors.""" return value.replace('-' + UNICODE_VARIATION_SELECTOR_16, '') def _get_unicode_char(self, value): """Get the Unicode char.""" return ''.join([util.get_char(int(c, 16)) for c in value.split('-')]) def _get_unicode(self, emoji): """ Get Unicode and Unicode alt. Unicode: This is the stripped down form of the Unicode, no joining chars and no variation chars. Unicode code points are not always valid. If this is present and there is no 'unicode_alt', Unicode code points can be counted on as valid. For the most part, the returned `uc` should be used to reference image files, or create classes, but for inserting actual Unicode, 'uc_alt' should be used. Unicode Alt: When present, this will always be valid Unicode points. This contains not just the needed characters to identify the Unicode emoji, but the formatting as well. Joining characters and variation characters will be present. If you don't want variation chars, enable the global 'remove_variation_selector' option. """ uc = emoji.get('unicode') uc_alt = emoji.get('unicode_alt', uc) if uc_alt and self.remove_var_sel: uc_alt = self._remove_variation_selector(uc_alt) return uc, uc_alt def _get_title(self, shortname, emoji): """Get the title.""" if self.title == LONG_TITLE: title = emoji['name'] elif self.title == SHORT_TITLE: title = shortname else: title = None return title def _get_alt(self, shortname, uc_alt): """Get alt form.""" if uc_alt is None or not self.unicode_alt: alt = shortname else: alt = self._get_unicode_char(uc_alt) if self.encoded_alt: alt = ''.join( [md_util.AMP_SUBSTITUTE + ('#x%04x;' % util.get_ord(point)) for point in util.get_code_points(alt)] ) return alt def _get_category(self, emoji): """Get the category.""" return emoji.get('category') def handleMatch(self, m, data): """Handle emoji pattern matches.""" el = m.group(1) shortname = self.emoji_index['aliases'].get(el, el) alias = None if shortname == el else el emoji = self.emoji_index['emoji'].get(shortname, None) if emoji: uc, uc_alt = self._get_unicode(emoji) title = self._get_title(el, emoji) alt = self._get_alt(el, uc_alt) category = self._get_category(emoji) el = self.generator( self.emoji_index['name'], shortname, alias, uc, alt, title, category, self.options, self.md ) return el, m.start(0), m.end(0) class EmojiExtension(Extension): """Add emoji extension to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'emoji_index': [ emojione, "Function that returns the desired emoji index. - Default: 'pymdownx.emoji.emojione'" ], 'emoji_generator': [ to_png, "Emoji generator method. - Default: pymdownx.emoji.to_png" ], 'title': [ 'short', "What title to use on images. You can use 'long' which shows the long name, " "'short' which shows the shortname (:short:), or 'none' which shows no title. " "- Default: 'short'" ], 'alt': [ 'unicode', "Control alt form. 'short' sets alt to the shortname (:short:), 'uniocde' sets " "alt to the raw Unicode value, and 'html_entity' sets alt to the HTML entity. " "- Default: 'unicode'" ], 'remove_variation_selector': [ False, "Remove variation selector 16 from unicode. - Default: False" ], 'options': [ {}, "Emoji options see documentation for options for github and emojione." ] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add support for emoji.""" config = self.getConfigs() util.escape_chars(md, [':']) md.inlinePatterns.register(EmojiPattern(RE_EMOJI, config, md), "emoji", 75) ################### # Make Available ################### def makeExtension(*args, **kwargs): """Return extension.""" return EmojiExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/emoji1_db.py000066400000000000000000007720041465124271600214470ustar00rootroot00000000000000"""Emojione autogen. Generated from emojione source. Do not edit by hand. MIT license. Copyright (c) http://www.emojione.com """ version = "v2.2.7" name = "emojione" emoji = { ":100:": { "category": "symbols", "name": "hundred points symbol", "unicode": "1f4af" }, ":1234:": { "category": "symbols", "name": "input symbol for numbers", "unicode": "1f522" }, ":8ball:": { "category": "activity", "name": "billiards", "unicode": "1f3b1" }, ":a:": { "category": "symbols", "name": "negative squared latin capital letter a", "unicode": "1f170" }, ":ab:": { "category": "symbols", "name": "negative squared ab", "unicode": "1f18e" }, ":abc:": { "category": "symbols", "name": "input symbol for latin letters", "unicode": "1f524" }, ":abcd:": { "category": "symbols", "name": "input symbol for latin small letters", "unicode": "1f521" }, ":accept:": { "category": "symbols", "name": "circled ideograph accept", "unicode": "1f251" }, ":aerial_tramway:": { "category": "travel", "name": "aerial tramway", "unicode": "1f6a1" }, ":airplane:": { "category": "travel", "name": "airplane", "unicode": "2708", "unicode_alt": "2708-fe0f" }, ":airplane_arriving:": { "category": "travel", "name": "airplane arriving", "unicode": "1f6ec" }, ":airplane_departure:": { "category": "travel", "name": "airplane departure", "unicode": "1f6eb" }, ":airplane_small:": { "category": "travel", "name": "small airplane", "unicode": "1f6e9", "unicode_alt": "1f6e9-fe0f" }, ":alarm_clock:": { "category": "objects", "name": "alarm clock", "unicode": "23f0" }, ":alembic:": { "category": "objects", "name": "alembic", "unicode": "2697", "unicode_alt": "2697-fe0f" }, ":alien:": { "category": "people", "name": "extraterrestrial alien", "unicode": "1f47d" }, ":ambulance:": { "category": "travel", "name": "ambulance", "unicode": "1f691" }, ":amphora:": { "category": "objects", "name": "amphora", "unicode": "1f3fa" }, ":anchor:": { "category": "travel", "name": "anchor", "unicode": "2693", "unicode_alt": "2693-fe0f" }, ":angel:": { "category": "people", "name": "baby angel", "unicode": "1f47c" }, ":angel_tone1:": { "category": "people", "name": "baby angel tone 1", "unicode": "1f47c-1f3fb" }, ":angel_tone2:": { "category": "people", "name": "baby angel tone 2", "unicode": "1f47c-1f3fc" }, ":angel_tone3:": { "category": "people", "name": "baby angel tone 3", "unicode": "1f47c-1f3fd" }, ":angel_tone4:": { "category": "people", "name": "baby angel tone 4", "unicode": "1f47c-1f3fe" }, ":angel_tone5:": { "category": "people", "name": "baby angel tone 5", "unicode": "1f47c-1f3ff" }, ":anger:": { "category": "symbols", "name": "anger symbol", "unicode": "1f4a2" }, ":anger_right:": { "category": "symbols", "name": "right anger bubble", "unicode": "1f5ef", "unicode_alt": "1f5ef-fe0f" }, ":angry:": { "category": "people", "name": "angry face", "unicode": "1f620" }, ":anguished:": { "category": "people", "name": "anguished face", "unicode": "1f627" }, ":ant:": { "category": "nature", "name": "ant", "unicode": "1f41c" }, ":apple:": { "category": "food", "name": "red apple", "unicode": "1f34e" }, ":aquarius:": { "category": "symbols", "name": "aquarius", "unicode": "2652", "unicode_alt": "2652-fe0f" }, ":aries:": { "category": "symbols", "name": "aries", "unicode": "2648", "unicode_alt": "2648-fe0f" }, ":arrow_backward:": { "category": "symbols", "name": "black left-pointing triangle", "unicode": "25c0", "unicode_alt": "25c0-fe0f" }, ":arrow_double_down:": { "category": "symbols", "name": "black down-pointing double triangle", "unicode": "23ec" }, ":arrow_double_up:": { "category": "symbols", "name": "black up-pointing double triangle", "unicode": "23eb" }, ":arrow_down:": { "category": "symbols", "name": "downwards black arrow", "unicode": "2b07", "unicode_alt": "2b07-fe0f" }, ":arrow_down_small:": { "category": "symbols", "name": "down-pointing small red triangle", "unicode": "1f53d" }, ":arrow_forward:": { "category": "symbols", "name": "black right-pointing triangle", "unicode": "25b6", "unicode_alt": "25b6-fe0f" }, ":arrow_heading_down:": { "category": "symbols", "name": "arrow pointing rightwards then curving downwards", "unicode": "2935", "unicode_alt": "2935-fe0f" }, ":arrow_heading_up:": { "category": "symbols", "name": "arrow pointing rightwards then curving upwards", "unicode": "2934", "unicode_alt": "2934-fe0f" }, ":arrow_left:": { "category": "symbols", "name": "leftwards black arrow", "unicode": "2b05", "unicode_alt": "2b05-fe0f" }, ":arrow_lower_left:": { "category": "symbols", "name": "south west arrow", "unicode": "2199", "unicode_alt": "2199-fe0f" }, ":arrow_lower_right:": { "category": "symbols", "name": "south east arrow", "unicode": "2198", "unicode_alt": "2198-fe0f" }, ":arrow_right:": { "category": "symbols", "name": "black rightwards arrow", "unicode": "27a1", "unicode_alt": "27a1-fe0f" }, ":arrow_right_hook:": { "category": "symbols", "name": "rightwards arrow with hook", "unicode": "21aa", "unicode_alt": "21aa-fe0f" }, ":arrow_up:": { "category": "symbols", "name": "upwards black arrow", "unicode": "2b06", "unicode_alt": "2b06-fe0f" }, ":arrow_up_down:": { "category": "symbols", "name": "up down arrow", "unicode": "2195", "unicode_alt": "2195-fe0f" }, ":arrow_up_small:": { "category": "symbols", "name": "up-pointing small red triangle", "unicode": "1f53c" }, ":arrow_upper_left:": { "category": "symbols", "name": "north west arrow", "unicode": "2196", "unicode_alt": "2196-fe0f" }, ":arrow_upper_right:": { "category": "symbols", "name": "north east arrow", "unicode": "2197", "unicode_alt": "2197-fe0f" }, ":arrows_clockwise:": { "category": "symbols", "name": "clockwise downwards and upwards open circle arrows", "unicode": "1f503" }, ":arrows_counterclockwise:": { "category": "symbols", "name": "anticlockwise downwards and upwards open circle arrows", "unicode": "1f504" }, ":art:": { "category": "activity", "name": "artist palette", "unicode": "1f3a8" }, ":articulated_lorry:": { "category": "travel", "name": "articulated lorry", "unicode": "1f69b" }, ":asterisk:": { "category": "symbols", "name": "keycap asterisk", "unicode": "002a-20e3", "unicode_alt": "002a-fe0f-20e3" }, ":astonished:": { "category": "people", "name": "astonished face", "unicode": "1f632" }, ":athletic_shoe:": { "category": "people", "name": "athletic shoe", "unicode": "1f45f" }, ":atm:": { "category": "symbols", "name": "automated teller machine", "unicode": "1f3e7" }, ":atom:": { "category": "symbols", "name": "atom symbol", "unicode": "269b", "unicode_alt": "269b-fe0f" }, ":avocado:": { "category": "food", "name": "avocado", "unicode": "1f951" }, ":b:": { "category": "symbols", "name": "negative squared latin capital letter b", "unicode": "1f171" }, ":baby:": { "category": "people", "name": "baby", "unicode": "1f476" }, ":baby_bottle:": { "category": "food", "name": "baby bottle", "unicode": "1f37c" }, ":baby_chick:": { "category": "nature", "name": "baby chick", "unicode": "1f424" }, ":baby_symbol:": { "category": "symbols", "name": "baby symbol", "unicode": "1f6bc" }, ":baby_tone1:": { "category": "people", "name": "baby tone 1", "unicode": "1f476-1f3fb" }, ":baby_tone2:": { "category": "people", "name": "baby tone 2", "unicode": "1f476-1f3fc" }, ":baby_tone3:": { "category": "people", "name": "baby tone 3", "unicode": "1f476-1f3fd" }, ":baby_tone4:": { "category": "people", "name": "baby tone 4", "unicode": "1f476-1f3fe" }, ":baby_tone5:": { "category": "people", "name": "baby tone 5", "unicode": "1f476-1f3ff" }, ":back:": { "category": "symbols", "name": "back with leftwards arrow above", "unicode": "1f519" }, ":bacon:": { "category": "food", "name": "bacon", "unicode": "1f953" }, ":badminton:": { "category": "activity", "name": "badminton racquet", "unicode": "1f3f8" }, ":baggage_claim:": { "category": "symbols", "name": "baggage claim", "unicode": "1f6c4" }, ":balloon:": { "category": "objects", "name": "balloon", "unicode": "1f388" }, ":ballot_box:": { "category": "objects", "name": "ballot box with ballot", "unicode": "1f5f3", "unicode_alt": "1f5f3-fe0f" }, ":ballot_box_with_check:": { "category": "symbols", "name": "ballot box with check", "unicode": "2611", "unicode_alt": "2611-fe0f" }, ":bamboo:": { "category": "nature", "name": "pine decoration", "unicode": "1f38d" }, ":banana:": { "category": "food", "name": "banana", "unicode": "1f34c" }, ":bangbang:": { "category": "symbols", "name": "double exclamation mark", "unicode": "203c", "unicode_alt": "203c-fe0f" }, ":bank:": { "category": "travel", "name": "bank", "unicode": "1f3e6" }, ":bar_chart:": { "category": "objects", "name": "bar chart", "unicode": "1f4ca" }, ":barber:": { "category": "objects", "name": "barber pole", "unicode": "1f488" }, ":baseball:": { "category": "activity", "name": "baseball", "unicode": "26be", "unicode_alt": "26be-fe0f" }, ":basketball:": { "category": "activity", "name": "basketball and hoop", "unicode": "1f3c0" }, ":basketball_player:": { "category": "activity", "name": "person with ball", "unicode": "26f9", "unicode_alt": "26f9-fe0f" }, ":basketball_player_tone1:": { "category": "activity", "name": "person with ball tone 1", "unicode": "26f9-1f3fb" }, ":basketball_player_tone2:": { "category": "activity", "name": "person with ball tone 2", "unicode": "26f9-1f3fc" }, ":basketball_player_tone3:": { "category": "activity", "name": "person with ball tone 3", "unicode": "26f9-1f3fd" }, ":basketball_player_tone4:": { "category": "activity", "name": "person with ball tone 4", "unicode": "26f9-1f3fe" }, ":basketball_player_tone5:": { "category": "activity", "name": "person with ball tone 5", "unicode": "26f9-1f3ff" }, ":bat:": { "category": "nature", "name": "bat", "unicode": "1f987" }, ":bath:": { "category": "activity", "name": "bath", "unicode": "1f6c0" }, ":bath_tone1:": { "category": "activity", "name": "bath tone 1", "unicode": "1f6c0-1f3fb" }, ":bath_tone2:": { "category": "activity", "name": "bath tone 2", "unicode": "1f6c0-1f3fc" }, ":bath_tone3:": { "category": "activity", "name": "bath tone 3", "unicode": "1f6c0-1f3fd" }, ":bath_tone4:": { "category": "activity", "name": "bath tone 4", "unicode": "1f6c0-1f3fe" }, ":bath_tone5:": { "category": "activity", "name": "bath tone 5", "unicode": "1f6c0-1f3ff" }, ":bathtub:": { "category": "objects", "name": "bathtub", "unicode": "1f6c1" }, ":battery:": { "category": "objects", "name": "battery", "unicode": "1f50b" }, ":beach:": { "category": "travel", "name": "beach with umbrella", "unicode": "1f3d6", "unicode_alt": "1f3d6-fe0f" }, ":beach_umbrella:": { "category": "objects", "name": "umbrella on ground", "unicode": "26f1", "unicode_alt": "26f1-fe0f" }, ":bear:": { "category": "nature", "name": "bear face", "unicode": "1f43b" }, ":bed:": { "category": "objects", "name": "bed", "unicode": "1f6cf", "unicode_alt": "1f6cf-fe0f" }, ":bee:": { "category": "nature", "name": "honeybee", "unicode": "1f41d" }, ":beer:": { "category": "food", "name": "beer mug", "unicode": "1f37a" }, ":beers:": { "category": "food", "name": "clinking beer mugs", "unicode": "1f37b" }, ":beetle:": { "category": "nature", "name": "lady beetle", "unicode": "1f41e" }, ":beginner:": { "category": "symbols", "name": "japanese symbol for beginner", "unicode": "1f530" }, ":bell:": { "category": "symbols", "name": "bell", "unicode": "1f514" }, ":bellhop:": { "category": "objects", "name": "bellhop bell", "unicode": "1f6ce", "unicode_alt": "1f6ce-fe0f" }, ":bento:": { "category": "food", "name": "bento box", "unicode": "1f371" }, ":bicyclist:": { "category": "activity", "name": "bicyclist", "unicode": "1f6b4" }, ":bicyclist_tone1:": { "category": "activity", "name": "bicyclist tone 1", "unicode": "1f6b4-1f3fb" }, ":bicyclist_tone2:": { "category": "activity", "name": "bicyclist tone 2", "unicode": "1f6b4-1f3fc" }, ":bicyclist_tone3:": { "category": "activity", "name": "bicyclist tone 3", "unicode": "1f6b4-1f3fd" }, ":bicyclist_tone4:": { "category": "activity", "name": "bicyclist tone 4", "unicode": "1f6b4-1f3fe" }, ":bicyclist_tone5:": { "category": "activity", "name": "bicyclist tone 5", "unicode": "1f6b4-1f3ff" }, ":bike:": { "category": "travel", "name": "bicycle", "unicode": "1f6b2" }, ":bikini:": { "category": "people", "name": "bikini", "unicode": "1f459" }, ":biohazard:": { "category": "symbols", "name": "biohazard sign", "unicode": "2623", "unicode_alt": "2623-fe0f" }, ":bird:": { "category": "nature", "name": "bird", "unicode": "1f426" }, ":birthday:": { "category": "food", "name": "birthday cake", "unicode": "1f382" }, ":black_circle:": { "category": "symbols", "name": "black circle", "unicode": "26ab", "unicode_alt": "26ab-fe0f" }, ":black_heart:": { "category": "symbols", "name": "black heart", "unicode": "1f5a4" }, ":black_joker:": { "category": "symbols", "name": "playing card black joker", "unicode": "1f0cf" }, ":black_large_square:": { "category": "symbols", "name": "black large square", "unicode": "2b1b", "unicode_alt": "2b1b-fe0f" }, ":black_medium_small_square:": { "category": "symbols", "name": "black medium small square", "unicode": "25fe", "unicode_alt": "25fe-fe0f" }, ":black_medium_square:": { "category": "symbols", "name": "black medium square", "unicode": "25fc", "unicode_alt": "25fc-fe0f" }, ":black_nib:": { "category": "objects", "name": "black nib", "unicode": "2712", "unicode_alt": "2712-fe0f" }, ":black_small_square:": { "category": "symbols", "name": "black small square", "unicode": "25aa", "unicode_alt": "25aa-fe0f" }, ":black_square_button:": { "category": "symbols", "name": "black square button", "unicode": "1f532" }, ":blossom:": { "category": "nature", "name": "blossom", "unicode": "1f33c" }, ":blowfish:": { "category": "nature", "name": "blowfish", "unicode": "1f421" }, ":blue_book:": { "category": "objects", "name": "blue book", "unicode": "1f4d8" }, ":blue_car:": { "category": "travel", "name": "recreational vehicle", "unicode": "1f699" }, ":blue_circle:": { "category": "symbols", "name": "blue circle", "unicode": "1f535" }, ":blue_heart:": { "category": "symbols", "name": "blue heart", "unicode": "1f499" }, ":blush:": { "category": "people", "name": "smiling face with smiling eyes", "unicode": "1f60a" }, ":boar:": { "category": "nature", "name": "boar", "unicode": "1f417" }, ":bomb:": { "category": "objects", "name": "bomb", "unicode": "1f4a3" }, ":book:": { "category": "objects", "name": "open book", "unicode": "1f4d6" }, ":bookmark:": { "category": "objects", "name": "bookmark", "unicode": "1f516" }, ":bookmark_tabs:": { "category": "objects", "name": "bookmark tabs", "unicode": "1f4d1" }, ":books:": { "category": "objects", "name": "books", "unicode": "1f4da" }, ":boom:": { "category": "symbols", "name": "collision symbol", "unicode": "1f4a5" }, ":boot:": { "category": "people", "name": "womans boots", "unicode": "1f462" }, ":bouquet:": { "category": "nature", "name": "bouquet", "unicode": "1f490" }, ":bow:": { "category": "people", "name": "person bowing deeply", "unicode": "1f647" }, ":bow_and_arrow:": { "category": "activity", "name": "bow and arrow", "unicode": "1f3f9" }, ":bow_tone1:": { "category": "people", "name": "person bowing deeply tone 1", "unicode": "1f647-1f3fb" }, ":bow_tone2:": { "category": "people", "name": "person bowing deeply tone 2", "unicode": "1f647-1f3fc" }, ":bow_tone3:": { "category": "people", "name": "person bowing deeply tone 3", "unicode": "1f647-1f3fd" }, ":bow_tone4:": { "category": "people", "name": "person bowing deeply tone 4", "unicode": "1f647-1f3fe" }, ":bow_tone5:": { "category": "people", "name": "person bowing deeply tone 5", "unicode": "1f647-1f3ff" }, ":bowling:": { "category": "activity", "name": "bowling", "unicode": "1f3b3" }, ":boxing_glove:": { "category": "activity", "name": "boxing glove", "unicode": "1f94a" }, ":boy:": { "category": "people", "name": "boy", "unicode": "1f466" }, ":boy_tone1:": { "category": "people", "name": "boy tone 1", "unicode": "1f466-1f3fb" }, ":boy_tone2:": { "category": "people", "name": "boy tone 2", "unicode": "1f466-1f3fc" }, ":boy_tone3:": { "category": "people", "name": "boy tone 3", "unicode": "1f466-1f3fd" }, ":boy_tone4:": { "category": "people", "name": "boy tone 4", "unicode": "1f466-1f3fe" }, ":boy_tone5:": { "category": "people", "name": "boy tone 5", "unicode": "1f466-1f3ff" }, ":bread:": { "category": "food", "name": "bread", "unicode": "1f35e" }, ":bride_with_veil:": { "category": "people", "name": "bride with veil", "unicode": "1f470" }, ":bride_with_veil_tone1:": { "category": "people", "name": "bride with veil tone 1", "unicode": "1f470-1f3fb" }, ":bride_with_veil_tone2:": { "category": "people", "name": "bride with veil tone 2", "unicode": "1f470-1f3fc" }, ":bride_with_veil_tone3:": { "category": "people", "name": "bride with veil tone 3", "unicode": "1f470-1f3fd" }, ":bride_with_veil_tone4:": { "category": "people", "name": "bride with veil tone 4", "unicode": "1f470-1f3fe" }, ":bride_with_veil_tone5:": { "category": "people", "name": "bride with veil tone 5", "unicode": "1f470-1f3ff" }, ":bridge_at_night:": { "category": "travel", "name": "bridge at night", "unicode": "1f309" }, ":briefcase:": { "category": "people", "name": "briefcase", "unicode": "1f4bc" }, ":broken_heart:": { "category": "symbols", "name": "broken heart", "unicode": "1f494" }, ":bug:": { "category": "nature", "name": "bug", "unicode": "1f41b" }, ":bulb:": { "category": "objects", "name": "electric light bulb", "unicode": "1f4a1" }, ":bullettrain_front:": { "category": "travel", "name": "high-speed train with bullet nose", "unicode": "1f685" }, ":bullettrain_side:": { "category": "travel", "name": "high-speed train", "unicode": "1f684" }, ":burrito:": { "category": "food", "name": "burrito", "unicode": "1f32f" }, ":bus:": { "category": "travel", "name": "bus", "unicode": "1f68c" }, ":busstop:": { "category": "travel", "name": "bus stop", "unicode": "1f68f" }, ":bust_in_silhouette:": { "category": "people", "name": "bust in silhouette", "unicode": "1f464" }, ":busts_in_silhouette:": { "category": "people", "name": "busts in silhouette", "unicode": "1f465" }, ":butterfly:": { "category": "nature", "name": "butterfly", "unicode": "1f98b" }, ":cactus:": { "category": "nature", "name": "cactus", "unicode": "1f335" }, ":cake:": { "category": "food", "name": "shortcake", "unicode": "1f370" }, ":calendar:": { "category": "objects", "name": "tear-off calendar", "unicode": "1f4c6" }, ":calendar_spiral:": { "category": "objects", "name": "spiral calendar pad", "unicode": "1f5d3", "unicode_alt": "1f5d3-fe0f" }, ":call_me:": { "category": "people", "name": "call me hand", "unicode": "1f919" }, ":call_me_tone1:": { "category": "people", "name": "call me hand tone 1", "unicode": "1f919-1f3fb" }, ":call_me_tone2:": { "category": "people", "name": "call me hand tone 2", "unicode": "1f919-1f3fc" }, ":call_me_tone3:": { "category": "people", "name": "call me hand tone 3", "unicode": "1f919-1f3fd" }, ":call_me_tone4:": { "category": "people", "name": "call me hand tone 4", "unicode": "1f919-1f3fe" }, ":call_me_tone5:": { "category": "people", "name": "call me hand tone 5", "unicode": "1f919-1f3ff" }, ":calling:": { "category": "objects", "name": "mobile phone with rightwards arrow at left", "unicode": "1f4f2" }, ":camel:": { "category": "nature", "name": "bactrian camel", "unicode": "1f42b" }, ":camera:": { "category": "objects", "name": "camera", "unicode": "1f4f7" }, ":camera_with_flash:": { "category": "objects", "name": "camera with flash", "unicode": "1f4f8" }, ":camping:": { "category": "travel", "name": "camping", "unicode": "1f3d5", "unicode_alt": "1f3d5-fe0f" }, ":cancer:": { "category": "symbols", "name": "cancer", "unicode": "264b", "unicode_alt": "264b-fe0f" }, ":candle:": { "category": "objects", "name": "candle", "unicode": "1f56f", "unicode_alt": "1f56f-fe0f" }, ":candy:": { "category": "food", "name": "candy", "unicode": "1f36c" }, ":canoe:": { "category": "travel", "name": "canoe", "unicode": "1f6f6" }, ":capital_abcd:": { "category": "symbols", "name": "input symbol for latin capital letters", "unicode": "1f520" }, ":capricorn:": { "category": "symbols", "name": "capricorn", "unicode": "2651", "unicode_alt": "2651-fe0f" }, ":card_box:": { "category": "objects", "name": "card file box", "unicode": "1f5c3", "unicode_alt": "1f5c3-fe0f" }, ":card_index:": { "category": "objects", "name": "card index", "unicode": "1f4c7" }, ":carousel_horse:": { "category": "travel", "name": "carousel horse", "unicode": "1f3a0" }, ":carrot:": { "category": "food", "name": "carrot", "unicode": "1f955" }, ":cartwheel:": { "category": "activity", "name": "person doing cartwheel", "unicode": "1f938" }, ":cartwheel_tone1:": { "category": "activity", "name": "person doing cartwheel tone 1", "unicode": "1f938-1f3fb" }, ":cartwheel_tone2:": { "category": "activity", "name": "person doing cartwheel tone 2", "unicode": "1f938-1f3fc" }, ":cartwheel_tone3:": { "category": "activity", "name": "person doing cartwheel tone 3", "unicode": "1f938-1f3fd" }, ":cartwheel_tone4:": { "category": "activity", "name": "person doing cartwheel tone 4", "unicode": "1f938-1f3fe" }, ":cartwheel_tone5:": { "category": "activity", "name": "person doing cartwheel tone 5", "unicode": "1f938-1f3ff" }, ":cat2:": { "category": "nature", "name": "cat", "unicode": "1f408" }, ":cat:": { "category": "nature", "name": "cat face", "unicode": "1f431" }, ":cd:": { "category": "objects", "name": "optical disc", "unicode": "1f4bf" }, ":chains:": { "category": "objects", "name": "chains", "unicode": "26d3", "unicode_alt": "26d3-fe0f" }, ":champagne:": { "category": "food", "name": "bottle with popping cork", "unicode": "1f37e" }, ":champagne_glass:": { "category": "food", "name": "clinking glasses", "unicode": "1f942" }, ":chart:": { "category": "symbols", "name": "chart with upwards trend and yen sign", "unicode": "1f4b9" }, ":chart_with_downwards_trend:": { "category": "objects", "name": "chart with downwards trend", "unicode": "1f4c9" }, ":chart_with_upwards_trend:": { "category": "objects", "name": "chart with upwards trend", "unicode": "1f4c8" }, ":checkered_flag:": { "category": "travel", "name": "chequered flag", "unicode": "1f3c1" }, ":cheese:": { "category": "food", "name": "cheese wedge", "unicode": "1f9c0" }, ":cherries:": { "category": "food", "name": "cherries", "unicode": "1f352" }, ":cherry_blossom:": { "category": "nature", "name": "cherry blossom", "unicode": "1f338" }, ":chestnut:": { "category": "nature", "name": "chestnut", "unicode": "1f330" }, ":chicken:": { "category": "nature", "name": "chicken", "unicode": "1f414" }, ":children_crossing:": { "category": "symbols", "name": "children crossing", "unicode": "1f6b8" }, ":chipmunk:": { "category": "nature", "name": "chipmunk", "unicode": "1f43f", "unicode_alt": "1f43f-fe0f" }, ":chocolate_bar:": { "category": "food", "name": "chocolate bar", "unicode": "1f36b" }, ":christmas_tree:": { "category": "nature", "name": "christmas tree", "unicode": "1f384" }, ":church:": { "category": "travel", "name": "church", "unicode": "26ea", "unicode_alt": "26ea-fe0f" }, ":cinema:": { "category": "symbols", "name": "cinema", "unicode": "1f3a6" }, ":circus_tent:": { "category": "activity", "name": "circus tent", "unicode": "1f3aa" }, ":city_dusk:": { "category": "travel", "name": "cityscape at dusk", "unicode": "1f306" }, ":city_sunset:": { "category": "travel", "name": "sunset over buildings", "unicode": "1f307" }, ":cityscape:": { "category": "travel", "name": "cityscape", "unicode": "1f3d9", "unicode_alt": "1f3d9-fe0f" }, ":cl:": { "category": "symbols", "name": "squared cl", "unicode": "1f191" }, ":clap:": { "category": "people", "name": "clapping hands sign", "unicode": "1f44f" }, ":clap_tone1:": { "category": "people", "name": "clapping hands sign tone 1", "unicode": "1f44f-1f3fb" }, ":clap_tone2:": { "category": "people", "name": "clapping hands sign tone 2", "unicode": "1f44f-1f3fc" }, ":clap_tone3:": { "category": "people", "name": "clapping hands sign tone 3", "unicode": "1f44f-1f3fd" }, ":clap_tone4:": { "category": "people", "name": "clapping hands sign tone 4", "unicode": "1f44f-1f3fe" }, ":clap_tone5:": { "category": "people", "name": "clapping hands sign tone 5", "unicode": "1f44f-1f3ff" }, ":clapper:": { "category": "activity", "name": "clapper board", "unicode": "1f3ac" }, ":classical_building:": { "category": "travel", "name": "classical building", "unicode": "1f3db", "unicode_alt": "1f3db-fe0f" }, ":clipboard:": { "category": "objects", "name": "clipboard", "unicode": "1f4cb" }, ":clock1030:": { "category": "symbols", "name": "clock face ten-thirty", "unicode": "1f565" }, ":clock10:": { "category": "symbols", "name": "clock face ten oclock", "unicode": "1f559" }, ":clock1130:": { "category": "symbols", "name": "clock face eleven-thirty", "unicode": "1f566" }, ":clock11:": { "category": "symbols", "name": "clock face eleven oclock", "unicode": "1f55a" }, ":clock1230:": { "category": "symbols", "name": "clock face twelve-thirty", "unicode": "1f567" }, ":clock12:": { "category": "symbols", "name": "clock face twelve oclock", "unicode": "1f55b" }, ":clock130:": { "category": "symbols", "name": "clock face one-thirty", "unicode": "1f55c" }, ":clock1:": { "category": "symbols", "name": "clock face one oclock", "unicode": "1f550" }, ":clock230:": { "category": "symbols", "name": "clock face two-thirty", "unicode": "1f55d" }, ":clock2:": { "category": "symbols", "name": "clock face two oclock", "unicode": "1f551" }, ":clock330:": { "category": "symbols", "name": "clock face three-thirty", "unicode": "1f55e" }, ":clock3:": { "category": "symbols", "name": "clock face three oclock", "unicode": "1f552" }, ":clock430:": { "category": "symbols", "name": "clock face four-thirty", "unicode": "1f55f" }, ":clock4:": { "category": "symbols", "name": "clock face four oclock", "unicode": "1f553" }, ":clock530:": { "category": "symbols", "name": "clock face five-thirty", "unicode": "1f560" }, ":clock5:": { "category": "symbols", "name": "clock face five oclock", "unicode": "1f554" }, ":clock630:": { "category": "symbols", "name": "clock face six-thirty", "unicode": "1f561" }, ":clock6:": { "category": "symbols", "name": "clock face six oclock", "unicode": "1f555" }, ":clock730:": { "category": "symbols", "name": "clock face seven-thirty", "unicode": "1f562" }, ":clock7:": { "category": "symbols", "name": "clock face seven oclock", "unicode": "1f556" }, ":clock830:": { "category": "symbols", "name": "clock face eight-thirty", "unicode": "1f563" }, ":clock8:": { "category": "symbols", "name": "clock face eight oclock", "unicode": "1f557" }, ":clock930:": { "category": "symbols", "name": "clock face nine-thirty", "unicode": "1f564" }, ":clock9:": { "category": "symbols", "name": "clock face nine oclock", "unicode": "1f558" }, ":clock:": { "category": "objects", "name": "mantlepiece clock", "unicode": "1f570", "unicode_alt": "1f570-fe0f" }, ":closed_book:": { "category": "objects", "name": "closed book", "unicode": "1f4d5" }, ":closed_lock_with_key:": { "category": "objects", "name": "closed lock with key", "unicode": "1f510" }, ":closed_umbrella:": { "category": "people", "name": "closed umbrella", "unicode": "1f302" }, ":cloud:": { "category": "nature", "name": "cloud", "unicode": "2601", "unicode_alt": "2601-fe0f" }, ":cloud_lightning:": { "category": "nature", "name": "cloud with lightning", "unicode": "1f329", "unicode_alt": "1f329-fe0f" }, ":cloud_rain:": { "category": "nature", "name": "cloud with rain", "unicode": "1f327", "unicode_alt": "1f327-fe0f" }, ":cloud_snow:": { "category": "nature", "name": "cloud with snow", "unicode": "1f328", "unicode_alt": "1f328-fe0f" }, ":cloud_tornado:": { "category": "nature", "name": "cloud with tornado", "unicode": "1f32a", "unicode_alt": "1f32a-fe0f" }, ":clown:": { "category": "people", "name": "clown face", "unicode": "1f921" }, ":clubs:": { "category": "symbols", "name": "black club suit", "unicode": "2663", "unicode_alt": "2663-fe0f" }, ":cocktail:": { "category": "food", "name": "cocktail glass", "unicode": "1f378" }, ":coffee:": { "category": "food", "name": "hot beverage", "unicode": "2615", "unicode_alt": "2615-fe0f" }, ":coffin:": { "category": "objects", "name": "coffin", "unicode": "26b0", "unicode_alt": "26b0-fe0f" }, ":cold_sweat:": { "category": "people", "name": "face with open mouth and cold sweat", "unicode": "1f630" }, ":comet:": { "category": "nature", "name": "comet", "unicode": "2604", "unicode_alt": "2604-fe0f" }, ":compression:": { "category": "objects", "name": "compression", "unicode": "1f5dc", "unicode_alt": "1f5dc-fe0f" }, ":computer:": { "category": "objects", "name": "personal computer", "unicode": "1f4bb" }, ":confetti_ball:": { "category": "objects", "name": "confetti ball", "unicode": "1f38a" }, ":confounded:": { "category": "people", "name": "confounded face", "unicode": "1f616" }, ":confused:": { "category": "people", "name": "confused face", "unicode": "1f615" }, ":congratulations:": { "category": "symbols", "name": "circled ideograph congratulation", "unicode": "3297", "unicode_alt": "3297-fe0f" }, ":construction:": { "category": "travel", "name": "construction sign", "unicode": "1f6a7" }, ":construction_site:": { "category": "travel", "name": "building construction", "unicode": "1f3d7", "unicode_alt": "1f3d7-fe0f" }, ":construction_worker:": { "category": "people", "name": "construction worker", "unicode": "1f477" }, ":construction_worker_tone1:": { "category": "people", "name": "construction worker tone 1", "unicode": "1f477-1f3fb" }, ":construction_worker_tone2:": { "category": "people", "name": "construction worker tone 2", "unicode": "1f477-1f3fc" }, ":construction_worker_tone3:": { "category": "people", "name": "construction worker tone 3", "unicode": "1f477-1f3fd" }, ":construction_worker_tone4:": { "category": "people", "name": "construction worker tone 4", "unicode": "1f477-1f3fe" }, ":construction_worker_tone5:": { "category": "people", "name": "construction worker tone 5", "unicode": "1f477-1f3ff" }, ":control_knobs:": { "category": "objects", "name": "control knobs", "unicode": "1f39b", "unicode_alt": "1f39b-fe0f" }, ":convenience_store:": { "category": "travel", "name": "convenience store", "unicode": "1f3ea" }, ":cookie:": { "category": "food", "name": "cookie", "unicode": "1f36a" }, ":cooking:": { "category": "food", "name": "cooking", "unicode": "1f373" }, ":cool:": { "category": "symbols", "name": "squared cool", "unicode": "1f192" }, ":cop:": { "category": "people", "name": "police officer", "unicode": "1f46e" }, ":cop_tone1:": { "category": "people", "name": "police officer tone 1", "unicode": "1f46e-1f3fb" }, ":cop_tone2:": { "category": "people", "name": "police officer tone 2", "unicode": "1f46e-1f3fc" }, ":cop_tone3:": { "category": "people", "name": "police officer tone 3", "unicode": "1f46e-1f3fd" }, ":cop_tone4:": { "category": "people", "name": "police officer tone 4", "unicode": "1f46e-1f3fe" }, ":cop_tone5:": { "category": "people", "name": "police officer tone 5", "unicode": "1f46e-1f3ff" }, ":copyright:": { "category": "symbols", "name": "copyright sign", "unicode": "00a9", "unicode_alt": "00a9-fe0f" }, ":corn:": { "category": "food", "name": "ear of maize", "unicode": "1f33d" }, ":couch:": { "category": "objects", "name": "couch and lamp", "unicode": "1f6cb", "unicode_alt": "1f6cb-fe0f" }, ":couple:": { "category": "people", "name": "man and woman holding hands", "unicode": "1f46b" }, ":couple_mm:": { "category": "people", "name": "couple (man,man)", "unicode": "1f468-2764-1f468", "unicode_alt": "1f468-200d-2764-fe0f-200d-1f468" }, ":couple_with_heart:": { "category": "people", "name": "couple with heart", "unicode": "1f491" }, ":couple_ww:": { "category": "people", "name": "couple (woman,woman)", "unicode": "1f469-2764-1f469", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f469" }, ":couplekiss:": { "category": "people", "name": "kiss", "unicode": "1f48f" }, ":cow2:": { "category": "nature", "name": "cow", "unicode": "1f404" }, ":cow:": { "category": "nature", "name": "cow face", "unicode": "1f42e" }, ":cowboy:": { "category": "people", "name": "face with cowboy hat", "unicode": "1f920" }, ":crab:": { "category": "nature", "name": "crab", "unicode": "1f980" }, ":crayon:": { "category": "objects", "name": "lower left crayon", "unicode": "1f58d", "unicode_alt": "1f58d-fe0f" }, ":credit_card:": { "category": "objects", "name": "credit card", "unicode": "1f4b3" }, ":crescent_moon:": { "category": "nature", "name": "crescent moon", "unicode": "1f319" }, ":cricket:": { "category": "activity", "name": "cricket bat and ball", "unicode": "1f3cf" }, ":crocodile:": { "category": "nature", "name": "crocodile", "unicode": "1f40a" }, ":croissant:": { "category": "food", "name": "croissant", "unicode": "1f950" }, ":cross:": { "category": "symbols", "name": "latin cross", "unicode": "271d", "unicode_alt": "271d-fe0f" }, ":crossed_flags:": { "category": "objects", "name": "crossed flags", "unicode": "1f38c" }, ":crossed_swords:": { "category": "objects", "name": "crossed swords", "unicode": "2694", "unicode_alt": "2694-fe0f" }, ":crown:": { "category": "people", "name": "crown", "unicode": "1f451" }, ":cruise_ship:": { "category": "travel", "name": "passenger ship", "unicode": "1f6f3", "unicode_alt": "1f6f3-fe0f" }, ":cry:": { "category": "people", "name": "crying face", "unicode": "1f622" }, ":crying_cat_face:": { "category": "people", "name": "crying cat face", "unicode": "1f63f" }, ":crystal_ball:": { "category": "objects", "name": "crystal ball", "unicode": "1f52e" }, ":cucumber:": { "category": "food", "name": "cucumber", "unicode": "1f952" }, ":cupid:": { "category": "symbols", "name": "heart with arrow", "unicode": "1f498" }, ":curly_loop:": { "category": "symbols", "name": "curly loop", "unicode": "27b0" }, ":currency_exchange:": { "category": "symbols", "name": "currency exchange", "unicode": "1f4b1" }, ":curry:": { "category": "food", "name": "curry and rice", "unicode": "1f35b" }, ":custard:": { "category": "food", "name": "custard", "unicode": "1f36e" }, ":customs:": { "category": "symbols", "name": "customs", "unicode": "1f6c3" }, ":cyclone:": { "category": "symbols", "name": "cyclone", "unicode": "1f300" }, ":dagger:": { "category": "objects", "name": "dagger knife", "unicode": "1f5e1", "unicode_alt": "1f5e1-fe0f" }, ":dancer:": { "category": "people", "name": "dancer", "unicode": "1f483" }, ":dancer_tone1:": { "category": "people", "name": "dancer tone 1", "unicode": "1f483-1f3fb" }, ":dancer_tone2:": { "category": "people", "name": "dancer tone 2", "unicode": "1f483-1f3fc" }, ":dancer_tone3:": { "category": "people", "name": "dancer tone 3", "unicode": "1f483-1f3fd" }, ":dancer_tone4:": { "category": "people", "name": "dancer tone 4", "unicode": "1f483-1f3fe" }, ":dancer_tone5:": { "category": "people", "name": "dancer tone 5", "unicode": "1f483-1f3ff" }, ":dancers:": { "category": "people", "name": "woman with bunny ears", "unicode": "1f46f" }, ":dango:": { "category": "food", "name": "dango", "unicode": "1f361" }, ":dark_sunglasses:": { "category": "people", "name": "dark sunglasses", "unicode": "1f576", "unicode_alt": "1f576-fe0f" }, ":dart:": { "category": "activity", "name": "direct hit", "unicode": "1f3af" }, ":dash:": { "category": "nature", "name": "dash symbol", "unicode": "1f4a8" }, ":date:": { "category": "objects", "name": "calendar", "unicode": "1f4c5" }, ":deciduous_tree:": { "category": "nature", "name": "deciduous tree", "unicode": "1f333" }, ":deer:": { "category": "nature", "name": "deer", "unicode": "1f98c" }, ":department_store:": { "category": "travel", "name": "department store", "unicode": "1f3ec" }, ":desert:": { "category": "travel", "name": "desert", "unicode": "1f3dc", "unicode_alt": "1f3dc-fe0f" }, ":desktop:": { "category": "objects", "name": "desktop computer", "unicode": "1f5a5", "unicode_alt": "1f5a5-fe0f" }, ":diamond_shape_with_a_dot_inside:": { "category": "symbols", "name": "diamond shape with a dot inside", "unicode": "1f4a0" }, ":diamonds:": { "category": "symbols", "name": "black diamond suit", "unicode": "2666", "unicode_alt": "2666-fe0f" }, ":disappointed:": { "category": "people", "name": "disappointed face", "unicode": "1f61e" }, ":disappointed_relieved:": { "category": "people", "name": "disappointed but relieved face", "unicode": "1f625" }, ":dividers:": { "category": "objects", "name": "card index dividers", "unicode": "1f5c2", "unicode_alt": "1f5c2-fe0f" }, ":dizzy:": { "category": "symbols", "name": "dizzy symbol", "unicode": "1f4ab" }, ":dizzy_face:": { "category": "people", "name": "dizzy face", "unicode": "1f635" }, ":do_not_litter:": { "category": "symbols", "name": "do not litter symbol", "unicode": "1f6af" }, ":dog2:": { "category": "nature", "name": "dog", "unicode": "1f415" }, ":dog:": { "category": "nature", "name": "dog face", "unicode": "1f436" }, ":dollar:": { "category": "objects", "name": "banknote with dollar sign", "unicode": "1f4b5" }, ":dolls:": { "category": "objects", "name": "japanese dolls", "unicode": "1f38e" }, ":dolphin:": { "category": "nature", "name": "dolphin", "unicode": "1f42c" }, ":door:": { "category": "objects", "name": "door", "unicode": "1f6aa" }, ":doughnut:": { "category": "food", "name": "doughnut", "unicode": "1f369" }, ":dove:": { "category": "nature", "name": "dove of peace", "unicode": "1f54a", "unicode_alt": "1f54a-fe0f" }, ":dragon:": { "category": "nature", "name": "dragon", "unicode": "1f409" }, ":dragon_face:": { "category": "nature", "name": "dragon face", "unicode": "1f432" }, ":dress:": { "category": "people", "name": "dress", "unicode": "1f457" }, ":dromedary_camel:": { "category": "nature", "name": "dromedary camel", "unicode": "1f42a" }, ":drooling_face:": { "category": "people", "name": "drooling face", "unicode": "1f924" }, ":droplet:": { "category": "nature", "name": "droplet", "unicode": "1f4a7" }, ":drum:": { "category": "activity", "name": "drum with drumsticks", "unicode": "1f941" }, ":duck:": { "category": "nature", "name": "duck", "unicode": "1f986" }, ":dvd:": { "category": "objects", "name": "dvd", "unicode": "1f4c0" }, ":e-mail:": { "category": "objects", "name": "e-mail symbol", "unicode": "1f4e7" }, ":eagle:": { "category": "nature", "name": "eagle", "unicode": "1f985" }, ":ear:": { "category": "people", "name": "ear", "unicode": "1f442" }, ":ear_of_rice:": { "category": "nature", "name": "ear of rice", "unicode": "1f33e" }, ":ear_tone1:": { "category": "people", "name": "ear tone 1", "unicode": "1f442-1f3fb" }, ":ear_tone2:": { "category": "people", "name": "ear tone 2", "unicode": "1f442-1f3fc" }, ":ear_tone3:": { "category": "people", "name": "ear tone 3", "unicode": "1f442-1f3fd" }, ":ear_tone4:": { "category": "people", "name": "ear tone 4", "unicode": "1f442-1f3fe" }, ":ear_tone5:": { "category": "people", "name": "ear tone 5", "unicode": "1f442-1f3ff" }, ":earth_africa:": { "category": "nature", "name": "earth globe europe-africa", "unicode": "1f30d" }, ":earth_americas:": { "category": "nature", "name": "earth globe americas", "unicode": "1f30e" }, ":earth_asia:": { "category": "nature", "name": "earth globe asia-australia", "unicode": "1f30f" }, ":egg:": { "category": "food", "name": "egg", "unicode": "1f95a" }, ":eggplant:": { "category": "food", "name": "aubergine", "unicode": "1f346" }, ":eight:": { "category": "symbols", "name": "keycap digit eight", "unicode": "0038-20e3", "unicode_alt": "0038-fe0f-20e3" }, ":eight_pointed_black_star:": { "category": "symbols", "name": "eight pointed black star", "unicode": "2734", "unicode_alt": "2734-fe0f" }, ":eight_spoked_asterisk:": { "category": "symbols", "name": "eight spoked asterisk", "unicode": "2733", "unicode_alt": "2733-fe0f" }, ":eject:": { "category": "symbols", "name": "eject symbol", "unicode": "23cf", "unicode_alt": "23cf-fe0f" }, ":electric_plug:": { "category": "objects", "name": "electric plug", "unicode": "1f50c" }, ":elephant:": { "category": "nature", "name": "elephant", "unicode": "1f418" }, ":end:": { "category": "symbols", "name": "end with leftwards arrow above", "unicode": "1f51a" }, ":envelope:": { "category": "objects", "name": "envelope", "unicode": "2709", "unicode_alt": "2709-fe0f" }, ":envelope_with_arrow:": { "category": "objects", "name": "envelope with downwards arrow above", "unicode": "1f4e9" }, ":euro:": { "category": "objects", "name": "banknote with euro sign", "unicode": "1f4b6" }, ":european_castle:": { "category": "travel", "name": "european castle", "unicode": "1f3f0" }, ":european_post_office:": { "category": "travel", "name": "european post office", "unicode": "1f3e4" }, ":evergreen_tree:": { "category": "nature", "name": "evergreen tree", "unicode": "1f332" }, ":exclamation:": { "category": "symbols", "name": "heavy exclamation mark symbol", "unicode": "2757", "unicode_alt": "2757-fe0f" }, ":expressionless:": { "category": "people", "name": "expressionless face", "unicode": "1f611" }, ":eye:": { "category": "people", "name": "eye", "unicode": "1f441", "unicode_alt": "1f441-fe0f" }, ":eye_in_speech_bubble:": { "category": "symbols", "name": "eye in speech bubble", "unicode": "1f441-1f5e8", "unicode_alt": "1f441-200d-1f5e8" }, ":eyeglasses:": { "category": "people", "name": "eyeglasses", "unicode": "1f453" }, ":eyes:": { "category": "people", "name": "eyes", "unicode": "1f440" }, ":face_palm:": { "category": "people", "name": "face palm", "unicode": "1f926" }, ":face_palm_tone1:": { "category": "people", "name": "face palm tone 1", "unicode": "1f926-1f3fb" }, ":face_palm_tone2:": { "category": "people", "name": "face palm tone 2", "unicode": "1f926-1f3fc" }, ":face_palm_tone3:": { "category": "people", "name": "face palm tone 3", "unicode": "1f926-1f3fd" }, ":face_palm_tone4:": { "category": "people", "name": "face palm tone 4", "unicode": "1f926-1f3fe" }, ":face_palm_tone5:": { "category": "people", "name": "face palm tone 5", "unicode": "1f926-1f3ff" }, ":factory:": { "category": "travel", "name": "factory", "unicode": "1f3ed" }, ":fallen_leaf:": { "category": "nature", "name": "fallen leaf", "unicode": "1f342" }, ":family:": { "category": "people", "name": "family", "unicode": "1f46a" }, ":family_mmb:": { "category": "people", "name": "family (man,man,boy)", "unicode": "1f468-1f468-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f466" }, ":family_mmbb:": { "category": "people", "name": "family (man,man,boy,boy)", "unicode": "1f468-1f468-1f466-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f466-200d-1f466" }, ":family_mmg:": { "category": "people", "name": "family (man,man,girl)", "unicode": "1f468-1f468-1f467", "unicode_alt": "1f468-200d-1f468-200d-1f467" }, ":family_mmgb:": { "category": "people", "name": "family (man,man,girl,boy)", "unicode": "1f468-1f468-1f467-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f467-200d-1f466" }, ":family_mmgg:": { "category": "people", "name": "family (man,man,girl,girl)", "unicode": "1f468-1f468-1f467-1f467", "unicode_alt": "1f468-200d-1f468-200d-1f467-200d-1f467" }, ":family_mwbb:": { "category": "people", "name": "family (man,woman,boy,boy)", "unicode": "1f468-1f469-1f466-1f466", "unicode_alt": "1f468-200d-1f469-200d-1f466-200d-1f466" }, ":family_mwg:": { "category": "people", "name": "family (man,woman,girl)", "unicode": "1f468-1f469-1f467", "unicode_alt": "1f468-200d-1f469-200d-1f467" }, ":family_mwgb:": { "category": "people", "name": "family (man,woman,girl,boy)", "unicode": "1f468-1f469-1f467-1f466", "unicode_alt": "1f468-200d-1f469-200d-1f467-200d-1f466" }, ":family_mwgg:": { "category": "people", "name": "family (man,woman,girl,girl)", "unicode": "1f468-1f469-1f467-1f467", "unicode_alt": "1f468-200d-1f469-200d-1f467-200d-1f467" }, ":family_wwb:": { "category": "people", "name": "family (woman,woman,boy)", "unicode": "1f469-1f469-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f466" }, ":family_wwbb:": { "category": "people", "name": "family (woman,woman,boy,boy)", "unicode": "1f469-1f469-1f466-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f466-200d-1f466" }, ":family_wwg:": { "category": "people", "name": "family (woman,woman,girl)", "unicode": "1f469-1f469-1f467", "unicode_alt": "1f469-200d-1f469-200d-1f467" }, ":family_wwgb:": { "category": "people", "name": "family (woman,woman,girl,boy)", "unicode": "1f469-1f469-1f467-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f467-200d-1f466" }, ":family_wwgg:": { "category": "people", "name": "family (woman,woman,girl,girl)", "unicode": "1f469-1f469-1f467-1f467", "unicode_alt": "1f469-200d-1f469-200d-1f467-200d-1f467" }, ":fast_forward:": { "category": "symbols", "name": "black right-pointing double triangle", "unicode": "23e9" }, ":fax:": { "category": "objects", "name": "fax machine", "unicode": "1f4e0" }, ":fearful:": { "category": "people", "name": "fearful face", "unicode": "1f628" }, ":feet:": { "category": "nature", "name": "paw prints", "unicode": "1f43e" }, ":fencer:": { "category": "activity", "name": "fencer", "unicode": "1f93a" }, ":ferris_wheel:": { "category": "travel", "name": "ferris wheel", "unicode": "1f3a1" }, ":ferry:": { "category": "travel", "name": "ferry", "unicode": "26f4", "unicode_alt": "26f4-fe0f" }, ":field_hockey:": { "category": "activity", "name": "field hockey stick and ball", "unicode": "1f3d1" }, ":file_cabinet:": { "category": "objects", "name": "file cabinet", "unicode": "1f5c4", "unicode_alt": "1f5c4-fe0f" }, ":file_folder:": { "category": "objects", "name": "file folder", "unicode": "1f4c1" }, ":film_frames:": { "category": "objects", "name": "film frames", "unicode": "1f39e", "unicode_alt": "1f39e-fe0f" }, ":fingers_crossed:": { "category": "people", "name": "hand with first and index finger crossed", "unicode": "1f91e" }, ":fingers_crossed_tone1:": { "category": "people", "name": "hand with index and middle fingers crossed tone 1", "unicode": "1f91e-1f3fb" }, ":fingers_crossed_tone2:": { "category": "people", "name": "hand with index and middle fingers crossed tone 2", "unicode": "1f91e-1f3fc" }, ":fingers_crossed_tone3:": { "category": "people", "name": "hand with index and middle fingers crossed tone 3", "unicode": "1f91e-1f3fd" }, ":fingers_crossed_tone4:": { "category": "people", "name": "hand with index and middle fingers crossed tone 4", "unicode": "1f91e-1f3fe" }, ":fingers_crossed_tone5:": { "category": "people", "name": "hand with index and middle fingers crossed tone 5", "unicode": "1f91e-1f3ff" }, ":fire:": { "category": "nature", "name": "fire", "unicode": "1f525" }, ":fire_engine:": { "category": "travel", "name": "fire engine", "unicode": "1f692" }, ":fireworks:": { "category": "travel", "name": "fireworks", "unicode": "1f386" }, ":first_place:": { "category": "activity", "name": "first place medal", "unicode": "1f947" }, ":first_quarter_moon:": { "category": "nature", "name": "first quarter moon symbol", "unicode": "1f313" }, ":first_quarter_moon_with_face:": { "category": "nature", "name": "first quarter moon with face", "unicode": "1f31b" }, ":fish:": { "category": "nature", "name": "fish", "unicode": "1f41f" }, ":fish_cake:": { "category": "food", "name": "fish cake with swirl design", "unicode": "1f365" }, ":fishing_pole_and_fish:": { "category": "activity", "name": "fishing pole and fish", "unicode": "1f3a3" }, ":fist:": { "category": "people", "name": "raised fist", "unicode": "270a" }, ":fist_tone1:": { "category": "people", "name": "raised fist tone 1", "unicode": "270a-1f3fb" }, ":fist_tone2:": { "category": "people", "name": "raised fist tone 2", "unicode": "270a-1f3fc" }, ":fist_tone3:": { "category": "people", "name": "raised fist tone 3", "unicode": "270a-1f3fd" }, ":fist_tone4:": { "category": "people", "name": "raised fist tone 4", "unicode": "270a-1f3fe" }, ":fist_tone5:": { "category": "people", "name": "raised fist tone 5", "unicode": "270a-1f3ff" }, ":five:": { "category": "symbols", "name": "keycap digit five", "unicode": "0035-20e3", "unicode_alt": "0035-fe0f-20e3" }, ":flag_ac:": { "category": "flags", "name": "ascension", "unicode": "1f1e6-1f1e8" }, ":flag_ad:": { "category": "flags", "name": "andorra", "unicode": "1f1e6-1f1e9" }, ":flag_ae:": { "category": "flags", "name": "the united arab emirates", "unicode": "1f1e6-1f1ea" }, ":flag_af:": { "category": "flags", "name": "afghanistan", "unicode": "1f1e6-1f1eb" }, ":flag_ag:": { "category": "flags", "name": "antigua and barbuda", "unicode": "1f1e6-1f1ec" }, ":flag_ai:": { "category": "flags", "name": "anguilla", "unicode": "1f1e6-1f1ee" }, ":flag_al:": { "category": "flags", "name": "albania", "unicode": "1f1e6-1f1f1" }, ":flag_am:": { "category": "flags", "name": "armenia", "unicode": "1f1e6-1f1f2" }, ":flag_ao:": { "category": "flags", "name": "angola", "unicode": "1f1e6-1f1f4" }, ":flag_aq:": { "category": "flags", "name": "antarctica", "unicode": "1f1e6-1f1f6" }, ":flag_ar:": { "category": "flags", "name": "argentina", "unicode": "1f1e6-1f1f7" }, ":flag_as:": { "category": "flags", "name": "american samoa", "unicode": "1f1e6-1f1f8" }, ":flag_at:": { "category": "flags", "name": "austria", "unicode": "1f1e6-1f1f9" }, ":flag_au:": { "category": "flags", "name": "australia", "unicode": "1f1e6-1f1fa" }, ":flag_aw:": { "category": "flags", "name": "aruba", "unicode": "1f1e6-1f1fc" }, ":flag_ax:": { "category": "flags", "name": "\u00e5land islands", "unicode": "1f1e6-1f1fd" }, ":flag_az:": { "category": "flags", "name": "azerbaijan", "unicode": "1f1e6-1f1ff" }, ":flag_ba:": { "category": "flags", "name": "bosnia and herzegovina", "unicode": "1f1e7-1f1e6" }, ":flag_bb:": { "category": "flags", "name": "barbados", "unicode": "1f1e7-1f1e7" }, ":flag_bd:": { "category": "flags", "name": "bangladesh", "unicode": "1f1e7-1f1e9" }, ":flag_be:": { "category": "flags", "name": "belgium", "unicode": "1f1e7-1f1ea" }, ":flag_bf:": { "category": "flags", "name": "burkina faso", "unicode": "1f1e7-1f1eb" }, ":flag_bg:": { "category": "flags", "name": "bulgaria", "unicode": "1f1e7-1f1ec" }, ":flag_bh:": { "category": "flags", "name": "bahrain", "unicode": "1f1e7-1f1ed" }, ":flag_bi:": { "category": "flags", "name": "burundi", "unicode": "1f1e7-1f1ee" }, ":flag_bj:": { "category": "flags", "name": "benin", "unicode": "1f1e7-1f1ef" }, ":flag_bl:": { "category": "flags", "name": "saint barth\u00e9lemy", "unicode": "1f1e7-1f1f1" }, ":flag_black:": { "category": "objects", "name": "waving black flag", "unicode": "1f3f4" }, ":flag_bm:": { "category": "flags", "name": "bermuda", "unicode": "1f1e7-1f1f2" }, ":flag_bn:": { "category": "flags", "name": "brunei", "unicode": "1f1e7-1f1f3" }, ":flag_bo:": { "category": "flags", "name": "bolivia", "unicode": "1f1e7-1f1f4" }, ":flag_bq:": { "category": "flags", "name": "caribbean netherlands", "unicode": "1f1e7-1f1f6" }, ":flag_br:": { "category": "flags", "name": "brazil", "unicode": "1f1e7-1f1f7" }, ":flag_bs:": { "category": "flags", "name": "the bahamas", "unicode": "1f1e7-1f1f8" }, ":flag_bt:": { "category": "flags", "name": "bhutan", "unicode": "1f1e7-1f1f9" }, ":flag_bv:": { "category": "flags", "name": "bouvet island", "unicode": "1f1e7-1f1fb" }, ":flag_bw:": { "category": "flags", "name": "botswana", "unicode": "1f1e7-1f1fc" }, ":flag_by:": { "category": "flags", "name": "belarus", "unicode": "1f1e7-1f1fe" }, ":flag_bz:": { "category": "flags", "name": "belize", "unicode": "1f1e7-1f1ff" }, ":flag_ca:": { "category": "flags", "name": "canada", "unicode": "1f1e8-1f1e6" }, ":flag_cc:": { "category": "flags", "name": "cocos (keeling) islands", "unicode": "1f1e8-1f1e8" }, ":flag_cd:": { "category": "flags", "name": "the democratic republic of the congo", "unicode": "1f1e8-1f1e9" }, ":flag_cf:": { "category": "flags", "name": "central african republic", "unicode": "1f1e8-1f1eb" }, ":flag_cg:": { "category": "flags", "name": "the republic of the congo", "unicode": "1f1e8-1f1ec" }, ":flag_ch:": { "category": "flags", "name": "switzerland", "unicode": "1f1e8-1f1ed" }, ":flag_ci:": { "category": "flags", "name": "c\u00f4te d\u2019ivoire", "unicode": "1f1e8-1f1ee" }, ":flag_ck:": { "category": "flags", "name": "cook islands", "unicode": "1f1e8-1f1f0" }, ":flag_cl:": { "category": "flags", "name": "chile", "unicode": "1f1e8-1f1f1" }, ":flag_cm:": { "category": "flags", "name": "cameroon", "unicode": "1f1e8-1f1f2" }, ":flag_cn:": { "category": "flags", "name": "china", "unicode": "1f1e8-1f1f3" }, ":flag_co:": { "category": "flags", "name": "colombia", "unicode": "1f1e8-1f1f4" }, ":flag_cp:": { "category": "flags", "name": "clipperton island", "unicode": "1f1e8-1f1f5" }, ":flag_cr:": { "category": "flags", "name": "costa rica", "unicode": "1f1e8-1f1f7" }, ":flag_cu:": { "category": "flags", "name": "cuba", "unicode": "1f1e8-1f1fa" }, ":flag_cv:": { "category": "flags", "name": "cape verde", "unicode": "1f1e8-1f1fb" }, ":flag_cw:": { "category": "flags", "name": "cura\u00e7ao", "unicode": "1f1e8-1f1fc" }, ":flag_cx:": { "category": "flags", "name": "christmas island", "unicode": "1f1e8-1f1fd" }, ":flag_cy:": { "category": "flags", "name": "cyprus", "unicode": "1f1e8-1f1fe" }, ":flag_cz:": { "category": "flags", "name": "the czech republic", "unicode": "1f1e8-1f1ff" }, ":flag_de:": { "category": "flags", "name": "germany", "unicode": "1f1e9-1f1ea" }, ":flag_dg:": { "category": "flags", "name": "diego garcia", "unicode": "1f1e9-1f1ec" }, ":flag_dj:": { "category": "flags", "name": "djibouti", "unicode": "1f1e9-1f1ef" }, ":flag_dk:": { "category": "flags", "name": "denmark", "unicode": "1f1e9-1f1f0" }, ":flag_dm:": { "category": "flags", "name": "dominica", "unicode": "1f1e9-1f1f2" }, ":flag_do:": { "category": "flags", "name": "the dominican republic", "unicode": "1f1e9-1f1f4" }, ":flag_dz:": { "category": "flags", "name": "algeria", "unicode": "1f1e9-1f1ff" }, ":flag_ea:": { "category": "flags", "name": "ceuta, melilla", "unicode": "1f1ea-1f1e6" }, ":flag_ec:": { "category": "flags", "name": "ecuador", "unicode": "1f1ea-1f1e8" }, ":flag_ee:": { "category": "flags", "name": "estonia", "unicode": "1f1ea-1f1ea" }, ":flag_eg:": { "category": "flags", "name": "egypt", "unicode": "1f1ea-1f1ec" }, ":flag_eh:": { "category": "flags", "name": "western sahara", "unicode": "1f1ea-1f1ed" }, ":flag_er:": { "category": "flags", "name": "eritrea", "unicode": "1f1ea-1f1f7" }, ":flag_es:": { "category": "flags", "name": "spain", "unicode": "1f1ea-1f1f8" }, ":flag_et:": { "category": "flags", "name": "ethiopia", "unicode": "1f1ea-1f1f9" }, ":flag_eu:": { "category": "flags", "name": "european union", "unicode": "1f1ea-1f1fa" }, ":flag_fi:": { "category": "flags", "name": "finland", "unicode": "1f1eb-1f1ee" }, ":flag_fj:": { "category": "flags", "name": "fiji", "unicode": "1f1eb-1f1ef" }, ":flag_fk:": { "category": "flags", "name": "falkland islands", "unicode": "1f1eb-1f1f0" }, ":flag_fm:": { "category": "flags", "name": "micronesia", "unicode": "1f1eb-1f1f2" }, ":flag_fo:": { "category": "flags", "name": "faroe islands", "unicode": "1f1eb-1f1f4" }, ":flag_fr:": { "category": "flags", "name": "france", "unicode": "1f1eb-1f1f7" }, ":flag_ga:": { "category": "flags", "name": "gabon", "unicode": "1f1ec-1f1e6" }, ":flag_gb:": { "category": "flags", "name": "great britain", "unicode": "1f1ec-1f1e7" }, ":flag_gd:": { "category": "flags", "name": "grenada", "unicode": "1f1ec-1f1e9" }, ":flag_ge:": { "category": "flags", "name": "georgia", "unicode": "1f1ec-1f1ea" }, ":flag_gf:": { "category": "flags", "name": "french guiana", "unicode": "1f1ec-1f1eb" }, ":flag_gg:": { "category": "flags", "name": "guernsey", "unicode": "1f1ec-1f1ec" }, ":flag_gh:": { "category": "flags", "name": "ghana", "unicode": "1f1ec-1f1ed" }, ":flag_gi:": { "category": "flags", "name": "gibraltar", "unicode": "1f1ec-1f1ee" }, ":flag_gl:": { "category": "flags", "name": "greenland", "unicode": "1f1ec-1f1f1" }, ":flag_gm:": { "category": "flags", "name": "the gambia", "unicode": "1f1ec-1f1f2" }, ":flag_gn:": { "category": "flags", "name": "guinea", "unicode": "1f1ec-1f1f3" }, ":flag_gp:": { "category": "flags", "name": "guadeloupe", "unicode": "1f1ec-1f1f5" }, ":flag_gq:": { "category": "flags", "name": "equatorial guinea", "unicode": "1f1ec-1f1f6" }, ":flag_gr:": { "category": "flags", "name": "greece", "unicode": "1f1ec-1f1f7" }, ":flag_gs:": { "category": "flags", "name": "south georgia", "unicode": "1f1ec-1f1f8" }, ":flag_gt:": { "category": "flags", "name": "guatemala", "unicode": "1f1ec-1f1f9" }, ":flag_gu:": { "category": "flags", "name": "guam", "unicode": "1f1ec-1f1fa" }, ":flag_gw:": { "category": "flags", "name": "guinea-bissau", "unicode": "1f1ec-1f1fc" }, ":flag_gy:": { "category": "flags", "name": "guyana", "unicode": "1f1ec-1f1fe" }, ":flag_hk:": { "category": "flags", "name": "hong kong", "unicode": "1f1ed-1f1f0" }, ":flag_hm:": { "category": "flags", "name": "heard island and mcdonald islands", "unicode": "1f1ed-1f1f2" }, ":flag_hn:": { "category": "flags", "name": "honduras", "unicode": "1f1ed-1f1f3" }, ":flag_hr:": { "category": "flags", "name": "croatia", "unicode": "1f1ed-1f1f7" }, ":flag_ht:": { "category": "flags", "name": "haiti", "unicode": "1f1ed-1f1f9" }, ":flag_hu:": { "category": "flags", "name": "hungary", "unicode": "1f1ed-1f1fa" }, ":flag_ic:": { "category": "flags", "name": "canary islands", "unicode": "1f1ee-1f1e8" }, ":flag_id:": { "category": "flags", "name": "indonesia", "unicode": "1f1ee-1f1e9" }, ":flag_ie:": { "category": "flags", "name": "ireland", "unicode": "1f1ee-1f1ea" }, ":flag_il:": { "category": "flags", "name": "israel", "unicode": "1f1ee-1f1f1" }, ":flag_im:": { "category": "flags", "name": "isle of man", "unicode": "1f1ee-1f1f2" }, ":flag_in:": { "category": "flags", "name": "india", "unicode": "1f1ee-1f1f3" }, ":flag_io:": { "category": "flags", "name": "british indian ocean territory", "unicode": "1f1ee-1f1f4" }, ":flag_iq:": { "category": "flags", "name": "iraq", "unicode": "1f1ee-1f1f6" }, ":flag_ir:": { "category": "flags", "name": "iran", "unicode": "1f1ee-1f1f7" }, ":flag_is:": { "category": "flags", "name": "iceland", "unicode": "1f1ee-1f1f8" }, ":flag_it:": { "category": "flags", "name": "italy", "unicode": "1f1ee-1f1f9" }, ":flag_je:": { "category": "flags", "name": "jersey", "unicode": "1f1ef-1f1ea" }, ":flag_jm:": { "category": "flags", "name": "jamaica", "unicode": "1f1ef-1f1f2" }, ":flag_jo:": { "category": "flags", "name": "jordan", "unicode": "1f1ef-1f1f4" }, ":flag_jp:": { "category": "flags", "name": "japan", "unicode": "1f1ef-1f1f5" }, ":flag_ke:": { "category": "flags", "name": "kenya", "unicode": "1f1f0-1f1ea" }, ":flag_kg:": { "category": "flags", "name": "kyrgyzstan", "unicode": "1f1f0-1f1ec" }, ":flag_kh:": { "category": "flags", "name": "cambodia", "unicode": "1f1f0-1f1ed" }, ":flag_ki:": { "category": "flags", "name": "kiribati", "unicode": "1f1f0-1f1ee" }, ":flag_km:": { "category": "flags", "name": "the comoros", "unicode": "1f1f0-1f1f2" }, ":flag_kn:": { "category": "flags", "name": "saint kitts and nevis", "unicode": "1f1f0-1f1f3" }, ":flag_kp:": { "category": "flags", "name": "north korea", "unicode": "1f1f0-1f1f5" }, ":flag_kr:": { "category": "flags", "name": "korea", "unicode": "1f1f0-1f1f7" }, ":flag_kw:": { "category": "flags", "name": "kuwait", "unicode": "1f1f0-1f1fc" }, ":flag_ky:": { "category": "flags", "name": "cayman islands", "unicode": "1f1f0-1f1fe" }, ":flag_kz:": { "category": "flags", "name": "kazakhstan", "unicode": "1f1f0-1f1ff" }, ":flag_la:": { "category": "flags", "name": "laos", "unicode": "1f1f1-1f1e6" }, ":flag_lb:": { "category": "flags", "name": "lebanon", "unicode": "1f1f1-1f1e7" }, ":flag_lc:": { "category": "flags", "name": "saint lucia", "unicode": "1f1f1-1f1e8" }, ":flag_li:": { "category": "flags", "name": "liechtenstein", "unicode": "1f1f1-1f1ee" }, ":flag_lk:": { "category": "flags", "name": "sri lanka", "unicode": "1f1f1-1f1f0" }, ":flag_lr:": { "category": "flags", "name": "liberia", "unicode": "1f1f1-1f1f7" }, ":flag_ls:": { "category": "flags", "name": "lesotho", "unicode": "1f1f1-1f1f8" }, ":flag_lt:": { "category": "flags", "name": "lithuania", "unicode": "1f1f1-1f1f9" }, ":flag_lu:": { "category": "flags", "name": "luxembourg", "unicode": "1f1f1-1f1fa" }, ":flag_lv:": { "category": "flags", "name": "latvia", "unicode": "1f1f1-1f1fb" }, ":flag_ly:": { "category": "flags", "name": "libya", "unicode": "1f1f1-1f1fe" }, ":flag_ma:": { "category": "flags", "name": "morocco", "unicode": "1f1f2-1f1e6" }, ":flag_mc:": { "category": "flags", "name": "monaco", "unicode": "1f1f2-1f1e8" }, ":flag_md:": { "category": "flags", "name": "moldova", "unicode": "1f1f2-1f1e9" }, ":flag_me:": { "category": "flags", "name": "montenegro", "unicode": "1f1f2-1f1ea" }, ":flag_mf:": { "category": "flags", "name": "saint martin", "unicode": "1f1f2-1f1eb" }, ":flag_mg:": { "category": "flags", "name": "madagascar", "unicode": "1f1f2-1f1ec" }, ":flag_mh:": { "category": "flags", "name": "the marshall islands", "unicode": "1f1f2-1f1ed" }, ":flag_mk:": { "category": "flags", "name": "macedonia", "unicode": "1f1f2-1f1f0" }, ":flag_ml:": { "category": "flags", "name": "mali", "unicode": "1f1f2-1f1f1" }, ":flag_mm:": { "category": "flags", "name": "myanmar", "unicode": "1f1f2-1f1f2" }, ":flag_mn:": { "category": "flags", "name": "mongolia", "unicode": "1f1f2-1f1f3" }, ":flag_mo:": { "category": "flags", "name": "macau", "unicode": "1f1f2-1f1f4" }, ":flag_mp:": { "category": "flags", "name": "northern mariana islands", "unicode": "1f1f2-1f1f5" }, ":flag_mq:": { "category": "flags", "name": "martinique", "unicode": "1f1f2-1f1f6" }, ":flag_mr:": { "category": "flags", "name": "mauritania", "unicode": "1f1f2-1f1f7" }, ":flag_ms:": { "category": "flags", "name": "montserrat", "unicode": "1f1f2-1f1f8" }, ":flag_mt:": { "category": "flags", "name": "malta", "unicode": "1f1f2-1f1f9" }, ":flag_mu:": { "category": "flags", "name": "mauritius", "unicode": "1f1f2-1f1fa" }, ":flag_mv:": { "category": "flags", "name": "maldives", "unicode": "1f1f2-1f1fb" }, ":flag_mw:": { "category": "flags", "name": "malawi", "unicode": "1f1f2-1f1fc" }, ":flag_mx:": { "category": "flags", "name": "mexico", "unicode": "1f1f2-1f1fd" }, ":flag_my:": { "category": "flags", "name": "malaysia", "unicode": "1f1f2-1f1fe" }, ":flag_mz:": { "category": "flags", "name": "mozambique", "unicode": "1f1f2-1f1ff" }, ":flag_na:": { "category": "flags", "name": "namibia", "unicode": "1f1f3-1f1e6" }, ":flag_nc:": { "category": "flags", "name": "new caledonia", "unicode": "1f1f3-1f1e8" }, ":flag_ne:": { "category": "flags", "name": "niger", "unicode": "1f1f3-1f1ea" }, ":flag_nf:": { "category": "flags", "name": "norfolk island", "unicode": "1f1f3-1f1eb" }, ":flag_ng:": { "category": "flags", "name": "nigeria", "unicode": "1f1f3-1f1ec" }, ":flag_ni:": { "category": "flags", "name": "nicaragua", "unicode": "1f1f3-1f1ee" }, ":flag_nl:": { "category": "flags", "name": "the netherlands", "unicode": "1f1f3-1f1f1" }, ":flag_no:": { "category": "flags", "name": "norway", "unicode": "1f1f3-1f1f4" }, ":flag_np:": { "category": "flags", "name": "nepal", "unicode": "1f1f3-1f1f5" }, ":flag_nr:": { "category": "flags", "name": "nauru", "unicode": "1f1f3-1f1f7" }, ":flag_nu:": { "category": "flags", "name": "niue", "unicode": "1f1f3-1f1fa" }, ":flag_nz:": { "category": "flags", "name": "new zealand", "unicode": "1f1f3-1f1ff" }, ":flag_om:": { "category": "flags", "name": "oman", "unicode": "1f1f4-1f1f2" }, ":flag_pa:": { "category": "flags", "name": "panama", "unicode": "1f1f5-1f1e6" }, ":flag_pe:": { "category": "flags", "name": "peru", "unicode": "1f1f5-1f1ea" }, ":flag_pf:": { "category": "flags", "name": "french polynesia", "unicode": "1f1f5-1f1eb" }, ":flag_pg:": { "category": "flags", "name": "papua new guinea", "unicode": "1f1f5-1f1ec" }, ":flag_ph:": { "category": "flags", "name": "the philippines", "unicode": "1f1f5-1f1ed" }, ":flag_pk:": { "category": "flags", "name": "pakistan", "unicode": "1f1f5-1f1f0" }, ":flag_pl:": { "category": "flags", "name": "poland", "unicode": "1f1f5-1f1f1" }, ":flag_pm:": { "category": "flags", "name": "saint pierre and miquelon", "unicode": "1f1f5-1f1f2" }, ":flag_pn:": { "category": "flags", "name": "pitcairn", "unicode": "1f1f5-1f1f3" }, ":flag_pr:": { "category": "flags", "name": "puerto rico", "unicode": "1f1f5-1f1f7" }, ":flag_ps:": { "category": "flags", "name": "palestinian authority", "unicode": "1f1f5-1f1f8" }, ":flag_pt:": { "category": "flags", "name": "portugal", "unicode": "1f1f5-1f1f9" }, ":flag_pw:": { "category": "flags", "name": "palau", "unicode": "1f1f5-1f1fc" }, ":flag_py:": { "category": "flags", "name": "paraguay", "unicode": "1f1f5-1f1fe" }, ":flag_qa:": { "category": "flags", "name": "qatar", "unicode": "1f1f6-1f1e6" }, ":flag_re:": { "category": "flags", "name": "r\u00e9union", "unicode": "1f1f7-1f1ea" }, ":flag_ro:": { "category": "flags", "name": "romania", "unicode": "1f1f7-1f1f4" }, ":flag_rs:": { "category": "flags", "name": "serbia", "unicode": "1f1f7-1f1f8" }, ":flag_ru:": { "category": "flags", "name": "russia", "unicode": "1f1f7-1f1fa" }, ":flag_rw:": { "category": "flags", "name": "rwanda", "unicode": "1f1f7-1f1fc" }, ":flag_sa:": { "category": "flags", "name": "saudi arabia", "unicode": "1f1f8-1f1e6" }, ":flag_sb:": { "category": "flags", "name": "the solomon islands", "unicode": "1f1f8-1f1e7" }, ":flag_sc:": { "category": "flags", "name": "the seychelles", "unicode": "1f1f8-1f1e8" }, ":flag_sd:": { "category": "flags", "name": "sudan", "unicode": "1f1f8-1f1e9" }, ":flag_se:": { "category": "flags", "name": "sweden", "unicode": "1f1f8-1f1ea" }, ":flag_sg:": { "category": "flags", "name": "singapore", "unicode": "1f1f8-1f1ec" }, ":flag_sh:": { "category": "flags", "name": "saint helena", "unicode": "1f1f8-1f1ed" }, ":flag_si:": { "category": "flags", "name": "slovenia", "unicode": "1f1f8-1f1ee" }, ":flag_sj:": { "category": "flags", "name": "svalbard and jan mayen", "unicode": "1f1f8-1f1ef" }, ":flag_sk:": { "category": "flags", "name": "slovakia", "unicode": "1f1f8-1f1f0" }, ":flag_sl:": { "category": "flags", "name": "sierra leone", "unicode": "1f1f8-1f1f1" }, ":flag_sm:": { "category": "flags", "name": "san marino", "unicode": "1f1f8-1f1f2" }, ":flag_sn:": { "category": "flags", "name": "senegal", "unicode": "1f1f8-1f1f3" }, ":flag_so:": { "category": "flags", "name": "somalia", "unicode": "1f1f8-1f1f4" }, ":flag_sr:": { "category": "flags", "name": "suriname", "unicode": "1f1f8-1f1f7" }, ":flag_ss:": { "category": "flags", "name": "south sudan", "unicode": "1f1f8-1f1f8" }, ":flag_st:": { "category": "flags", "name": "s\u00e3o tom\u00e9 and pr\u00edncipe", "unicode": "1f1f8-1f1f9" }, ":flag_sv:": { "category": "flags", "name": "el salvador", "unicode": "1f1f8-1f1fb" }, ":flag_sx:": { "category": "flags", "name": "sint maarten", "unicode": "1f1f8-1f1fd" }, ":flag_sy:": { "category": "flags", "name": "syria", "unicode": "1f1f8-1f1fe" }, ":flag_sz:": { "category": "flags", "name": "swaziland", "unicode": "1f1f8-1f1ff" }, ":flag_ta:": { "category": "flags", "name": "tristan da cunha", "unicode": "1f1f9-1f1e6" }, ":flag_tc:": { "category": "flags", "name": "turks and caicos islands", "unicode": "1f1f9-1f1e8" }, ":flag_td:": { "category": "flags", "name": "chad", "unicode": "1f1f9-1f1e9" }, ":flag_tf:": { "category": "flags", "name": "french southern territories", "unicode": "1f1f9-1f1eb" }, ":flag_tg:": { "category": "flags", "name": "togo", "unicode": "1f1f9-1f1ec" }, ":flag_th:": { "category": "flags", "name": "thailand", "unicode": "1f1f9-1f1ed" }, ":flag_tj:": { "category": "flags", "name": "tajikistan", "unicode": "1f1f9-1f1ef" }, ":flag_tk:": { "category": "flags", "name": "tokelau", "unicode": "1f1f9-1f1f0" }, ":flag_tl:": { "category": "flags", "name": "timor-leste", "unicode": "1f1f9-1f1f1" }, ":flag_tm:": { "category": "flags", "name": "turkmenistan", "unicode": "1f1f9-1f1f2" }, ":flag_tn:": { "category": "flags", "name": "tunisia", "unicode": "1f1f9-1f1f3" }, ":flag_to:": { "category": "flags", "name": "tonga", "unicode": "1f1f9-1f1f4" }, ":flag_tr:": { "category": "flags", "name": "turkey", "unicode": "1f1f9-1f1f7" }, ":flag_tt:": { "category": "flags", "name": "trinidad and tobago", "unicode": "1f1f9-1f1f9" }, ":flag_tv:": { "category": "flags", "name": "tuvalu", "unicode": "1f1f9-1f1fb" }, ":flag_tw:": { "category": "flags", "name": "the republic of china", "unicode": "1f1f9-1f1fc" }, ":flag_tz:": { "category": "flags", "name": "tanzania", "unicode": "1f1f9-1f1ff" }, ":flag_ua:": { "category": "flags", "name": "ukraine", "unicode": "1f1fa-1f1e6" }, ":flag_ug:": { "category": "flags", "name": "uganda", "unicode": "1f1fa-1f1ec" }, ":flag_um:": { "category": "flags", "name": "united states minor outlying islands", "unicode": "1f1fa-1f1f2" }, ":flag_us:": { "category": "flags", "name": "united states", "unicode": "1f1fa-1f1f8" }, ":flag_uy:": { "category": "flags", "name": "uruguay", "unicode": "1f1fa-1f1fe" }, ":flag_uz:": { "category": "flags", "name": "uzbekistan", "unicode": "1f1fa-1f1ff" }, ":flag_va:": { "category": "flags", "name": "the vatican city", "unicode": "1f1fb-1f1e6" }, ":flag_vc:": { "category": "flags", "name": "saint vincent and the grenadines", "unicode": "1f1fb-1f1e8" }, ":flag_ve:": { "category": "flags", "name": "venezuela", "unicode": "1f1fb-1f1ea" }, ":flag_vg:": { "category": "flags", "name": "british virgin islands", "unicode": "1f1fb-1f1ec" }, ":flag_vi:": { "category": "flags", "name": "u.s. virgin islands", "unicode": "1f1fb-1f1ee" }, ":flag_vn:": { "category": "flags", "name": "vietnam", "unicode": "1f1fb-1f1f3" }, ":flag_vu:": { "category": "flags", "name": "vanuatu", "unicode": "1f1fb-1f1fa" }, ":flag_wf:": { "category": "flags", "name": "wallis and futuna", "unicode": "1f1fc-1f1eb" }, ":flag_white:": { "category": "objects", "name": "waving white flag", "unicode": "1f3f3", "unicode_alt": "1f3f3-fe0f" }, ":flag_ws:": { "category": "flags", "name": "samoa", "unicode": "1f1fc-1f1f8" }, ":flag_xk:": { "category": "flags", "name": "kosovo", "unicode": "1f1fd-1f1f0" }, ":flag_ye:": { "category": "flags", "name": "yemen", "unicode": "1f1fe-1f1ea" }, ":flag_yt:": { "category": "flags", "name": "mayotte", "unicode": "1f1fe-1f1f9" }, ":flag_za:": { "category": "flags", "name": "south africa", "unicode": "1f1ff-1f1e6" }, ":flag_zm:": { "category": "flags", "name": "zambia", "unicode": "1f1ff-1f1f2" }, ":flag_zw:": { "category": "flags", "name": "zimbabwe", "unicode": "1f1ff-1f1fc" }, ":flags:": { "category": "objects", "name": "carp streamer", "unicode": "1f38f" }, ":flashlight:": { "category": "objects", "name": "electric torch", "unicode": "1f526" }, ":fleur-de-lis:": { "category": "symbols", "name": "fleur-de-lis", "unicode": "269c", "unicode_alt": "269c-fe0f" }, ":floppy_disk:": { "category": "objects", "name": "floppy disk", "unicode": "1f4be" }, ":flower_playing_cards:": { "category": "symbols", "name": "flower playing cards", "unicode": "1f3b4" }, ":flushed:": { "category": "people", "name": "flushed face", "unicode": "1f633" }, ":fog:": { "category": "nature", "name": "fog", "unicode": "1f32b", "unicode_alt": "1f32b-fe0f" }, ":foggy:": { "category": "travel", "name": "foggy", "unicode": "1f301" }, ":football:": { "category": "activity", "name": "american football", "unicode": "1f3c8" }, ":footprints:": { "category": "people", "name": "footprints", "unicode": "1f463" }, ":fork_and_knife:": { "category": "food", "name": "fork and knife", "unicode": "1f374" }, ":fork_knife_plate:": { "category": "food", "name": "fork and knife with plate", "unicode": "1f37d", "unicode_alt": "1f37d-fe0f" }, ":fountain:": { "category": "travel", "name": "fountain", "unicode": "26f2", "unicode_alt": "26f2-fe0f" }, ":four:": { "category": "symbols", "name": "keycap digit four", "unicode": "0034-20e3", "unicode_alt": "0034-fe0f-20e3" }, ":four_leaf_clover:": { "category": "nature", "name": "four leaf clover", "unicode": "1f340" }, ":fox:": { "category": "nature", "name": "fox face", "unicode": "1f98a" }, ":frame_photo:": { "category": "objects", "name": "frame with picture", "unicode": "1f5bc", "unicode_alt": "1f5bc-fe0f" }, ":free:": { "category": "symbols", "name": "squared free", "unicode": "1f193" }, ":french_bread:": { "category": "food", "name": "baguette bread", "unicode": "1f956" }, ":fried_shrimp:": { "category": "food", "name": "fried shrimp", "unicode": "1f364" }, ":fries:": { "category": "food", "name": "french fries", "unicode": "1f35f" }, ":frog:": { "category": "nature", "name": "frog face", "unicode": "1f438" }, ":frowning2:": { "category": "people", "name": "white frowning face", "unicode": "2639", "unicode_alt": "2639-fe0f" }, ":frowning:": { "category": "people", "name": "frowning face with open mouth", "unicode": "1f626" }, ":fuelpump:": { "category": "travel", "name": "fuel pump", "unicode": "26fd", "unicode_alt": "26fd-fe0f" }, ":full_moon:": { "category": "nature", "name": "full moon symbol", "unicode": "1f315" }, ":full_moon_with_face:": { "category": "nature", "name": "full moon with face", "unicode": "1f31d" }, ":game_die:": { "category": "activity", "name": "game die", "unicode": "1f3b2" }, ":gear:": { "category": "objects", "name": "gear", "unicode": "2699", "unicode_alt": "2699-fe0f" }, ":gem:": { "category": "objects", "name": "gem stone", "unicode": "1f48e" }, ":gemini:": { "category": "symbols", "name": "gemini", "unicode": "264a", "unicode_alt": "264a-fe0f" }, ":ghost:": { "category": "people", "name": "ghost", "unicode": "1f47b" }, ":gift:": { "category": "objects", "name": "wrapped present", "unicode": "1f381" }, ":gift_heart:": { "category": "symbols", "name": "heart with ribbon", "unicode": "1f49d" }, ":girl:": { "category": "people", "name": "girl", "unicode": "1f467" }, ":girl_tone1:": { "category": "people", "name": "girl tone 1", "unicode": "1f467-1f3fb" }, ":girl_tone2:": { "category": "people", "name": "girl tone 2", "unicode": "1f467-1f3fc" }, ":girl_tone3:": { "category": "people", "name": "girl tone 3", "unicode": "1f467-1f3fd" }, ":girl_tone4:": { "category": "people", "name": "girl tone 4", "unicode": "1f467-1f3fe" }, ":girl_tone5:": { "category": "people", "name": "girl tone 5", "unicode": "1f467-1f3ff" }, ":globe_with_meridians:": { "category": "symbols", "name": "globe with meridians", "unicode": "1f310" }, ":goal:": { "category": "activity", "name": "goal net", "unicode": "1f945" }, ":goat:": { "category": "nature", "name": "goat", "unicode": "1f410" }, ":golf:": { "category": "activity", "name": "flag in hole", "unicode": "26f3", "unicode_alt": "26f3-fe0f" }, ":golfer:": { "category": "activity", "name": "golfer", "unicode": "1f3cc", "unicode_alt": "1f3cc-fe0f" }, ":gorilla:": { "category": "nature", "name": "gorilla", "unicode": "1f98d" }, ":grapes:": { "category": "food", "name": "grapes", "unicode": "1f347" }, ":green_apple:": { "category": "food", "name": "green apple", "unicode": "1f34f" }, ":green_book:": { "category": "objects", "name": "green book", "unicode": "1f4d7" }, ":green_heart:": { "category": "symbols", "name": "green heart", "unicode": "1f49a" }, ":grey_exclamation:": { "category": "symbols", "name": "white exclamation mark ornament", "unicode": "2755" }, ":grey_question:": { "category": "symbols", "name": "white question mark ornament", "unicode": "2754" }, ":grimacing:": { "category": "people", "name": "grimacing face", "unicode": "1f62c" }, ":grin:": { "category": "people", "name": "grinning face with smiling eyes", "unicode": "1f601" }, ":grinning:": { "category": "people", "name": "grinning face", "unicode": "1f600" }, ":guardsman:": { "category": "people", "name": "guardsman", "unicode": "1f482" }, ":guardsman_tone1:": { "category": "people", "name": "guardsman tone 1", "unicode": "1f482-1f3fb" }, ":guardsman_tone2:": { "category": "people", "name": "guardsman tone 2", "unicode": "1f482-1f3fc" }, ":guardsman_tone3:": { "category": "people", "name": "guardsman tone 3", "unicode": "1f482-1f3fd" }, ":guardsman_tone4:": { "category": "people", "name": "guardsman tone 4", "unicode": "1f482-1f3fe" }, ":guardsman_tone5:": { "category": "people", "name": "guardsman tone 5", "unicode": "1f482-1f3ff" }, ":guitar:": { "category": "activity", "name": "guitar", "unicode": "1f3b8" }, ":gun:": { "category": "objects", "name": "pistol", "unicode": "1f52b" }, ":haircut:": { "category": "people", "name": "haircut", "unicode": "1f487" }, ":haircut_tone1:": { "category": "people", "name": "haircut tone 1", "unicode": "1f487-1f3fb" }, ":haircut_tone2:": { "category": "people", "name": "haircut tone 2", "unicode": "1f487-1f3fc" }, ":haircut_tone3:": { "category": "people", "name": "haircut tone 3", "unicode": "1f487-1f3fd" }, ":haircut_tone4:": { "category": "people", "name": "haircut tone 4", "unicode": "1f487-1f3fe" }, ":haircut_tone5:": { "category": "people", "name": "haircut tone 5", "unicode": "1f487-1f3ff" }, ":hamburger:": { "category": "food", "name": "hamburger", "unicode": "1f354" }, ":hammer:": { "category": "objects", "name": "hammer", "unicode": "1f528" }, ":hammer_pick:": { "category": "objects", "name": "hammer and pick", "unicode": "2692", "unicode_alt": "2692-fe0f" }, ":hamster:": { "category": "nature", "name": "hamster face", "unicode": "1f439" }, ":hand_splayed:": { "category": "people", "name": "raised hand with fingers splayed", "unicode": "1f590", "unicode_alt": "1f590-fe0f" }, ":hand_splayed_tone1:": { "category": "people", "name": "raised hand with fingers splayed tone 1", "unicode": "1f590-1f3fb" }, ":hand_splayed_tone2:": { "category": "people", "name": "raised hand with fingers splayed tone 2", "unicode": "1f590-1f3fc" }, ":hand_splayed_tone3:": { "category": "people", "name": "raised hand with fingers splayed tone 3", "unicode": "1f590-1f3fd" }, ":hand_splayed_tone4:": { "category": "people", "name": "raised hand with fingers splayed tone 4", "unicode": "1f590-1f3fe" }, ":hand_splayed_tone5:": { "category": "people", "name": "raised hand with fingers splayed tone 5", "unicode": "1f590-1f3ff" }, ":handbag:": { "category": "people", "name": "handbag", "unicode": "1f45c" }, ":handball:": { "category": "activity", "name": "handball", "unicode": "1f93e" }, ":handball_tone1:": { "category": "activity", "name": "handball tone 1", "unicode": "1f93e-1f3fb" }, ":handball_tone2:": { "category": "activity", "name": "handball tone 2", "unicode": "1f93e-1f3fc" }, ":handball_tone3:": { "category": "activity", "name": "handball tone 3", "unicode": "1f93e-1f3fd" }, ":handball_tone4:": { "category": "activity", "name": "handball tone 4", "unicode": "1f93e-1f3fe" }, ":handball_tone5:": { "category": "activity", "name": "handball tone 5", "unicode": "1f93e-1f3ff" }, ":handshake:": { "category": "people", "name": "handshake", "unicode": "1f91d" }, ":handshake_tone1:": { "category": "people", "name": "handshake tone 1", "unicode": "1f91d-1f3fb" }, ":handshake_tone2:": { "category": "people", "name": "handshake tone 2", "unicode": "1f91d-1f3fc" }, ":handshake_tone3:": { "category": "people", "name": "handshake tone 3", "unicode": "1f91d-1f3fd" }, ":handshake_tone4:": { "category": "people", "name": "handshake tone 4", "unicode": "1f91d-1f3fe" }, ":handshake_tone5:": { "category": "people", "name": "handshake tone 5", "unicode": "1f91d-1f3ff" }, ":hash:": { "category": "symbols", "name": "keycap number sign", "unicode": "0023-20e3", "unicode_alt": "0023-fe0f-20e3" }, ":hatched_chick:": { "category": "nature", "name": "front-facing baby chick", "unicode": "1f425" }, ":hatching_chick:": { "category": "nature", "name": "hatching chick", "unicode": "1f423" }, ":head_bandage:": { "category": "people", "name": "face with head-bandage", "unicode": "1f915" }, ":headphones:": { "category": "activity", "name": "headphone", "unicode": "1f3a7" }, ":hear_no_evil:": { "category": "nature", "name": "hear-no-evil monkey", "unicode": "1f649" }, ":heart:": { "category": "symbols", "name": "heavy black heart", "unicode": "2764", "unicode_alt": "2764-fe0f" }, ":heart_decoration:": { "category": "symbols", "name": "heart decoration", "unicode": "1f49f" }, ":heart_exclamation:": { "category": "symbols", "name": "heavy heart exclamation mark ornament", "unicode": "2763", "unicode_alt": "2763-fe0f" }, ":heart_eyes:": { "category": "people", "name": "smiling face with heart-shaped eyes", "unicode": "1f60d" }, ":heart_eyes_cat:": { "category": "people", "name": "smiling cat face with heart-shaped eyes", "unicode": "1f63b" }, ":heartbeat:": { "category": "symbols", "name": "beating heart", "unicode": "1f493" }, ":heartpulse:": { "category": "symbols", "name": "growing heart", "unicode": "1f497" }, ":hearts:": { "category": "symbols", "name": "black heart suit", "unicode": "2665", "unicode_alt": "2665-fe0f" }, ":heavy_check_mark:": { "category": "symbols", "name": "heavy check mark", "unicode": "2714", "unicode_alt": "2714-fe0f" }, ":heavy_division_sign:": { "category": "symbols", "name": "heavy division sign", "unicode": "2797" }, ":heavy_dollar_sign:": { "category": "symbols", "name": "heavy dollar sign", "unicode": "1f4b2" }, ":heavy_minus_sign:": { "category": "symbols", "name": "heavy minus sign", "unicode": "2796" }, ":heavy_multiplication_x:": { "category": "symbols", "name": "heavy multiplication x", "unicode": "2716", "unicode_alt": "2716-fe0f" }, ":heavy_plus_sign:": { "category": "symbols", "name": "heavy plus sign", "unicode": "2795" }, ":helicopter:": { "category": "travel", "name": "helicopter", "unicode": "1f681" }, ":helmet_with_cross:": { "category": "people", "name": "helmet with white cross", "unicode": "26d1", "unicode_alt": "26d1-fe0f" }, ":herb:": { "category": "nature", "name": "herb", "unicode": "1f33f" }, ":hibiscus:": { "category": "nature", "name": "hibiscus", "unicode": "1f33a" }, ":high_brightness:": { "category": "symbols", "name": "high brightness symbol", "unicode": "1f506" }, ":high_heel:": { "category": "people", "name": "high-heeled shoe", "unicode": "1f460" }, ":hockey:": { "category": "activity", "name": "ice hockey stick and puck", "unicode": "1f3d2" }, ":hole:": { "category": "objects", "name": "hole", "unicode": "1f573", "unicode_alt": "1f573-fe0f" }, ":homes:": { "category": "travel", "name": "house buildings", "unicode": "1f3d8", "unicode_alt": "1f3d8-fe0f" }, ":honey_pot:": { "category": "food", "name": "honey pot", "unicode": "1f36f" }, ":horse:": { "category": "nature", "name": "horse face", "unicode": "1f434" }, ":horse_racing:": { "category": "activity", "name": "horse racing", "unicode": "1f3c7" }, ":horse_racing_tone1:": { "category": "activity", "name": "horse racing tone 1", "unicode": "1f3c7-1f3fb" }, ":horse_racing_tone2:": { "category": "activity", "name": "horse racing tone 2", "unicode": "1f3c7-1f3fc" }, ":horse_racing_tone3:": { "category": "activity", "name": "horse racing tone 3", "unicode": "1f3c7-1f3fd" }, ":horse_racing_tone4:": { "category": "activity", "name": "horse racing tone 4", "unicode": "1f3c7-1f3fe" }, ":horse_racing_tone5:": { "category": "activity", "name": "horse racing tone 5", "unicode": "1f3c7-1f3ff" }, ":hospital:": { "category": "travel", "name": "hospital", "unicode": "1f3e5" }, ":hot_pepper:": { "category": "food", "name": "hot pepper", "unicode": "1f336", "unicode_alt": "1f336-fe0f" }, ":hotdog:": { "category": "food", "name": "hot dog", "unicode": "1f32d" }, ":hotel:": { "category": "travel", "name": "hotel", "unicode": "1f3e8" }, ":hotsprings:": { "category": "symbols", "name": "hot springs", "unicode": "2668", "unicode_alt": "2668-fe0f" }, ":hourglass:": { "category": "objects", "name": "hourglass", "unicode": "231b", "unicode_alt": "231b-fe0f" }, ":hourglass_flowing_sand:": { "category": "objects", "name": "hourglass with flowing sand", "unicode": "23f3" }, ":house:": { "category": "travel", "name": "house building", "unicode": "1f3e0" }, ":house_abandoned:": { "category": "travel", "name": "derelict house building", "unicode": "1f3da", "unicode_alt": "1f3da-fe0f" }, ":house_with_garden:": { "category": "travel", "name": "house with garden", "unicode": "1f3e1" }, ":hugging:": { "category": "people", "name": "hugging face", "unicode": "1f917" }, ":hushed:": { "category": "people", "name": "hushed face", "unicode": "1f62f" }, ":ice_cream:": { "category": "food", "name": "ice cream", "unicode": "1f368" }, ":ice_skate:": { "category": "activity", "name": "ice skate", "unicode": "26f8", "unicode_alt": "26f8-fe0f" }, ":icecream:": { "category": "food", "name": "soft ice cream", "unicode": "1f366" }, ":id:": { "category": "symbols", "name": "squared id", "unicode": "1f194" }, ":ideograph_advantage:": { "category": "symbols", "name": "circled ideograph advantage", "unicode": "1f250" }, ":imp:": { "category": "people", "name": "imp", "unicode": "1f47f" }, ":inbox_tray:": { "category": "objects", "name": "inbox tray", "unicode": "1f4e5" }, ":incoming_envelope:": { "category": "objects", "name": "incoming envelope", "unicode": "1f4e8" }, ":information_desk_person:": { "category": "people", "name": "information desk person", "unicode": "1f481" }, ":information_desk_person_tone1:": { "category": "people", "name": "information desk person tone 1", "unicode": "1f481-1f3fb" }, ":information_desk_person_tone2:": { "category": "people", "name": "information desk person tone 2", "unicode": "1f481-1f3fc" }, ":information_desk_person_tone3:": { "category": "people", "name": "information desk person tone 3", "unicode": "1f481-1f3fd" }, ":information_desk_person_tone4:": { "category": "people", "name": "information desk person tone 4", "unicode": "1f481-1f3fe" }, ":information_desk_person_tone5:": { "category": "people", "name": "information desk person tone 5", "unicode": "1f481-1f3ff" }, ":information_source:": { "category": "symbols", "name": "information source", "unicode": "2139", "unicode_alt": "2139-fe0f" }, ":innocent:": { "category": "people", "name": "smiling face with halo", "unicode": "1f607" }, ":interrobang:": { "category": "symbols", "name": "exclamation question mark", "unicode": "2049", "unicode_alt": "2049-fe0f" }, ":iphone:": { "category": "objects", "name": "mobile phone", "unicode": "1f4f1" }, ":island:": { "category": "travel", "name": "desert island", "unicode": "1f3dd", "unicode_alt": "1f3dd-fe0f" }, ":izakaya_lantern:": { "category": "objects", "name": "izakaya lantern", "unicode": "1f3ee" }, ":jack_o_lantern:": { "category": "nature", "name": "jack-o-lantern", "unicode": "1f383" }, ":japan:": { "category": "travel", "name": "silhouette of japan", "unicode": "1f5fe" }, ":japanese_castle:": { "category": "travel", "name": "japanese castle", "unicode": "1f3ef" }, ":japanese_goblin:": { "category": "people", "name": "japanese goblin", "unicode": "1f47a" }, ":japanese_ogre:": { "category": "people", "name": "japanese ogre", "unicode": "1f479" }, ":jeans:": { "category": "people", "name": "jeans", "unicode": "1f456" }, ":joy:": { "category": "people", "name": "face with tears of joy", "unicode": "1f602" }, ":joy_cat:": { "category": "people", "name": "cat face with tears of joy", "unicode": "1f639" }, ":joystick:": { "category": "objects", "name": "joystick", "unicode": "1f579", "unicode_alt": "1f579-fe0f" }, ":juggling:": { "category": "activity", "name": "juggling", "unicode": "1f939" }, ":juggling_tone1:": { "category": "activity", "name": "juggling tone 1", "unicode": "1f939-1f3fb" }, ":juggling_tone2:": { "category": "activity", "name": "juggling tone 2", "unicode": "1f939-1f3fc" }, ":juggling_tone3:": { "category": "activity", "name": "juggling tone 3", "unicode": "1f939-1f3fd" }, ":juggling_tone4:": { "category": "activity", "name": "juggling tone 4", "unicode": "1f939-1f3fe" }, ":juggling_tone5:": { "category": "activity", "name": "juggling tone 5", "unicode": "1f939-1f3ff" }, ":kaaba:": { "category": "travel", "name": "kaaba", "unicode": "1f54b" }, ":key2:": { "category": "objects", "name": "old key", "unicode": "1f5dd", "unicode_alt": "1f5dd-fe0f" }, ":key:": { "category": "objects", "name": "key", "unicode": "1f511" }, ":keyboard:": { "category": "objects", "name": "keyboard", "unicode": "2328", "unicode_alt": "2328-fe0f" }, ":keycap_ten:": { "category": "symbols", "name": "keycap ten", "unicode": "1f51f" }, ":kimono:": { "category": "people", "name": "kimono", "unicode": "1f458" }, ":kiss:": { "category": "people", "name": "kiss mark", "unicode": "1f48b" }, ":kiss_mm:": { "category": "people", "name": "kiss (man,man)", "unicode": "1f468-2764-1f48b-1f468", "unicode_alt": "1f468-200d-2764-fe0f-200d-1f48b-200d-1f468" }, ":kiss_ww:": { "category": "people", "name": "kiss (woman,woman)", "unicode": "1f469-2764-1f48b-1f469", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f469" }, ":kissing:": { "category": "people", "name": "kissing face", "unicode": "1f617" }, ":kissing_cat:": { "category": "people", "name": "kissing cat face with closed eyes", "unicode": "1f63d" }, ":kissing_closed_eyes:": { "category": "people", "name": "kissing face with closed eyes", "unicode": "1f61a" }, ":kissing_heart:": { "category": "people", "name": "face throwing a kiss", "unicode": "1f618" }, ":kissing_smiling_eyes:": { "category": "people", "name": "kissing face with smiling eyes", "unicode": "1f619" }, ":kiwi:": { "category": "food", "name": "kiwifruit", "unicode": "1f95d" }, ":knife:": { "category": "objects", "name": "hocho", "unicode": "1f52a" }, ":koala:": { "category": "nature", "name": "koala", "unicode": "1f428" }, ":koko:": { "category": "symbols", "name": "squared katakana koko", "unicode": "1f201" }, ":label:": { "category": "objects", "name": "label", "unicode": "1f3f7", "unicode_alt": "1f3f7-fe0f" }, ":large_blue_diamond:": { "category": "symbols", "name": "large blue diamond", "unicode": "1f537" }, ":large_orange_diamond:": { "category": "symbols", "name": "large orange diamond", "unicode": "1f536" }, ":last_quarter_moon:": { "category": "nature", "name": "last quarter moon symbol", "unicode": "1f317" }, ":last_quarter_moon_with_face:": { "category": "nature", "name": "last quarter moon with face", "unicode": "1f31c" }, ":laughing:": { "category": "people", "name": "smiling face with open mouth and tightly-closed eyes", "unicode": "1f606" }, ":leaves:": { "category": "nature", "name": "leaf fluttering in wind", "unicode": "1f343" }, ":ledger:": { "category": "objects", "name": "ledger", "unicode": "1f4d2" }, ":left_facing_fist:": { "category": "people", "name": "left-facing fist", "unicode": "1f91b" }, ":left_facing_fist_tone1:": { "category": "people", "name": "left facing fist tone 1", "unicode": "1f91b-1f3fb" }, ":left_facing_fist_tone2:": { "category": "people", "name": "left facing fist tone 2", "unicode": "1f91b-1f3fc" }, ":left_facing_fist_tone3:": { "category": "people", "name": "left facing fist tone 3", "unicode": "1f91b-1f3fd" }, ":left_facing_fist_tone4:": { "category": "people", "name": "left facing fist tone 4", "unicode": "1f91b-1f3fe" }, ":left_facing_fist_tone5:": { "category": "people", "name": "left facing fist tone 5", "unicode": "1f91b-1f3ff" }, ":left_luggage:": { "category": "symbols", "name": "left luggage", "unicode": "1f6c5" }, ":left_right_arrow:": { "category": "symbols", "name": "left right arrow", "unicode": "2194", "unicode_alt": "2194-fe0f" }, ":leftwards_arrow_with_hook:": { "category": "symbols", "name": "leftwards arrow with hook", "unicode": "21a9", "unicode_alt": "21a9-fe0f" }, ":lemon:": { "category": "food", "name": "lemon", "unicode": "1f34b" }, ":leo:": { "category": "symbols", "name": "leo", "unicode": "264c", "unicode_alt": "264c-fe0f" }, ":leopard:": { "category": "nature", "name": "leopard", "unicode": "1f406" }, ":level_slider:": { "category": "objects", "name": "level slider", "unicode": "1f39a", "unicode_alt": "1f39a-fe0f" }, ":levitate:": { "category": "activity", "name": "man in business suit levitating", "unicode": "1f574", "unicode_alt": "1f574-fe0f" }, ":libra:": { "category": "symbols", "name": "libra", "unicode": "264e", "unicode_alt": "264e-fe0f" }, ":lifter:": { "category": "activity", "name": "weight lifter", "unicode": "1f3cb", "unicode_alt": "1f3cb-fe0f" }, ":lifter_tone1:": { "category": "activity", "name": "weight lifter tone 1", "unicode": "1f3cb-1f3fb" }, ":lifter_tone2:": { "category": "activity", "name": "weight lifter tone 2", "unicode": "1f3cb-1f3fc" }, ":lifter_tone3:": { "category": "activity", "name": "weight lifter tone 3", "unicode": "1f3cb-1f3fd" }, ":lifter_tone4:": { "category": "activity", "name": "weight lifter tone 4", "unicode": "1f3cb-1f3fe" }, ":lifter_tone5:": { "category": "activity", "name": "weight lifter tone 5", "unicode": "1f3cb-1f3ff" }, ":light_rail:": { "category": "travel", "name": "light rail", "unicode": "1f688" }, ":link:": { "category": "objects", "name": "link symbol", "unicode": "1f517" }, ":lion_face:": { "category": "nature", "name": "lion face", "unicode": "1f981" }, ":lips:": { "category": "people", "name": "mouth", "unicode": "1f444" }, ":lipstick:": { "category": "people", "name": "lipstick", "unicode": "1f484" }, ":lizard:": { "category": "nature", "name": "lizard", "unicode": "1f98e" }, ":lock:": { "category": "objects", "name": "lock", "unicode": "1f512" }, ":lock_with_ink_pen:": { "category": "objects", "name": "lock with ink pen", "unicode": "1f50f" }, ":lollipop:": { "category": "food", "name": "lollipop", "unicode": "1f36d" }, ":loop:": { "category": "symbols", "name": "double curly loop", "unicode": "27bf" }, ":loud_sound:": { "category": "symbols", "name": "speaker with three sound waves", "unicode": "1f50a" }, ":loudspeaker:": { "category": "symbols", "name": "public address loudspeaker", "unicode": "1f4e2" }, ":love_hotel:": { "category": "travel", "name": "love hotel", "unicode": "1f3e9" }, ":love_letter:": { "category": "objects", "name": "love letter", "unicode": "1f48c" }, ":low_brightness:": { "category": "symbols", "name": "low brightness symbol", "unicode": "1f505" }, ":lying_face:": { "category": "people", "name": "lying face", "unicode": "1f925" }, ":m:": { "category": "symbols", "name": "circled latin capital letter m", "unicode": "24c2", "unicode_alt": "24c2-fe0f" }, ":mag:": { "category": "objects", "name": "left-pointing magnifying glass", "unicode": "1f50d" }, ":mag_right:": { "category": "objects", "name": "right-pointing magnifying glass", "unicode": "1f50e" }, ":mahjong:": { "category": "symbols", "name": "mahjong tile red dragon", "unicode": "1f004", "unicode_alt": "1f004-fe0f" }, ":mailbox:": { "category": "objects", "name": "closed mailbox with raised flag", "unicode": "1f4eb" }, ":mailbox_closed:": { "category": "objects", "name": "closed mailbox with lowered flag", "unicode": "1f4ea" }, ":mailbox_with_mail:": { "category": "objects", "name": "open mailbox with raised flag", "unicode": "1f4ec" }, ":mailbox_with_no_mail:": { "category": "objects", "name": "open mailbox with lowered flag", "unicode": "1f4ed" }, ":man:": { "category": "people", "name": "man", "unicode": "1f468" }, ":man_dancing:": { "category": "people", "name": "man dancing", "unicode": "1f57a" }, ":man_dancing_tone1:": { "category": "people", "name": "man dancing tone 1", "unicode": "1f57a-1f3fb" }, ":man_dancing_tone2:": { "category": "people", "name": "man dancing tone 2", "unicode": "1f57a-1f3fc" }, ":man_dancing_tone3:": { "category": "people", "name": "man dancing tone 3", "unicode": "1f57a-1f3fd" }, ":man_dancing_tone4:": { "category": "people", "name": "man dancing tone 4", "unicode": "1f57a-1f3fe" }, ":man_dancing_tone5:": { "category": "people", "name": "man dancing tone 5", "unicode": "1f57a-1f3ff" }, ":man_in_tuxedo:": { "category": "people", "name": "man in tuxedo", "unicode": "1f935" }, ":man_in_tuxedo_tone1:": { "category": "people", "name": "man in tuxedo tone 1", "unicode": "1f935-1f3fb" }, ":man_in_tuxedo_tone2:": { "category": "people", "name": "man in tuxedo tone 2", "unicode": "1f935-1f3fc" }, ":man_in_tuxedo_tone3:": { "category": "people", "name": "man in tuxedo tone 3", "unicode": "1f935-1f3fd" }, ":man_in_tuxedo_tone4:": { "category": "people", "name": "man in tuxedo tone 4", "unicode": "1f935-1f3fe" }, ":man_in_tuxedo_tone5:": { "category": "people", "name": "man in tuxedo tone 5", "unicode": "1f935-1f3ff" }, ":man_tone1:": { "category": "people", "name": "man tone 1", "unicode": "1f468-1f3fb" }, ":man_tone2:": { "category": "people", "name": "man tone 2", "unicode": "1f468-1f3fc" }, ":man_tone3:": { "category": "people", "name": "man tone 3", "unicode": "1f468-1f3fd" }, ":man_tone4:": { "category": "people", "name": "man tone 4", "unicode": "1f468-1f3fe" }, ":man_tone5:": { "category": "people", "name": "man tone 5", "unicode": "1f468-1f3ff" }, ":man_with_gua_pi_mao:": { "category": "people", "name": "man with gua pi mao", "unicode": "1f472" }, ":man_with_gua_pi_mao_tone1:": { "category": "people", "name": "man with gua pi mao tone 1", "unicode": "1f472-1f3fb" }, ":man_with_gua_pi_mao_tone2:": { "category": "people", "name": "man with gua pi mao tone 2", "unicode": "1f472-1f3fc" }, ":man_with_gua_pi_mao_tone3:": { "category": "people", "name": "man with gua pi mao tone 3", "unicode": "1f472-1f3fd" }, ":man_with_gua_pi_mao_tone4:": { "category": "people", "name": "man with gua pi mao tone 4", "unicode": "1f472-1f3fe" }, ":man_with_gua_pi_mao_tone5:": { "category": "people", "name": "man with gua pi mao tone 5", "unicode": "1f472-1f3ff" }, ":man_with_turban:": { "category": "people", "name": "man with turban", "unicode": "1f473" }, ":man_with_turban_tone1:": { "category": "people", "name": "man with turban tone 1", "unicode": "1f473-1f3fb" }, ":man_with_turban_tone2:": { "category": "people", "name": "man with turban tone 2", "unicode": "1f473-1f3fc" }, ":man_with_turban_tone3:": { "category": "people", "name": "man with turban tone 3", "unicode": "1f473-1f3fd" }, ":man_with_turban_tone4:": { "category": "people", "name": "man with turban tone 4", "unicode": "1f473-1f3fe" }, ":man_with_turban_tone5:": { "category": "people", "name": "man with turban tone 5", "unicode": "1f473-1f3ff" }, ":mans_shoe:": { "category": "people", "name": "mans shoe", "unicode": "1f45e" }, ":map:": { "category": "objects", "name": "world map", "unicode": "1f5fa", "unicode_alt": "1f5fa-fe0f" }, ":maple_leaf:": { "category": "nature", "name": "maple leaf", "unicode": "1f341" }, ":martial_arts_uniform:": { "category": "activity", "name": "martial arts uniform", "unicode": "1f94b" }, ":mask:": { "category": "people", "name": "face with medical mask", "unicode": "1f637" }, ":massage:": { "category": "people", "name": "face massage", "unicode": "1f486" }, ":massage_tone1:": { "category": "people", "name": "face massage tone 1", "unicode": "1f486-1f3fb" }, ":massage_tone2:": { "category": "people", "name": "face massage tone 2", "unicode": "1f486-1f3fc" }, ":massage_tone3:": { "category": "people", "name": "face massage tone 3", "unicode": "1f486-1f3fd" }, ":massage_tone4:": { "category": "people", "name": "face massage tone 4", "unicode": "1f486-1f3fe" }, ":massage_tone5:": { "category": "people", "name": "face massage tone 5", "unicode": "1f486-1f3ff" }, ":meat_on_bone:": { "category": "food", "name": "meat on bone", "unicode": "1f356" }, ":medal:": { "category": "activity", "name": "sports medal", "unicode": "1f3c5" }, ":mega:": { "category": "symbols", "name": "cheering megaphone", "unicode": "1f4e3" }, ":melon:": { "category": "food", "name": "melon", "unicode": "1f348" }, ":menorah:": { "category": "symbols", "name": "menorah with nine branches", "unicode": "1f54e" }, ":mens:": { "category": "symbols", "name": "mens symbol", "unicode": "1f6b9" }, ":metal:": { "category": "people", "name": "sign of the horns", "unicode": "1f918" }, ":metal_tone1:": { "category": "people", "name": "sign of the horns tone 1", "unicode": "1f918-1f3fb" }, ":metal_tone2:": { "category": "people", "name": "sign of the horns tone 2", "unicode": "1f918-1f3fc" }, ":metal_tone3:": { "category": "people", "name": "sign of the horns tone 3", "unicode": "1f918-1f3fd" }, ":metal_tone4:": { "category": "people", "name": "sign of the horns tone 4", "unicode": "1f918-1f3fe" }, ":metal_tone5:": { "category": "people", "name": "sign of the horns tone 5", "unicode": "1f918-1f3ff" }, ":metro:": { "category": "travel", "name": "metro", "unicode": "1f687" }, ":microphone2:": { "category": "objects", "name": "studio microphone", "unicode": "1f399", "unicode_alt": "1f399-fe0f" }, ":microphone:": { "category": "activity", "name": "microphone", "unicode": "1f3a4" }, ":microscope:": { "category": "objects", "name": "microscope", "unicode": "1f52c" }, ":middle_finger:": { "category": "people", "name": "reversed hand with middle finger extended", "unicode": "1f595" }, ":middle_finger_tone1:": { "category": "people", "name": "reversed hand with middle finger extended tone 1", "unicode": "1f595-1f3fb" }, ":middle_finger_tone2:": { "category": "people", "name": "reversed hand with middle finger extended tone 2", "unicode": "1f595-1f3fc" }, ":middle_finger_tone3:": { "category": "people", "name": "reversed hand with middle finger extended tone 3", "unicode": "1f595-1f3fd" }, ":middle_finger_tone4:": { "category": "people", "name": "reversed hand with middle finger extended tone 4", "unicode": "1f595-1f3fe" }, ":middle_finger_tone5:": { "category": "people", "name": "reversed hand with middle finger extended tone 5", "unicode": "1f595-1f3ff" }, ":military_medal:": { "category": "activity", "name": "military medal", "unicode": "1f396", "unicode_alt": "1f396-fe0f" }, ":milk:": { "category": "food", "name": "glass of milk", "unicode": "1f95b" }, ":milky_way:": { "category": "travel", "name": "milky way", "unicode": "1f30c" }, ":minibus:": { "category": "travel", "name": "minibus", "unicode": "1f690" }, ":minidisc:": { "category": "objects", "name": "minidisc", "unicode": "1f4bd" }, ":mobile_phone_off:": { "category": "symbols", "name": "mobile phone off", "unicode": "1f4f4" }, ":money_mouth:": { "category": "people", "name": "money-mouth face", "unicode": "1f911" }, ":money_with_wings:": { "category": "objects", "name": "money with wings", "unicode": "1f4b8" }, ":moneybag:": { "category": "objects", "name": "money bag", "unicode": "1f4b0" }, ":monkey:": { "category": "nature", "name": "monkey", "unicode": "1f412" }, ":monkey_face:": { "category": "nature", "name": "monkey face", "unicode": "1f435" }, ":monorail:": { "category": "travel", "name": "monorail", "unicode": "1f69d" }, ":mortar_board:": { "category": "people", "name": "graduation cap", "unicode": "1f393" }, ":mosque:": { "category": "travel", "name": "mosque", "unicode": "1f54c" }, ":motor_scooter:": { "category": "travel", "name": "motor scooter", "unicode": "1f6f5" }, ":motorboat:": { "category": "travel", "name": "motorboat", "unicode": "1f6e5", "unicode_alt": "1f6e5-fe0f" }, ":motorcycle:": { "category": "travel", "name": "racing motorcycle", "unicode": "1f3cd", "unicode_alt": "1f3cd-fe0f" }, ":motorway:": { "category": "travel", "name": "motorway", "unicode": "1f6e3", "unicode_alt": "1f6e3-fe0f" }, ":mount_fuji:": { "category": "travel", "name": "mount fuji", "unicode": "1f5fb" }, ":mountain:": { "category": "travel", "name": "mountain", "unicode": "26f0", "unicode_alt": "26f0-fe0f" }, ":mountain_bicyclist:": { "category": "activity", "name": "mountain bicyclist", "unicode": "1f6b5" }, ":mountain_bicyclist_tone1:": { "category": "activity", "name": "mountain bicyclist tone 1", "unicode": "1f6b5-1f3fb" }, ":mountain_bicyclist_tone2:": { "category": "activity", "name": "mountain bicyclist tone 2", "unicode": "1f6b5-1f3fc" }, ":mountain_bicyclist_tone3:": { "category": "activity", "name": "mountain bicyclist tone 3", "unicode": "1f6b5-1f3fd" }, ":mountain_bicyclist_tone4:": { "category": "activity", "name": "mountain bicyclist tone 4", "unicode": "1f6b5-1f3fe" }, ":mountain_bicyclist_tone5:": { "category": "activity", "name": "mountain bicyclist tone 5", "unicode": "1f6b5-1f3ff" }, ":mountain_cableway:": { "category": "travel", "name": "mountain cableway", "unicode": "1f6a0" }, ":mountain_railway:": { "category": "travel", "name": "mountain railway", "unicode": "1f69e" }, ":mountain_snow:": { "category": "travel", "name": "snow capped mountain", "unicode": "1f3d4", "unicode_alt": "1f3d4-fe0f" }, ":mouse2:": { "category": "nature", "name": "mouse", "unicode": "1f401" }, ":mouse:": { "category": "nature", "name": "mouse face", "unicode": "1f42d" }, ":mouse_three_button:": { "category": "objects", "name": "three button mouse", "unicode": "1f5b1", "unicode_alt": "1f5b1-fe0f" }, ":movie_camera:": { "category": "objects", "name": "movie camera", "unicode": "1f3a5" }, ":moyai:": { "category": "objects", "name": "moyai", "unicode": "1f5ff" }, ":mrs_claus:": { "category": "people", "name": "mother christmas", "unicode": "1f936" }, ":mrs_claus_tone1:": { "category": "people", "name": "mother christmas tone 1", "unicode": "1f936-1f3fb" }, ":mrs_claus_tone2:": { "category": "people", "name": "mother christmas tone 2", "unicode": "1f936-1f3fc" }, ":mrs_claus_tone3:": { "category": "people", "name": "mother christmas tone 3", "unicode": "1f936-1f3fd" }, ":mrs_claus_tone4:": { "category": "people", "name": "mother christmas tone 4", "unicode": "1f936-1f3fe" }, ":mrs_claus_tone5:": { "category": "people", "name": "mother christmas tone 5", "unicode": "1f936-1f3ff" }, ":muscle:": { "category": "people", "name": "flexed biceps", "unicode": "1f4aa" }, ":muscle_tone1:": { "category": "people", "name": "flexed biceps tone 1", "unicode": "1f4aa-1f3fb" }, ":muscle_tone2:": { "category": "people", "name": "flexed biceps tone 2", "unicode": "1f4aa-1f3fc" }, ":muscle_tone3:": { "category": "people", "name": "flexed biceps tone 3", "unicode": "1f4aa-1f3fd" }, ":muscle_tone4:": { "category": "people", "name": "flexed biceps tone 4", "unicode": "1f4aa-1f3fe" }, ":muscle_tone5:": { "category": "people", "name": "flexed biceps tone 5", "unicode": "1f4aa-1f3ff" }, ":mushroom:": { "category": "nature", "name": "mushroom", "unicode": "1f344" }, ":musical_keyboard:": { "category": "activity", "name": "musical keyboard", "unicode": "1f3b9" }, ":musical_note:": { "category": "symbols", "name": "musical note", "unicode": "1f3b5" }, ":musical_score:": { "category": "activity", "name": "musical score", "unicode": "1f3bc" }, ":mute:": { "category": "symbols", "name": "speaker with cancellation stroke", "unicode": "1f507" }, ":nail_care:": { "category": "people", "name": "nail polish", "unicode": "1f485" }, ":nail_care_tone1:": { "category": "people", "name": "nail polish tone 1", "unicode": "1f485-1f3fb" }, ":nail_care_tone2:": { "category": "people", "name": "nail polish tone 2", "unicode": "1f485-1f3fc" }, ":nail_care_tone3:": { "category": "people", "name": "nail polish tone 3", "unicode": "1f485-1f3fd" }, ":nail_care_tone4:": { "category": "people", "name": "nail polish tone 4", "unicode": "1f485-1f3fe" }, ":nail_care_tone5:": { "category": "people", "name": "nail polish tone 5", "unicode": "1f485-1f3ff" }, ":name_badge:": { "category": "symbols", "name": "name badge", "unicode": "1f4db" }, ":nauseated_face:": { "category": "people", "name": "nauseated face", "unicode": "1f922" }, ":necktie:": { "category": "people", "name": "necktie", "unicode": "1f454" }, ":negative_squared_cross_mark:": { "category": "symbols", "name": "negative squared cross mark", "unicode": "274e" }, ":nerd:": { "category": "people", "name": "nerd face", "unicode": "1f913" }, ":neutral_face:": { "category": "people", "name": "neutral face", "unicode": "1f610" }, ":new:": { "category": "symbols", "name": "squared new", "unicode": "1f195" }, ":new_moon:": { "category": "nature", "name": "new moon symbol", "unicode": "1f311" }, ":new_moon_with_face:": { "category": "nature", "name": "new moon with face", "unicode": "1f31a" }, ":newspaper2:": { "category": "objects", "name": "rolled-up newspaper", "unicode": "1f5de", "unicode_alt": "1f5de-fe0f" }, ":newspaper:": { "category": "objects", "name": "newspaper", "unicode": "1f4f0" }, ":ng:": { "category": "symbols", "name": "squared ng", "unicode": "1f196" }, ":night_with_stars:": { "category": "travel", "name": "night with stars", "unicode": "1f303" }, ":nine:": { "category": "symbols", "name": "keycap digit nine", "unicode": "0039-20e3", "unicode_alt": "0039-fe0f-20e3" }, ":no_bell:": { "category": "symbols", "name": "bell with cancellation stroke", "unicode": "1f515" }, ":no_bicycles:": { "category": "symbols", "name": "no bicycles", "unicode": "1f6b3" }, ":no_entry:": { "category": "symbols", "name": "no entry", "unicode": "26d4", "unicode_alt": "26d4-fe0f" }, ":no_entry_sign:": { "category": "symbols", "name": "no entry sign", "unicode": "1f6ab" }, ":no_good:": { "category": "people", "name": "face with no good gesture", "unicode": "1f645" }, ":no_good_tone1:": { "category": "people", "name": "face with no good gesture tone 1", "unicode": "1f645-1f3fb" }, ":no_good_tone2:": { "category": "people", "name": "face with no good gesture tone 2", "unicode": "1f645-1f3fc" }, ":no_good_tone3:": { "category": "people", "name": "face with no good gesture tone 3", "unicode": "1f645-1f3fd" }, ":no_good_tone4:": { "category": "people", "name": "face with no good gesture tone 4", "unicode": "1f645-1f3fe" }, ":no_good_tone5:": { "category": "people", "name": "face with no good gesture tone 5", "unicode": "1f645-1f3ff" }, ":no_mobile_phones:": { "category": "symbols", "name": "no mobile phones", "unicode": "1f4f5" }, ":no_mouth:": { "category": "people", "name": "face without mouth", "unicode": "1f636" }, ":no_pedestrians:": { "category": "symbols", "name": "no pedestrians", "unicode": "1f6b7" }, ":no_smoking:": { "category": "symbols", "name": "no smoking symbol", "unicode": "1f6ad" }, ":non-potable_water:": { "category": "symbols", "name": "non-potable water symbol", "unicode": "1f6b1" }, ":nose:": { "category": "people", "name": "nose", "unicode": "1f443" }, ":nose_tone1:": { "category": "people", "name": "nose tone 1", "unicode": "1f443-1f3fb" }, ":nose_tone2:": { "category": "people", "name": "nose tone 2", "unicode": "1f443-1f3fc" }, ":nose_tone3:": { "category": "people", "name": "nose tone 3", "unicode": "1f443-1f3fd" }, ":nose_tone4:": { "category": "people", "name": "nose tone 4", "unicode": "1f443-1f3fe" }, ":nose_tone5:": { "category": "people", "name": "nose tone 5", "unicode": "1f443-1f3ff" }, ":notebook:": { "category": "objects", "name": "notebook", "unicode": "1f4d3" }, ":notebook_with_decorative_cover:": { "category": "objects", "name": "notebook with decorative cover", "unicode": "1f4d4" }, ":notepad_spiral:": { "category": "objects", "name": "spiral note pad", "unicode": "1f5d2", "unicode_alt": "1f5d2-fe0f" }, ":notes:": { "category": "symbols", "name": "multiple musical notes", "unicode": "1f3b6" }, ":nut_and_bolt:": { "category": "objects", "name": "nut and bolt", "unicode": "1f529" }, ":o2:": { "category": "symbols", "name": "negative squared latin capital letter o", "unicode": "1f17e" }, ":o:": { "category": "symbols", "name": "heavy large circle", "unicode": "2b55", "unicode_alt": "2b55-fe0f" }, ":ocean:": { "category": "nature", "name": "water wave", "unicode": "1f30a" }, ":octagonal_sign:": { "category": "symbols", "name": "octagonal sign", "unicode": "1f6d1" }, ":octopus:": { "category": "nature", "name": "octopus", "unicode": "1f419" }, ":oden:": { "category": "food", "name": "oden", "unicode": "1f362" }, ":office:": { "category": "travel", "name": "office building", "unicode": "1f3e2" }, ":oil:": { "category": "objects", "name": "oil drum", "unicode": "1f6e2", "unicode_alt": "1f6e2-fe0f" }, ":ok:": { "category": "symbols", "name": "squared ok", "unicode": "1f197" }, ":ok_hand:": { "category": "people", "name": "ok hand sign", "unicode": "1f44c" }, ":ok_hand_tone1:": { "category": "people", "name": "ok hand sign tone 1", "unicode": "1f44c-1f3fb" }, ":ok_hand_tone2:": { "category": "people", "name": "ok hand sign tone 2", "unicode": "1f44c-1f3fc" }, ":ok_hand_tone3:": { "category": "people", "name": "ok hand sign tone 3", "unicode": "1f44c-1f3fd" }, ":ok_hand_tone4:": { "category": "people", "name": "ok hand sign tone 4", "unicode": "1f44c-1f3fe" }, ":ok_hand_tone5:": { "category": "people", "name": "ok hand sign tone 5", "unicode": "1f44c-1f3ff" }, ":ok_woman:": { "category": "people", "name": "face with ok gesture", "unicode": "1f646" }, ":ok_woman_tone1:": { "category": "people", "name": "face with ok gesture tone1", "unicode": "1f646-1f3fb" }, ":ok_woman_tone2:": { "category": "people", "name": "face with ok gesture tone2", "unicode": "1f646-1f3fc" }, ":ok_woman_tone3:": { "category": "people", "name": "face with ok gesture tone3", "unicode": "1f646-1f3fd" }, ":ok_woman_tone4:": { "category": "people", "name": "face with ok gesture tone4", "unicode": "1f646-1f3fe" }, ":ok_woman_tone5:": { "category": "people", "name": "face with ok gesture tone5", "unicode": "1f646-1f3ff" }, ":older_man:": { "category": "people", "name": "older man", "unicode": "1f474" }, ":older_man_tone1:": { "category": "people", "name": "older man tone 1", "unicode": "1f474-1f3fb" }, ":older_man_tone2:": { "category": "people", "name": "older man tone 2", "unicode": "1f474-1f3fc" }, ":older_man_tone3:": { "category": "people", "name": "older man tone 3", "unicode": "1f474-1f3fd" }, ":older_man_tone4:": { "category": "people", "name": "older man tone 4", "unicode": "1f474-1f3fe" }, ":older_man_tone5:": { "category": "people", "name": "older man tone 5", "unicode": "1f474-1f3ff" }, ":older_woman:": { "category": "people", "name": "older woman", "unicode": "1f475" }, ":older_woman_tone1:": { "category": "people", "name": "older woman tone 1", "unicode": "1f475-1f3fb" }, ":older_woman_tone2:": { "category": "people", "name": "older woman tone 2", "unicode": "1f475-1f3fc" }, ":older_woman_tone3:": { "category": "people", "name": "older woman tone 3", "unicode": "1f475-1f3fd" }, ":older_woman_tone4:": { "category": "people", "name": "older woman tone 4", "unicode": "1f475-1f3fe" }, ":older_woman_tone5:": { "category": "people", "name": "older woman tone 5", "unicode": "1f475-1f3ff" }, ":om_symbol:": { "category": "symbols", "name": "om symbol", "unicode": "1f549", "unicode_alt": "1f549-fe0f" }, ":on:": { "category": "symbols", "name": "on with exclamation mark with left right arrow abo", "unicode": "1f51b" }, ":oncoming_automobile:": { "category": "travel", "name": "oncoming automobile", "unicode": "1f698" }, ":oncoming_bus:": { "category": "travel", "name": "oncoming bus", "unicode": "1f68d" }, ":oncoming_police_car:": { "category": "travel", "name": "oncoming police car", "unicode": "1f694" }, ":oncoming_taxi:": { "category": "travel", "name": "oncoming taxi", "unicode": "1f696" }, ":one:": { "category": "symbols", "name": "keycap digit one", "unicode": "0031-20e3", "unicode_alt": "0031-fe0f-20e3" }, ":open_file_folder:": { "category": "objects", "name": "open file folder", "unicode": "1f4c2" }, ":open_hands:": { "category": "people", "name": "open hands sign", "unicode": "1f450" }, ":open_hands_tone1:": { "category": "people", "name": "open hands sign tone 1", "unicode": "1f450-1f3fb" }, ":open_hands_tone2:": { "category": "people", "name": "open hands sign tone 2", "unicode": "1f450-1f3fc" }, ":open_hands_tone3:": { "category": "people", "name": "open hands sign tone 3", "unicode": "1f450-1f3fd" }, ":open_hands_tone4:": { "category": "people", "name": "open hands sign tone 4", "unicode": "1f450-1f3fe" }, ":open_hands_tone5:": { "category": "people", "name": "open hands sign tone 5", "unicode": "1f450-1f3ff" }, ":open_mouth:": { "category": "people", "name": "face with open mouth", "unicode": "1f62e" }, ":ophiuchus:": { "category": "symbols", "name": "ophiuchus", "unicode": "26ce" }, ":orange_book:": { "category": "objects", "name": "orange book", "unicode": "1f4d9" }, ":orthodox_cross:": { "category": "symbols", "name": "orthodox cross", "unicode": "2626", "unicode_alt": "2626-fe0f" }, ":outbox_tray:": { "category": "objects", "name": "outbox tray", "unicode": "1f4e4" }, ":owl:": { "category": "nature", "name": "owl", "unicode": "1f989" }, ":ox:": { "category": "nature", "name": "ox", "unicode": "1f402" }, ":package:": { "category": "objects", "name": "package", "unicode": "1f4e6" }, ":page_facing_up:": { "category": "objects", "name": "page facing up", "unicode": "1f4c4" }, ":page_with_curl:": { "category": "objects", "name": "page with curl", "unicode": "1f4c3" }, ":pager:": { "category": "objects", "name": "pager", "unicode": "1f4df" }, ":paintbrush:": { "category": "objects", "name": "lower left paintbrush", "unicode": "1f58c", "unicode_alt": "1f58c-fe0f" }, ":palm_tree:": { "category": "nature", "name": "palm tree", "unicode": "1f334" }, ":pancakes:": { "category": "food", "name": "pancakes", "unicode": "1f95e" }, ":panda_face:": { "category": "nature", "name": "panda face", "unicode": "1f43c" }, ":paperclip:": { "category": "objects", "name": "paperclip", "unicode": "1f4ce" }, ":paperclips:": { "category": "objects", "name": "linked paperclips", "unicode": "1f587", "unicode_alt": "1f587-fe0f" }, ":park:": { "category": "travel", "name": "national park", "unicode": "1f3de", "unicode_alt": "1f3de-fe0f" }, ":parking:": { "category": "symbols", "name": "negative squared latin capital letter p", "unicode": "1f17f", "unicode_alt": "1f17f-fe0f" }, ":part_alternation_mark:": { "category": "symbols", "name": "part alternation mark", "unicode": "303d", "unicode_alt": "303d-fe0f" }, ":partly_sunny:": { "category": "nature", "name": "sun behind cloud", "unicode": "26c5", "unicode_alt": "26c5-fe0f" }, ":passport_control:": { "category": "symbols", "name": "passport control", "unicode": "1f6c2" }, ":pause_button:": { "category": "symbols", "name": "double vertical bar", "unicode": "23f8", "unicode_alt": "23f8-fe0f" }, ":peace:": { "category": "symbols", "name": "peace symbol", "unicode": "262e", "unicode_alt": "262e-fe0f" }, ":peach:": { "category": "food", "name": "peach", "unicode": "1f351" }, ":peanuts:": { "category": "food", "name": "peanuts", "unicode": "1f95c" }, ":pear:": { "category": "food", "name": "pear", "unicode": "1f350" }, ":pen_ballpoint:": { "category": "objects", "name": "lower left ballpoint pen", "unicode": "1f58a", "unicode_alt": "1f58a-fe0f" }, ":pen_fountain:": { "category": "objects", "name": "lower left fountain pen", "unicode": "1f58b", "unicode_alt": "1f58b-fe0f" }, ":pencil2:": { "category": "objects", "name": "pencil", "unicode": "270f", "unicode_alt": "270f-fe0f" }, ":pencil:": { "category": "objects", "name": "memo", "unicode": "1f4dd" }, ":penguin:": { "category": "nature", "name": "penguin", "unicode": "1f427" }, ":pensive:": { "category": "people", "name": "pensive face", "unicode": "1f614" }, ":performing_arts:": { "category": "activity", "name": "performing arts", "unicode": "1f3ad" }, ":persevere:": { "category": "people", "name": "persevering face", "unicode": "1f623" }, ":person_frowning:": { "category": "people", "name": "person frowning", "unicode": "1f64d" }, ":person_frowning_tone1:": { "category": "people", "name": "person frowning tone 1", "unicode": "1f64d-1f3fb" }, ":person_frowning_tone2:": { "category": "people", "name": "person frowning tone 2", "unicode": "1f64d-1f3fc" }, ":person_frowning_tone3:": { "category": "people", "name": "person frowning tone 3", "unicode": "1f64d-1f3fd" }, ":person_frowning_tone4:": { "category": "people", "name": "person frowning tone 4", "unicode": "1f64d-1f3fe" }, ":person_frowning_tone5:": { "category": "people", "name": "person frowning tone 5", "unicode": "1f64d-1f3ff" }, ":person_with_blond_hair:": { "category": "people", "name": "person with blond hair", "unicode": "1f471" }, ":person_with_blond_hair_tone1:": { "category": "people", "name": "person with blond hair tone 1", "unicode": "1f471-1f3fb" }, ":person_with_blond_hair_tone2:": { "category": "people", "name": "person with blond hair tone 2", "unicode": "1f471-1f3fc" }, ":person_with_blond_hair_tone3:": { "category": "people", "name": "person with blond hair tone 3", "unicode": "1f471-1f3fd" }, ":person_with_blond_hair_tone4:": { "category": "people", "name": "person with blond hair tone 4", "unicode": "1f471-1f3fe" }, ":person_with_blond_hair_tone5:": { "category": "people", "name": "person with blond hair tone 5", "unicode": "1f471-1f3ff" }, ":person_with_pouting_face:": { "category": "people", "name": "person with pouting face", "unicode": "1f64e" }, ":person_with_pouting_face_tone1:": { "category": "people", "name": "person with pouting face tone1", "unicode": "1f64e-1f3fb" }, ":person_with_pouting_face_tone2:": { "category": "people", "name": "person with pouting face tone2", "unicode": "1f64e-1f3fc" }, ":person_with_pouting_face_tone3:": { "category": "people", "name": "person with pouting face tone3", "unicode": "1f64e-1f3fd" }, ":person_with_pouting_face_tone4:": { "category": "people", "name": "person with pouting face tone4", "unicode": "1f64e-1f3fe" }, ":person_with_pouting_face_tone5:": { "category": "people", "name": "person with pouting face tone5", "unicode": "1f64e-1f3ff" }, ":pick:": { "category": "objects", "name": "pick", "unicode": "26cf", "unicode_alt": "26cf-fe0f" }, ":pig2:": { "category": "nature", "name": "pig", "unicode": "1f416" }, ":pig:": { "category": "nature", "name": "pig face", "unicode": "1f437" }, ":pig_nose:": { "category": "nature", "name": "pig nose", "unicode": "1f43d" }, ":pill:": { "category": "objects", "name": "pill", "unicode": "1f48a" }, ":pineapple:": { "category": "food", "name": "pineapple", "unicode": "1f34d" }, ":ping_pong:": { "category": "activity", "name": "table tennis paddle and ball", "unicode": "1f3d3" }, ":pisces:": { "category": "symbols", "name": "pisces", "unicode": "2653", "unicode_alt": "2653-fe0f" }, ":pizza:": { "category": "food", "name": "slice of pizza", "unicode": "1f355" }, ":place_of_worship:": { "category": "symbols", "name": "place of worship", "unicode": "1f6d0" }, ":play_pause:": { "category": "symbols", "name": "black right-pointing double triangle with double vertical bar", "unicode": "23ef", "unicode_alt": "23ef-fe0f" }, ":point_down:": { "category": "people", "name": "white down pointing backhand index", "unicode": "1f447" }, ":point_down_tone1:": { "category": "people", "name": "white down pointing backhand index tone 1", "unicode": "1f447-1f3fb" }, ":point_down_tone2:": { "category": "people", "name": "white down pointing backhand index tone 2", "unicode": "1f447-1f3fc" }, ":point_down_tone3:": { "category": "people", "name": "white down pointing backhand index tone 3", "unicode": "1f447-1f3fd" }, ":point_down_tone4:": { "category": "people", "name": "white down pointing backhand index tone 4", "unicode": "1f447-1f3fe" }, ":point_down_tone5:": { "category": "people", "name": "white down pointing backhand index tone 5", "unicode": "1f447-1f3ff" }, ":point_left:": { "category": "people", "name": "white left pointing backhand index", "unicode": "1f448" }, ":point_left_tone1:": { "category": "people", "name": "white left pointing backhand index tone 1", "unicode": "1f448-1f3fb" }, ":point_left_tone2:": { "category": "people", "name": "white left pointing backhand index tone 2", "unicode": "1f448-1f3fc" }, ":point_left_tone3:": { "category": "people", "name": "white left pointing backhand index tone 3", "unicode": "1f448-1f3fd" }, ":point_left_tone4:": { "category": "people", "name": "white left pointing backhand index tone 4", "unicode": "1f448-1f3fe" }, ":point_left_tone5:": { "category": "people", "name": "white left pointing backhand index tone 5", "unicode": "1f448-1f3ff" }, ":point_right:": { "category": "people", "name": "white right pointing backhand index", "unicode": "1f449" }, ":point_right_tone1:": { "category": "people", "name": "white right pointing backhand index tone 1", "unicode": "1f449-1f3fb" }, ":point_right_tone2:": { "category": "people", "name": "white right pointing backhand index tone 2", "unicode": "1f449-1f3fc" }, ":point_right_tone3:": { "category": "people", "name": "white right pointing backhand index tone 3", "unicode": "1f449-1f3fd" }, ":point_right_tone4:": { "category": "people", "name": "white right pointing backhand index tone 4", "unicode": "1f449-1f3fe" }, ":point_right_tone5:": { "category": "people", "name": "white right pointing backhand index tone 5", "unicode": "1f449-1f3ff" }, ":point_up:": { "category": "people", "name": "white up pointing index", "unicode": "261d", "unicode_alt": "261d-fe0f" }, ":point_up_2:": { "category": "people", "name": "white up pointing backhand index", "unicode": "1f446" }, ":point_up_2_tone1:": { "category": "people", "name": "white up pointing backhand index tone 1", "unicode": "1f446-1f3fb" }, ":point_up_2_tone2:": { "category": "people", "name": "white up pointing backhand index tone 2", "unicode": "1f446-1f3fc" }, ":point_up_2_tone3:": { "category": "people", "name": "white up pointing backhand index tone 3", "unicode": "1f446-1f3fd" }, ":point_up_2_tone4:": { "category": "people", "name": "white up pointing backhand index tone 4", "unicode": "1f446-1f3fe" }, ":point_up_2_tone5:": { "category": "people", "name": "white up pointing backhand index tone 5", "unicode": "1f446-1f3ff" }, ":point_up_tone1:": { "category": "people", "name": "white up pointing index tone 1", "unicode": "261d-1f3fb" }, ":point_up_tone2:": { "category": "people", "name": "white up pointing index tone 2", "unicode": "261d-1f3fc" }, ":point_up_tone3:": { "category": "people", "name": "white up pointing index tone 3", "unicode": "261d-1f3fd" }, ":point_up_tone4:": { "category": "people", "name": "white up pointing index tone 4", "unicode": "261d-1f3fe" }, ":point_up_tone5:": { "category": "people", "name": "white up pointing index tone 5", "unicode": "261d-1f3ff" }, ":police_car:": { "category": "travel", "name": "police car", "unicode": "1f693" }, ":poodle:": { "category": "nature", "name": "poodle", "unicode": "1f429" }, ":poop:": { "category": "people", "name": "pile of poo", "unicode": "1f4a9" }, ":popcorn:": { "category": "food", "name": "popcorn", "unicode": "1f37f" }, ":post_office:": { "category": "travel", "name": "japanese post office", "unicode": "1f3e3" }, ":postal_horn:": { "category": "objects", "name": "postal horn", "unicode": "1f4ef" }, ":postbox:": { "category": "objects", "name": "postbox", "unicode": "1f4ee" }, ":potable_water:": { "category": "symbols", "name": "potable water symbol", "unicode": "1f6b0" }, ":potato:": { "category": "food", "name": "potato", "unicode": "1f954" }, ":pouch:": { "category": "people", "name": "pouch", "unicode": "1f45d" }, ":poultry_leg:": { "category": "food", "name": "poultry leg", "unicode": "1f357" }, ":pound:": { "category": "objects", "name": "banknote with pound sign", "unicode": "1f4b7" }, ":pouting_cat:": { "category": "people", "name": "pouting cat face", "unicode": "1f63e" }, ":pray:": { "category": "people", "name": "person with folded hands", "unicode": "1f64f" }, ":pray_tone1:": { "category": "people", "name": "person with folded hands tone 1", "unicode": "1f64f-1f3fb" }, ":pray_tone2:": { "category": "people", "name": "person with folded hands tone 2", "unicode": "1f64f-1f3fc" }, ":pray_tone3:": { "category": "people", "name": "person with folded hands tone 3", "unicode": "1f64f-1f3fd" }, ":pray_tone4:": { "category": "people", "name": "person with folded hands tone 4", "unicode": "1f64f-1f3fe" }, ":pray_tone5:": { "category": "people", "name": "person with folded hands tone 5", "unicode": "1f64f-1f3ff" }, ":prayer_beads:": { "category": "objects", "name": "prayer beads", "unicode": "1f4ff" }, ":pregnant_woman:": { "category": "people", "name": "pregnant woman", "unicode": "1f930" }, ":pregnant_woman_tone1:": { "category": "people", "name": "pregnant woman tone 1", "unicode": "1f930-1f3fb" }, ":pregnant_woman_tone2:": { "category": "people", "name": "pregnant woman tone 2", "unicode": "1f930-1f3fc" }, ":pregnant_woman_tone3:": { "category": "people", "name": "pregnant woman tone 3", "unicode": "1f930-1f3fd" }, ":pregnant_woman_tone4:": { "category": "people", "name": "pregnant woman tone 4", "unicode": "1f930-1f3fe" }, ":pregnant_woman_tone5:": { "category": "people", "name": "pregnant woman tone 5", "unicode": "1f930-1f3ff" }, ":prince:": { "category": "people", "name": "prince", "unicode": "1f934" }, ":prince_tone1:": { "category": "people", "name": "prince tone 1", "unicode": "1f934-1f3fb" }, ":prince_tone2:": { "category": "people", "name": "prince tone 2", "unicode": "1f934-1f3fc" }, ":prince_tone3:": { "category": "people", "name": "prince tone 3", "unicode": "1f934-1f3fd" }, ":prince_tone4:": { "category": "people", "name": "prince tone 4", "unicode": "1f934-1f3fe" }, ":prince_tone5:": { "category": "people", "name": "prince tone 5", "unicode": "1f934-1f3ff" }, ":princess:": { "category": "people", "name": "princess", "unicode": "1f478" }, ":princess_tone1:": { "category": "people", "name": "princess tone 1", "unicode": "1f478-1f3fb" }, ":princess_tone2:": { "category": "people", "name": "princess tone 2", "unicode": "1f478-1f3fc" }, ":princess_tone3:": { "category": "people", "name": "princess tone 3", "unicode": "1f478-1f3fd" }, ":princess_tone4:": { "category": "people", "name": "princess tone 4", "unicode": "1f478-1f3fe" }, ":princess_tone5:": { "category": "people", "name": "princess tone 5", "unicode": "1f478-1f3ff" }, ":printer:": { "category": "objects", "name": "printer", "unicode": "1f5a8", "unicode_alt": "1f5a8-fe0f" }, ":projector:": { "category": "objects", "name": "film projector", "unicode": "1f4fd", "unicode_alt": "1f4fd-fe0f" }, ":punch:": { "category": "people", "name": "fisted hand sign", "unicode": "1f44a" }, ":punch_tone1:": { "category": "people", "name": "fisted hand sign tone 1", "unicode": "1f44a-1f3fb" }, ":punch_tone2:": { "category": "people", "name": "fisted hand sign tone 2", "unicode": "1f44a-1f3fc" }, ":punch_tone3:": { "category": "people", "name": "fisted hand sign tone 3", "unicode": "1f44a-1f3fd" }, ":punch_tone4:": { "category": "people", "name": "fisted hand sign tone 4", "unicode": "1f44a-1f3fe" }, ":punch_tone5:": { "category": "people", "name": "fisted hand sign tone 5", "unicode": "1f44a-1f3ff" }, ":purple_heart:": { "category": "symbols", "name": "purple heart", "unicode": "1f49c" }, ":purse:": { "category": "people", "name": "purse", "unicode": "1f45b" }, ":pushpin:": { "category": "objects", "name": "pushpin", "unicode": "1f4cc" }, ":put_litter_in_its_place:": { "category": "symbols", "name": "put litter in its place symbol", "unicode": "1f6ae" }, ":question:": { "category": "symbols", "name": "black question mark ornament", "unicode": "2753" }, ":rabbit2:": { "category": "nature", "name": "rabbit", "unicode": "1f407" }, ":rabbit:": { "category": "nature", "name": "rabbit face", "unicode": "1f430" }, ":race_car:": { "category": "travel", "name": "racing car", "unicode": "1f3ce", "unicode_alt": "1f3ce-fe0f" }, ":racehorse:": { "category": "nature", "name": "horse", "unicode": "1f40e" }, ":radio:": { "category": "objects", "name": "radio", "unicode": "1f4fb" }, ":radio_button:": { "category": "symbols", "name": "radio button", "unicode": "1f518" }, ":radioactive:": { "category": "symbols", "name": "radioactive sign", "unicode": "2622", "unicode_alt": "2622-fe0f" }, ":rage:": { "category": "people", "name": "pouting face", "unicode": "1f621" }, ":railway_car:": { "category": "travel", "name": "railway car", "unicode": "1f683" }, ":railway_track:": { "category": "travel", "name": "railway track", "unicode": "1f6e4", "unicode_alt": "1f6e4-fe0f" }, ":rainbow:": { "category": "travel", "name": "rainbow", "unicode": "1f308" }, ":rainbow_flag:": { "category": "objects", "name": "rainbow_flag", "unicode": "1f3f3-1f308" }, ":raised_back_of_hand:": { "category": "people", "name": "raised back of hand", "unicode": "1f91a" }, ":raised_back_of_hand_tone1:": { "category": "people", "name": "raised back of hand tone 1", "unicode": "1f91a-1f3fb" }, ":raised_back_of_hand_tone2:": { "category": "people", "name": "raised back of hand tone 2", "unicode": "1f91a-1f3fc" }, ":raised_back_of_hand_tone3:": { "category": "people", "name": "raised back of hand tone 3", "unicode": "1f91a-1f3fd" }, ":raised_back_of_hand_tone4:": { "category": "people", "name": "raised back of hand tone 4", "unicode": "1f91a-1f3fe" }, ":raised_back_of_hand_tone5:": { "category": "people", "name": "raised back of hand tone 5", "unicode": "1f91a-1f3ff" }, ":raised_hand:": { "category": "people", "name": "raised hand", "unicode": "270b" }, ":raised_hand_tone1:": { "category": "people", "name": "raised hand tone 1", "unicode": "270b-1f3fb" }, ":raised_hand_tone2:": { "category": "people", "name": "raised hand tone 2", "unicode": "270b-1f3fc" }, ":raised_hand_tone3:": { "category": "people", "name": "raised hand tone 3", "unicode": "270b-1f3fd" }, ":raised_hand_tone4:": { "category": "people", "name": "raised hand tone 4", "unicode": "270b-1f3fe" }, ":raised_hand_tone5:": { "category": "people", "name": "raised hand tone 5", "unicode": "270b-1f3ff" }, ":raised_hands:": { "category": "people", "name": "person raising both hands in celebration", "unicode": "1f64c" }, ":raised_hands_tone1:": { "category": "people", "name": "person raising both hands in celebration tone 1", "unicode": "1f64c-1f3fb" }, ":raised_hands_tone2:": { "category": "people", "name": "person raising both hands in celebration tone 2", "unicode": "1f64c-1f3fc" }, ":raised_hands_tone3:": { "category": "people", "name": "person raising both hands in celebration tone 3", "unicode": "1f64c-1f3fd" }, ":raised_hands_tone4:": { "category": "people", "name": "person raising both hands in celebration tone 4", "unicode": "1f64c-1f3fe" }, ":raised_hands_tone5:": { "category": "people", "name": "person raising both hands in celebration tone 5", "unicode": "1f64c-1f3ff" }, ":raising_hand:": { "category": "people", "name": "happy person raising one hand", "unicode": "1f64b" }, ":raising_hand_tone1:": { "category": "people", "name": "happy person raising one hand tone1", "unicode": "1f64b-1f3fb" }, ":raising_hand_tone2:": { "category": "people", "name": "happy person raising one hand tone2", "unicode": "1f64b-1f3fc" }, ":raising_hand_tone3:": { "category": "people", "name": "happy person raising one hand tone3", "unicode": "1f64b-1f3fd" }, ":raising_hand_tone4:": { "category": "people", "name": "happy person raising one hand tone4", "unicode": "1f64b-1f3fe" }, ":raising_hand_tone5:": { "category": "people", "name": "happy person raising one hand tone5", "unicode": "1f64b-1f3ff" }, ":ram:": { "category": "nature", "name": "ram", "unicode": "1f40f" }, ":ramen:": { "category": "food", "name": "steaming bowl", "unicode": "1f35c" }, ":rat:": { "category": "nature", "name": "rat", "unicode": "1f400" }, ":record_button:": { "category": "symbols", "name": "black circle for record", "unicode": "23fa", "unicode_alt": "23fa-fe0f" }, ":recycle:": { "category": "symbols", "name": "black universal recycling symbol", "unicode": "267b", "unicode_alt": "267b-fe0f" }, ":red_car:": { "category": "travel", "name": "automobile", "unicode": "1f697" }, ":red_circle:": { "category": "symbols", "name": "red circle", "unicode": "1f534" }, ":regional_indicator_a:": { "category": "regional", "name": "regional indicator symbol letter a", "unicode": "1f1e6" }, ":regional_indicator_b:": { "category": "regional", "name": "regional indicator symbol letter b", "unicode": "1f1e7" }, ":regional_indicator_c:": { "category": "regional", "name": "regional indicator symbol letter c", "unicode": "1f1e8" }, ":regional_indicator_d:": { "category": "regional", "name": "regional indicator symbol letter d", "unicode": "1f1e9" }, ":regional_indicator_e:": { "category": "regional", "name": "regional indicator symbol letter e", "unicode": "1f1ea" }, ":regional_indicator_f:": { "category": "regional", "name": "regional indicator symbol letter f", "unicode": "1f1eb" }, ":regional_indicator_g:": { "category": "regional", "name": "regional indicator symbol letter g", "unicode": "1f1ec" }, ":regional_indicator_h:": { "category": "regional", "name": "regional indicator symbol letter h", "unicode": "1f1ed" }, ":regional_indicator_i:": { "category": "regional", "name": "regional indicator symbol letter i", "unicode": "1f1ee" }, ":regional_indicator_j:": { "category": "regional", "name": "regional indicator symbol letter j", "unicode": "1f1ef" }, ":regional_indicator_k:": { "category": "regional", "name": "regional indicator symbol letter k", "unicode": "1f1f0" }, ":regional_indicator_l:": { "category": "regional", "name": "regional indicator symbol letter l", "unicode": "1f1f1" }, ":regional_indicator_m:": { "category": "regional", "name": "regional indicator symbol letter m", "unicode": "1f1f2" }, ":regional_indicator_n:": { "category": "regional", "name": "regional indicator symbol letter n", "unicode": "1f1f3" }, ":regional_indicator_o:": { "category": "regional", "name": "regional indicator symbol letter o", "unicode": "1f1f4" }, ":regional_indicator_p:": { "category": "regional", "name": "regional indicator symbol letter p", "unicode": "1f1f5" }, ":regional_indicator_q:": { "category": "regional", "name": "regional indicator symbol letter q", "unicode": "1f1f6" }, ":regional_indicator_r:": { "category": "regional", "name": "regional indicator symbol letter r", "unicode": "1f1f7" }, ":regional_indicator_s:": { "category": "regional", "name": "regional indicator symbol letter s", "unicode": "1f1f8" }, ":regional_indicator_t:": { "category": "regional", "name": "regional indicator symbol letter t", "unicode": "1f1f9" }, ":regional_indicator_u:": { "category": "regional", "name": "regional indicator symbol letter u", "unicode": "1f1fa" }, ":regional_indicator_v:": { "category": "regional", "name": "regional indicator symbol letter v", "unicode": "1f1fb" }, ":regional_indicator_w:": { "category": "regional", "name": "regional indicator symbol letter w", "unicode": "1f1fc" }, ":regional_indicator_x:": { "category": "regional", "name": "regional indicator symbol letter x", "unicode": "1f1fd" }, ":regional_indicator_y:": { "category": "regional", "name": "regional indicator symbol letter y", "unicode": "1f1fe" }, ":regional_indicator_z:": { "category": "regional", "name": "regional indicator symbol letter z", "unicode": "1f1ff" }, ":registered:": { "category": "symbols", "name": "registered sign", "unicode": "00ae", "unicode_alt": "00ae-fe0f" }, ":relaxed:": { "category": "people", "name": "white smiling face", "unicode": "263a", "unicode_alt": "263a-fe0f" }, ":relieved:": { "category": "people", "name": "relieved face", "unicode": "1f60c" }, ":reminder_ribbon:": { "category": "activity", "name": "reminder ribbon", "unicode": "1f397", "unicode_alt": "1f397-fe0f" }, ":repeat:": { "category": "symbols", "name": "clockwise rightwards and leftwards open circle arrows", "unicode": "1f501" }, ":repeat_one:": { "category": "symbols", "name": "clockwise rightwards and leftwards open circle arrows with circled one overlay", "unicode": "1f502" }, ":restroom:": { "category": "symbols", "name": "restroom", "unicode": "1f6bb" }, ":revolving_hearts:": { "category": "symbols", "name": "revolving hearts", "unicode": "1f49e" }, ":rewind:": { "category": "symbols", "name": "black left-pointing double triangle", "unicode": "23ea" }, ":rhino:": { "category": "nature", "name": "rhinoceros", "unicode": "1f98f" }, ":ribbon:": { "category": "objects", "name": "ribbon", "unicode": "1f380" }, ":rice:": { "category": "food", "name": "cooked rice", "unicode": "1f35a" }, ":rice_ball:": { "category": "food", "name": "rice ball", "unicode": "1f359" }, ":rice_cracker:": { "category": "food", "name": "rice cracker", "unicode": "1f358" }, ":rice_scene:": { "category": "travel", "name": "moon viewing ceremony", "unicode": "1f391" }, ":right_facing_fist:": { "category": "people", "name": "right-facing fist", "unicode": "1f91c" }, ":right_facing_fist_tone1:": { "category": "people", "name": "right facing fist tone 1", "unicode": "1f91c-1f3fb" }, ":right_facing_fist_tone2:": { "category": "people", "name": "right facing fist tone 2", "unicode": "1f91c-1f3fc" }, ":right_facing_fist_tone3:": { "category": "people", "name": "right facing fist tone 3", "unicode": "1f91c-1f3fd" }, ":right_facing_fist_tone4:": { "category": "people", "name": "right facing fist tone 4", "unicode": "1f91c-1f3fe" }, ":right_facing_fist_tone5:": { "category": "people", "name": "right facing fist tone 5", "unicode": "1f91c-1f3ff" }, ":ring:": { "category": "people", "name": "ring", "unicode": "1f48d" }, ":robot:": { "category": "people", "name": "robot face", "unicode": "1f916" }, ":rocket:": { "category": "travel", "name": "rocket", "unicode": "1f680" }, ":rofl:": { "category": "people", "name": "rolling on the floor laughing", "unicode": "1f923" }, ":roller_coaster:": { "category": "travel", "name": "roller coaster", "unicode": "1f3a2" }, ":rolling_eyes:": { "category": "people", "name": "face with rolling eyes", "unicode": "1f644" }, ":rooster:": { "category": "nature", "name": "rooster", "unicode": "1f413" }, ":rose:": { "category": "nature", "name": "rose", "unicode": "1f339" }, ":rosette:": { "category": "nature", "name": "rosette", "unicode": "1f3f5", "unicode_alt": "1f3f5-fe0f" }, ":rotating_light:": { "category": "travel", "name": "police cars revolving light", "unicode": "1f6a8" }, ":round_pushpin:": { "category": "objects", "name": "round pushpin", "unicode": "1f4cd" }, ":rowboat:": { "category": "activity", "name": "rowboat", "unicode": "1f6a3" }, ":rowboat_tone1:": { "category": "activity", "name": "rowboat tone 1", "unicode": "1f6a3-1f3fb" }, ":rowboat_tone2:": { "category": "activity", "name": "rowboat tone 2", "unicode": "1f6a3-1f3fc" }, ":rowboat_tone3:": { "category": "activity", "name": "rowboat tone 3", "unicode": "1f6a3-1f3fd" }, ":rowboat_tone4:": { "category": "activity", "name": "rowboat tone 4", "unicode": "1f6a3-1f3fe" }, ":rowboat_tone5:": { "category": "activity", "name": "rowboat tone 5", "unicode": "1f6a3-1f3ff" }, ":rugby_football:": { "category": "activity", "name": "rugby football", "unicode": "1f3c9" }, ":runner:": { "category": "people", "name": "runner", "unicode": "1f3c3" }, ":runner_tone1:": { "category": "people", "name": "runner tone 1", "unicode": "1f3c3-1f3fb" }, ":runner_tone2:": { "category": "people", "name": "runner tone 2", "unicode": "1f3c3-1f3fc" }, ":runner_tone3:": { "category": "people", "name": "runner tone 3", "unicode": "1f3c3-1f3fd" }, ":runner_tone4:": { "category": "people", "name": "runner tone 4", "unicode": "1f3c3-1f3fe" }, ":runner_tone5:": { "category": "people", "name": "runner tone 5", "unicode": "1f3c3-1f3ff" }, ":running_shirt_with_sash:": { "category": "activity", "name": "running shirt with sash", "unicode": "1f3bd" }, ":sa:": { "category": "symbols", "name": "squared katakana sa", "unicode": "1f202", "unicode_alt": "1f202-fe0f" }, ":sagittarius:": { "category": "symbols", "name": "sagittarius", "unicode": "2650", "unicode_alt": "2650-fe0f" }, ":sailboat:": { "category": "travel", "name": "sailboat", "unicode": "26f5", "unicode_alt": "26f5-fe0f" }, ":sake:": { "category": "food", "name": "sake bottle and cup", "unicode": "1f376" }, ":salad:": { "category": "food", "name": "green salad", "unicode": "1f957" }, ":sandal:": { "category": "people", "name": "womans sandal", "unicode": "1f461" }, ":santa:": { "category": "people", "name": "father christmas", "unicode": "1f385" }, ":santa_tone1:": { "category": "people", "name": "father christmas tone 1", "unicode": "1f385-1f3fb" }, ":santa_tone2:": { "category": "people", "name": "father christmas tone 2", "unicode": "1f385-1f3fc" }, ":santa_tone3:": { "category": "people", "name": "father christmas tone 3", "unicode": "1f385-1f3fd" }, ":santa_tone4:": { "category": "people", "name": "father christmas tone 4", "unicode": "1f385-1f3fe" }, ":santa_tone5:": { "category": "people", "name": "father christmas tone 5", "unicode": "1f385-1f3ff" }, ":satellite:": { "category": "objects", "name": "satellite antenna", "unicode": "1f4e1" }, ":satellite_orbital:": { "category": "travel", "name": "satellite", "unicode": "1f6f0", "unicode_alt": "1f6f0-fe0f" }, ":saxophone:": { "category": "activity", "name": "saxophone", "unicode": "1f3b7" }, ":scales:": { "category": "objects", "name": "scales", "unicode": "2696", "unicode_alt": "2696-fe0f" }, ":school:": { "category": "travel", "name": "school", "unicode": "1f3eb" }, ":school_satchel:": { "category": "people", "name": "school satchel", "unicode": "1f392" }, ":scissors:": { "category": "objects", "name": "black scissors", "unicode": "2702", "unicode_alt": "2702-fe0f" }, ":scooter:": { "category": "travel", "name": "scooter", "unicode": "1f6f4" }, ":scorpion:": { "category": "nature", "name": "scorpion", "unicode": "1f982" }, ":scorpius:": { "category": "symbols", "name": "scorpius", "unicode": "264f", "unicode_alt": "264f-fe0f" }, ":scream:": { "category": "people", "name": "face screaming in fear", "unicode": "1f631" }, ":scream_cat:": { "category": "people", "name": "weary cat face", "unicode": "1f640" }, ":scroll:": { "category": "objects", "name": "scroll", "unicode": "1f4dc" }, ":seat:": { "category": "travel", "name": "seat", "unicode": "1f4ba" }, ":second_place:": { "category": "activity", "name": "second place medal", "unicode": "1f948" }, ":secret:": { "category": "symbols", "name": "circled ideograph secret", "unicode": "3299", "unicode_alt": "3299-fe0f" }, ":see_no_evil:": { "category": "nature", "name": "see-no-evil monkey", "unicode": "1f648" }, ":seedling:": { "category": "nature", "name": "seedling", "unicode": "1f331" }, ":selfie:": { "category": "people", "name": "selfie", "unicode": "1f933" }, ":selfie_tone1:": { "category": "people", "name": "selfie tone 1", "unicode": "1f933-1f3fb" }, ":selfie_tone2:": { "category": "people", "name": "selfie tone 2", "unicode": "1f933-1f3fc" }, ":selfie_tone3:": { "category": "people", "name": "selfie tone 3", "unicode": "1f933-1f3fd" }, ":selfie_tone4:": { "category": "people", "name": "selfie tone 4", "unicode": "1f933-1f3fe" }, ":selfie_tone5:": { "category": "people", "name": "selfie tone 5", "unicode": "1f933-1f3ff" }, ":seven:": { "category": "symbols", "name": "keycap digit seven", "unicode": "0037-20e3", "unicode_alt": "0037-fe0f-20e3" }, ":shallow_pan_of_food:": { "category": "food", "name": "shallow pan of food", "unicode": "1f958" }, ":shamrock:": { "category": "nature", "name": "shamrock", "unicode": "2618", "unicode_alt": "2618-fe0f" }, ":shark:": { "category": "nature", "name": "shark", "unicode": "1f988" }, ":shaved_ice:": { "category": "food", "name": "shaved ice", "unicode": "1f367" }, ":sheep:": { "category": "nature", "name": "sheep", "unicode": "1f411" }, ":shell:": { "category": "nature", "name": "spiral shell", "unicode": "1f41a" }, ":shield:": { "category": "objects", "name": "shield", "unicode": "1f6e1", "unicode_alt": "1f6e1-fe0f" }, ":shinto_shrine:": { "category": "travel", "name": "shinto shrine", "unicode": "26e9", "unicode_alt": "26e9-fe0f" }, ":ship:": { "category": "travel", "name": "ship", "unicode": "1f6a2" }, ":shirt:": { "category": "people", "name": "t-shirt", "unicode": "1f455" }, ":shopping_bags:": { "category": "objects", "name": "shopping bags", "unicode": "1f6cd", "unicode_alt": "1f6cd-fe0f" }, ":shopping_cart:": { "category": "objects", "name": "shopping trolley", "unicode": "1f6d2" }, ":shower:": { "category": "objects", "name": "shower", "unicode": "1f6bf" }, ":shrimp:": { "category": "nature", "name": "shrimp", "unicode": "1f990" }, ":shrug:": { "category": "people", "name": "shrug", "unicode": "1f937" }, ":shrug_tone1:": { "category": "people", "name": "shrug tone 1", "unicode": "1f937-1f3fb" }, ":shrug_tone2:": { "category": "people", "name": "shrug tone 2", "unicode": "1f937-1f3fc" }, ":shrug_tone3:": { "category": "people", "name": "shrug tone 3", "unicode": "1f937-1f3fd" }, ":shrug_tone4:": { "category": "people", "name": "shrug tone 4", "unicode": "1f937-1f3fe" }, ":shrug_tone5:": { "category": "people", "name": "shrug tone 5", "unicode": "1f937-1f3ff" }, ":signal_strength:": { "category": "symbols", "name": "antenna with bars", "unicode": "1f4f6" }, ":six:": { "category": "symbols", "name": "keycap digit six", "unicode": "0036-20e3", "unicode_alt": "0036-fe0f-20e3" }, ":six_pointed_star:": { "category": "symbols", "name": "six pointed star with middle dot", "unicode": "1f52f" }, ":ski:": { "category": "activity", "name": "ski and ski boot", "unicode": "1f3bf" }, ":skier:": { "category": "activity", "name": "skier", "unicode": "26f7", "unicode_alt": "26f7-fe0f" }, ":skull:": { "category": "people", "name": "skull", "unicode": "1f480" }, ":skull_crossbones:": { "category": "objects", "name": "skull and crossbones", "unicode": "2620", "unicode_alt": "2620-fe0f" }, ":sleeping:": { "category": "people", "name": "sleeping face", "unicode": "1f634" }, ":sleeping_accommodation:": { "category": "objects", "name": "sleeping accommodation", "unicode": "1f6cc" }, ":sleepy:": { "category": "people", "name": "sleepy face", "unicode": "1f62a" }, ":slight_frown:": { "category": "people", "name": "slightly frowning face", "unicode": "1f641" }, ":slight_smile:": { "category": "people", "name": "slightly smiling face", "unicode": "1f642" }, ":slot_machine:": { "category": "activity", "name": "slot machine", "unicode": "1f3b0" }, ":small_blue_diamond:": { "category": "symbols", "name": "small blue diamond", "unicode": "1f539" }, ":small_orange_diamond:": { "category": "symbols", "name": "small orange diamond", "unicode": "1f538" }, ":small_red_triangle:": { "category": "symbols", "name": "up-pointing red triangle", "unicode": "1f53a" }, ":small_red_triangle_down:": { "category": "symbols", "name": "down-pointing red triangle", "unicode": "1f53b" }, ":smile:": { "category": "people", "name": "smiling face with open mouth and smiling eyes", "unicode": "1f604" }, ":smile_cat:": { "category": "people", "name": "grinning cat face with smiling eyes", "unicode": "1f638" }, ":smiley:": { "category": "people", "name": "smiling face with open mouth", "unicode": "1f603" }, ":smiley_cat:": { "category": "people", "name": "smiling cat face with open mouth", "unicode": "1f63a" }, ":smiling_imp:": { "category": "people", "name": "smiling face with horns", "unicode": "1f608" }, ":smirk:": { "category": "people", "name": "smirking face", "unicode": "1f60f" }, ":smirk_cat:": { "category": "people", "name": "cat face with wry smile", "unicode": "1f63c" }, ":smoking:": { "category": "objects", "name": "smoking symbol", "unicode": "1f6ac" }, ":snail:": { "category": "nature", "name": "snail", "unicode": "1f40c" }, ":snake:": { "category": "nature", "name": "snake", "unicode": "1f40d" }, ":sneezing_face:": { "category": "people", "name": "sneezing face", "unicode": "1f927" }, ":snowboarder:": { "category": "activity", "name": "snowboarder", "unicode": "1f3c2" }, ":snowflake:": { "category": "nature", "name": "snowflake", "unicode": "2744", "unicode_alt": "2744-fe0f" }, ":snowman2:": { "category": "nature", "name": "snowman", "unicode": "2603", "unicode_alt": "2603-fe0f" }, ":snowman:": { "category": "nature", "name": "snowman without snow", "unicode": "26c4", "unicode_alt": "26c4-fe0f" }, ":sob:": { "category": "people", "name": "loudly crying face", "unicode": "1f62d" }, ":soccer:": { "category": "activity", "name": "soccer ball", "unicode": "26bd", "unicode_alt": "26bd-fe0f" }, ":soon:": { "category": "symbols", "name": "soon with rightwards arrow above", "unicode": "1f51c" }, ":sos:": { "category": "symbols", "name": "squared sos", "unicode": "1f198" }, ":sound:": { "category": "symbols", "name": "speaker with one sound wave", "unicode": "1f509" }, ":space_invader:": { "category": "activity", "name": "alien monster", "unicode": "1f47e" }, ":spades:": { "category": "symbols", "name": "black spade suit", "unicode": "2660", "unicode_alt": "2660-fe0f" }, ":spaghetti:": { "category": "food", "name": "spaghetti", "unicode": "1f35d" }, ":sparkle:": { "category": "symbols", "name": "sparkle", "unicode": "2747", "unicode_alt": "2747-fe0f" }, ":sparkler:": { "category": "travel", "name": "firework sparkler", "unicode": "1f387" }, ":sparkles:": { "category": "nature", "name": "sparkles", "unicode": "2728" }, ":sparkling_heart:": { "category": "symbols", "name": "sparkling heart", "unicode": "1f496" }, ":speak_no_evil:": { "category": "nature", "name": "speak-no-evil monkey", "unicode": "1f64a" }, ":speaker:": { "category": "symbols", "name": "speaker", "unicode": "1f508" }, ":speaking_head:": { "category": "people", "name": "speaking head in silhouette", "unicode": "1f5e3", "unicode_alt": "1f5e3-fe0f" }, ":speech_balloon:": { "category": "symbols", "name": "speech balloon", "unicode": "1f4ac" }, ":speech_left:": { "category": "symbols", "name": "left speech bubble", "unicode": "1f5e8", "unicode_alt": "1f5e8-fe0f" }, ":speedboat:": { "category": "travel", "name": "speedboat", "unicode": "1f6a4" }, ":spider:": { "category": "nature", "name": "spider", "unicode": "1f577", "unicode_alt": "1f577-fe0f" }, ":spider_web:": { "category": "nature", "name": "spider web", "unicode": "1f578", "unicode_alt": "1f578-fe0f" }, ":spoon:": { "category": "food", "name": "spoon", "unicode": "1f944" }, ":spy:": { "category": "people", "name": "sleuth or spy", "unicode": "1f575", "unicode_alt": "1f575-fe0f" }, ":spy_tone1:": { "category": "people", "name": "sleuth or spy tone 1", "unicode": "1f575-1f3fb" }, ":spy_tone2:": { "category": "people", "name": "sleuth or spy tone 2", "unicode": "1f575-1f3fc" }, ":spy_tone3:": { "category": "people", "name": "sleuth or spy tone 3", "unicode": "1f575-1f3fd" }, ":spy_tone4:": { "category": "people", "name": "sleuth or spy tone 4", "unicode": "1f575-1f3fe" }, ":spy_tone5:": { "category": "people", "name": "sleuth or spy tone 5", "unicode": "1f575-1f3ff" }, ":squid:": { "category": "nature", "name": "squid", "unicode": "1f991" }, ":stadium:": { "category": "travel", "name": "stadium", "unicode": "1f3df", "unicode_alt": "1f3df-fe0f" }, ":star2:": { "category": "nature", "name": "glowing star", "unicode": "1f31f" }, ":star:": { "category": "nature", "name": "white medium star", "unicode": "2b50", "unicode_alt": "2b50-fe0f" }, ":star_and_crescent:": { "category": "symbols", "name": "star and crescent", "unicode": "262a", "unicode_alt": "262a-fe0f" }, ":star_of_david:": { "category": "symbols", "name": "star of david", "unicode": "2721", "unicode_alt": "2721-fe0f" }, ":stars:": { "category": "travel", "name": "shooting star", "unicode": "1f320" }, ":station:": { "category": "travel", "name": "station", "unicode": "1f689" }, ":statue_of_liberty:": { "category": "travel", "name": "statue of liberty", "unicode": "1f5fd" }, ":steam_locomotive:": { "category": "travel", "name": "steam locomotive", "unicode": "1f682" }, ":stew:": { "category": "food", "name": "pot of food", "unicode": "1f372" }, ":stop_button:": { "category": "symbols", "name": "black square for stop", "unicode": "23f9", "unicode_alt": "23f9-fe0f" }, ":stopwatch:": { "category": "objects", "name": "stopwatch", "unicode": "23f1", "unicode_alt": "23f1-fe0f" }, ":straight_ruler:": { "category": "objects", "name": "straight ruler", "unicode": "1f4cf" }, ":strawberry:": { "category": "food", "name": "strawberry", "unicode": "1f353" }, ":stuck_out_tongue:": { "category": "people", "name": "face with stuck-out tongue", "unicode": "1f61b" }, ":stuck_out_tongue_closed_eyes:": { "category": "people", "name": "face with stuck-out tongue and tightly-closed eyes", "unicode": "1f61d" }, ":stuck_out_tongue_winking_eye:": { "category": "people", "name": "face with stuck-out tongue and winking eye", "unicode": "1f61c" }, ":stuffed_flatbread:": { "category": "food", "name": "stuffed flatbread", "unicode": "1f959" }, ":sun_with_face:": { "category": "nature", "name": "sun with face", "unicode": "1f31e" }, ":sunflower:": { "category": "nature", "name": "sunflower", "unicode": "1f33b" }, ":sunglasses:": { "category": "people", "name": "smiling face with sunglasses", "unicode": "1f60e" }, ":sunny:": { "category": "nature", "name": "black sun with rays", "unicode": "2600", "unicode_alt": "2600-fe0f" }, ":sunrise:": { "category": "travel", "name": "sunrise", "unicode": "1f305" }, ":sunrise_over_mountains:": { "category": "travel", "name": "sunrise over mountains", "unicode": "1f304" }, ":surfer:": { "category": "activity", "name": "surfer", "unicode": "1f3c4" }, ":surfer_tone1:": { "category": "activity", "name": "surfer tone 1", "unicode": "1f3c4-1f3fb" }, ":surfer_tone2:": { "category": "activity", "name": "surfer tone 2", "unicode": "1f3c4-1f3fc" }, ":surfer_tone3:": { "category": "activity", "name": "surfer tone 3", "unicode": "1f3c4-1f3fd" }, ":surfer_tone4:": { "category": "activity", "name": "surfer tone 4", "unicode": "1f3c4-1f3fe" }, ":surfer_tone5:": { "category": "activity", "name": "surfer tone 5", "unicode": "1f3c4-1f3ff" }, ":sushi:": { "category": "food", "name": "sushi", "unicode": "1f363" }, ":suspension_railway:": { "category": "travel", "name": "suspension railway", "unicode": "1f69f" }, ":sweat:": { "category": "people", "name": "face with cold sweat", "unicode": "1f613" }, ":sweat_drops:": { "category": "nature", "name": "splashing sweat symbol", "unicode": "1f4a6" }, ":sweat_smile:": { "category": "people", "name": "smiling face with open mouth and cold sweat", "unicode": "1f605" }, ":sweet_potato:": { "category": "food", "name": "roasted sweet potato", "unicode": "1f360" }, ":swimmer:": { "category": "activity", "name": "swimmer", "unicode": "1f3ca" }, ":swimmer_tone1:": { "category": "activity", "name": "swimmer tone 1", "unicode": "1f3ca-1f3fb" }, ":swimmer_tone2:": { "category": "activity", "name": "swimmer tone 2", "unicode": "1f3ca-1f3fc" }, ":swimmer_tone3:": { "category": "activity", "name": "swimmer tone 3", "unicode": "1f3ca-1f3fd" }, ":swimmer_tone4:": { "category": "activity", "name": "swimmer tone 4", "unicode": "1f3ca-1f3fe" }, ":swimmer_tone5:": { "category": "activity", "name": "swimmer tone 5", "unicode": "1f3ca-1f3ff" }, ":symbols:": { "category": "symbols", "name": "input symbol for symbols", "unicode": "1f523" }, ":synagogue:": { "category": "travel", "name": "synagogue", "unicode": "1f54d" }, ":syringe:": { "category": "objects", "name": "syringe", "unicode": "1f489" }, ":taco:": { "category": "food", "name": "taco", "unicode": "1f32e" }, ":tada:": { "category": "objects", "name": "party popper", "unicode": "1f389" }, ":tanabata_tree:": { "category": "nature", "name": "tanabata tree", "unicode": "1f38b" }, ":tangerine:": { "category": "food", "name": "tangerine", "unicode": "1f34a" }, ":taurus:": { "category": "symbols", "name": "taurus", "unicode": "2649", "unicode_alt": "2649-fe0f" }, ":taxi:": { "category": "travel", "name": "taxi", "unicode": "1f695" }, ":tea:": { "category": "food", "name": "teacup without handle", "unicode": "1f375" }, ":telephone:": { "category": "objects", "name": "black telephone", "unicode": "260e", "unicode_alt": "260e-fe0f" }, ":telephone_receiver:": { "category": "objects", "name": "telephone receiver", "unicode": "1f4de" }, ":telescope:": { "category": "objects", "name": "telescope", "unicode": "1f52d" }, ":tennis:": { "category": "activity", "name": "tennis racquet and ball", "unicode": "1f3be" }, ":tent:": { "category": "travel", "name": "tent", "unicode": "26fa", "unicode_alt": "26fa-fe0f" }, ":thermometer:": { "category": "objects", "name": "thermometer", "unicode": "1f321", "unicode_alt": "1f321-fe0f" }, ":thermometer_face:": { "category": "people", "name": "face with thermometer", "unicode": "1f912" }, ":thinking:": { "category": "people", "name": "thinking face", "unicode": "1f914" }, ":third_place:": { "category": "activity", "name": "third place medal", "unicode": "1f949" }, ":thought_balloon:": { "category": "symbols", "name": "thought balloon", "unicode": "1f4ad" }, ":three:": { "category": "symbols", "name": "keycap digit three", "unicode": "0033-20e3", "unicode_alt": "0033-fe0f-20e3" }, ":thumbsdown:": { "category": "people", "name": "thumbs down sign", "unicode": "1f44e" }, ":thumbsdown_tone1:": { "category": "people", "name": "thumbs down sign tone 1", "unicode": "1f44e-1f3fb" }, ":thumbsdown_tone2:": { "category": "people", "name": "thumbs down sign tone 2", "unicode": "1f44e-1f3fc" }, ":thumbsdown_tone3:": { "category": "people", "name": "thumbs down sign tone 3", "unicode": "1f44e-1f3fd" }, ":thumbsdown_tone4:": { "category": "people", "name": "thumbs down sign tone 4", "unicode": "1f44e-1f3fe" }, ":thumbsdown_tone5:": { "category": "people", "name": "thumbs down sign tone 5", "unicode": "1f44e-1f3ff" }, ":thumbsup:": { "category": "people", "name": "thumbs up sign", "unicode": "1f44d" }, ":thumbsup_tone1:": { "category": "people", "name": "thumbs up sign tone 1", "unicode": "1f44d-1f3fb" }, ":thumbsup_tone2:": { "category": "people", "name": "thumbs up sign tone 2", "unicode": "1f44d-1f3fc" }, ":thumbsup_tone3:": { "category": "people", "name": "thumbs up sign tone 3", "unicode": "1f44d-1f3fd" }, ":thumbsup_tone4:": { "category": "people", "name": "thumbs up sign tone 4", "unicode": "1f44d-1f3fe" }, ":thumbsup_tone5:": { "category": "people", "name": "thumbs up sign tone 5", "unicode": "1f44d-1f3ff" }, ":thunder_cloud_rain:": { "category": "nature", "name": "thunder cloud and rain", "unicode": "26c8", "unicode_alt": "26c8-fe0f" }, ":ticket:": { "category": "activity", "name": "ticket", "unicode": "1f3ab" }, ":tickets:": { "category": "activity", "name": "admission tickets", "unicode": "1f39f", "unicode_alt": "1f39f-fe0f" }, ":tiger2:": { "category": "nature", "name": "tiger", "unicode": "1f405" }, ":tiger:": { "category": "nature", "name": "tiger face", "unicode": "1f42f" }, ":timer:": { "category": "objects", "name": "timer clock", "unicode": "23f2", "unicode_alt": "23f2-fe0f" }, ":tired_face:": { "category": "people", "name": "tired face", "unicode": "1f62b" }, ":tm:": { "category": "symbols", "name": "trade mark sign", "unicode": "2122", "unicode_alt": "2122-fe0f" }, ":toilet:": { "category": "objects", "name": "toilet", "unicode": "1f6bd" }, ":tokyo_tower:": { "category": "travel", "name": "tokyo tower", "unicode": "1f5fc" }, ":tomato:": { "category": "food", "name": "tomato", "unicode": "1f345" }, ":tone1:": { "category": "modifier", "name": "emoji modifier Fitzpatrick type-1-2", "unicode": "1f3fb" }, ":tone2:": { "category": "modifier", "name": "emoji modifier Fitzpatrick type-3", "unicode": "1f3fc" }, ":tone3:": { "category": "modifier", "name": "emoji modifier Fitzpatrick type-4", "unicode": "1f3fd" }, ":tone4:": { "category": "modifier", "name": "emoji modifier Fitzpatrick type-5", "unicode": "1f3fe" }, ":tone5:": { "category": "modifier", "name": "emoji modifier Fitzpatrick type-6", "unicode": "1f3ff" }, ":tongue:": { "category": "people", "name": "tongue", "unicode": "1f445" }, ":tools:": { "category": "objects", "name": "hammer and wrench", "unicode": "1f6e0", "unicode_alt": "1f6e0-fe0f" }, ":top:": { "category": "symbols", "name": "top with upwards arrow above", "unicode": "1f51d" }, ":tophat:": { "category": "people", "name": "top hat", "unicode": "1f3a9" }, ":track_next:": { "category": "symbols", "name": "black right-pointing double triangle with vertical bar", "unicode": "23ed", "unicode_alt": "23ed-fe0f" }, ":track_previous:": { "category": "symbols", "name": "black left-pointing double triangle with vertical bar", "unicode": "23ee", "unicode_alt": "23ee-fe0f" }, ":trackball:": { "category": "objects", "name": "trackball", "unicode": "1f5b2", "unicode_alt": "1f5b2-fe0f" }, ":tractor:": { "category": "travel", "name": "tractor", "unicode": "1f69c" }, ":traffic_light:": { "category": "travel", "name": "horizontal traffic light", "unicode": "1f6a5" }, ":train2:": { "category": "travel", "name": "train", "unicode": "1f686" }, ":train:": { "category": "travel", "name": "tram car", "unicode": "1f68b" }, ":tram:": { "category": "travel", "name": "tram", "unicode": "1f68a" }, ":triangular_flag_on_post:": { "category": "objects", "name": "triangular flag on post", "unicode": "1f6a9" }, ":triangular_ruler:": { "category": "objects", "name": "triangular ruler", "unicode": "1f4d0" }, ":trident:": { "category": "symbols", "name": "trident emblem", "unicode": "1f531" }, ":triumph:": { "category": "people", "name": "face with look of triumph", "unicode": "1f624" }, ":trolleybus:": { "category": "travel", "name": "trolleybus", "unicode": "1f68e" }, ":trophy:": { "category": "activity", "name": "trophy", "unicode": "1f3c6" }, ":tropical_drink:": { "category": "food", "name": "tropical drink", "unicode": "1f379" }, ":tropical_fish:": { "category": "nature", "name": "tropical fish", "unicode": "1f420" }, ":truck:": { "category": "travel", "name": "delivery truck", "unicode": "1f69a" }, ":trumpet:": { "category": "activity", "name": "trumpet", "unicode": "1f3ba" }, ":tulip:": { "category": "nature", "name": "tulip", "unicode": "1f337" }, ":tumbler_glass:": { "category": "food", "name": "tumbler glass", "unicode": "1f943" }, ":turkey:": { "category": "nature", "name": "turkey", "unicode": "1f983" }, ":turtle:": { "category": "nature", "name": "turtle", "unicode": "1f422" }, ":tv:": { "category": "objects", "name": "television", "unicode": "1f4fa" }, ":twisted_rightwards_arrows:": { "category": "symbols", "name": "twisted rightwards arrows", "unicode": "1f500" }, ":two:": { "category": "symbols", "name": "keycap digit two", "unicode": "0032-20e3", "unicode_alt": "0032-fe0f-20e3" }, ":two_hearts:": { "category": "symbols", "name": "two hearts", "unicode": "1f495" }, ":two_men_holding_hands:": { "category": "people", "name": "two men holding hands", "unicode": "1f46c" }, ":two_women_holding_hands:": { "category": "people", "name": "two women holding hands", "unicode": "1f46d" }, ":u5272:": { "category": "symbols", "name": "squared cjk unified ideograph-5272", "unicode": "1f239" }, ":u5408:": { "category": "symbols", "name": "squared cjk unified ideograph-5408", "unicode": "1f234" }, ":u55b6:": { "category": "symbols", "name": "squared cjk unified ideograph-55b6", "unicode": "1f23a" }, ":u6307:": { "category": "symbols", "name": "squared cjk unified ideograph-6307", "unicode": "1f22f", "unicode_alt": "1f22f-fe0f" }, ":u6708:": { "category": "symbols", "name": "squared cjk unified ideograph-6708", "unicode": "1f237", "unicode_alt": "1f237-fe0f" }, ":u6709:": { "category": "symbols", "name": "squared cjk unified ideograph-6709", "unicode": "1f236" }, ":u6e80:": { "category": "symbols", "name": "squared cjk unified ideograph-6e80", "unicode": "1f235" }, ":u7121:": { "category": "symbols", "name": "squared cjk unified ideograph-7121", "unicode": "1f21a", "unicode_alt": "1f21a-fe0f" }, ":u7533:": { "category": "symbols", "name": "squared cjk unified ideograph-7533", "unicode": "1f238" }, ":u7981:": { "category": "symbols", "name": "squared cjk unified ideograph-7981", "unicode": "1f232" }, ":u7a7a:": { "category": "symbols", "name": "squared cjk unified ideograph-7a7a", "unicode": "1f233" }, ":umbrella2:": { "category": "nature", "name": "umbrella", "unicode": "2602", "unicode_alt": "2602-fe0f" }, ":umbrella:": { "category": "nature", "name": "umbrella with rain drops", "unicode": "2614", "unicode_alt": "2614-fe0f" }, ":unamused:": { "category": "people", "name": "unamused face", "unicode": "1f612" }, ":underage:": { "category": "symbols", "name": "no one under eighteen symbol", "unicode": "1f51e" }, ":unicorn:": { "category": "nature", "name": "unicorn face", "unicode": "1f984" }, ":unlock:": { "category": "objects", "name": "open lock", "unicode": "1f513" }, ":up:": { "category": "symbols", "name": "squared up with exclamation mark", "unicode": "1f199" }, ":upside_down:": { "category": "people", "name": "upside-down face", "unicode": "1f643" }, ":urn:": { "category": "objects", "name": "funeral urn", "unicode": "26b1", "unicode_alt": "26b1-fe0f" }, ":v:": { "category": "people", "name": "victory hand", "unicode": "270c", "unicode_alt": "270c-fe0f" }, ":v_tone1:": { "category": "people", "name": "victory hand tone 1", "unicode": "270c-1f3fb" }, ":v_tone2:": { "category": "people", "name": "victory hand tone 2", "unicode": "270c-1f3fc" }, ":v_tone3:": { "category": "people", "name": "victory hand tone 3", "unicode": "270c-1f3fd" }, ":v_tone4:": { "category": "people", "name": "victory hand tone 4", "unicode": "270c-1f3fe" }, ":v_tone5:": { "category": "people", "name": "victory hand tone 5", "unicode": "270c-1f3ff" }, ":vertical_traffic_light:": { "category": "travel", "name": "vertical traffic light", "unicode": "1f6a6" }, ":vhs:": { "category": "objects", "name": "videocassette", "unicode": "1f4fc" }, ":vibration_mode:": { "category": "symbols", "name": "vibration mode", "unicode": "1f4f3" }, ":video_camera:": { "category": "objects", "name": "video camera", "unicode": "1f4f9" }, ":video_game:": { "category": "activity", "name": "video game", "unicode": "1f3ae" }, ":violin:": { "category": "activity", "name": "violin", "unicode": "1f3bb" }, ":virgo:": { "category": "symbols", "name": "virgo", "unicode": "264d", "unicode_alt": "264d-fe0f" }, ":volcano:": { "category": "travel", "name": "volcano", "unicode": "1f30b" }, ":volleyball:": { "category": "activity", "name": "volleyball", "unicode": "1f3d0" }, ":vs:": { "category": "symbols", "name": "squared vs", "unicode": "1f19a" }, ":vulcan:": { "category": "people", "name": "raised hand with part between middle and ring fingers", "unicode": "1f596" }, ":vulcan_tone1:": { "category": "people", "name": "raised hand with part between middle and ring fingers tone 1", "unicode": "1f596-1f3fb" }, ":vulcan_tone2:": { "category": "people", "name": "raised hand with part between middle and ring fingers tone 2", "unicode": "1f596-1f3fc" }, ":vulcan_tone3:": { "category": "people", "name": "raised hand with part between middle and ring fingers tone 3", "unicode": "1f596-1f3fd" }, ":vulcan_tone4:": { "category": "people", "name": "raised hand with part between middle and ring fingers tone 4", "unicode": "1f596-1f3fe" }, ":vulcan_tone5:": { "category": "people", "name": "raised hand with part between middle and ring fingers tone 5", "unicode": "1f596-1f3ff" }, ":walking:": { "category": "people", "name": "pedestrian", "unicode": "1f6b6" }, ":walking_tone1:": { "category": "people", "name": "pedestrian tone 1", "unicode": "1f6b6-1f3fb" }, ":walking_tone2:": { "category": "people", "name": "pedestrian tone 2", "unicode": "1f6b6-1f3fc" }, ":walking_tone3:": { "category": "people", "name": "pedestrian tone 3", "unicode": "1f6b6-1f3fd" }, ":walking_tone4:": { "category": "people", "name": "pedestrian tone 4", "unicode": "1f6b6-1f3fe" }, ":walking_tone5:": { "category": "people", "name": "pedestrian tone 5", "unicode": "1f6b6-1f3ff" }, ":waning_crescent_moon:": { "category": "nature", "name": "waning crescent moon symbol", "unicode": "1f318" }, ":waning_gibbous_moon:": { "category": "nature", "name": "waning gibbous moon symbol", "unicode": "1f316" }, ":warning:": { "category": "symbols", "name": "warning sign", "unicode": "26a0", "unicode_alt": "26a0-fe0f" }, ":wastebasket:": { "category": "objects", "name": "wastebasket", "unicode": "1f5d1", "unicode_alt": "1f5d1-fe0f" }, ":watch:": { "category": "objects", "name": "watch", "unicode": "231a", "unicode_alt": "231a-fe0f" }, ":water_buffalo:": { "category": "nature", "name": "water buffalo", "unicode": "1f403" }, ":water_polo:": { "category": "activity", "name": "water polo", "unicode": "1f93d" }, ":water_polo_tone1:": { "category": "activity", "name": "water polo tone 1", "unicode": "1f93d-1f3fb" }, ":water_polo_tone2:": { "category": "activity", "name": "water polo tone 2", "unicode": "1f93d-1f3fc" }, ":water_polo_tone3:": { "category": "activity", "name": "water polo tone 3", "unicode": "1f93d-1f3fd" }, ":water_polo_tone4:": { "category": "activity", "name": "water polo tone 4", "unicode": "1f93d-1f3fe" }, ":water_polo_tone5:": { "category": "activity", "name": "water polo tone 5", "unicode": "1f93d-1f3ff" }, ":watermelon:": { "category": "food", "name": "watermelon", "unicode": "1f349" }, ":wave:": { "category": "people", "name": "waving hand sign", "unicode": "1f44b" }, ":wave_tone1:": { "category": "people", "name": "waving hand sign tone 1", "unicode": "1f44b-1f3fb" }, ":wave_tone2:": { "category": "people", "name": "waving hand sign tone 2", "unicode": "1f44b-1f3fc" }, ":wave_tone3:": { "category": "people", "name": "waving hand sign tone 3", "unicode": "1f44b-1f3fd" }, ":wave_tone4:": { "category": "people", "name": "waving hand sign tone 4", "unicode": "1f44b-1f3fe" }, ":wave_tone5:": { "category": "people", "name": "waving hand sign tone 5", "unicode": "1f44b-1f3ff" }, ":wavy_dash:": { "category": "symbols", "name": "wavy dash", "unicode": "3030", "unicode_alt": "3030-fe0f" }, ":waxing_crescent_moon:": { "category": "nature", "name": "waxing crescent moon symbol", "unicode": "1f312" }, ":waxing_gibbous_moon:": { "category": "nature", "name": "waxing gibbous moon symbol", "unicode": "1f314" }, ":wc:": { "category": "symbols", "name": "water closet", "unicode": "1f6be" }, ":weary:": { "category": "people", "name": "weary face", "unicode": "1f629" }, ":wedding:": { "category": "travel", "name": "wedding", "unicode": "1f492" }, ":whale2:": { "category": "nature", "name": "whale", "unicode": "1f40b" }, ":whale:": { "category": "nature", "name": "spouting whale", "unicode": "1f433" }, ":wheel_of_dharma:": { "category": "symbols", "name": "wheel of dharma", "unicode": "2638", "unicode_alt": "2638-fe0f" }, ":wheelchair:": { "category": "symbols", "name": "wheelchair symbol", "unicode": "267f", "unicode_alt": "267f-fe0f" }, ":white_check_mark:": { "category": "symbols", "name": "white heavy check mark", "unicode": "2705" }, ":white_circle:": { "category": "symbols", "name": "white circle", "unicode": "26aa", "unicode_alt": "26aa-fe0f" }, ":white_flower:": { "category": "symbols", "name": "white flower", "unicode": "1f4ae" }, ":white_large_square:": { "category": "symbols", "name": "white large square", "unicode": "2b1c", "unicode_alt": "2b1c-fe0f" }, ":white_medium_small_square:": { "category": "symbols", "name": "white medium small square", "unicode": "25fd", "unicode_alt": "25fd-fe0f" }, ":white_medium_square:": { "category": "symbols", "name": "white medium square", "unicode": "25fb", "unicode_alt": "25fb-fe0f" }, ":white_small_square:": { "category": "symbols", "name": "white small square", "unicode": "25ab", "unicode_alt": "25ab-fe0f" }, ":white_square_button:": { "category": "symbols", "name": "white square button", "unicode": "1f533" }, ":white_sun_cloud:": { "category": "nature", "name": "white sun behind cloud", "unicode": "1f325", "unicode_alt": "1f325-fe0f" }, ":white_sun_rain_cloud:": { "category": "nature", "name": "white sun behind cloud with rain", "unicode": "1f326", "unicode_alt": "1f326-fe0f" }, ":white_sun_small_cloud:": { "category": "nature", "name": "white sun with small cloud", "unicode": "1f324", "unicode_alt": "1f324-fe0f" }, ":wilted_rose:": { "category": "nature", "name": "wilted flower", "unicode": "1f940" }, ":wind_blowing_face:": { "category": "nature", "name": "wind blowing face", "unicode": "1f32c", "unicode_alt": "1f32c-fe0f" }, ":wind_chime:": { "category": "objects", "name": "wind chime", "unicode": "1f390" }, ":wine_glass:": { "category": "food", "name": "wine glass", "unicode": "1f377" }, ":wink:": { "category": "people", "name": "winking face", "unicode": "1f609" }, ":wolf:": { "category": "nature", "name": "wolf face", "unicode": "1f43a" }, ":woman:": { "category": "people", "name": "woman", "unicode": "1f469" }, ":woman_tone1:": { "category": "people", "name": "woman tone 1", "unicode": "1f469-1f3fb" }, ":woman_tone2:": { "category": "people", "name": "woman tone 2", "unicode": "1f469-1f3fc" }, ":woman_tone3:": { "category": "people", "name": "woman tone 3", "unicode": "1f469-1f3fd" }, ":woman_tone4:": { "category": "people", "name": "woman tone 4", "unicode": "1f469-1f3fe" }, ":woman_tone5:": { "category": "people", "name": "woman tone 5", "unicode": "1f469-1f3ff" }, ":womans_clothes:": { "category": "people", "name": "womans clothes", "unicode": "1f45a" }, ":womans_hat:": { "category": "people", "name": "womans hat", "unicode": "1f452" }, ":womens:": { "category": "symbols", "name": "womens symbol", "unicode": "1f6ba" }, ":worried:": { "category": "people", "name": "worried face", "unicode": "1f61f" }, ":wrench:": { "category": "objects", "name": "wrench", "unicode": "1f527" }, ":wrestlers:": { "category": "activity", "name": "wrestlers", "unicode": "1f93c" }, ":wrestlers_tone1:": { "category": "activity", "name": "wrestlers tone 1", "unicode": "1f93c-1f3fb" }, ":wrestlers_tone2:": { "category": "activity", "name": "wrestlers tone 2", "unicode": "1f93c-1f3fc" }, ":wrestlers_tone3:": { "category": "activity", "name": "wrestlers tone 3", "unicode": "1f93c-1f3fd" }, ":wrestlers_tone4:": { "category": "activity", "name": "wrestlers tone 4", "unicode": "1f93c-1f3fe" }, ":wrestlers_tone5:": { "category": "activity", "name": "wrestlers tone 5", "unicode": "1f93c-1f3ff" }, ":writing_hand:": { "category": "people", "name": "writing hand", "unicode": "270d", "unicode_alt": "270d-fe0f" }, ":writing_hand_tone1:": { "category": "people", "name": "writing hand tone 1", "unicode": "270d-1f3fb" }, ":writing_hand_tone2:": { "category": "people", "name": "writing hand tone 2", "unicode": "270d-1f3fc" }, ":writing_hand_tone3:": { "category": "people", "name": "writing hand tone 3", "unicode": "270d-1f3fd" }, ":writing_hand_tone4:": { "category": "people", "name": "writing hand tone 4", "unicode": "270d-1f3fe" }, ":writing_hand_tone5:": { "category": "people", "name": "writing hand tone 5", "unicode": "270d-1f3ff" }, ":x:": { "category": "symbols", "name": "cross mark", "unicode": "274c" }, ":yellow_heart:": { "category": "symbols", "name": "yellow heart", "unicode": "1f49b" }, ":yen:": { "category": "objects", "name": "banknote with yen sign", "unicode": "1f4b4" }, ":yin_yang:": { "category": "symbols", "name": "yin yang", "unicode": "262f", "unicode_alt": "262f-fe0f" }, ":yum:": { "category": "people", "name": "face savouring delicious food", "unicode": "1f60b" }, ":zap:": { "category": "nature", "name": "high voltage sign", "unicode": "26a1", "unicode_alt": "26a1-fe0f" }, ":zero:": { "category": "symbols", "name": "keycap digit zero", "unicode": "0030-20e3", "unicode_alt": "0030-fe0f-20e3" }, ":zipper_mouth:": { "category": "people", "name": "zipper-mouth face", "unicode": "1f910" }, ":zzz:": { "category": "people", "name": "sleeping symbol", "unicode": "1f4a4" } } aliases = { ":+1:": ":thumbsup:", ":+1_tone1:": ":thumbsup_tone1:", ":+1_tone2:": ":thumbsup_tone2:", ":+1_tone3:": ":thumbsup_tone3:", ":+1_tone4:": ":thumbsup_tone4:", ":+1_tone5:": ":thumbsup_tone5:", ":-1:": ":thumbsdown:", ":-1_tone1:": ":thumbsdown_tone1:", ":-1_tone2:": ":thumbsdown_tone2:", ":-1_tone3:": ":thumbsdown_tone3:", ":-1_tone4:": ":thumbsdown_tone4:", ":-1_tone5:": ":thumbsdown_tone5:", ":ac:": ":flag_ac:", ":ad:": ":flag_ad:", ":admission_tickets:": ":tickets:", ":ae:": ":flag_ae:", ":af:": ":flag_af:", ":ag:": ":flag_ag:", ":ai:": ":flag_ai:", ":al:": ":flag_al:", ":am:": ":flag_am:", ":ao:": ":flag_ao:", ":aq:": ":flag_aq:", ":ar:": ":flag_ar:", ":archery:": ":bow_and_arrow:", ":as:": ":flag_as:", ":at:": ":flag_at:", ":atom_symbol:": ":atom:", ":au:": ":flag_au:", ":aw:": ":flag_aw:", ":ax:": ":flag_ax:", ":az:": ":flag_az:", ":ba:": ":flag_ba:", ":back_of_hand:": ":raised_back_of_hand:", ":back_of_hand_tone1:": ":raised_back_of_hand_tone1:", ":back_of_hand_tone2:": ":raised_back_of_hand_tone2:", ":back_of_hand_tone3:": ":raised_back_of_hand_tone3:", ":back_of_hand_tone4:": ":raised_back_of_hand_tone4:", ":back_of_hand_tone5:": ":raised_back_of_hand_tone5:", ":baguette_bread:": ":french_bread:", ":ballot_box_with_ballot:": ":ballot_box:", ":bb:": ":flag_bb:", ":bd:": ":flag_bd:", ":be:": ":flag_be:", ":beach_with_umbrella:": ":beach:", ":bellhop_bell:": ":bellhop:", ":bf:": ":flag_bf:", ":bg:": ":flag_bg:", ":bh:": ":flag_bh:", ":bi:": ":flag_bi:", ":biohazard_sign:": ":biohazard:", ":bj:": ":flag_bj:", ":bl:": ":flag_bl:", ":bm:": ":flag_bm:", ":bn:": ":flag_bn:", ":bo:": ":flag_bo:", ":bottle_with_popping_cork:": ":champagne:", ":boxing_gloves:": ":boxing_glove:", ":bq:": ":flag_bq:", ":br:": ":flag_br:", ":bs:": ":flag_bs:", ":bt:": ":flag_bt:", ":building_construction:": ":construction_site:", ":bv:": ":flag_bv:", ":bw:": ":flag_bw:", ":by:": ":flag_by:", ":bz:": ":flag_bz:", ":ca:": ":flag_ca:", ":call_me_hand:": ":call_me:", ":call_me_hand_tone1:": ":call_me_tone1:", ":call_me_hand_tone2:": ":call_me_tone2:", ":call_me_hand_tone3:": ":call_me_tone3:", ":call_me_hand_tone4:": ":call_me_tone4:", ":call_me_hand_tone5:": ":call_me_tone5:", ":card_file_box:": ":card_box:", ":card_index_dividers:": ":dividers:", ":cc:": ":flag_cc:", ":cf:": ":flag_cf:", ":cg:": ":flag_cg:", ":ch:": ":flag_ch:", ":cheese_wedge:": ":cheese:", ":chile:": ":flag_cl:", ":ci:": ":flag_ci:", ":city_sunrise:": ":city_sunset:", ":ck:": ":flag_ck:", ":clinking_glass:": ":champagne_glass:", ":cloud_with_lightning:": ":cloud_lightning:", ":cloud_with_rain:": ":cloud_rain:", ":cloud_with_snow:": ":cloud_snow:", ":cloud_with_tornado:": ":cloud_tornado:", ":clown_face:": ":clown:", ":cm:": ":flag_cm:", ":cn:": ":flag_cn:", ":co:": ":flag_co:", ":congo:": ":flag_cd:", ":couch_and_lamp:": ":couch:", ":couple_with_heart_mm:": ":couple_mm:", ":couple_with_heart_ww:": ":couple_ww:", ":couplekiss_mm:": ":kiss_mm:", ":couplekiss_ww:": ":kiss_ww:", ":cp:": ":flag_cp:", ":cr:": ":flag_cr:", ":cricket_bat_ball:": ":cricket:", ":cu:": ":flag_cu:", ":cv:": ":flag_cv:", ":cw:": ":flag_cw:", ":cx:": ":flag_cx:", ":cy:": ":flag_cy:", ":cz:": ":flag_cz:", ":dagger_knife:": ":dagger:", ":de:": ":flag_de:", ":derelict_house_building:": ":house_abandoned:", ":desert_island:": ":island:", ":desktop_computer:": ":desktop:", ":dg:": ":flag_dg:", ":dj:": ":flag_dj:", ":dk:": ":flag_dk:", ":dm:": ":flag_dm:", ":do:": ":flag_do:", ":double_vertical_bar:": ":pause_button:", ":dove_of_peace:": ":dove:", ":drool:": ":drooling_face:", ":drum_with_drumsticks:": ":drum:", ":dz:": ":flag_dz:", ":ea:": ":flag_ea:", ":ec:": ":flag_ec:", ":ee:": ":flag_ee:", ":eg:": ":flag_eg:", ":eh:": ":flag_eh:", ":eject_symbol:": ":eject:", ":email:": ":e-mail:", ":er:": ":flag_er:", ":es:": ":flag_es:", ":et:": ":flag_et:", ":eu:": ":flag_eu:", ":expecting_woman:": ":pregnant_woman:", ":expecting_woman_tone1:": ":pregnant_woman_tone1:", ":expecting_woman_tone2:": ":pregnant_woman_tone2:", ":expecting_woman_tone3:": ":pregnant_woman_tone3:", ":expecting_woman_tone4:": ":pregnant_woman_tone4:", ":expecting_woman_tone5:": ":pregnant_woman_tone5:", ":face_with_cowboy_hat:": ":cowboy:", ":face_with_head_bandage:": ":head_bandage:", ":face_with_rolling_eyes:": ":rolling_eyes:", ":face_with_thermometer:": ":thermometer_face:", ":facepalm:": ":face_palm:", ":facepalm_tone1:": ":face_palm_tone1:", ":facepalm_tone2:": ":face_palm_tone2:", ":facepalm_tone3:": ":face_palm_tone3:", ":facepalm_tone4:": ":face_palm_tone4:", ":facepalm_tone5:": ":face_palm_tone5:", ":fencing:": ":fencer:", ":fi:": ":flag_fi:", ":film_projector:": ":projector:", ":first_place_medal:": ":first_place:", ":fj:": ":flag_fj:", ":fk:": ":flag_fk:", ":flame:": ":fire:", ":flan:": ":custard:", ":fm:": ":flag_fm:", ":fo:": ":flag_fo:", ":fork_and_knife_with_plate:": ":fork_knife_plate:", ":fox_face:": ":fox:", ":fr:": ":flag_fr:", ":frame_with_picture:": ":frame_photo:", ":funeral_urn:": ":urn:", ":ga:": ":flag_ga:", ":gay_pride_flag:": ":rainbow_flag:", ":gb:": ":flag_gb:", ":gd:": ":flag_gd:", ":ge:": ":flag_ge:", ":gf:": ":flag_gf:", ":gg:": ":flag_gg:", ":gh:": ":flag_gh:", ":gi:": ":flag_gi:", ":gl:": ":flag_gl:", ":glass_of_milk:": ":milk:", ":gm:": ":flag_gm:", ":gn:": ":flag_gn:", ":goal_net:": ":goal:", ":gp:": ":flag_gp:", ":gq:": ":flag_gq:", ":gr:": ":flag_gr:", ":grandma:": ":older_woman:", ":grandma_tone1:": ":older_woman_tone1:", ":grandma_tone2:": ":older_woman_tone2:", ":grandma_tone3:": ":older_woman_tone3:", ":grandma_tone4:": ":older_woman_tone4:", ":grandma_tone5:": ":older_woman_tone5:", ":green_salad:": ":salad:", ":gs:": ":flag_gs:", ":gt:": ":flag_gt:", ":gu:": ":flag_gu:", ":gw:": ":flag_gw:", ":gy:": ":flag_gy:", ":hammer_and_pick:": ":hammer_pick:", ":hammer_and_wrench:": ":tools:", ":hand_with_index_and_middle_finger_crossed:": ":fingers_crossed:", ":hand_with_index_and_middle_fingers_crossed_tone1:": ":fingers_crossed_tone1:", ":hand_with_index_and_middle_fingers_crossed_tone2:": ":fingers_crossed_tone2:", ":hand_with_index_and_middle_fingers_crossed_tone3:": ":fingers_crossed_tone3:", ":hand_with_index_and_middle_fingers_crossed_tone4:": ":fingers_crossed_tone4:", ":hand_with_index_and_middle_fingers_crossed_tone5:": ":fingers_crossed_tone5:", ":hankey:": ":poop:", ":heavy_heart_exclamation_mark_ornament:": ":heart_exclamation:", ":helmet_with_white_cross:": ":helmet_with_cross:", ":hk:": ":flag_hk:", ":hm:": ":flag_hm:", ":hn:": ":flag_hn:", ":hot_dog:": ":hotdog:", ":house_buildings:": ":homes:", ":hr:": ":flag_hr:", ":ht:": ":flag_ht:", ":hu:": ":flag_hu:", ":hugging_face:": ":hugging:", ":ic:": ":flag_ic:", ":ie:": ":flag_ie:", ":il:": ":flag_il:", ":im:": ":flag_im:", ":in:": ":flag_in:", ":indonesia:": ":flag_id:", ":io:": ":flag_io:", ":iq:": ":flag_iq:", ":ir:": ":flag_ir:", ":is:": ":flag_is:", ":it:": ":flag_it:", ":je:": ":flag_je:", ":jm:": ":flag_jm:", ":jo:": ":flag_jo:", ":jp:": ":flag_jp:", ":juggler:": ":juggling:", ":juggler_tone1:": ":juggling_tone1:", ":juggler_tone2:": ":juggling_tone2:", ":juggler_tone3:": ":juggling_tone3:", ":juggler_tone4:": ":juggling_tone4:", ":juggler_tone5:": ":juggling_tone5:", ":karate_uniform:": ":martial_arts_uniform:", ":kayak:": ":canoe:", ":ke:": ":flag_ke:", ":keycap_asterisk:": ":asterisk:", ":kg:": ":flag_kg:", ":kh:": ":flag_kh:", ":ki:": ":flag_ki:", ":kiwifruit:": ":kiwi:", ":km:": ":flag_km:", ":kn:": ":flag_kn:", ":kp:": ":flag_kp:", ":kr:": ":flag_kr:", ":kw:": ":flag_kw:", ":ky:": ":flag_ky:", ":kz:": ":flag_kz:", ":la:": ":flag_la:", ":latin_cross:": ":cross:", ":lb:": ":flag_lb:", ":lc:": ":flag_lc:", ":left_fist:": ":left_facing_fist:", ":left_fist_tone1:": ":left_facing_fist_tone1:", ":left_fist_tone2:": ":left_facing_fist_tone2:", ":left_fist_tone3:": ":left_facing_fist_tone3:", ":left_fist_tone4:": ":left_facing_fist_tone4:", ":left_fist_tone5:": ":left_facing_fist_tone5:", ":left_speech_bubble:": ":speech_left:", ":li:": ":flag_li:", ":liar:": ":lying_face:", ":linked_paperclips:": ":paperclips:", ":lion:": ":lion_face:", ":lk:": ":flag_lk:", ":lower_left_ballpoint_pen:": ":pen_ballpoint:", ":lower_left_crayon:": ":crayon:", ":lower_left_fountain_pen:": ":pen_fountain:", ":lower_left_paintbrush:": ":paintbrush:", ":lr:": ":flag_lr:", ":ls:": ":flag_ls:", ":lt:": ":flag_lt:", ":lu:": ":flag_lu:", ":lv:": ":flag_lv:", ":ly:": ":flag_ly:", ":ma:": ":flag_ma:", ":male_dancer:": ":man_dancing:", ":male_dancer_tone1:": ":man_dancing_tone1:", ":male_dancer_tone2:": ":man_dancing_tone2:", ":male_dancer_tone3:": ":man_dancing_tone3:", ":male_dancer_tone4:": ":man_dancing_tone4:", ":male_dancer_tone5:": ":man_dancing_tone5:", ":man_in_business_suit_levitating:": ":levitate:", ":mantlepiece_clock:": ":clock:", ":mc:": ":flag_mc:", ":md:": ":flag_md:", ":me:": ":flag_me:", ":mf:": ":flag_mf:", ":mg:": ":flag_mg:", ":mh:": ":flag_mh:", ":mk:": ":flag_mk:", ":ml:": ":flag_ml:", ":mm:": ":flag_mm:", ":mn:": ":flag_mn:", ":mo:": ":flag_mo:", ":money_mouth_face:": ":money_mouth:", ":mother_christmas:": ":mrs_claus:", ":mother_christmas_tone1:": ":mrs_claus_tone1:", ":mother_christmas_tone2:": ":mrs_claus_tone2:", ":mother_christmas_tone3:": ":mrs_claus_tone3:", ":mother_christmas_tone4:": ":mrs_claus_tone4:", ":mother_christmas_tone5:": ":mrs_claus_tone5:", ":motorbike:": ":motor_scooter:", ":mp:": ":flag_mp:", ":mq:": ":flag_mq:", ":mr:": ":flag_mr:", ":ms:": ":flag_ms:", ":mt:": ":flag_mt:", ":mu:": ":flag_mu:", ":mv:": ":flag_mv:", ":mw:": ":flag_mw:", ":mx:": ":flag_mx:", ":my:": ":flag_my:", ":mz:": ":flag_mz:", ":na:": ":flag_na:", ":national_park:": ":park:", ":nc:": ":flag_nc:", ":ne:": ":flag_ne:", ":nerd_face:": ":nerd:", ":next_track:": ":track_next:", ":nf:": ":flag_nf:", ":ni:": ":flag_ni:", ":nigeria:": ":flag_ng:", ":nl:": ":flag_nl:", ":no:": ":flag_no:", ":np:": ":flag_np:", ":nr:": ":flag_nr:", ":nu:": ":flag_nu:", ":nz:": ":flag_nz:", ":oil_drum:": ":oil:", ":old_key:": ":key2:", ":om:": ":flag_om:", ":pa:": ":flag_pa:", ":paella:": ":shallow_pan_of_food:", ":passenger_ship:": ":cruise_ship:", ":paw_prints:": ":feet:", ":pe:": ":flag_pe:", ":peace_symbol:": ":peace:", ":person_doing_cartwheel:": ":cartwheel:", ":person_doing_cartwheel_tone1:": ":cartwheel_tone1:", ":person_doing_cartwheel_tone2:": ":cartwheel_tone2:", ":person_doing_cartwheel_tone3:": ":cartwheel_tone3:", ":person_doing_cartwheel_tone4:": ":cartwheel_tone4:", ":person_doing_cartwheel_tone5:": ":cartwheel_tone5:", ":person_with_ball:": ":basketball_player:", ":person_with_ball_tone1:": ":basketball_player_tone1:", ":person_with_ball_tone2:": ":basketball_player_tone2:", ":person_with_ball_tone3:": ":basketball_player_tone3:", ":person_with_ball_tone4:": ":basketball_player_tone4:", ":person_with_ball_tone5:": ":basketball_player_tone5:", ":pf:": ":flag_pf:", ":pg:": ":flag_pg:", ":ph:": ":flag_ph:", ":pk:": ":flag_pk:", ":pl:": ":flag_pl:", ":pm:": ":flag_pm:", ":pn:": ":flag_pn:", ":poo:": ":poop:", ":pr:": ":flag_pr:", ":previous_track:": ":track_previous:", ":ps:": ":flag_ps:", ":pt:": ":flag_pt:", ":pudding:": ":custard:", ":pw:": ":flag_pw:", ":py:": ":flag_py:", ":qa:": ":flag_qa:", ":racing_car:": ":race_car:", ":racing_motorcycle:": ":motorcycle:", ":radioactive_sign:": ":radioactive:", ":railroad_track:": ":railway_track:", ":raised_hand_with_fingers_splayed:": ":hand_splayed:", ":raised_hand_with_fingers_splayed_tone1:": ":hand_splayed_tone1:", ":raised_hand_with_fingers_splayed_tone2:": ":hand_splayed_tone2:", ":raised_hand_with_fingers_splayed_tone3:": ":hand_splayed_tone3:", ":raised_hand_with_fingers_splayed_tone4:": ":hand_splayed_tone4:", ":raised_hand_with_fingers_splayed_tone5:": ":hand_splayed_tone5:", ":raised_hand_with_part_between_middle_and_ring_fingers:": ":vulcan:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone1:": ":vulcan_tone1:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone2:": ":vulcan_tone2:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone3:": ":vulcan_tone3:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone4:": ":vulcan_tone4:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone5:": ":vulcan_tone5:", ":re:": ":flag_re:", ":reversed_hand_with_middle_finger_extended:": ":middle_finger:", ":reversed_hand_with_middle_finger_extended_tone1:": ":middle_finger_tone1:", ":reversed_hand_with_middle_finger_extended_tone2:": ":middle_finger_tone2:", ":reversed_hand_with_middle_finger_extended_tone3:": ":middle_finger_tone3:", ":reversed_hand_with_middle_finger_extended_tone4:": ":middle_finger_tone4:", ":reversed_hand_with_middle_finger_extended_tone5:": ":middle_finger_tone5:", ":rhinoceros:": ":rhino:", ":right_anger_bubble:": ":anger_right:", ":right_fist:": ":right_facing_fist:", ":right_fist_tone1:": ":right_facing_fist_tone1:", ":right_fist_tone2:": ":right_facing_fist_tone2:", ":right_fist_tone3:": ":right_facing_fist_tone3:", ":right_fist_tone4:": ":right_facing_fist_tone4:", ":right_fist_tone5:": ":right_facing_fist_tone5:", ":ro:": ":flag_ro:", ":robot_face:": ":robot:", ":rolled_up_newspaper:": ":newspaper2:", ":rolling_on_the_floor_laughing:": ":rofl:", ":rs:": ":flag_rs:", ":ru:": ":flag_ru:", ":rw:": ":flag_rw:", ":satisfied:": ":laughing:", ":saudi:": ":flag_sa:", ":saudiarabia:": ":flag_sa:", ":sb:": ":flag_sb:", ":sc:": ":flag_sc:", ":sd:": ":flag_sd:", ":se:": ":flag_se:", ":second_place_medal:": ":second_place:", ":sg:": ":flag_sg:", ":sh:": ":flag_sh:", ":shaking_hands:": ":handshake:", ":shaking_hands_tone1:": ":handshake_tone1:", ":shaking_hands_tone2:": ":handshake_tone2:", ":shaking_hands_tone3:": ":handshake_tone3:", ":shaking_hands_tone4:": ":handshake_tone4:", ":shaking_hands_tone5:": ":handshake_tone5:", ":shelled_peanut:": ":peanuts:", ":shit:": ":poop:", ":shopping_trolley:": ":shopping_cart:", ":si:": ":flag_si:", ":sick:": ":nauseated_face:", ":sign_of_the_horns:": ":metal:", ":sign_of_the_horns_tone1:": ":metal_tone1:", ":sign_of_the_horns_tone2:": ":metal_tone2:", ":sign_of_the_horns_tone3:": ":metal_tone3:", ":sign_of_the_horns_tone4:": ":metal_tone4:", ":sign_of_the_horns_tone5:": ":metal_tone5:", ":sj:": ":flag_sj:", ":sk:": ":flag_sk:", ":skeleton:": ":skull:", ":skull_and_crossbones:": ":skull_crossbones:", ":sl:": ":flag_sl:", ":sleuth_or_spy:": ":spy:", ":sleuth_or_spy_tone1:": ":spy_tone1:", ":sleuth_or_spy_tone2:": ":spy_tone2:", ":sleuth_or_spy_tone3:": ":spy_tone3:", ":sleuth_or_spy_tone4:": ":spy_tone4:", ":sleuth_or_spy_tone5:": ":spy_tone5:", ":slightly_frowning_face:": ":slight_frown:", ":slightly_smiling_face:": ":slight_smile:", ":sm:": ":flag_sm:", ":small_airplane:": ":airplane_small:", ":sn:": ":flag_sn:", ":sneeze:": ":sneezing_face:", ":snow_capped_mountain:": ":mountain_snow:", ":so:": ":flag_so:", ":speaking_head_in_silhouette:": ":speaking_head:", ":spiral_calendar_pad:": ":calendar_spiral:", ":spiral_note_pad:": ":notepad_spiral:", ":sports_medal:": ":medal:", ":sr:": ":flag_sr:", ":ss:": ":flag_ss:", ":st:": ":flag_st:", ":stop_sign:": ":octagonal_sign:", ":studio_microphone:": ":microphone2:", ":stuffed_pita:": ":stuffed_flatbread:", ":sv:": ":flag_sv:", ":sx:": ":flag_sx:", ":sy:": ":flag_sy:", ":sz:": ":flag_sz:", ":ta:": ":flag_ta:", ":table_tennis:": ":ping_pong:", ":tc:": ":flag_tc:", ":td:": ":flag_td:", ":tf:": ":flag_tf:", ":tg:": ":flag_tg:", ":th:": ":flag_th:", ":thinking_face:": ":thinking:", ":third_place_medal:": ":third_place:", ":three_button_mouse:": ":mouse_three_button:", ":thumbdown:": ":thumbsdown:", ":thumbdown_tone1:": ":thumbsdown_tone1:", ":thumbdown_tone2:": ":thumbsdown_tone2:", ":thumbdown_tone3:": ":thumbsdown_tone3:", ":thumbdown_tone4:": ":thumbsdown_tone4:", ":thumbdown_tone5:": ":thumbsdown_tone5:", ":thumbup:": ":thumbsup:", ":thumbup_tone1:": ":thumbsup_tone1:", ":thumbup_tone2:": ":thumbsup_tone2:", ":thumbup_tone3:": ":thumbsup_tone3:", ":thumbup_tone4:": ":thumbsup_tone4:", ":thumbup_tone5:": ":thumbsup_tone5:", ":thunder_cloud_and_rain:": ":thunder_cloud_rain:", ":timer_clock:": ":timer:", ":tj:": ":flag_tj:", ":tk:": ":flag_tk:", ":tl:": ":flag_tl:", ":tn:": ":flag_tn:", ":to:": ":flag_to:", ":tr:": ":flag_tr:", ":tt:": ":flag_tt:", ":turkmenistan:": ":flag_tm:", ":tuvalu:": ":flag_tv:", ":tuxedo_tone1:": ":man_in_tuxedo_tone1:", ":tuxedo_tone2:": ":man_in_tuxedo_tone2:", ":tuxedo_tone3:": ":man_in_tuxedo_tone3:", ":tuxedo_tone4:": ":man_in_tuxedo_tone4:", ":tuxedo_tone5:": ":man_in_tuxedo_tone5:", ":tw:": ":flag_tw:", ":tz:": ":flag_tz:", ":ua:": ":flag_ua:", ":ug:": ":flag_ug:", ":um:": ":flag_um:", ":umbrella_on_ground:": ":beach_umbrella:", ":unicorn_face:": ":unicorn:", ":upside_down_face:": ":upside_down:", ":us:": ":flag_us:", ":uy:": ":flag_uy:", ":uz:": ":flag_uz:", ":va:": ":flag_va:", ":vc:": ":flag_vc:", ":ve:": ":flag_ve:", ":vg:": ":flag_vg:", ":vi:": ":flag_vi:", ":vn:": ":flag_vn:", ":vu:": ":flag_vu:", ":waving_black_flag:": ":flag_black:", ":waving_white_flag:": ":flag_white:", ":weight_lifter:": ":lifter:", ":weight_lifter_tone1:": ":lifter_tone1:", ":weight_lifter_tone2:": ":lifter_tone2:", ":weight_lifter_tone3:": ":lifter_tone3:", ":weight_lifter_tone4:": ":lifter_tone4:", ":weight_lifter_tone5:": ":lifter_tone5:", ":wf:": ":flag_wf:", ":whisky:": ":tumbler_glass:", ":white_frowning_face:": ":frowning2:", ":white_sun_behind_cloud:": ":white_sun_cloud:", ":white_sun_behind_cloud_with_rain:": ":white_sun_rain_cloud:", ":white_sun_with_small_cloud:": ":white_sun_small_cloud:", ":wilted_flower:": ":wilted_rose:", ":world_map:": ":map:", ":worship_symbol:": ":place_of_worship:", ":wrestling:": ":wrestlers:", ":wrestling_tone1:": ":wrestlers_tone1:", ":wrestling_tone2:": ":wrestlers_tone2:", ":wrestling_tone3:": ":wrestlers_tone3:", ":wrestling_tone4:": ":wrestlers_tone4:", ":wrestling_tone5:": ":wrestlers_tone5:", ":ws:": ":flag_ws:", ":xk:": ":flag_xk:", ":ye:": ":flag_ye:", ":yt:": ":flag_yt:", ":za:": ":flag_za:", ":zipper_mouth_face:": ":zipper_mouth:", ":zm:": ":flag_zm:", ":zw:": ":flag_zw:" } pymdown-extensions-10.9/pymdownx/escapeall.py000066400000000000000000000066361465124271600215500ustar00rootroot00000000000000""" EscapeAll. pymdownx.escapeall Escape everything. MIT license. Copyright (c) 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.inlinepatterns import InlineProcessor, SubstituteTagInlineProcessor from markdown import util as md_util from . import util # We need to ignore these as they are used in Markdown processing STX = '\u0002' ETX = '\u0003' ESCAPE_RE = r'\\(.)' ESCAPE_NO_NL_RE = r'\\([^\n])' HARDBREAK_RE = r'\\\n' class EscapeAllPattern(InlineProcessor): """Return an escaped character.""" def __init__(self, pattern, nbsp, md): """Initialize.""" self.nbsp = nbsp InlineProcessor.__init__(self, pattern, md) def handleMatch(self, m, data): """Convert the char to an escaped character.""" char = m.group(1) if char in ('<', '>', '&'): if char == '<': char = '<' elif char == '>': char = '>' elif char == '&': char = '&' escape = self.md.htmlStash.store(char) elif self.nbsp and char == ' ': escape = self.md.htmlStash.store(' ') elif char in (STX, ETX): escape = char else: escape = '{}{}{}'.format(md_util.STX, util.get_ord(char), md_util.ETX) return escape, m.start(0), m.end(0) class EscapeAllExtension(Extension): """Extension that allows you to escape everything.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'hardbreak': [ False, "Turn escaped newlines to hardbreaks - Default: False" ], 'nbsp': [ False, "Turn escaped spaces to non-breaking spaces - Default: False" ] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Escape all.""" config = self.getConfigs() hardbreak = config['hardbreak'] md.inlinePatterns.register( EscapeAllPattern(ESCAPE_NO_NL_RE if hardbreak else ESCAPE_RE, config['nbsp'], md), "escape", 180 ) if config['hardbreak']: md.inlinePatterns.register(SubstituteTagInlineProcessor(HARDBREAK_RE, 'br'), "hardbreak", 5.1) def makeExtension(*args, **kwargs): """Return extension.""" return EscapeAllExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/extra.py000066400000000000000000000042651465124271600207360ustar00rootroot00000000000000""" Extra. pymdown.extra A wrapper that emulate PHP Markdown Extra. Re-packages Python Markdowns 'extra' extensions, but substitutes a few extensions with PyMdown extensions: - fenced_code --> superfences - smartstrong --> betterem MIT license. Copyright (c) 2015 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension extra_extensions = [ 'pymdownx.betterem', 'pymdownx.superfences', 'markdown.extensions.footnotes', 'markdown.extensions.attr_list', 'markdown.extensions.def_list', 'markdown.extensions.tables', 'markdown.extensions.abbr', 'markdown.extensions.md_in_html' ] extra_extension_configs = {} class ExtraExtension(Extension): """Add various extensions to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = kwargs.pop('configs', {}) self.config.update(extra_extension_configs) self.config.update(kwargs) def extendMarkdown(self, md): """Register extension instances.""" md.registerExtensions(extra_extensions, self.config) def makeExtension(*args, **kwargs): """Return extension.""" return ExtraExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/gemoji_db.py000066400000000000000000007645741465124271600215520ustar00rootroot00000000000000"""Gemoji autogen. Generated from gemoji source. Do not edit by hand. Copyright (c) 2019 GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ version = "v4.1.0" name = "gemoji" emoji = { ":+1:": { "category": "People & Body", "name": "thumbs up", "unicode": "1f44d" }, ":-1:": { "category": "People & Body", "name": "thumbs down", "unicode": "1f44e" }, ":100:": { "category": "Smileys & Emotion", "name": "hundred points", "unicode": "1f4af" }, ":1234:": { "category": "Symbols", "name": "input numbers", "unicode": "1f522" }, ":1st_place_medal:": { "category": "Activities", "name": "1st place medal", "unicode": "1f947" }, ":2nd_place_medal:": { "category": "Activities", "name": "2nd place medal", "unicode": "1f948" }, ":3rd_place_medal:": { "category": "Activities", "name": "3rd place medal", "unicode": "1f949" }, ":8ball:": { "category": "Activities", "name": "pool 8 ball", "unicode": "1f3b1" }, ":a:": { "category": "Symbols", "name": "A button (blood type)", "unicode": "1f170", "unicode_alt": "1f170-fe0f" }, ":ab:": { "category": "Symbols", "name": "AB button (blood type)", "unicode": "1f18e" }, ":abacus:": { "category": "Objects", "name": "abacus", "unicode": "1f9ee" }, ":abc:": { "category": "Symbols", "name": "input latin letters", "unicode": "1f524" }, ":abcd:": { "category": "Symbols", "name": "input latin lowercase", "unicode": "1f521" }, ":accept:": { "category": "Symbols", "name": "Japanese \u201cacceptable\u201d button", "unicode": "1f251" }, ":accordion:": { "category": "Objects", "name": "accordion", "unicode": "1fa97" }, ":adhesive_bandage:": { "category": "Objects", "name": "adhesive bandage", "unicode": "1fa79" }, ":adult:": { "category": "People & Body", "name": "person", "unicode": "1f9d1" }, ":aerial_tramway:": { "category": "Travel & Places", "name": "aerial tramway", "unicode": "1f6a1" }, ":afghanistan:": { "category": "Flags", "name": "flag: Afghanistan", "unicode": "1f1e6-1f1eb" }, ":airplane:": { "category": "Travel & Places", "name": "airplane", "unicode": "2708", "unicode_alt": "2708-fe0f" }, ":aland_islands:": { "category": "Flags", "name": "flag: \u00c5land Islands", "unicode": "1f1e6-1f1fd" }, ":alarm_clock:": { "category": "Travel & Places", "name": "alarm clock", "unicode": "23f0" }, ":albania:": { "category": "Flags", "name": "flag: Albania", "unicode": "1f1e6-1f1f1" }, ":alembic:": { "category": "Objects", "name": "alembic", "unicode": "2697", "unicode_alt": "2697-fe0f" }, ":algeria:": { "category": "Flags", "name": "flag: Algeria", "unicode": "1f1e9-1f1ff" }, ":alien:": { "category": "Smileys & Emotion", "name": "alien", "unicode": "1f47d" }, ":ambulance:": { "category": "Travel & Places", "name": "ambulance", "unicode": "1f691" }, ":american_samoa:": { "category": "Flags", "name": "flag: American Samoa", "unicode": "1f1e6-1f1f8" }, ":amphora:": { "category": "Food & Drink", "name": "amphora", "unicode": "1f3fa" }, ":anatomical_heart:": { "category": "People & Body", "name": "anatomical heart", "unicode": "1fac0" }, ":anchor:": { "category": "Travel & Places", "name": "anchor", "unicode": "2693" }, ":andorra:": { "category": "Flags", "name": "flag: Andorra", "unicode": "1f1e6-1f1e9" }, ":angel:": { "category": "People & Body", "name": "baby angel", "unicode": "1f47c" }, ":anger:": { "category": "Smileys & Emotion", "name": "anger symbol", "unicode": "1f4a2" }, ":angola:": { "category": "Flags", "name": "flag: Angola", "unicode": "1f1e6-1f1f4" }, ":angry:": { "category": "Smileys & Emotion", "name": "angry face", "unicode": "1f620" }, ":anguilla:": { "category": "Flags", "name": "flag: Anguilla", "unicode": "1f1e6-1f1ee" }, ":anguished:": { "category": "Smileys & Emotion", "name": "anguished face", "unicode": "1f627" }, ":ant:": { "category": "Animals & Nature", "name": "ant", "unicode": "1f41c" }, ":antarctica:": { "category": "Flags", "name": "flag: Antarctica", "unicode": "1f1e6-1f1f6" }, ":antigua_barbuda:": { "category": "Flags", "name": "flag: Antigua & Barbuda", "unicode": "1f1e6-1f1ec" }, ":apple:": { "category": "Food & Drink", "name": "red apple", "unicode": "1f34e" }, ":aquarius:": { "category": "Symbols", "name": "Aquarius", "unicode": "2652" }, ":argentina:": { "category": "Flags", "name": "flag: Argentina", "unicode": "1f1e6-1f1f7" }, ":aries:": { "category": "Symbols", "name": "Aries", "unicode": "2648" }, ":armenia:": { "category": "Flags", "name": "flag: Armenia", "unicode": "1f1e6-1f1f2" }, ":arrow_backward:": { "category": "Symbols", "name": "reverse button", "unicode": "25c0", "unicode_alt": "25c0-fe0f" }, ":arrow_double_down:": { "category": "Symbols", "name": "fast down button", "unicode": "23ec" }, ":arrow_double_up:": { "category": "Symbols", "name": "fast up button", "unicode": "23eb" }, ":arrow_down:": { "category": "Symbols", "name": "down arrow", "unicode": "2b07", "unicode_alt": "2b07-fe0f" }, ":arrow_down_small:": { "category": "Symbols", "name": "downwards button", "unicode": "1f53d" }, ":arrow_forward:": { "category": "Symbols", "name": "play button", "unicode": "25b6", "unicode_alt": "25b6-fe0f" }, ":arrow_heading_down:": { "category": "Symbols", "name": "right arrow curving down", "unicode": "2935", "unicode_alt": "2935-fe0f" }, ":arrow_heading_up:": { "category": "Symbols", "name": "right arrow curving up", "unicode": "2934", "unicode_alt": "2934-fe0f" }, ":arrow_left:": { "category": "Symbols", "name": "left arrow", "unicode": "2b05", "unicode_alt": "2b05-fe0f" }, ":arrow_lower_left:": { "category": "Symbols", "name": "down-left arrow", "unicode": "2199", "unicode_alt": "2199-fe0f" }, ":arrow_lower_right:": { "category": "Symbols", "name": "down-right arrow", "unicode": "2198", "unicode_alt": "2198-fe0f" }, ":arrow_right:": { "category": "Symbols", "name": "right arrow", "unicode": "27a1", "unicode_alt": "27a1-fe0f" }, ":arrow_right_hook:": { "category": "Symbols", "name": "left arrow curving right", "unicode": "21aa", "unicode_alt": "21aa-fe0f" }, ":arrow_up:": { "category": "Symbols", "name": "up arrow", "unicode": "2b06", "unicode_alt": "2b06-fe0f" }, ":arrow_up_down:": { "category": "Symbols", "name": "up-down arrow", "unicode": "2195", "unicode_alt": "2195-fe0f" }, ":arrow_up_small:": { "category": "Symbols", "name": "upwards button", "unicode": "1f53c" }, ":arrow_upper_left:": { "category": "Symbols", "name": "up-left arrow", "unicode": "2196", "unicode_alt": "2196-fe0f" }, ":arrow_upper_right:": { "category": "Symbols", "name": "up-right arrow", "unicode": "2197", "unicode_alt": "2197-fe0f" }, ":arrows_clockwise:": { "category": "Symbols", "name": "clockwise vertical arrows", "unicode": "1f503" }, ":arrows_counterclockwise:": { "category": "Symbols", "name": "counterclockwise arrows button", "unicode": "1f504" }, ":art:": { "category": "Activities", "name": "artist palette", "unicode": "1f3a8" }, ":articulated_lorry:": { "category": "Travel & Places", "name": "articulated lorry", "unicode": "1f69b" }, ":artificial_satellite:": { "category": "Travel & Places", "name": "satellite", "unicode": "1f6f0", "unicode_alt": "1f6f0-fe0f" }, ":artist:": { "category": "People & Body", "name": "artist", "unicode": "1f9d1-1f3a8", "unicode_alt": "1f9d1-200d-1f3a8" }, ":aruba:": { "category": "Flags", "name": "flag: Aruba", "unicode": "1f1e6-1f1fc" }, ":ascension_island:": { "category": "Flags", "name": "flag: Ascension Island", "unicode": "1f1e6-1f1e8" }, ":asterisk:": { "category": "Symbols", "name": "keycap: *", "unicode": "002a-20e3", "unicode_alt": "002a-fe0f-20e3" }, ":astonished:": { "category": "Smileys & Emotion", "name": "astonished face", "unicode": "1f632" }, ":astronaut:": { "category": "People & Body", "name": "astronaut", "unicode": "1f9d1-1f680", "unicode_alt": "1f9d1-200d-1f680" }, ":athletic_shoe:": { "category": "Objects", "name": "running shoe", "unicode": "1f45f" }, ":atm:": { "category": "Symbols", "name": "ATM sign", "unicode": "1f3e7" }, ":atom_symbol:": { "category": "Symbols", "name": "atom symbol", "unicode": "269b", "unicode_alt": "269b-fe0f" }, ":australia:": { "category": "Flags", "name": "flag: Australia", "unicode": "1f1e6-1f1fa" }, ":austria:": { "category": "Flags", "name": "flag: Austria", "unicode": "1f1e6-1f1f9" }, ":auto_rickshaw:": { "category": "Travel & Places", "name": "auto rickshaw", "unicode": "1f6fa" }, ":avocado:": { "category": "Food & Drink", "name": "avocado", "unicode": "1f951" }, ":axe:": { "category": "Objects", "name": "axe", "unicode": "1fa93" }, ":azerbaijan:": { "category": "Flags", "name": "flag: Azerbaijan", "unicode": "1f1e6-1f1ff" }, ":b:": { "category": "Symbols", "name": "B button (blood type)", "unicode": "1f171", "unicode_alt": "1f171-fe0f" }, ":baby:": { "category": "People & Body", "name": "baby", "unicode": "1f476" }, ":baby_bottle:": { "category": "Food & Drink", "name": "baby bottle", "unicode": "1f37c" }, ":baby_chick:": { "category": "Animals & Nature", "name": "baby chick", "unicode": "1f424" }, ":baby_symbol:": { "category": "Symbols", "name": "baby symbol", "unicode": "1f6bc" }, ":back:": { "category": "Symbols", "name": "BACK arrow", "unicode": "1f519" }, ":bacon:": { "category": "Food & Drink", "name": "bacon", "unicode": "1f953" }, ":badger:": { "category": "Animals & Nature", "name": "badger", "unicode": "1f9a1" }, ":badminton:": { "category": "Activities", "name": "badminton", "unicode": "1f3f8" }, ":bagel:": { "category": "Food & Drink", "name": "bagel", "unicode": "1f96f" }, ":baggage_claim:": { "category": "Symbols", "name": "baggage claim", "unicode": "1f6c4" }, ":baguette_bread:": { "category": "Food & Drink", "name": "baguette bread", "unicode": "1f956" }, ":bahamas:": { "category": "Flags", "name": "flag: Bahamas", "unicode": "1f1e7-1f1f8" }, ":bahrain:": { "category": "Flags", "name": "flag: Bahrain", "unicode": "1f1e7-1f1ed" }, ":balance_scale:": { "category": "Objects", "name": "balance scale", "unicode": "2696", "unicode_alt": "2696-fe0f" }, ":bald_man:": { "category": "People & Body", "name": "man: bald", "unicode": "1f468-1f9b2", "unicode_alt": "1f468-200d-1f9b2" }, ":bald_woman:": { "category": "People & Body", "name": "woman: bald", "unicode": "1f469-1f9b2", "unicode_alt": "1f469-200d-1f9b2" }, ":ballet_shoes:": { "category": "Objects", "name": "ballet shoes", "unicode": "1fa70" }, ":balloon:": { "category": "Activities", "name": "balloon", "unicode": "1f388" }, ":ballot_box:": { "category": "Objects", "name": "ballot box with ballot", "unicode": "1f5f3", "unicode_alt": "1f5f3-fe0f" }, ":ballot_box_with_check:": { "category": "Symbols", "name": "check box with check", "unicode": "2611", "unicode_alt": "2611-fe0f" }, ":bamboo:": { "category": "Activities", "name": "pine decoration", "unicode": "1f38d" }, ":banana:": { "category": "Food & Drink", "name": "banana", "unicode": "1f34c" }, ":bangbang:": { "category": "Symbols", "name": "double exclamation mark", "unicode": "203c", "unicode_alt": "203c-fe0f" }, ":bangladesh:": { "category": "Flags", "name": "flag: Bangladesh", "unicode": "1f1e7-1f1e9" }, ":banjo:": { "category": "Objects", "name": "banjo", "unicode": "1fa95" }, ":bank:": { "category": "Travel & Places", "name": "bank", "unicode": "1f3e6" }, ":bar_chart:": { "category": "Objects", "name": "bar chart", "unicode": "1f4ca" }, ":barbados:": { "category": "Flags", "name": "flag: Barbados", "unicode": "1f1e7-1f1e7" }, ":barber:": { "category": "Travel & Places", "name": "barber pole", "unicode": "1f488" }, ":baseball:": { "category": "Activities", "name": "baseball", "unicode": "26be" }, ":basket:": { "category": "Objects", "name": "basket", "unicode": "1f9fa" }, ":basketball:": { "category": "Activities", "name": "basketball", "unicode": "1f3c0" }, ":bat:": { "category": "Animals & Nature", "name": "bat", "unicode": "1f987" }, ":bath:": { "category": "People & Body", "name": "person taking bath", "unicode": "1f6c0" }, ":bathtub:": { "category": "Objects", "name": "bathtub", "unicode": "1f6c1" }, ":battery:": { "category": "Objects", "name": "battery", "unicode": "1f50b" }, ":beach_umbrella:": { "category": "Travel & Places", "name": "beach with umbrella", "unicode": "1f3d6", "unicode_alt": "1f3d6-fe0f" }, ":beans:": { "category": "Food & Drink", "name": "beans", "unicode": "1fad8" }, ":bear:": { "category": "Animals & Nature", "name": "bear", "unicode": "1f43b" }, ":bearded_person:": { "category": "People & Body", "name": "person: beard", "unicode": "1f9d4" }, ":beaver:": { "category": "Animals & Nature", "name": "beaver", "unicode": "1f9ab" }, ":bed:": { "category": "Objects", "name": "bed", "unicode": "1f6cf", "unicode_alt": "1f6cf-fe0f" }, ":bee:": { "category": "Animals & Nature", "name": "honeybee", "unicode": "1f41d" }, ":beer:": { "category": "Food & Drink", "name": "beer mug", "unicode": "1f37a" }, ":beers:": { "category": "Food & Drink", "name": "clinking beer mugs", "unicode": "1f37b" }, ":beetle:": { "category": "Animals & Nature", "name": "beetle", "unicode": "1fab2" }, ":beginner:": { "category": "Symbols", "name": "Japanese symbol for beginner", "unicode": "1f530" }, ":belarus:": { "category": "Flags", "name": "flag: Belarus", "unicode": "1f1e7-1f1fe" }, ":belgium:": { "category": "Flags", "name": "flag: Belgium", "unicode": "1f1e7-1f1ea" }, ":belize:": { "category": "Flags", "name": "flag: Belize", "unicode": "1f1e7-1f1ff" }, ":bell:": { "category": "Objects", "name": "bell", "unicode": "1f514" }, ":bell_pepper:": { "category": "Food & Drink", "name": "bell pepper", "unicode": "1fad1" }, ":bellhop_bell:": { "category": "Travel & Places", "name": "bellhop bell", "unicode": "1f6ce", "unicode_alt": "1f6ce-fe0f" }, ":benin:": { "category": "Flags", "name": "flag: Benin", "unicode": "1f1e7-1f1ef" }, ":bento:": { "category": "Food & Drink", "name": "bento box", "unicode": "1f371" }, ":bermuda:": { "category": "Flags", "name": "flag: Bermuda", "unicode": "1f1e7-1f1f2" }, ":beverage_box:": { "category": "Food & Drink", "name": "beverage box", "unicode": "1f9c3" }, ":bhutan:": { "category": "Flags", "name": "flag: Bhutan", "unicode": "1f1e7-1f1f9" }, ":bicyclist:": { "category": "People & Body", "name": "person biking", "unicode": "1f6b4" }, ":bike:": { "category": "Travel & Places", "name": "bicycle", "unicode": "1f6b2" }, ":biking_man:": { "category": "People & Body", "name": "man biking", "unicode": "1f6b4-2642", "unicode_alt": "1f6b4-200d-2642-fe0f" }, ":biking_woman:": { "category": "People & Body", "name": "woman biking", "unicode": "1f6b4-2640", "unicode_alt": "1f6b4-200d-2640-fe0f" }, ":bikini:": { "category": "Objects", "name": "bikini", "unicode": "1f459" }, ":billed_cap:": { "category": "Objects", "name": "billed cap", "unicode": "1f9e2" }, ":biohazard:": { "category": "Symbols", "name": "biohazard", "unicode": "2623", "unicode_alt": "2623-fe0f" }, ":bird:": { "category": "Animals & Nature", "name": "bird", "unicode": "1f426" }, ":birthday:": { "category": "Food & Drink", "name": "birthday cake", "unicode": "1f382" }, ":bison:": { "category": "Animals & Nature", "name": "bison", "unicode": "1f9ac" }, ":biting_lip:": { "category": "People & Body", "name": "biting lip", "unicode": "1fae6" }, ":black_bird:": { "category": "Animals & Nature", "name": "black bird", "unicode": "1f426-2b1b", "unicode_alt": "1f426-200d-2b1b" }, ":black_cat:": { "category": "Animals & Nature", "name": "black cat", "unicode": "1f408-2b1b", "unicode_alt": "1f408-200d-2b1b" }, ":black_circle:": { "category": "Symbols", "name": "black circle", "unicode": "26ab" }, ":black_flag:": { "category": "Flags", "name": "black flag", "unicode": "1f3f4" }, ":black_heart:": { "category": "Smileys & Emotion", "name": "black heart", "unicode": "1f5a4" }, ":black_joker:": { "category": "Activities", "name": "joker", "unicode": "1f0cf" }, ":black_large_square:": { "category": "Symbols", "name": "black large square", "unicode": "2b1b" }, ":black_medium_small_square:": { "category": "Symbols", "name": "black medium-small square", "unicode": "25fe" }, ":black_medium_square:": { "category": "Symbols", "name": "black medium square", "unicode": "25fc", "unicode_alt": "25fc-fe0f" }, ":black_nib:": { "category": "Objects", "name": "black nib", "unicode": "2712", "unicode_alt": "2712-fe0f" }, ":black_small_square:": { "category": "Symbols", "name": "black small square", "unicode": "25aa", "unicode_alt": "25aa-fe0f" }, ":black_square_button:": { "category": "Symbols", "name": "black square button", "unicode": "1f532" }, ":blond_haired_man:": { "category": "People & Body", "name": "man: blond hair", "unicode": "1f471-2642", "unicode_alt": "1f471-200d-2642-fe0f" }, ":blond_haired_person:": { "category": "People & Body", "name": "person: blond hair", "unicode": "1f471" }, ":blond_haired_woman:": { "category": "People & Body", "name": "woman: blond hair", "unicode": "1f471-2640", "unicode_alt": "1f471-200d-2640-fe0f" }, ":blossom:": { "category": "Animals & Nature", "name": "blossom", "unicode": "1f33c" }, ":blowfish:": { "category": "Animals & Nature", "name": "blowfish", "unicode": "1f421" }, ":blue_book:": { "category": "Objects", "name": "blue book", "unicode": "1f4d8" }, ":blue_car:": { "category": "Travel & Places", "name": "sport utility vehicle", "unicode": "1f699" }, ":blue_heart:": { "category": "Smileys & Emotion", "name": "blue heart", "unicode": "1f499" }, ":blue_square:": { "category": "Symbols", "name": "blue square", "unicode": "1f7e6" }, ":blueberries:": { "category": "Food & Drink", "name": "blueberries", "unicode": "1fad0" }, ":blush:": { "category": "Smileys & Emotion", "name": "smiling face with smiling eyes", "unicode": "1f60a" }, ":boar:": { "category": "Animals & Nature", "name": "boar", "unicode": "1f417" }, ":boat:": { "category": "Travel & Places", "name": "sailboat", "unicode": "26f5" }, ":bolivia:": { "category": "Flags", "name": "flag: Bolivia", "unicode": "1f1e7-1f1f4" }, ":bomb:": { "category": "Objects", "name": "bomb", "unicode": "1f4a3" }, ":bone:": { "category": "People & Body", "name": "bone", "unicode": "1f9b4" }, ":book:": { "category": "Objects", "name": "open book", "unicode": "1f4d6" }, ":bookmark:": { "category": "Objects", "name": "bookmark", "unicode": "1f516" }, ":bookmark_tabs:": { "category": "Objects", "name": "bookmark tabs", "unicode": "1f4d1" }, ":books:": { "category": "Objects", "name": "books", "unicode": "1f4da" }, ":boom:": { "category": "Smileys & Emotion", "name": "collision", "unicode": "1f4a5" }, ":boomerang:": { "category": "Objects", "name": "boomerang", "unicode": "1fa83" }, ":boot:": { "category": "Objects", "name": "woman\u2019s boot", "unicode": "1f462" }, ":bosnia_herzegovina:": { "category": "Flags", "name": "flag: Bosnia & Herzegovina", "unicode": "1f1e7-1f1e6" }, ":botswana:": { "category": "Flags", "name": "flag: Botswana", "unicode": "1f1e7-1f1fc" }, ":bouncing_ball_man:": { "category": "People & Body", "name": "man bouncing ball", "unicode": "26f9-2642", "unicode_alt": "26f9-fe0f-200d-2642-fe0f" }, ":bouncing_ball_person:": { "category": "People & Body", "name": "person bouncing ball", "unicode": "26f9", "unicode_alt": "26f9-fe0f" }, ":bouncing_ball_woman:": { "category": "People & Body", "name": "woman bouncing ball", "unicode": "26f9-2640", "unicode_alt": "26f9-fe0f-200d-2640-fe0f" }, ":bouquet:": { "category": "Animals & Nature", "name": "bouquet", "unicode": "1f490" }, ":bouvet_island:": { "category": "Flags", "name": "flag: Bouvet Island", "unicode": "1f1e7-1f1fb" }, ":bow:": { "category": "People & Body", "name": "person bowing", "unicode": "1f647" }, ":bow_and_arrow:": { "category": "Objects", "name": "bow and arrow", "unicode": "1f3f9" }, ":bowing_man:": { "category": "People & Body", "name": "man bowing", "unicode": "1f647-2642", "unicode_alt": "1f647-200d-2642-fe0f" }, ":bowing_woman:": { "category": "People & Body", "name": "woman bowing", "unicode": "1f647-2640", "unicode_alt": "1f647-200d-2640-fe0f" }, ":bowl_with_spoon:": { "category": "Food & Drink", "name": "bowl with spoon", "unicode": "1f963" }, ":bowling:": { "category": "Activities", "name": "bowling", "unicode": "1f3b3" }, ":boxing_glove:": { "category": "Activities", "name": "boxing glove", "unicode": "1f94a" }, ":boy:": { "category": "People & Body", "name": "boy", "unicode": "1f466" }, ":brain:": { "category": "People & Body", "name": "brain", "unicode": "1f9e0" }, ":brazil:": { "category": "Flags", "name": "flag: Brazil", "unicode": "1f1e7-1f1f7" }, ":bread:": { "category": "Food & Drink", "name": "bread", "unicode": "1f35e" }, ":breast_feeding:": { "category": "People & Body", "name": "breast-feeding", "unicode": "1f931" }, ":bricks:": { "category": "Travel & Places", "name": "brick", "unicode": "1f9f1" }, ":bridge_at_night:": { "category": "Travel & Places", "name": "bridge at night", "unicode": "1f309" }, ":briefcase:": { "category": "Objects", "name": "briefcase", "unicode": "1f4bc" }, ":british_indian_ocean_territory:": { "category": "Flags", "name": "flag: British Indian Ocean Territory", "unicode": "1f1ee-1f1f4" }, ":british_virgin_islands:": { "category": "Flags", "name": "flag: British Virgin Islands", "unicode": "1f1fb-1f1ec" }, ":broccoli:": { "category": "Food & Drink", "name": "broccoli", "unicode": "1f966" }, ":broken_heart:": { "category": "Smileys & Emotion", "name": "broken heart", "unicode": "1f494" }, ":broom:": { "category": "Objects", "name": "broom", "unicode": "1f9f9" }, ":brown_circle:": { "category": "Symbols", "name": "brown circle", "unicode": "1f7e4" }, ":brown_heart:": { "category": "Smileys & Emotion", "name": "brown heart", "unicode": "1f90e" }, ":brown_square:": { "category": "Symbols", "name": "brown square", "unicode": "1f7eb" }, ":brunei:": { "category": "Flags", "name": "flag: Brunei", "unicode": "1f1e7-1f1f3" }, ":bubble_tea:": { "category": "Food & Drink", "name": "bubble tea", "unicode": "1f9cb" }, ":bubbles:": { "category": "Objects", "name": "bubbles", "unicode": "1fae7" }, ":bucket:": { "category": "Objects", "name": "bucket", "unicode": "1faa3" }, ":bug:": { "category": "Animals & Nature", "name": "bug", "unicode": "1f41b" }, ":building_construction:": { "category": "Travel & Places", "name": "building construction", "unicode": "1f3d7", "unicode_alt": "1f3d7-fe0f" }, ":bulb:": { "category": "Objects", "name": "light bulb", "unicode": "1f4a1" }, ":bulgaria:": { "category": "Flags", "name": "flag: Bulgaria", "unicode": "1f1e7-1f1ec" }, ":bullettrain_front:": { "category": "Travel & Places", "name": "bullet train", "unicode": "1f685" }, ":bullettrain_side:": { "category": "Travel & Places", "name": "high-speed train", "unicode": "1f684" }, ":burkina_faso:": { "category": "Flags", "name": "flag: Burkina Faso", "unicode": "1f1e7-1f1eb" }, ":burrito:": { "category": "Food & Drink", "name": "burrito", "unicode": "1f32f" }, ":burundi:": { "category": "Flags", "name": "flag: Burundi", "unicode": "1f1e7-1f1ee" }, ":bus:": { "category": "Travel & Places", "name": "bus", "unicode": "1f68c" }, ":business_suit_levitating:": { "category": "People & Body", "name": "person in suit levitating", "unicode": "1f574", "unicode_alt": "1f574-fe0f" }, ":busstop:": { "category": "Travel & Places", "name": "bus stop", "unicode": "1f68f" }, ":bust_in_silhouette:": { "category": "People & Body", "name": "bust in silhouette", "unicode": "1f464" }, ":busts_in_silhouette:": { "category": "People & Body", "name": "busts in silhouette", "unicode": "1f465" }, ":butter:": { "category": "Food & Drink", "name": "butter", "unicode": "1f9c8" }, ":butterfly:": { "category": "Animals & Nature", "name": "butterfly", "unicode": "1f98b" }, ":cactus:": { "category": "Animals & Nature", "name": "cactus", "unicode": "1f335" }, ":cake:": { "category": "Food & Drink", "name": "shortcake", "unicode": "1f370" }, ":calendar:": { "category": "Objects", "name": "tear-off calendar", "unicode": "1f4c6" }, ":call_me_hand:": { "category": "People & Body", "name": "call me hand", "unicode": "1f919" }, ":calling:": { "category": "Objects", "name": "mobile phone with arrow", "unicode": "1f4f2" }, ":cambodia:": { "category": "Flags", "name": "flag: Cambodia", "unicode": "1f1f0-1f1ed" }, ":camel:": { "category": "Animals & Nature", "name": "two-hump camel", "unicode": "1f42b" }, ":camera:": { "category": "Objects", "name": "camera", "unicode": "1f4f7" }, ":camera_flash:": { "category": "Objects", "name": "camera with flash", "unicode": "1f4f8" }, ":cameroon:": { "category": "Flags", "name": "flag: Cameroon", "unicode": "1f1e8-1f1f2" }, ":camping:": { "category": "Travel & Places", "name": "camping", "unicode": "1f3d5", "unicode_alt": "1f3d5-fe0f" }, ":canada:": { "category": "Flags", "name": "flag: Canada", "unicode": "1f1e8-1f1e6" }, ":canary_islands:": { "category": "Flags", "name": "flag: Canary Islands", "unicode": "1f1ee-1f1e8" }, ":cancer:": { "category": "Symbols", "name": "Cancer", "unicode": "264b" }, ":candle:": { "category": "Objects", "name": "candle", "unicode": "1f56f", "unicode_alt": "1f56f-fe0f" }, ":candy:": { "category": "Food & Drink", "name": "candy", "unicode": "1f36c" }, ":canned_food:": { "category": "Food & Drink", "name": "canned food", "unicode": "1f96b" }, ":canoe:": { "category": "Travel & Places", "name": "canoe", "unicode": "1f6f6" }, ":cape_verde:": { "category": "Flags", "name": "flag: Cape Verde", "unicode": "1f1e8-1f1fb" }, ":capital_abcd:": { "category": "Symbols", "name": "input latin uppercase", "unicode": "1f520" }, ":capricorn:": { "category": "Symbols", "name": "Capricorn", "unicode": "2651" }, ":car:": { "category": "Travel & Places", "name": "automobile", "unicode": "1f697" }, ":card_file_box:": { "category": "Objects", "name": "card file box", "unicode": "1f5c3", "unicode_alt": "1f5c3-fe0f" }, ":card_index:": { "category": "Objects", "name": "card index", "unicode": "1f4c7" }, ":card_index_dividers:": { "category": "Objects", "name": "card index dividers", "unicode": "1f5c2", "unicode_alt": "1f5c2-fe0f" }, ":caribbean_netherlands:": { "category": "Flags", "name": "flag: Caribbean Netherlands", "unicode": "1f1e7-1f1f6" }, ":carousel_horse:": { "category": "Travel & Places", "name": "carousel horse", "unicode": "1f3a0" }, ":carpentry_saw:": { "category": "Objects", "name": "carpentry saw", "unicode": "1fa9a" }, ":carrot:": { "category": "Food & Drink", "name": "carrot", "unicode": "1f955" }, ":cartwheeling:": { "category": "People & Body", "name": "person cartwheeling", "unicode": "1f938" }, ":cat2:": { "category": "Animals & Nature", "name": "cat", "unicode": "1f408" }, ":cat:": { "category": "Animals & Nature", "name": "cat face", "unicode": "1f431" }, ":cayman_islands:": { "category": "Flags", "name": "flag: Cayman Islands", "unicode": "1f1f0-1f1fe" }, ":cd:": { "category": "Objects", "name": "optical disk", "unicode": "1f4bf" }, ":central_african_republic:": { "category": "Flags", "name": "flag: Central African Republic", "unicode": "1f1e8-1f1eb" }, ":ceuta_melilla:": { "category": "Flags", "name": "flag: Ceuta & Melilla", "unicode": "1f1ea-1f1e6" }, ":chad:": { "category": "Flags", "name": "flag: Chad", "unicode": "1f1f9-1f1e9" }, ":chains:": { "category": "Objects", "name": "chains", "unicode": "26d3", "unicode_alt": "26d3-fe0f" }, ":chair:": { "category": "Objects", "name": "chair", "unicode": "1fa91" }, ":champagne:": { "category": "Food & Drink", "name": "bottle with popping cork", "unicode": "1f37e" }, ":chart:": { "category": "Objects", "name": "chart increasing with yen", "unicode": "1f4b9" }, ":chart_with_downwards_trend:": { "category": "Objects", "name": "chart decreasing", "unicode": "1f4c9" }, ":chart_with_upwards_trend:": { "category": "Objects", "name": "chart increasing", "unicode": "1f4c8" }, ":checkered_flag:": { "category": "Flags", "name": "chequered flag", "unicode": "1f3c1" }, ":cheese:": { "category": "Food & Drink", "name": "cheese wedge", "unicode": "1f9c0" }, ":cherries:": { "category": "Food & Drink", "name": "cherries", "unicode": "1f352" }, ":cherry_blossom:": { "category": "Animals & Nature", "name": "cherry blossom", "unicode": "1f338" }, ":chess_pawn:": { "category": "Activities", "name": "chess pawn", "unicode": "265f", "unicode_alt": "265f-fe0f" }, ":chestnut:": { "category": "Food & Drink", "name": "chestnut", "unicode": "1f330" }, ":chicken:": { "category": "Animals & Nature", "name": "chicken", "unicode": "1f414" }, ":child:": { "category": "People & Body", "name": "child", "unicode": "1f9d2" }, ":children_crossing:": { "category": "Symbols", "name": "children crossing", "unicode": "1f6b8" }, ":chile:": { "category": "Flags", "name": "flag: Chile", "unicode": "1f1e8-1f1f1" }, ":chipmunk:": { "category": "Animals & Nature", "name": "chipmunk", "unicode": "1f43f", "unicode_alt": "1f43f-fe0f" }, ":chocolate_bar:": { "category": "Food & Drink", "name": "chocolate bar", "unicode": "1f36b" }, ":chopsticks:": { "category": "Food & Drink", "name": "chopsticks", "unicode": "1f962" }, ":christmas_island:": { "category": "Flags", "name": "flag: Christmas Island", "unicode": "1f1e8-1f1fd" }, ":christmas_tree:": { "category": "Activities", "name": "Christmas tree", "unicode": "1f384" }, ":church:": { "category": "Travel & Places", "name": "church", "unicode": "26ea" }, ":cinema:": { "category": "Symbols", "name": "cinema", "unicode": "1f3a6" }, ":circus_tent:": { "category": "Travel & Places", "name": "circus tent", "unicode": "1f3aa" }, ":city_sunrise:": { "category": "Travel & Places", "name": "sunset", "unicode": "1f307" }, ":city_sunset:": { "category": "Travel & Places", "name": "cityscape at dusk", "unicode": "1f306" }, ":cityscape:": { "category": "Travel & Places", "name": "cityscape", "unicode": "1f3d9", "unicode_alt": "1f3d9-fe0f" }, ":cl:": { "category": "Symbols", "name": "CL button", "unicode": "1f191" }, ":clamp:": { "category": "Objects", "name": "clamp", "unicode": "1f5dc", "unicode_alt": "1f5dc-fe0f" }, ":clap:": { "category": "People & Body", "name": "clapping hands", "unicode": "1f44f" }, ":clapper:": { "category": "Objects", "name": "clapper board", "unicode": "1f3ac" }, ":classical_building:": { "category": "Travel & Places", "name": "classical building", "unicode": "1f3db", "unicode_alt": "1f3db-fe0f" }, ":climbing:": { "category": "People & Body", "name": "person climbing", "unicode": "1f9d7" }, ":climbing_man:": { "category": "People & Body", "name": "man climbing", "unicode": "1f9d7-2642", "unicode_alt": "1f9d7-200d-2642-fe0f" }, ":climbing_woman:": { "category": "People & Body", "name": "woman climbing", "unicode": "1f9d7-2640", "unicode_alt": "1f9d7-200d-2640-fe0f" }, ":clinking_glasses:": { "category": "Food & Drink", "name": "clinking glasses", "unicode": "1f942" }, ":clipboard:": { "category": "Objects", "name": "clipboard", "unicode": "1f4cb" }, ":clipperton_island:": { "category": "Flags", "name": "flag: Clipperton Island", "unicode": "1f1e8-1f1f5" }, ":clock1030:": { "category": "Travel & Places", "name": "ten-thirty", "unicode": "1f565" }, ":clock10:": { "category": "Travel & Places", "name": "ten o\u2019clock", "unicode": "1f559" }, ":clock1130:": { "category": "Travel & Places", "name": "eleven-thirty", "unicode": "1f566" }, ":clock11:": { "category": "Travel & Places", "name": "eleven o\u2019clock", "unicode": "1f55a" }, ":clock1230:": { "category": "Travel & Places", "name": "twelve-thirty", "unicode": "1f567" }, ":clock12:": { "category": "Travel & Places", "name": "twelve o\u2019clock", "unicode": "1f55b" }, ":clock130:": { "category": "Travel & Places", "name": "one-thirty", "unicode": "1f55c" }, ":clock1:": { "category": "Travel & Places", "name": "one o\u2019clock", "unicode": "1f550" }, ":clock230:": { "category": "Travel & Places", "name": "two-thirty", "unicode": "1f55d" }, ":clock2:": { "category": "Travel & Places", "name": "two o\u2019clock", "unicode": "1f551" }, ":clock330:": { "category": "Travel & Places", "name": "three-thirty", "unicode": "1f55e" }, ":clock3:": { "category": "Travel & Places", "name": "three o\u2019clock", "unicode": "1f552" }, ":clock430:": { "category": "Travel & Places", "name": "four-thirty", "unicode": "1f55f" }, ":clock4:": { "category": "Travel & Places", "name": "four o\u2019clock", "unicode": "1f553" }, ":clock530:": { "category": "Travel & Places", "name": "five-thirty", "unicode": "1f560" }, ":clock5:": { "category": "Travel & Places", "name": "five o\u2019clock", "unicode": "1f554" }, ":clock630:": { "category": "Travel & Places", "name": "six-thirty", "unicode": "1f561" }, ":clock6:": { "category": "Travel & Places", "name": "six o\u2019clock", "unicode": "1f555" }, ":clock730:": { "category": "Travel & Places", "name": "seven-thirty", "unicode": "1f562" }, ":clock7:": { "category": "Travel & Places", "name": "seven o\u2019clock", "unicode": "1f556" }, ":clock830:": { "category": "Travel & Places", "name": "eight-thirty", "unicode": "1f563" }, ":clock8:": { "category": "Travel & Places", "name": "eight o\u2019clock", "unicode": "1f557" }, ":clock930:": { "category": "Travel & Places", "name": "nine-thirty", "unicode": "1f564" }, ":clock9:": { "category": "Travel & Places", "name": "nine o\u2019clock", "unicode": "1f558" }, ":closed_book:": { "category": "Objects", "name": "closed book", "unicode": "1f4d5" }, ":closed_lock_with_key:": { "category": "Objects", "name": "locked with key", "unicode": "1f510" }, ":closed_umbrella:": { "category": "Travel & Places", "name": "closed umbrella", "unicode": "1f302" }, ":cloud:": { "category": "Travel & Places", "name": "cloud", "unicode": "2601", "unicode_alt": "2601-fe0f" }, ":cloud_with_lightning:": { "category": "Travel & Places", "name": "cloud with lightning", "unicode": "1f329", "unicode_alt": "1f329-fe0f" }, ":cloud_with_lightning_and_rain:": { "category": "Travel & Places", "name": "cloud with lightning and rain", "unicode": "26c8", "unicode_alt": "26c8-fe0f" }, ":cloud_with_rain:": { "category": "Travel & Places", "name": "cloud with rain", "unicode": "1f327", "unicode_alt": "1f327-fe0f" }, ":cloud_with_snow:": { "category": "Travel & Places", "name": "cloud with snow", "unicode": "1f328", "unicode_alt": "1f328-fe0f" }, ":clown_face:": { "category": "Smileys & Emotion", "name": "clown face", "unicode": "1f921" }, ":clubs:": { "category": "Activities", "name": "club suit", "unicode": "2663", "unicode_alt": "2663-fe0f" }, ":cn:": { "category": "Flags", "name": "flag: China", "unicode": "1f1e8-1f1f3" }, ":coat:": { "category": "Objects", "name": "coat", "unicode": "1f9e5" }, ":cockroach:": { "category": "Animals & Nature", "name": "cockroach", "unicode": "1fab3" }, ":cocktail:": { "category": "Food & Drink", "name": "cocktail glass", "unicode": "1f378" }, ":coconut:": { "category": "Food & Drink", "name": "coconut", "unicode": "1f965" }, ":cocos_islands:": { "category": "Flags", "name": "flag: Cocos (Keeling) Islands", "unicode": "1f1e8-1f1e8" }, ":coffee:": { "category": "Food & Drink", "name": "hot beverage", "unicode": "2615" }, ":coffin:": { "category": "Objects", "name": "coffin", "unicode": "26b0", "unicode_alt": "26b0-fe0f" }, ":coin:": { "category": "Objects", "name": "coin", "unicode": "1fa99" }, ":cold_face:": { "category": "Smileys & Emotion", "name": "cold face", "unicode": "1f976" }, ":cold_sweat:": { "category": "Smileys & Emotion", "name": "anxious face with sweat", "unicode": "1f630" }, ":colombia:": { "category": "Flags", "name": "flag: Colombia", "unicode": "1f1e8-1f1f4" }, ":comet:": { "category": "Travel & Places", "name": "comet", "unicode": "2604", "unicode_alt": "2604-fe0f" }, ":comoros:": { "category": "Flags", "name": "flag: Comoros", "unicode": "1f1f0-1f1f2" }, ":compass:": { "category": "Travel & Places", "name": "compass", "unicode": "1f9ed" }, ":computer:": { "category": "Objects", "name": "laptop", "unicode": "1f4bb" }, ":computer_mouse:": { "category": "Objects", "name": "computer mouse", "unicode": "1f5b1", "unicode_alt": "1f5b1-fe0f" }, ":confetti_ball:": { "category": "Activities", "name": "confetti ball", "unicode": "1f38a" }, ":confounded:": { "category": "Smileys & Emotion", "name": "confounded face", "unicode": "1f616" }, ":confused:": { "category": "Smileys & Emotion", "name": "confused face", "unicode": "1f615" }, ":congo_brazzaville:": { "category": "Flags", "name": "flag: Congo - Brazzaville", "unicode": "1f1e8-1f1ec" }, ":congo_kinshasa:": { "category": "Flags", "name": "flag: Congo - Kinshasa", "unicode": "1f1e8-1f1e9" }, ":congratulations:": { "category": "Symbols", "name": "Japanese \u201ccongratulations\u201d button", "unicode": "3297", "unicode_alt": "3297-fe0f" }, ":construction:": { "category": "Travel & Places", "name": "construction", "unicode": "1f6a7" }, ":construction_worker:": { "category": "People & Body", "name": "construction worker", "unicode": "1f477" }, ":construction_worker_man:": { "category": "People & Body", "name": "man construction worker", "unicode": "1f477-2642", "unicode_alt": "1f477-200d-2642-fe0f" }, ":construction_worker_woman:": { "category": "People & Body", "name": "woman construction worker", "unicode": "1f477-2640", "unicode_alt": "1f477-200d-2640-fe0f" }, ":control_knobs:": { "category": "Objects", "name": "control knobs", "unicode": "1f39b", "unicode_alt": "1f39b-fe0f" }, ":convenience_store:": { "category": "Travel & Places", "name": "convenience store", "unicode": "1f3ea" }, ":cook:": { "category": "People & Body", "name": "cook", "unicode": "1f9d1-1f373", "unicode_alt": "1f9d1-200d-1f373" }, ":cook_islands:": { "category": "Flags", "name": "flag: Cook Islands", "unicode": "1f1e8-1f1f0" }, ":cookie:": { "category": "Food & Drink", "name": "cookie", "unicode": "1f36a" }, ":cool:": { "category": "Symbols", "name": "COOL button", "unicode": "1f192" }, ":copyright:": { "category": "Symbols", "name": "copyright", "unicode": "00a9", "unicode_alt": "00a9-fe0f" }, ":coral:": { "category": "Animals & Nature", "name": "coral", "unicode": "1fab8" }, ":corn:": { "category": "Food & Drink", "name": "ear of corn", "unicode": "1f33d" }, ":costa_rica:": { "category": "Flags", "name": "flag: Costa Rica", "unicode": "1f1e8-1f1f7" }, ":cote_divoire:": { "category": "Flags", "name": "flag: C\u00f4te d\u2019Ivoire", "unicode": "1f1e8-1f1ee" }, ":couch_and_lamp:": { "category": "Objects", "name": "couch and lamp", "unicode": "1f6cb", "unicode_alt": "1f6cb-fe0f" }, ":couple:": { "category": "People & Body", "name": "woman and man holding hands", "unicode": "1f46b" }, ":couple_with_heart:": { "category": "People & Body", "name": "couple with heart", "unicode": "1f491" }, ":couple_with_heart_man_man:": { "category": "People & Body", "name": "couple with heart: man, man", "unicode": "1f468-2764-1f468", "unicode_alt": "1f468-200d-2764-fe0f-200d-1f468" }, ":couple_with_heart_woman_man:": { "category": "People & Body", "name": "couple with heart: woman, man", "unicode": "1f469-2764-1f468", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f468" }, ":couple_with_heart_woman_woman:": { "category": "People & Body", "name": "couple with heart: woman, woman", "unicode": "1f469-2764-1f469", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f469" }, ":couplekiss:": { "category": "People & Body", "name": "kiss", "unicode": "1f48f" }, ":couplekiss_man_man:": { "category": "People & Body", "name": "kiss: man, man", "unicode": "1f468-2764-1f48b-1f468", "unicode_alt": "1f468-200d-2764-fe0f-200d-1f48b-200d-1f468" }, ":couplekiss_man_woman:": { "category": "People & Body", "name": "kiss: woman, man", "unicode": "1f469-2764-1f48b-1f468", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f468" }, ":couplekiss_woman_woman:": { "category": "People & Body", "name": "kiss: woman, woman", "unicode": "1f469-2764-1f48b-1f469", "unicode_alt": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f469" }, ":cow2:": { "category": "Animals & Nature", "name": "cow", "unicode": "1f404" }, ":cow:": { "category": "Animals & Nature", "name": "cow face", "unicode": "1f42e" }, ":cowboy_hat_face:": { "category": "Smileys & Emotion", "name": "cowboy hat face", "unicode": "1f920" }, ":crab:": { "category": "Food & Drink", "name": "crab", "unicode": "1f980" }, ":crayon:": { "category": "Objects", "name": "crayon", "unicode": "1f58d", "unicode_alt": "1f58d-fe0f" }, ":credit_card:": { "category": "Objects", "name": "credit card", "unicode": "1f4b3" }, ":crescent_moon:": { "category": "Travel & Places", "name": "crescent moon", "unicode": "1f319" }, ":cricket:": { "category": "Animals & Nature", "name": "cricket", "unicode": "1f997" }, ":cricket_game:": { "category": "Activities", "name": "cricket game", "unicode": "1f3cf" }, ":croatia:": { "category": "Flags", "name": "flag: Croatia", "unicode": "1f1ed-1f1f7" }, ":crocodile:": { "category": "Animals & Nature", "name": "crocodile", "unicode": "1f40a" }, ":croissant:": { "category": "Food & Drink", "name": "croissant", "unicode": "1f950" }, ":crossed_fingers:": { "category": "People & Body", "name": "crossed fingers", "unicode": "1f91e" }, ":crossed_flags:": { "category": "Flags", "name": "crossed flags", "unicode": "1f38c" }, ":crossed_swords:": { "category": "Objects", "name": "crossed swords", "unicode": "2694", "unicode_alt": "2694-fe0f" }, ":crown:": { "category": "Objects", "name": "crown", "unicode": "1f451" }, ":crutch:": { "category": "Objects", "name": "crutch", "unicode": "1fa7c" }, ":cry:": { "category": "Smileys & Emotion", "name": "crying face", "unicode": "1f622" }, ":crying_cat_face:": { "category": "Smileys & Emotion", "name": "crying cat", "unicode": "1f63f" }, ":crystal_ball:": { "category": "Activities", "name": "crystal ball", "unicode": "1f52e" }, ":cuba:": { "category": "Flags", "name": "flag: Cuba", "unicode": "1f1e8-1f1fa" }, ":cucumber:": { "category": "Food & Drink", "name": "cucumber", "unicode": "1f952" }, ":cup_with_straw:": { "category": "Food & Drink", "name": "cup with straw", "unicode": "1f964" }, ":cupcake:": { "category": "Food & Drink", "name": "cupcake", "unicode": "1f9c1" }, ":cupid:": { "category": "Smileys & Emotion", "name": "heart with arrow", "unicode": "1f498" }, ":curacao:": { "category": "Flags", "name": "flag: Cura\u00e7ao", "unicode": "1f1e8-1f1fc" }, ":curling_stone:": { "category": "Activities", "name": "curling stone", "unicode": "1f94c" }, ":curly_haired_man:": { "category": "People & Body", "name": "man: curly hair", "unicode": "1f468-1f9b1", "unicode_alt": "1f468-200d-1f9b1" }, ":curly_haired_woman:": { "category": "People & Body", "name": "woman: curly hair", "unicode": "1f469-1f9b1", "unicode_alt": "1f469-200d-1f9b1" }, ":curly_loop:": { "category": "Symbols", "name": "curly loop", "unicode": "27b0" }, ":currency_exchange:": { "category": "Symbols", "name": "currency exchange", "unicode": "1f4b1" }, ":curry:": { "category": "Food & Drink", "name": "curry rice", "unicode": "1f35b" }, ":cursing_face:": { "category": "Smileys & Emotion", "name": "face with symbols on mouth", "unicode": "1f92c" }, ":custard:": { "category": "Food & Drink", "name": "custard", "unicode": "1f36e" }, ":customs:": { "category": "Symbols", "name": "customs", "unicode": "1f6c3" }, ":cut_of_meat:": { "category": "Food & Drink", "name": "cut of meat", "unicode": "1f969" }, ":cyclone:": { "category": "Travel & Places", "name": "cyclone", "unicode": "1f300" }, ":cyprus:": { "category": "Flags", "name": "flag: Cyprus", "unicode": "1f1e8-1f1fe" }, ":czech_republic:": { "category": "Flags", "name": "flag: Czechia", "unicode": "1f1e8-1f1ff" }, ":dagger:": { "category": "Objects", "name": "dagger", "unicode": "1f5e1", "unicode_alt": "1f5e1-fe0f" }, ":dancers:": { "category": "People & Body", "name": "people with bunny ears", "unicode": "1f46f" }, ":dancing_men:": { "category": "People & Body", "name": "men with bunny ears", "unicode": "1f46f-2642", "unicode_alt": "1f46f-200d-2642-fe0f" }, ":dancing_women:": { "category": "People & Body", "name": "women with bunny ears", "unicode": "1f46f-2640", "unicode_alt": "1f46f-200d-2640-fe0f" }, ":dango:": { "category": "Food & Drink", "name": "dango", "unicode": "1f361" }, ":dark_sunglasses:": { "category": "Objects", "name": "sunglasses", "unicode": "1f576", "unicode_alt": "1f576-fe0f" }, ":dart:": { "category": "Activities", "name": "bullseye", "unicode": "1f3af" }, ":dash:": { "category": "Smileys & Emotion", "name": "dashing away", "unicode": "1f4a8" }, ":date:": { "category": "Objects", "name": "calendar", "unicode": "1f4c5" }, ":de:": { "category": "Flags", "name": "flag: Germany", "unicode": "1f1e9-1f1ea" }, ":deaf_man:": { "category": "People & Body", "name": "deaf man", "unicode": "1f9cf-2642", "unicode_alt": "1f9cf-200d-2642-fe0f" }, ":deaf_person:": { "category": "People & Body", "name": "deaf person", "unicode": "1f9cf" }, ":deaf_woman:": { "category": "People & Body", "name": "deaf woman", "unicode": "1f9cf-2640", "unicode_alt": "1f9cf-200d-2640-fe0f" }, ":deciduous_tree:": { "category": "Animals & Nature", "name": "deciduous tree", "unicode": "1f333" }, ":deer:": { "category": "Animals & Nature", "name": "deer", "unicode": "1f98c" }, ":denmark:": { "category": "Flags", "name": "flag: Denmark", "unicode": "1f1e9-1f1f0" }, ":department_store:": { "category": "Travel & Places", "name": "department store", "unicode": "1f3ec" }, ":derelict_house:": { "category": "Travel & Places", "name": "derelict house", "unicode": "1f3da", "unicode_alt": "1f3da-fe0f" }, ":desert:": { "category": "Travel & Places", "name": "desert", "unicode": "1f3dc", "unicode_alt": "1f3dc-fe0f" }, ":desert_island:": { "category": "Travel & Places", "name": "desert island", "unicode": "1f3dd", "unicode_alt": "1f3dd-fe0f" }, ":desktop_computer:": { "category": "Objects", "name": "desktop computer", "unicode": "1f5a5", "unicode_alt": "1f5a5-fe0f" }, ":detective:": { "category": "People & Body", "name": "detective", "unicode": "1f575", "unicode_alt": "1f575-fe0f" }, ":diamond_shape_with_a_dot_inside:": { "category": "Symbols", "name": "diamond with a dot", "unicode": "1f4a0" }, ":diamonds:": { "category": "Activities", "name": "diamond suit", "unicode": "2666", "unicode_alt": "2666-fe0f" }, ":diego_garcia:": { "category": "Flags", "name": "flag: Diego Garcia", "unicode": "1f1e9-1f1ec" }, ":disappointed:": { "category": "Smileys & Emotion", "name": "disappointed face", "unicode": "1f61e" }, ":disappointed_relieved:": { "category": "Smileys & Emotion", "name": "sad but relieved face", "unicode": "1f625" }, ":disguised_face:": { "category": "Smileys & Emotion", "name": "disguised face", "unicode": "1f978" }, ":diving_mask:": { "category": "Activities", "name": "diving mask", "unicode": "1f93f" }, ":diya_lamp:": { "category": "Objects", "name": "diya lamp", "unicode": "1fa94" }, ":dizzy:": { "category": "Smileys & Emotion", "name": "dizzy", "unicode": "1f4ab" }, ":dizzy_face:": { "category": "Smileys & Emotion", "name": "face with crossed-out eyes", "unicode": "1f635" }, ":djibouti:": { "category": "Flags", "name": "flag: Djibouti", "unicode": "1f1e9-1f1ef" }, ":dna:": { "category": "Objects", "name": "dna", "unicode": "1f9ec" }, ":do_not_litter:": { "category": "Symbols", "name": "no littering", "unicode": "1f6af" }, ":dodo:": { "category": "Animals & Nature", "name": "dodo", "unicode": "1f9a4" }, ":dog2:": { "category": "Animals & Nature", "name": "dog", "unicode": "1f415" }, ":dog:": { "category": "Animals & Nature", "name": "dog face", "unicode": "1f436" }, ":dollar:": { "category": "Objects", "name": "dollar banknote", "unicode": "1f4b5" }, ":dolls:": { "category": "Activities", "name": "Japanese dolls", "unicode": "1f38e" }, ":dolphin:": { "category": "Animals & Nature", "name": "dolphin", "unicode": "1f42c" }, ":dominica:": { "category": "Flags", "name": "flag: Dominica", "unicode": "1f1e9-1f1f2" }, ":dominican_republic:": { "category": "Flags", "name": "flag: Dominican Republic", "unicode": "1f1e9-1f1f4" }, ":donkey:": { "category": "Animals & Nature", "name": "donkey", "unicode": "1facf" }, ":door:": { "category": "Objects", "name": "door", "unicode": "1f6aa" }, ":dotted_line_face:": { "category": "Smileys & Emotion", "name": "dotted line face", "unicode": "1fae5" }, ":doughnut:": { "category": "Food & Drink", "name": "doughnut", "unicode": "1f369" }, ":dove:": { "category": "Animals & Nature", "name": "dove", "unicode": "1f54a", "unicode_alt": "1f54a-fe0f" }, ":dragon:": { "category": "Animals & Nature", "name": "dragon", "unicode": "1f409" }, ":dragon_face:": { "category": "Animals & Nature", "name": "dragon face", "unicode": "1f432" }, ":dress:": { "category": "Objects", "name": "dress", "unicode": "1f457" }, ":dromedary_camel:": { "category": "Animals & Nature", "name": "camel", "unicode": "1f42a" }, ":drooling_face:": { "category": "Smileys & Emotion", "name": "drooling face", "unicode": "1f924" }, ":drop_of_blood:": { "category": "Objects", "name": "drop of blood", "unicode": "1fa78" }, ":droplet:": { "category": "Travel & Places", "name": "droplet", "unicode": "1f4a7" }, ":drum:": { "category": "Objects", "name": "drum", "unicode": "1f941" }, ":duck:": { "category": "Animals & Nature", "name": "duck", "unicode": "1f986" }, ":dumpling:": { "category": "Food & Drink", "name": "dumpling", "unicode": "1f95f" }, ":dvd:": { "category": "Objects", "name": "dvd", "unicode": "1f4c0" }, ":eagle:": { "category": "Animals & Nature", "name": "eagle", "unicode": "1f985" }, ":ear:": { "category": "People & Body", "name": "ear", "unicode": "1f442" }, ":ear_of_rice:": { "category": "Animals & Nature", "name": "sheaf of rice", "unicode": "1f33e" }, ":ear_with_hearing_aid:": { "category": "People & Body", "name": "ear with hearing aid", "unicode": "1f9bb" }, ":earth_africa:": { "category": "Travel & Places", "name": "globe showing Europe-Africa", "unicode": "1f30d" }, ":earth_americas:": { "category": "Travel & Places", "name": "globe showing Americas", "unicode": "1f30e" }, ":earth_asia:": { "category": "Travel & Places", "name": "globe showing Asia-Australia", "unicode": "1f30f" }, ":ecuador:": { "category": "Flags", "name": "flag: Ecuador", "unicode": "1f1ea-1f1e8" }, ":egg:": { "category": "Food & Drink", "name": "egg", "unicode": "1f95a" }, ":eggplant:": { "category": "Food & Drink", "name": "eggplant", "unicode": "1f346" }, ":egypt:": { "category": "Flags", "name": "flag: Egypt", "unicode": "1f1ea-1f1ec" }, ":eight:": { "category": "Symbols", "name": "keycap: 8", "unicode": "0038-20e3", "unicode_alt": "0038-fe0f-20e3" }, ":eight_pointed_black_star:": { "category": "Symbols", "name": "eight-pointed star", "unicode": "2734", "unicode_alt": "2734-fe0f" }, ":eight_spoked_asterisk:": { "category": "Symbols", "name": "eight-spoked asterisk", "unicode": "2733", "unicode_alt": "2733-fe0f" }, ":eject_button:": { "category": "Symbols", "name": "eject button", "unicode": "23cf", "unicode_alt": "23cf-fe0f" }, ":el_salvador:": { "category": "Flags", "name": "flag: El Salvador", "unicode": "1f1f8-1f1fb" }, ":electric_plug:": { "category": "Objects", "name": "electric plug", "unicode": "1f50c" }, ":elephant:": { "category": "Animals & Nature", "name": "elephant", "unicode": "1f418" }, ":elevator:": { "category": "Objects", "name": "elevator", "unicode": "1f6d7" }, ":elf:": { "category": "People & Body", "name": "elf", "unicode": "1f9dd" }, ":elf_man:": { "category": "People & Body", "name": "man elf", "unicode": "1f9dd-2642", "unicode_alt": "1f9dd-200d-2642-fe0f" }, ":elf_woman:": { "category": "People & Body", "name": "woman elf", "unicode": "1f9dd-2640", "unicode_alt": "1f9dd-200d-2640-fe0f" }, ":email:": { "category": "Objects", "name": "e-mail", "unicode": "1f4e7" }, ":empty_nest:": { "category": "Animals & Nature", "name": "empty nest", "unicode": "1fab9" }, ":end:": { "category": "Symbols", "name": "END arrow", "unicode": "1f51a" }, ":england:": { "category": "Flags", "name": "flag: England", "unicode": "1f3f4-e0067-e0062-e0065-e006e-e0067-e007f" }, ":envelope:": { "category": "Objects", "name": "envelope", "unicode": "2709", "unicode_alt": "2709-fe0f" }, ":envelope_with_arrow:": { "category": "Objects", "name": "envelope with arrow", "unicode": "1f4e9" }, ":equatorial_guinea:": { "category": "Flags", "name": "flag: Equatorial Guinea", "unicode": "1f1ec-1f1f6" }, ":eritrea:": { "category": "Flags", "name": "flag: Eritrea", "unicode": "1f1ea-1f1f7" }, ":es:": { "category": "Flags", "name": "flag: Spain", "unicode": "1f1ea-1f1f8" }, ":estonia:": { "category": "Flags", "name": "flag: Estonia", "unicode": "1f1ea-1f1ea" }, ":ethiopia:": { "category": "Flags", "name": "flag: Ethiopia", "unicode": "1f1ea-1f1f9" }, ":eu:": { "category": "Flags", "name": "flag: European Union", "unicode": "1f1ea-1f1fa" }, ":euro:": { "category": "Objects", "name": "euro banknote", "unicode": "1f4b6" }, ":european_castle:": { "category": "Travel & Places", "name": "castle", "unicode": "1f3f0" }, ":european_post_office:": { "category": "Travel & Places", "name": "post office", "unicode": "1f3e4" }, ":evergreen_tree:": { "category": "Animals & Nature", "name": "evergreen tree", "unicode": "1f332" }, ":exclamation:": { "category": "Symbols", "name": "red exclamation mark", "unicode": "2757" }, ":exploding_head:": { "category": "Smileys & Emotion", "name": "exploding head", "unicode": "1f92f" }, ":expressionless:": { "category": "Smileys & Emotion", "name": "expressionless face", "unicode": "1f611" }, ":eye:": { "category": "People & Body", "name": "eye", "unicode": "1f441", "unicode_alt": "1f441-fe0f" }, ":eye_speech_bubble:": { "category": "Smileys & Emotion", "name": "eye in speech bubble", "unicode": "1f441-1f5e8", "unicode_alt": "1f441-fe0f-200d-1f5e8-fe0f" }, ":eyeglasses:": { "category": "Objects", "name": "glasses", "unicode": "1f453" }, ":eyes:": { "category": "People & Body", "name": "eyes", "unicode": "1f440" }, ":face_exhaling:": { "category": "Smileys & Emotion", "name": "face exhaling", "unicode": "1f62e-1f4a8", "unicode_alt": "1f62e-200d-1f4a8" }, ":face_holding_back_tears:": { "category": "Smileys & Emotion", "name": "face holding back tears", "unicode": "1f979" }, ":face_in_clouds:": { "category": "Smileys & Emotion", "name": "face in clouds", "unicode": "1f636-1f32b", "unicode_alt": "1f636-200d-1f32b-fe0f" }, ":face_with_diagonal_mouth:": { "category": "Smileys & Emotion", "name": "face with diagonal mouth", "unicode": "1fae4" }, ":face_with_head_bandage:": { "category": "Smileys & Emotion", "name": "face with head-bandage", "unicode": "1f915" }, ":face_with_open_eyes_and_hand_over_mouth:": { "category": "Smileys & Emotion", "name": "face with open eyes and hand over mouth", "unicode": "1fae2" }, ":face_with_peeking_eye:": { "category": "Smileys & Emotion", "name": "face with peeking eye", "unicode": "1fae3" }, ":face_with_spiral_eyes:": { "category": "Smileys & Emotion", "name": "face with spiral eyes", "unicode": "1f635-1f4ab", "unicode_alt": "1f635-200d-1f4ab" }, ":face_with_thermometer:": { "category": "Smileys & Emotion", "name": "face with thermometer", "unicode": "1f912" }, ":facepalm:": { "category": "People & Body", "name": "person facepalming", "unicode": "1f926" }, ":factory:": { "category": "Travel & Places", "name": "factory", "unicode": "1f3ed" }, ":factory_worker:": { "category": "People & Body", "name": "factory worker", "unicode": "1f9d1-1f3ed", "unicode_alt": "1f9d1-200d-1f3ed" }, ":fairy:": { "category": "People & Body", "name": "fairy", "unicode": "1f9da" }, ":fairy_man:": { "category": "People & Body", "name": "man fairy", "unicode": "1f9da-2642", "unicode_alt": "1f9da-200d-2642-fe0f" }, ":fairy_woman:": { "category": "People & Body", "name": "woman fairy", "unicode": "1f9da-2640", "unicode_alt": "1f9da-200d-2640-fe0f" }, ":falafel:": { "category": "Food & Drink", "name": "falafel", "unicode": "1f9c6" }, ":falkland_islands:": { "category": "Flags", "name": "flag: Falkland Islands", "unicode": "1f1eb-1f1f0" }, ":fallen_leaf:": { "category": "Animals & Nature", "name": "fallen leaf", "unicode": "1f342" }, ":family:": { "category": "People & Body", "name": "family", "unicode": "1f46a" }, ":family_man_boy:": { "category": "People & Body", "name": "family: man, boy", "unicode": "1f468-1f466", "unicode_alt": "1f468-200d-1f466" }, ":family_man_boy_boy:": { "category": "People & Body", "name": "family: man, boy, boy", "unicode": "1f468-1f466-1f466", "unicode_alt": "1f468-200d-1f466-200d-1f466" }, ":family_man_girl:": { "category": "People & Body", "name": "family: man, girl", "unicode": "1f468-1f467", "unicode_alt": "1f468-200d-1f467" }, ":family_man_girl_boy:": { "category": "People & Body", "name": "family: man, girl, boy", "unicode": "1f468-1f467-1f466", "unicode_alt": "1f468-200d-1f467-200d-1f466" }, ":family_man_girl_girl:": { "category": "People & Body", "name": "family: man, girl, girl", "unicode": "1f468-1f467-1f467", "unicode_alt": "1f468-200d-1f467-200d-1f467" }, ":family_man_man_boy:": { "category": "People & Body", "name": "family: man, man, boy", "unicode": "1f468-1f468-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f466" }, ":family_man_man_boy_boy:": { "category": "People & Body", "name": "family: man, man, boy, boy", "unicode": "1f468-1f468-1f466-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f466-200d-1f466" }, ":family_man_man_girl:": { "category": "People & Body", "name": "family: man, man, girl", "unicode": "1f468-1f468-1f467", "unicode_alt": "1f468-200d-1f468-200d-1f467" }, ":family_man_man_girl_boy:": { "category": "People & Body", "name": "family: man, man, girl, boy", "unicode": "1f468-1f468-1f467-1f466", "unicode_alt": "1f468-200d-1f468-200d-1f467-200d-1f466" }, ":family_man_man_girl_girl:": { "category": "People & Body", "name": "family: man, man, girl, girl", "unicode": "1f468-1f468-1f467-1f467", "unicode_alt": "1f468-200d-1f468-200d-1f467-200d-1f467" }, ":family_man_woman_boy:": { "category": "People & Body", "name": "family: man, woman, boy", "unicode": "1f468-1f469-1f466", "unicode_alt": "1f468-200d-1f469-200d-1f466" }, ":family_man_woman_boy_boy:": { "category": "People & Body", "name": "family: man, woman, boy, boy", "unicode": "1f468-1f469-1f466-1f466", "unicode_alt": "1f468-200d-1f469-200d-1f466-200d-1f466" }, ":family_man_woman_girl:": { "category": "People & Body", "name": "family: man, woman, girl", "unicode": "1f468-1f469-1f467", "unicode_alt": "1f468-200d-1f469-200d-1f467" }, ":family_man_woman_girl_boy:": { "category": "People & Body", "name": "family: man, woman, girl, boy", "unicode": "1f468-1f469-1f467-1f466", "unicode_alt": "1f468-200d-1f469-200d-1f467-200d-1f466" }, ":family_man_woman_girl_girl:": { "category": "People & Body", "name": "family: man, woman, girl, girl", "unicode": "1f468-1f469-1f467-1f467", "unicode_alt": "1f468-200d-1f469-200d-1f467-200d-1f467" }, ":family_woman_boy:": { "category": "People & Body", "name": "family: woman, boy", "unicode": "1f469-1f466", "unicode_alt": "1f469-200d-1f466" }, ":family_woman_boy_boy:": { "category": "People & Body", "name": "family: woman, boy, boy", "unicode": "1f469-1f466-1f466", "unicode_alt": "1f469-200d-1f466-200d-1f466" }, ":family_woman_girl:": { "category": "People & Body", "name": "family: woman, girl", "unicode": "1f469-1f467", "unicode_alt": "1f469-200d-1f467" }, ":family_woman_girl_boy:": { "category": "People & Body", "name": "family: woman, girl, boy", "unicode": "1f469-1f467-1f466", "unicode_alt": "1f469-200d-1f467-200d-1f466" }, ":family_woman_girl_girl:": { "category": "People & Body", "name": "family: woman, girl, girl", "unicode": "1f469-1f467-1f467", "unicode_alt": "1f469-200d-1f467-200d-1f467" }, ":family_woman_woman_boy:": { "category": "People & Body", "name": "family: woman, woman, boy", "unicode": "1f469-1f469-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f466" }, ":family_woman_woman_boy_boy:": { "category": "People & Body", "name": "family: woman, woman, boy, boy", "unicode": "1f469-1f469-1f466-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f466-200d-1f466" }, ":family_woman_woman_girl:": { "category": "People & Body", "name": "family: woman, woman, girl", "unicode": "1f469-1f469-1f467", "unicode_alt": "1f469-200d-1f469-200d-1f467" }, ":family_woman_woman_girl_boy:": { "category": "People & Body", "name": "family: woman, woman, girl, boy", "unicode": "1f469-1f469-1f467-1f466", "unicode_alt": "1f469-200d-1f469-200d-1f467-200d-1f466" }, ":family_woman_woman_girl_girl:": { "category": "People & Body", "name": "family: woman, woman, girl, girl", "unicode": "1f469-1f469-1f467-1f467", "unicode_alt": "1f469-200d-1f469-200d-1f467-200d-1f467" }, ":farmer:": { "category": "People & Body", "name": "farmer", "unicode": "1f9d1-1f33e", "unicode_alt": "1f9d1-200d-1f33e" }, ":faroe_islands:": { "category": "Flags", "name": "flag: Faroe Islands", "unicode": "1f1eb-1f1f4" }, ":fast_forward:": { "category": "Symbols", "name": "fast-forward button", "unicode": "23e9" }, ":fax:": { "category": "Objects", "name": "fax machine", "unicode": "1f4e0" }, ":fearful:": { "category": "Smileys & Emotion", "name": "fearful face", "unicode": "1f628" }, ":feather:": { "category": "Animals & Nature", "name": "feather", "unicode": "1fab6" }, ":feet:": { "category": "Animals & Nature", "name": "paw prints", "unicode": "1f43e" }, ":female_detective:": { "category": "People & Body", "name": "woman detective", "unicode": "1f575-2640", "unicode_alt": "1f575-fe0f-200d-2640-fe0f" }, ":female_sign:": { "category": "Symbols", "name": "female sign", "unicode": "2640", "unicode_alt": "2640-fe0f" }, ":ferris_wheel:": { "category": "Travel & Places", "name": "ferris wheel", "unicode": "1f3a1" }, ":ferry:": { "category": "Travel & Places", "name": "ferry", "unicode": "26f4", "unicode_alt": "26f4-fe0f" }, ":field_hockey:": { "category": "Activities", "name": "field hockey", "unicode": "1f3d1" }, ":fiji:": { "category": "Flags", "name": "flag: Fiji", "unicode": "1f1eb-1f1ef" }, ":file_cabinet:": { "category": "Objects", "name": "file cabinet", "unicode": "1f5c4", "unicode_alt": "1f5c4-fe0f" }, ":file_folder:": { "category": "Objects", "name": "file folder", "unicode": "1f4c1" }, ":film_projector:": { "category": "Objects", "name": "film projector", "unicode": "1f4fd", "unicode_alt": "1f4fd-fe0f" }, ":film_strip:": { "category": "Objects", "name": "film frames", "unicode": "1f39e", "unicode_alt": "1f39e-fe0f" }, ":finland:": { "category": "Flags", "name": "flag: Finland", "unicode": "1f1eb-1f1ee" }, ":fire:": { "category": "Travel & Places", "name": "fire", "unicode": "1f525" }, ":fire_engine:": { "category": "Travel & Places", "name": "fire engine", "unicode": "1f692" }, ":fire_extinguisher:": { "category": "Objects", "name": "fire extinguisher", "unicode": "1f9ef" }, ":firecracker:": { "category": "Activities", "name": "firecracker", "unicode": "1f9e8" }, ":firefighter:": { "category": "People & Body", "name": "firefighter", "unicode": "1f9d1-1f692", "unicode_alt": "1f9d1-200d-1f692" }, ":fireworks:": { "category": "Activities", "name": "fireworks", "unicode": "1f386" }, ":first_quarter_moon:": { "category": "Travel & Places", "name": "first quarter moon", "unicode": "1f313" }, ":first_quarter_moon_with_face:": { "category": "Travel & Places", "name": "first quarter moon face", "unicode": "1f31b" }, ":fish:": { "category": "Animals & Nature", "name": "fish", "unicode": "1f41f" }, ":fish_cake:": { "category": "Food & Drink", "name": "fish cake with swirl", "unicode": "1f365" }, ":fishing_pole_and_fish:": { "category": "Activities", "name": "fishing pole", "unicode": "1f3a3" }, ":fist_left:": { "category": "People & Body", "name": "left-facing fist", "unicode": "1f91b" }, ":fist_oncoming:": { "category": "People & Body", "name": "oncoming fist", "unicode": "1f44a" }, ":fist_raised:": { "category": "People & Body", "name": "raised fist", "unicode": "270a" }, ":fist_right:": { "category": "People & Body", "name": "right-facing fist", "unicode": "1f91c" }, ":five:": { "category": "Symbols", "name": "keycap: 5", "unicode": "0035-20e3", "unicode_alt": "0035-fe0f-20e3" }, ":flags:": { "category": "Activities", "name": "carp streamer", "unicode": "1f38f" }, ":flamingo:": { "category": "Animals & Nature", "name": "flamingo", "unicode": "1f9a9" }, ":flashlight:": { "category": "Objects", "name": "flashlight", "unicode": "1f526" }, ":flat_shoe:": { "category": "Objects", "name": "flat shoe", "unicode": "1f97f" }, ":flatbread:": { "category": "Food & Drink", "name": "flatbread", "unicode": "1fad3" }, ":fleur_de_lis:": { "category": "Symbols", "name": "fleur-de-lis", "unicode": "269c", "unicode_alt": "269c-fe0f" }, ":flight_arrival:": { "category": "Travel & Places", "name": "airplane arrival", "unicode": "1f6ec" }, ":flight_departure:": { "category": "Travel & Places", "name": "airplane departure", "unicode": "1f6eb" }, ":floppy_disk:": { "category": "Objects", "name": "floppy disk", "unicode": "1f4be" }, ":flower_playing_cards:": { "category": "Activities", "name": "flower playing cards", "unicode": "1f3b4" }, ":flushed:": { "category": "Smileys & Emotion", "name": "flushed face", "unicode": "1f633" }, ":flute:": { "category": "Objects", "name": "flute", "unicode": "1fa88" }, ":fly:": { "category": "Animals & Nature", "name": "fly", "unicode": "1fab0" }, ":flying_disc:": { "category": "Activities", "name": "flying disc", "unicode": "1f94f" }, ":flying_saucer:": { "category": "Travel & Places", "name": "flying saucer", "unicode": "1f6f8" }, ":fog:": { "category": "Travel & Places", "name": "fog", "unicode": "1f32b", "unicode_alt": "1f32b-fe0f" }, ":foggy:": { "category": "Travel & Places", "name": "foggy", "unicode": "1f301" }, ":folding_hand_fan:": { "category": "Objects", "name": "folding hand fan", "unicode": "1faad" }, ":fondue:": { "category": "Food & Drink", "name": "fondue", "unicode": "1fad5" }, ":foot:": { "category": "People & Body", "name": "foot", "unicode": "1f9b6" }, ":football:": { "category": "Activities", "name": "american football", "unicode": "1f3c8" }, ":footprints:": { "category": "People & Body", "name": "footprints", "unicode": "1f463" }, ":fork_and_knife:": { "category": "Food & Drink", "name": "fork and knife", "unicode": "1f374" }, ":fortune_cookie:": { "category": "Food & Drink", "name": "fortune cookie", "unicode": "1f960" }, ":fountain:": { "category": "Travel & Places", "name": "fountain", "unicode": "26f2" }, ":fountain_pen:": { "category": "Objects", "name": "fountain pen", "unicode": "1f58b", "unicode_alt": "1f58b-fe0f" }, ":four:": { "category": "Symbols", "name": "keycap: 4", "unicode": "0034-20e3", "unicode_alt": "0034-fe0f-20e3" }, ":four_leaf_clover:": { "category": "Animals & Nature", "name": "four leaf clover", "unicode": "1f340" }, ":fox_face:": { "category": "Animals & Nature", "name": "fox", "unicode": "1f98a" }, ":fr:": { "category": "Flags", "name": "flag: France", "unicode": "1f1eb-1f1f7" }, ":framed_picture:": { "category": "Activities", "name": "framed picture", "unicode": "1f5bc", "unicode_alt": "1f5bc-fe0f" }, ":free:": { "category": "Symbols", "name": "FREE button", "unicode": "1f193" }, ":french_guiana:": { "category": "Flags", "name": "flag: French Guiana", "unicode": "1f1ec-1f1eb" }, ":french_polynesia:": { "category": "Flags", "name": "flag: French Polynesia", "unicode": "1f1f5-1f1eb" }, ":french_southern_territories:": { "category": "Flags", "name": "flag: French Southern Territories", "unicode": "1f1f9-1f1eb" }, ":fried_egg:": { "category": "Food & Drink", "name": "cooking", "unicode": "1f373" }, ":fried_shrimp:": { "category": "Food & Drink", "name": "fried shrimp", "unicode": "1f364" }, ":fries:": { "category": "Food & Drink", "name": "french fries", "unicode": "1f35f" }, ":frog:": { "category": "Animals & Nature", "name": "frog", "unicode": "1f438" }, ":frowning:": { "category": "Smileys & Emotion", "name": "frowning face with open mouth", "unicode": "1f626" }, ":frowning_face:": { "category": "Smileys & Emotion", "name": "frowning face", "unicode": "2639", "unicode_alt": "2639-fe0f" }, ":frowning_man:": { "category": "People & Body", "name": "man frowning", "unicode": "1f64d-2642", "unicode_alt": "1f64d-200d-2642-fe0f" }, ":frowning_person:": { "category": "People & Body", "name": "person frowning", "unicode": "1f64d" }, ":frowning_woman:": { "category": "People & Body", "name": "woman frowning", "unicode": "1f64d-2640", "unicode_alt": "1f64d-200d-2640-fe0f" }, ":fuelpump:": { "category": "Travel & Places", "name": "fuel pump", "unicode": "26fd" }, ":full_moon:": { "category": "Travel & Places", "name": "full moon", "unicode": "1f315" }, ":full_moon_with_face:": { "category": "Travel & Places", "name": "full moon face", "unicode": "1f31d" }, ":funeral_urn:": { "category": "Objects", "name": "funeral urn", "unicode": "26b1", "unicode_alt": "26b1-fe0f" }, ":gabon:": { "category": "Flags", "name": "flag: Gabon", "unicode": "1f1ec-1f1e6" }, ":gambia:": { "category": "Flags", "name": "flag: Gambia", "unicode": "1f1ec-1f1f2" }, ":game_die:": { "category": "Activities", "name": "game die", "unicode": "1f3b2" }, ":garlic:": { "category": "Food & Drink", "name": "garlic", "unicode": "1f9c4" }, ":gb:": { "category": "Flags", "name": "flag: United Kingdom", "unicode": "1f1ec-1f1e7" }, ":gear:": { "category": "Objects", "name": "gear", "unicode": "2699", "unicode_alt": "2699-fe0f" }, ":gem:": { "category": "Objects", "name": "gem stone", "unicode": "1f48e" }, ":gemini:": { "category": "Symbols", "name": "Gemini", "unicode": "264a" }, ":genie:": { "category": "People & Body", "name": "genie", "unicode": "1f9de" }, ":genie_man:": { "category": "People & Body", "name": "man genie", "unicode": "1f9de-2642", "unicode_alt": "1f9de-200d-2642-fe0f" }, ":genie_woman:": { "category": "People & Body", "name": "woman genie", "unicode": "1f9de-2640", "unicode_alt": "1f9de-200d-2640-fe0f" }, ":georgia:": { "category": "Flags", "name": "flag: Georgia", "unicode": "1f1ec-1f1ea" }, ":ghana:": { "category": "Flags", "name": "flag: Ghana", "unicode": "1f1ec-1f1ed" }, ":ghost:": { "category": "Smileys & Emotion", "name": "ghost", "unicode": "1f47b" }, ":gibraltar:": { "category": "Flags", "name": "flag: Gibraltar", "unicode": "1f1ec-1f1ee" }, ":gift:": { "category": "Activities", "name": "wrapped gift", "unicode": "1f381" }, ":gift_heart:": { "category": "Smileys & Emotion", "name": "heart with ribbon", "unicode": "1f49d" }, ":ginger_root:": { "category": "Food & Drink", "name": "ginger root", "unicode": "1fada" }, ":giraffe:": { "category": "Animals & Nature", "name": "giraffe", "unicode": "1f992" }, ":girl:": { "category": "People & Body", "name": "girl", "unicode": "1f467" }, ":globe_with_meridians:": { "category": "Travel & Places", "name": "globe with meridians", "unicode": "1f310" }, ":gloves:": { "category": "Objects", "name": "gloves", "unicode": "1f9e4" }, ":goal_net:": { "category": "Activities", "name": "goal net", "unicode": "1f945" }, ":goat:": { "category": "Animals & Nature", "name": "goat", "unicode": "1f410" }, ":goggles:": { "category": "Objects", "name": "goggles", "unicode": "1f97d" }, ":golf:": { "category": "Activities", "name": "flag in hole", "unicode": "26f3" }, ":golfing:": { "category": "People & Body", "name": "person golfing", "unicode": "1f3cc", "unicode_alt": "1f3cc-fe0f" }, ":golfing_man:": { "category": "People & Body", "name": "man golfing", "unicode": "1f3cc-2642", "unicode_alt": "1f3cc-fe0f-200d-2642-fe0f" }, ":golfing_woman:": { "category": "People & Body", "name": "woman golfing", "unicode": "1f3cc-2640", "unicode_alt": "1f3cc-fe0f-200d-2640-fe0f" }, ":goose:": { "category": "Animals & Nature", "name": "goose", "unicode": "1fabf" }, ":gorilla:": { "category": "Animals & Nature", "name": "gorilla", "unicode": "1f98d" }, ":grapes:": { "category": "Food & Drink", "name": "grapes", "unicode": "1f347" }, ":greece:": { "category": "Flags", "name": "flag: Greece", "unicode": "1f1ec-1f1f7" }, ":green_apple:": { "category": "Food & Drink", "name": "green apple", "unicode": "1f34f" }, ":green_book:": { "category": "Objects", "name": "green book", "unicode": "1f4d7" }, ":green_circle:": { "category": "Symbols", "name": "green circle", "unicode": "1f7e2" }, ":green_heart:": { "category": "Smileys & Emotion", "name": "green heart", "unicode": "1f49a" }, ":green_salad:": { "category": "Food & Drink", "name": "green salad", "unicode": "1f957" }, ":green_square:": { "category": "Symbols", "name": "green square", "unicode": "1f7e9" }, ":greenland:": { "category": "Flags", "name": "flag: Greenland", "unicode": "1f1ec-1f1f1" }, ":grenada:": { "category": "Flags", "name": "flag: Grenada", "unicode": "1f1ec-1f1e9" }, ":grey_exclamation:": { "category": "Symbols", "name": "white exclamation mark", "unicode": "2755" }, ":grey_heart:": { "category": "Smileys & Emotion", "name": "grey heart", "unicode": "1fa76" }, ":grey_question:": { "category": "Symbols", "name": "white question mark", "unicode": "2754" }, ":grimacing:": { "category": "Smileys & Emotion", "name": "grimacing face", "unicode": "1f62c" }, ":grin:": { "category": "Smileys & Emotion", "name": "beaming face with smiling eyes", "unicode": "1f601" }, ":grinning:": { "category": "Smileys & Emotion", "name": "grinning face", "unicode": "1f600" }, ":guadeloupe:": { "category": "Flags", "name": "flag: Guadeloupe", "unicode": "1f1ec-1f1f5" }, ":guam:": { "category": "Flags", "name": "flag: Guam", "unicode": "1f1ec-1f1fa" }, ":guard:": { "category": "People & Body", "name": "guard", "unicode": "1f482" }, ":guardsman:": { "category": "People & Body", "name": "man guard", "unicode": "1f482-2642", "unicode_alt": "1f482-200d-2642-fe0f" }, ":guardswoman:": { "category": "People & Body", "name": "woman guard", "unicode": "1f482-2640", "unicode_alt": "1f482-200d-2640-fe0f" }, ":guatemala:": { "category": "Flags", "name": "flag: Guatemala", "unicode": "1f1ec-1f1f9" }, ":guernsey:": { "category": "Flags", "name": "flag: Guernsey", "unicode": "1f1ec-1f1ec" }, ":guide_dog:": { "category": "Animals & Nature", "name": "guide dog", "unicode": "1f9ae" }, ":guinea:": { "category": "Flags", "name": "flag: Guinea", "unicode": "1f1ec-1f1f3" }, ":guinea_bissau:": { "category": "Flags", "name": "flag: Guinea-Bissau", "unicode": "1f1ec-1f1fc" }, ":guitar:": { "category": "Objects", "name": "guitar", "unicode": "1f3b8" }, ":gun:": { "category": "Activities", "name": "water pistol", "unicode": "1f52b" }, ":guyana:": { "category": "Flags", "name": "flag: Guyana", "unicode": "1f1ec-1f1fe" }, ":hair_pick:": { "category": "Objects", "name": "hair pick", "unicode": "1faae" }, ":haircut:": { "category": "People & Body", "name": "person getting haircut", "unicode": "1f487" }, ":haircut_man:": { "category": "People & Body", "name": "man getting haircut", "unicode": "1f487-2642", "unicode_alt": "1f487-200d-2642-fe0f" }, ":haircut_woman:": { "category": "People & Body", "name": "woman getting haircut", "unicode": "1f487-2640", "unicode_alt": "1f487-200d-2640-fe0f" }, ":haiti:": { "category": "Flags", "name": "flag: Haiti", "unicode": "1f1ed-1f1f9" }, ":hamburger:": { "category": "Food & Drink", "name": "hamburger", "unicode": "1f354" }, ":hammer:": { "category": "Objects", "name": "hammer", "unicode": "1f528" }, ":hammer_and_pick:": { "category": "Objects", "name": "hammer and pick", "unicode": "2692", "unicode_alt": "2692-fe0f" }, ":hammer_and_wrench:": { "category": "Objects", "name": "hammer and wrench", "unicode": "1f6e0", "unicode_alt": "1f6e0-fe0f" }, ":hamsa:": { "category": "Objects", "name": "hamsa", "unicode": "1faac" }, ":hamster:": { "category": "Animals & Nature", "name": "hamster", "unicode": "1f439" }, ":hand:": { "category": "People & Body", "name": "raised hand", "unicode": "270b" }, ":hand_over_mouth:": { "category": "Smileys & Emotion", "name": "face with hand over mouth", "unicode": "1f92d" }, ":hand_with_index_finger_and_thumb_crossed:": { "category": "People & Body", "name": "hand with index finger and thumb crossed", "unicode": "1faf0" }, ":handbag:": { "category": "Objects", "name": "handbag", "unicode": "1f45c" }, ":handball_person:": { "category": "People & Body", "name": "person playing handball", "unicode": "1f93e" }, ":handshake:": { "category": "People & Body", "name": "handshake", "unicode": "1f91d" }, ":hankey:": { "category": "Smileys & Emotion", "name": "pile of poo", "unicode": "1f4a9" }, ":hash:": { "category": "Symbols", "name": "keycap: #", "unicode": "0023-20e3", "unicode_alt": "0023-fe0f-20e3" }, ":hatched_chick:": { "category": "Animals & Nature", "name": "front-facing baby chick", "unicode": "1f425" }, ":hatching_chick:": { "category": "Animals & Nature", "name": "hatching chick", "unicode": "1f423" }, ":headphones:": { "category": "Objects", "name": "headphone", "unicode": "1f3a7" }, ":headstone:": { "category": "Objects", "name": "headstone", "unicode": "1faa6" }, ":health_worker:": { "category": "People & Body", "name": "health worker", "unicode": "1f9d1-2695", "unicode_alt": "1f9d1-200d-2695-fe0f" }, ":hear_no_evil:": { "category": "Smileys & Emotion", "name": "hear-no-evil monkey", "unicode": "1f649" }, ":heard_mcdonald_islands:": { "category": "Flags", "name": "flag: Heard & McDonald Islands", "unicode": "1f1ed-1f1f2" }, ":heart:": { "category": "Smileys & Emotion", "name": "red heart", "unicode": "2764", "unicode_alt": "2764-fe0f" }, ":heart_decoration:": { "category": "Smileys & Emotion", "name": "heart decoration", "unicode": "1f49f" }, ":heart_eyes:": { "category": "Smileys & Emotion", "name": "smiling face with heart-eyes", "unicode": "1f60d" }, ":heart_eyes_cat:": { "category": "Smileys & Emotion", "name": "smiling cat with heart-eyes", "unicode": "1f63b" }, ":heart_hands:": { "category": "People & Body", "name": "heart hands", "unicode": "1faf6" }, ":heart_on_fire:": { "category": "Smileys & Emotion", "name": "heart on fire", "unicode": "2764-1f525", "unicode_alt": "2764-fe0f-200d-1f525" }, ":heartbeat:": { "category": "Smileys & Emotion", "name": "beating heart", "unicode": "1f493" }, ":heartpulse:": { "category": "Smileys & Emotion", "name": "growing heart", "unicode": "1f497" }, ":hearts:": { "category": "Activities", "name": "heart suit", "unicode": "2665", "unicode_alt": "2665-fe0f" }, ":heavy_check_mark:": { "category": "Symbols", "name": "check mark", "unicode": "2714", "unicode_alt": "2714-fe0f" }, ":heavy_division_sign:": { "category": "Symbols", "name": "divide", "unicode": "2797" }, ":heavy_dollar_sign:": { "category": "Symbols", "name": "heavy dollar sign", "unicode": "1f4b2" }, ":heavy_equals_sign:": { "category": "Symbols", "name": "heavy equals sign", "unicode": "1f7f0" }, ":heavy_heart_exclamation:": { "category": "Smileys & Emotion", "name": "heart exclamation", "unicode": "2763", "unicode_alt": "2763-fe0f" }, ":heavy_minus_sign:": { "category": "Symbols", "name": "minus", "unicode": "2796" }, ":heavy_multiplication_x:": { "category": "Symbols", "name": "multiply", "unicode": "2716", "unicode_alt": "2716-fe0f" }, ":heavy_plus_sign:": { "category": "Symbols", "name": "plus", "unicode": "2795" }, ":hedgehog:": { "category": "Animals & Nature", "name": "hedgehog", "unicode": "1f994" }, ":helicopter:": { "category": "Travel & Places", "name": "helicopter", "unicode": "1f681" }, ":herb:": { "category": "Animals & Nature", "name": "herb", "unicode": "1f33f" }, ":hibiscus:": { "category": "Animals & Nature", "name": "hibiscus", "unicode": "1f33a" }, ":high_brightness:": { "category": "Symbols", "name": "bright button", "unicode": "1f506" }, ":high_heel:": { "category": "Objects", "name": "high-heeled shoe", "unicode": "1f460" }, ":hiking_boot:": { "category": "Objects", "name": "hiking boot", "unicode": "1f97e" }, ":hindu_temple:": { "category": "Travel & Places", "name": "hindu temple", "unicode": "1f6d5" }, ":hippopotamus:": { "category": "Animals & Nature", "name": "hippopotamus", "unicode": "1f99b" }, ":hocho:": { "category": "Food & Drink", "name": "kitchen knife", "unicode": "1f52a" }, ":hole:": { "category": "Smileys & Emotion", "name": "hole", "unicode": "1f573", "unicode_alt": "1f573-fe0f" }, ":honduras:": { "category": "Flags", "name": "flag: Honduras", "unicode": "1f1ed-1f1f3" }, ":honey_pot:": { "category": "Food & Drink", "name": "honey pot", "unicode": "1f36f" }, ":hong_kong:": { "category": "Flags", "name": "flag: Hong Kong SAR China", "unicode": "1f1ed-1f1f0" }, ":hook:": { "category": "Objects", "name": "hook", "unicode": "1fa9d" }, ":horse:": { "category": "Animals & Nature", "name": "horse face", "unicode": "1f434" }, ":horse_racing:": { "category": "People & Body", "name": "horse racing", "unicode": "1f3c7" }, ":hospital:": { "category": "Travel & Places", "name": "hospital", "unicode": "1f3e5" }, ":hot_face:": { "category": "Smileys & Emotion", "name": "hot face", "unicode": "1f975" }, ":hot_pepper:": { "category": "Food & Drink", "name": "hot pepper", "unicode": "1f336", "unicode_alt": "1f336-fe0f" }, ":hotdog:": { "category": "Food & Drink", "name": "hot dog", "unicode": "1f32d" }, ":hotel:": { "category": "Travel & Places", "name": "hotel", "unicode": "1f3e8" }, ":hotsprings:": { "category": "Travel & Places", "name": "hot springs", "unicode": "2668", "unicode_alt": "2668-fe0f" }, ":hourglass:": { "category": "Travel & Places", "name": "hourglass done", "unicode": "231b" }, ":hourglass_flowing_sand:": { "category": "Travel & Places", "name": "hourglass not done", "unicode": "23f3" }, ":house:": { "category": "Travel & Places", "name": "house", "unicode": "1f3e0" }, ":house_with_garden:": { "category": "Travel & Places", "name": "house with garden", "unicode": "1f3e1" }, ":houses:": { "category": "Travel & Places", "name": "houses", "unicode": "1f3d8", "unicode_alt": "1f3d8-fe0f" }, ":hugs:": { "category": "Smileys & Emotion", "name": "smiling face with open hands", "unicode": "1f917" }, ":hungary:": { "category": "Flags", "name": "flag: Hungary", "unicode": "1f1ed-1f1fa" }, ":hushed:": { "category": "Smileys & Emotion", "name": "hushed face", "unicode": "1f62f" }, ":hut:": { "category": "Travel & Places", "name": "hut", "unicode": "1f6d6" }, ":hyacinth:": { "category": "Animals & Nature", "name": "hyacinth", "unicode": "1fabb" }, ":ice_cream:": { "category": "Food & Drink", "name": "ice cream", "unicode": "1f368" }, ":ice_cube:": { "category": "Food & Drink", "name": "ice", "unicode": "1f9ca" }, ":ice_hockey:": { "category": "Activities", "name": "ice hockey", "unicode": "1f3d2" }, ":ice_skate:": { "category": "Activities", "name": "ice skate", "unicode": "26f8", "unicode_alt": "26f8-fe0f" }, ":icecream:": { "category": "Food & Drink", "name": "soft ice cream", "unicode": "1f366" }, ":iceland:": { "category": "Flags", "name": "flag: Iceland", "unicode": "1f1ee-1f1f8" }, ":id:": { "category": "Symbols", "name": "ID button", "unicode": "1f194" }, ":identification_card:": { "category": "Objects", "name": "identification card", "unicode": "1faaa" }, ":ideograph_advantage:": { "category": "Symbols", "name": "Japanese \u201cbargain\u201d button", "unicode": "1f250" }, ":imp:": { "category": "Smileys & Emotion", "name": "angry face with horns", "unicode": "1f47f" }, ":inbox_tray:": { "category": "Objects", "name": "inbox tray", "unicode": "1f4e5" }, ":incoming_envelope:": { "category": "Objects", "name": "incoming envelope", "unicode": "1f4e8" }, ":index_pointing_at_the_viewer:": { "category": "People & Body", "name": "index pointing at the viewer", "unicode": "1faf5" }, ":india:": { "category": "Flags", "name": "flag: India", "unicode": "1f1ee-1f1f3" }, ":indonesia:": { "category": "Flags", "name": "flag: Indonesia", "unicode": "1f1ee-1f1e9" }, ":infinity:": { "category": "Symbols", "name": "infinity", "unicode": "267e", "unicode_alt": "267e-fe0f" }, ":information_source:": { "category": "Symbols", "name": "information", "unicode": "2139", "unicode_alt": "2139-fe0f" }, ":innocent:": { "category": "Smileys & Emotion", "name": "smiling face with halo", "unicode": "1f607" }, ":interrobang:": { "category": "Symbols", "name": "exclamation question mark", "unicode": "2049", "unicode_alt": "2049-fe0f" }, ":iphone:": { "category": "Objects", "name": "mobile phone", "unicode": "1f4f1" }, ":iran:": { "category": "Flags", "name": "flag: Iran", "unicode": "1f1ee-1f1f7" }, ":iraq:": { "category": "Flags", "name": "flag: Iraq", "unicode": "1f1ee-1f1f6" }, ":ireland:": { "category": "Flags", "name": "flag: Ireland", "unicode": "1f1ee-1f1ea" }, ":isle_of_man:": { "category": "Flags", "name": "flag: Isle of Man", "unicode": "1f1ee-1f1f2" }, ":israel:": { "category": "Flags", "name": "flag: Israel", "unicode": "1f1ee-1f1f1" }, ":it:": { "category": "Flags", "name": "flag: Italy", "unicode": "1f1ee-1f1f9" }, ":izakaya_lantern:": { "category": "Objects", "name": "red paper lantern", "unicode": "1f3ee" }, ":jack_o_lantern:": { "category": "Activities", "name": "jack-o-lantern", "unicode": "1f383" }, ":jamaica:": { "category": "Flags", "name": "flag: Jamaica", "unicode": "1f1ef-1f1f2" }, ":japan:": { "category": "Travel & Places", "name": "map of Japan", "unicode": "1f5fe" }, ":japanese_castle:": { "category": "Travel & Places", "name": "Japanese castle", "unicode": "1f3ef" }, ":japanese_goblin:": { "category": "Smileys & Emotion", "name": "goblin", "unicode": "1f47a" }, ":japanese_ogre:": { "category": "Smileys & Emotion", "name": "ogre", "unicode": "1f479" }, ":jar:": { "category": "Food & Drink", "name": "jar", "unicode": "1fad9" }, ":jeans:": { "category": "Objects", "name": "jeans", "unicode": "1f456" }, ":jellyfish:": { "category": "Animals & Nature", "name": "jellyfish", "unicode": "1fabc" }, ":jersey:": { "category": "Flags", "name": "flag: Jersey", "unicode": "1f1ef-1f1ea" }, ":jigsaw:": { "category": "Activities", "name": "puzzle piece", "unicode": "1f9e9" }, ":jordan:": { "category": "Flags", "name": "flag: Jordan", "unicode": "1f1ef-1f1f4" }, ":joy:": { "category": "Smileys & Emotion", "name": "face with tears of joy", "unicode": "1f602" }, ":joy_cat:": { "category": "Smileys & Emotion", "name": "cat with tears of joy", "unicode": "1f639" }, ":joystick:": { "category": "Activities", "name": "joystick", "unicode": "1f579", "unicode_alt": "1f579-fe0f" }, ":jp:": { "category": "Flags", "name": "flag: Japan", "unicode": "1f1ef-1f1f5" }, ":judge:": { "category": "People & Body", "name": "judge", "unicode": "1f9d1-2696", "unicode_alt": "1f9d1-200d-2696-fe0f" }, ":juggling_person:": { "category": "People & Body", "name": "person juggling", "unicode": "1f939" }, ":kaaba:": { "category": "Travel & Places", "name": "kaaba", "unicode": "1f54b" }, ":kangaroo:": { "category": "Animals & Nature", "name": "kangaroo", "unicode": "1f998" }, ":kazakhstan:": { "category": "Flags", "name": "flag: Kazakhstan", "unicode": "1f1f0-1f1ff" }, ":kenya:": { "category": "Flags", "name": "flag: Kenya", "unicode": "1f1f0-1f1ea" }, ":key:": { "category": "Objects", "name": "key", "unicode": "1f511" }, ":keyboard:": { "category": "Objects", "name": "keyboard", "unicode": "2328", "unicode_alt": "2328-fe0f" }, ":keycap_ten:": { "category": "Symbols", "name": "keycap: 10", "unicode": "1f51f" }, ":khanda:": { "category": "Symbols", "name": "khanda", "unicode": "1faaf" }, ":kick_scooter:": { "category": "Travel & Places", "name": "kick scooter", "unicode": "1f6f4" }, ":kimono:": { "category": "Objects", "name": "kimono", "unicode": "1f458" }, ":kiribati:": { "category": "Flags", "name": "flag: Kiribati", "unicode": "1f1f0-1f1ee" }, ":kiss:": { "category": "Smileys & Emotion", "name": "kiss mark", "unicode": "1f48b" }, ":kissing:": { "category": "Smileys & Emotion", "name": "kissing face", "unicode": "1f617" }, ":kissing_cat:": { "category": "Smileys & Emotion", "name": "kissing cat", "unicode": "1f63d" }, ":kissing_closed_eyes:": { "category": "Smileys & Emotion", "name": "kissing face with closed eyes", "unicode": "1f61a" }, ":kissing_heart:": { "category": "Smileys & Emotion", "name": "face blowing a kiss", "unicode": "1f618" }, ":kissing_smiling_eyes:": { "category": "Smileys & Emotion", "name": "kissing face with smiling eyes", "unicode": "1f619" }, ":kite:": { "category": "Activities", "name": "kite", "unicode": "1fa81" }, ":kiwi_fruit:": { "category": "Food & Drink", "name": "kiwi fruit", "unicode": "1f95d" }, ":kneeling_man:": { "category": "People & Body", "name": "man kneeling", "unicode": "1f9ce-2642", "unicode_alt": "1f9ce-200d-2642-fe0f" }, ":kneeling_person:": { "category": "People & Body", "name": "person kneeling", "unicode": "1f9ce" }, ":kneeling_woman:": { "category": "People & Body", "name": "woman kneeling", "unicode": "1f9ce-2640", "unicode_alt": "1f9ce-200d-2640-fe0f" }, ":knot:": { "category": "Activities", "name": "knot", "unicode": "1faa2" }, ":koala:": { "category": "Animals & Nature", "name": "koala", "unicode": "1f428" }, ":koko:": { "category": "Symbols", "name": "Japanese \u201chere\u201d button", "unicode": "1f201" }, ":kosovo:": { "category": "Flags", "name": "flag: Kosovo", "unicode": "1f1fd-1f1f0" }, ":kr:": { "category": "Flags", "name": "flag: South Korea", "unicode": "1f1f0-1f1f7" }, ":kuwait:": { "category": "Flags", "name": "flag: Kuwait", "unicode": "1f1f0-1f1fc" }, ":kyrgyzstan:": { "category": "Flags", "name": "flag: Kyrgyzstan", "unicode": "1f1f0-1f1ec" }, ":lab_coat:": { "category": "Objects", "name": "lab coat", "unicode": "1f97c" }, ":label:": { "category": "Objects", "name": "label", "unicode": "1f3f7", "unicode_alt": "1f3f7-fe0f" }, ":lacrosse:": { "category": "Activities", "name": "lacrosse", "unicode": "1f94d" }, ":ladder:": { "category": "Objects", "name": "ladder", "unicode": "1fa9c" }, ":lady_beetle:": { "category": "Animals & Nature", "name": "lady beetle", "unicode": "1f41e" }, ":laos:": { "category": "Flags", "name": "flag: Laos", "unicode": "1f1f1-1f1e6" }, ":large_blue_circle:": { "category": "Symbols", "name": "blue circle", "unicode": "1f535" }, ":large_blue_diamond:": { "category": "Symbols", "name": "large blue diamond", "unicode": "1f537" }, ":large_orange_diamond:": { "category": "Symbols", "name": "large orange diamond", "unicode": "1f536" }, ":last_quarter_moon:": { "category": "Travel & Places", "name": "last quarter moon", "unicode": "1f317" }, ":last_quarter_moon_with_face:": { "category": "Travel & Places", "name": "last quarter moon face", "unicode": "1f31c" }, ":latin_cross:": { "category": "Symbols", "name": "latin cross", "unicode": "271d", "unicode_alt": "271d-fe0f" }, ":latvia:": { "category": "Flags", "name": "flag: Latvia", "unicode": "1f1f1-1f1fb" }, ":laughing:": { "category": "Smileys & Emotion", "name": "grinning squinting face", "unicode": "1f606" }, ":leafy_green:": { "category": "Food & Drink", "name": "leafy green", "unicode": "1f96c" }, ":leaves:": { "category": "Animals & Nature", "name": "leaf fluttering in wind", "unicode": "1f343" }, ":lebanon:": { "category": "Flags", "name": "flag: Lebanon", "unicode": "1f1f1-1f1e7" }, ":ledger:": { "category": "Objects", "name": "ledger", "unicode": "1f4d2" }, ":left_luggage:": { "category": "Symbols", "name": "left luggage", "unicode": "1f6c5" }, ":left_right_arrow:": { "category": "Symbols", "name": "left-right arrow", "unicode": "2194", "unicode_alt": "2194-fe0f" }, ":left_speech_bubble:": { "category": "Smileys & Emotion", "name": "left speech bubble", "unicode": "1f5e8", "unicode_alt": "1f5e8-fe0f" }, ":leftwards_arrow_with_hook:": { "category": "Symbols", "name": "right arrow curving left", "unicode": "21a9", "unicode_alt": "21a9-fe0f" }, ":leftwards_hand:": { "category": "People & Body", "name": "leftwards hand", "unicode": "1faf2" }, ":leftwards_pushing_hand:": { "category": "People & Body", "name": "leftwards pushing hand", "unicode": "1faf7" }, ":leg:": { "category": "People & Body", "name": "leg", "unicode": "1f9b5" }, ":lemon:": { "category": "Food & Drink", "name": "lemon", "unicode": "1f34b" }, ":leo:": { "category": "Symbols", "name": "Leo", "unicode": "264c" }, ":leopard:": { "category": "Animals & Nature", "name": "leopard", "unicode": "1f406" }, ":lesotho:": { "category": "Flags", "name": "flag: Lesotho", "unicode": "1f1f1-1f1f8" }, ":level_slider:": { "category": "Objects", "name": "level slider", "unicode": "1f39a", "unicode_alt": "1f39a-fe0f" }, ":liberia:": { "category": "Flags", "name": "flag: Liberia", "unicode": "1f1f1-1f1f7" }, ":libra:": { "category": "Symbols", "name": "Libra", "unicode": "264e" }, ":libya:": { "category": "Flags", "name": "flag: Libya", "unicode": "1f1f1-1f1fe" }, ":liechtenstein:": { "category": "Flags", "name": "flag: Liechtenstein", "unicode": "1f1f1-1f1ee" }, ":light_blue_heart:": { "category": "Smileys & Emotion", "name": "light blue heart", "unicode": "1fa75" }, ":light_rail:": { "category": "Travel & Places", "name": "light rail", "unicode": "1f688" }, ":link:": { "category": "Objects", "name": "link", "unicode": "1f517" }, ":lion:": { "category": "Animals & Nature", "name": "lion", "unicode": "1f981" }, ":lips:": { "category": "People & Body", "name": "mouth", "unicode": "1f444" }, ":lipstick:": { "category": "Objects", "name": "lipstick", "unicode": "1f484" }, ":lithuania:": { "category": "Flags", "name": "flag: Lithuania", "unicode": "1f1f1-1f1f9" }, ":lizard:": { "category": "Animals & Nature", "name": "lizard", "unicode": "1f98e" }, ":llama:": { "category": "Animals & Nature", "name": "llama", "unicode": "1f999" }, ":lobster:": { "category": "Food & Drink", "name": "lobster", "unicode": "1f99e" }, ":lock:": { "category": "Objects", "name": "locked", "unicode": "1f512" }, ":lock_with_ink_pen:": { "category": "Objects", "name": "locked with pen", "unicode": "1f50f" }, ":lollipop:": { "category": "Food & Drink", "name": "lollipop", "unicode": "1f36d" }, ":long_drum:": { "category": "Objects", "name": "long drum", "unicode": "1fa98" }, ":loop:": { "category": "Symbols", "name": "double curly loop", "unicode": "27bf" }, ":lotion_bottle:": { "category": "Objects", "name": "lotion bottle", "unicode": "1f9f4" }, ":lotus:": { "category": "Animals & Nature", "name": "lotus", "unicode": "1fab7" }, ":lotus_position:": { "category": "People & Body", "name": "person in lotus position", "unicode": "1f9d8" }, ":lotus_position_man:": { "category": "People & Body", "name": "man in lotus position", "unicode": "1f9d8-2642", "unicode_alt": "1f9d8-200d-2642-fe0f" }, ":lotus_position_woman:": { "category": "People & Body", "name": "woman in lotus position", "unicode": "1f9d8-2640", "unicode_alt": "1f9d8-200d-2640-fe0f" }, ":loud_sound:": { "category": "Objects", "name": "speaker high volume", "unicode": "1f50a" }, ":loudspeaker:": { "category": "Objects", "name": "loudspeaker", "unicode": "1f4e2" }, ":love_hotel:": { "category": "Travel & Places", "name": "love hotel", "unicode": "1f3e9" }, ":love_letter:": { "category": "Smileys & Emotion", "name": "love letter", "unicode": "1f48c" }, ":love_you_gesture:": { "category": "People & Body", "name": "love-you gesture", "unicode": "1f91f" }, ":low_battery:": { "category": "Objects", "name": "low battery", "unicode": "1faab" }, ":low_brightness:": { "category": "Symbols", "name": "dim button", "unicode": "1f505" }, ":luggage:": { "category": "Travel & Places", "name": "luggage", "unicode": "1f9f3" }, ":lungs:": { "category": "People & Body", "name": "lungs", "unicode": "1fac1" }, ":luxembourg:": { "category": "Flags", "name": "flag: Luxembourg", "unicode": "1f1f1-1f1fa" }, ":lying_face:": { "category": "Smileys & Emotion", "name": "lying face", "unicode": "1f925" }, ":m:": { "category": "Symbols", "name": "circled M", "unicode": "24c2", "unicode_alt": "24c2-fe0f" }, ":macau:": { "category": "Flags", "name": "flag: Macao SAR China", "unicode": "1f1f2-1f1f4" }, ":macedonia:": { "category": "Flags", "name": "flag: North Macedonia", "unicode": "1f1f2-1f1f0" }, ":madagascar:": { "category": "Flags", "name": "flag: Madagascar", "unicode": "1f1f2-1f1ec" }, ":mag:": { "category": "Objects", "name": "magnifying glass tilted left", "unicode": "1f50d" }, ":mag_right:": { "category": "Objects", "name": "magnifying glass tilted right", "unicode": "1f50e" }, ":mage:": { "category": "People & Body", "name": "mage", "unicode": "1f9d9" }, ":mage_man:": { "category": "People & Body", "name": "man mage", "unicode": "1f9d9-2642", "unicode_alt": "1f9d9-200d-2642-fe0f" }, ":mage_woman:": { "category": "People & Body", "name": "woman mage", "unicode": "1f9d9-2640", "unicode_alt": "1f9d9-200d-2640-fe0f" }, ":magic_wand:": { "category": "Activities", "name": "magic wand", "unicode": "1fa84" }, ":magnet:": { "category": "Objects", "name": "magnet", "unicode": "1f9f2" }, ":mahjong:": { "category": "Activities", "name": "mahjong red dragon", "unicode": "1f004" }, ":mailbox:": { "category": "Objects", "name": "closed mailbox with raised flag", "unicode": "1f4eb" }, ":mailbox_closed:": { "category": "Objects", "name": "closed mailbox with lowered flag", "unicode": "1f4ea" }, ":mailbox_with_mail:": { "category": "Objects", "name": "open mailbox with raised flag", "unicode": "1f4ec" }, ":mailbox_with_no_mail:": { "category": "Objects", "name": "open mailbox with lowered flag", "unicode": "1f4ed" }, ":malawi:": { "category": "Flags", "name": "flag: Malawi", "unicode": "1f1f2-1f1fc" }, ":malaysia:": { "category": "Flags", "name": "flag: Malaysia", "unicode": "1f1f2-1f1fe" }, ":maldives:": { "category": "Flags", "name": "flag: Maldives", "unicode": "1f1f2-1f1fb" }, ":male_detective:": { "category": "People & Body", "name": "man detective", "unicode": "1f575-2642", "unicode_alt": "1f575-fe0f-200d-2642-fe0f" }, ":male_sign:": { "category": "Symbols", "name": "male sign", "unicode": "2642", "unicode_alt": "2642-fe0f" }, ":mali:": { "category": "Flags", "name": "flag: Mali", "unicode": "1f1f2-1f1f1" }, ":malta:": { "category": "Flags", "name": "flag: Malta", "unicode": "1f1f2-1f1f9" }, ":mammoth:": { "category": "Animals & Nature", "name": "mammoth", "unicode": "1f9a3" }, ":man:": { "category": "People & Body", "name": "man", "unicode": "1f468" }, ":man_artist:": { "category": "People & Body", "name": "man artist", "unicode": "1f468-1f3a8", "unicode_alt": "1f468-200d-1f3a8" }, ":man_astronaut:": { "category": "People & Body", "name": "man astronaut", "unicode": "1f468-1f680", "unicode_alt": "1f468-200d-1f680" }, ":man_beard:": { "category": "People & Body", "name": "man: beard", "unicode": "1f9d4-2642", "unicode_alt": "1f9d4-200d-2642-fe0f" }, ":man_cartwheeling:": { "category": "People & Body", "name": "man cartwheeling", "unicode": "1f938-2642", "unicode_alt": "1f938-200d-2642-fe0f" }, ":man_cook:": { "category": "People & Body", "name": "man cook", "unicode": "1f468-1f373", "unicode_alt": "1f468-200d-1f373" }, ":man_dancing:": { "category": "People & Body", "name": "man dancing", "unicode": "1f57a" }, ":man_facepalming:": { "category": "People & Body", "name": "man facepalming", "unicode": "1f926-2642", "unicode_alt": "1f926-200d-2642-fe0f" }, ":man_factory_worker:": { "category": "People & Body", "name": "man factory worker", "unicode": "1f468-1f3ed", "unicode_alt": "1f468-200d-1f3ed" }, ":man_farmer:": { "category": "People & Body", "name": "man farmer", "unicode": "1f468-1f33e", "unicode_alt": "1f468-200d-1f33e" }, ":man_feeding_baby:": { "category": "People & Body", "name": "man feeding baby", "unicode": "1f468-1f37c", "unicode_alt": "1f468-200d-1f37c" }, ":man_firefighter:": { "category": "People & Body", "name": "man firefighter", "unicode": "1f468-1f692", "unicode_alt": "1f468-200d-1f692" }, ":man_health_worker:": { "category": "People & Body", "name": "man health worker", "unicode": "1f468-2695", "unicode_alt": "1f468-200d-2695-fe0f" }, ":man_in_manual_wheelchair:": { "category": "People & Body", "name": "man in manual wheelchair", "unicode": "1f468-1f9bd", "unicode_alt": "1f468-200d-1f9bd" }, ":man_in_motorized_wheelchair:": { "category": "People & Body", "name": "man in motorized wheelchair", "unicode": "1f468-1f9bc", "unicode_alt": "1f468-200d-1f9bc" }, ":man_in_tuxedo:": { "category": "People & Body", "name": "man in tuxedo", "unicode": "1f935-2642", "unicode_alt": "1f935-200d-2642-fe0f" }, ":man_judge:": { "category": "People & Body", "name": "man judge", "unicode": "1f468-2696", "unicode_alt": "1f468-200d-2696-fe0f" }, ":man_juggling:": { "category": "People & Body", "name": "man juggling", "unicode": "1f939-2642", "unicode_alt": "1f939-200d-2642-fe0f" }, ":man_mechanic:": { "category": "People & Body", "name": "man mechanic", "unicode": "1f468-1f527", "unicode_alt": "1f468-200d-1f527" }, ":man_office_worker:": { "category": "People & Body", "name": "man office worker", "unicode": "1f468-1f4bc", "unicode_alt": "1f468-200d-1f4bc" }, ":man_pilot:": { "category": "People & Body", "name": "man pilot", "unicode": "1f468-2708", "unicode_alt": "1f468-200d-2708-fe0f" }, ":man_playing_handball:": { "category": "People & Body", "name": "man playing handball", "unicode": "1f93e-2642", "unicode_alt": "1f93e-200d-2642-fe0f" }, ":man_playing_water_polo:": { "category": "People & Body", "name": "man playing water polo", "unicode": "1f93d-2642", "unicode_alt": "1f93d-200d-2642-fe0f" }, ":man_scientist:": { "category": "People & Body", "name": "man scientist", "unicode": "1f468-1f52c", "unicode_alt": "1f468-200d-1f52c" }, ":man_shrugging:": { "category": "People & Body", "name": "man shrugging", "unicode": "1f937-2642", "unicode_alt": "1f937-200d-2642-fe0f" }, ":man_singer:": { "category": "People & Body", "name": "man singer", "unicode": "1f468-1f3a4", "unicode_alt": "1f468-200d-1f3a4" }, ":man_student:": { "category": "People & Body", "name": "man student", "unicode": "1f468-1f393", "unicode_alt": "1f468-200d-1f393" }, ":man_teacher:": { "category": "People & Body", "name": "man teacher", "unicode": "1f468-1f3eb", "unicode_alt": "1f468-200d-1f3eb" }, ":man_technologist:": { "category": "People & Body", "name": "man technologist", "unicode": "1f468-1f4bb", "unicode_alt": "1f468-200d-1f4bb" }, ":man_with_gua_pi_mao:": { "category": "People & Body", "name": "person with skullcap", "unicode": "1f472" }, ":man_with_probing_cane:": { "category": "People & Body", "name": "man with white cane", "unicode": "1f468-1f9af", "unicode_alt": "1f468-200d-1f9af" }, ":man_with_turban:": { "category": "People & Body", "name": "man wearing turban", "unicode": "1f473-2642", "unicode_alt": "1f473-200d-2642-fe0f" }, ":man_with_veil:": { "category": "People & Body", "name": "man with veil", "unicode": "1f470-2642", "unicode_alt": "1f470-200d-2642-fe0f" }, ":mango:": { "category": "Food & Drink", "name": "mango", "unicode": "1f96d" }, ":mans_shoe:": { "category": "Objects", "name": "man\u2019s shoe", "unicode": "1f45e" }, ":mantelpiece_clock:": { "category": "Travel & Places", "name": "mantelpiece clock", "unicode": "1f570", "unicode_alt": "1f570-fe0f" }, ":manual_wheelchair:": { "category": "Travel & Places", "name": "manual wheelchair", "unicode": "1f9bd" }, ":maple_leaf:": { "category": "Animals & Nature", "name": "maple leaf", "unicode": "1f341" }, ":maracas:": { "category": "Objects", "name": "maracas", "unicode": "1fa87" }, ":marshall_islands:": { "category": "Flags", "name": "flag: Marshall Islands", "unicode": "1f1f2-1f1ed" }, ":martial_arts_uniform:": { "category": "Activities", "name": "martial arts uniform", "unicode": "1f94b" }, ":martinique:": { "category": "Flags", "name": "flag: Martinique", "unicode": "1f1f2-1f1f6" }, ":mask:": { "category": "Smileys & Emotion", "name": "face with medical mask", "unicode": "1f637" }, ":massage:": { "category": "People & Body", "name": "person getting massage", "unicode": "1f486" }, ":massage_man:": { "category": "People & Body", "name": "man getting massage", "unicode": "1f486-2642", "unicode_alt": "1f486-200d-2642-fe0f" }, ":massage_woman:": { "category": "People & Body", "name": "woman getting massage", "unicode": "1f486-2640", "unicode_alt": "1f486-200d-2640-fe0f" }, ":mate:": { "category": "Food & Drink", "name": "mate", "unicode": "1f9c9" }, ":mauritania:": { "category": "Flags", "name": "flag: Mauritania", "unicode": "1f1f2-1f1f7" }, ":mauritius:": { "category": "Flags", "name": "flag: Mauritius", "unicode": "1f1f2-1f1fa" }, ":mayotte:": { "category": "Flags", "name": "flag: Mayotte", "unicode": "1f1fe-1f1f9" }, ":meat_on_bone:": { "category": "Food & Drink", "name": "meat on bone", "unicode": "1f356" }, ":mechanic:": { "category": "People & Body", "name": "mechanic", "unicode": "1f9d1-1f527", "unicode_alt": "1f9d1-200d-1f527" }, ":mechanical_arm:": { "category": "People & Body", "name": "mechanical arm", "unicode": "1f9be" }, ":mechanical_leg:": { "category": "People & Body", "name": "mechanical leg", "unicode": "1f9bf" }, ":medal_military:": { "category": "Activities", "name": "military medal", "unicode": "1f396", "unicode_alt": "1f396-fe0f" }, ":medal_sports:": { "category": "Activities", "name": "sports medal", "unicode": "1f3c5" }, ":medical_symbol:": { "category": "Symbols", "name": "medical symbol", "unicode": "2695", "unicode_alt": "2695-fe0f" }, ":mega:": { "category": "Objects", "name": "megaphone", "unicode": "1f4e3" }, ":melon:": { "category": "Food & Drink", "name": "melon", "unicode": "1f348" }, ":melting_face:": { "category": "Smileys & Emotion", "name": "melting face", "unicode": "1fae0" }, ":memo:": { "category": "Objects", "name": "memo", "unicode": "1f4dd" }, ":men_wrestling:": { "category": "People & Body", "name": "men wrestling", "unicode": "1f93c-2642", "unicode_alt": "1f93c-200d-2642-fe0f" }, ":mending_heart:": { "category": "Smileys & Emotion", "name": "mending heart", "unicode": "2764-1fa79", "unicode_alt": "2764-fe0f-200d-1fa79" }, ":menorah:": { "category": "Symbols", "name": "menorah", "unicode": "1f54e" }, ":mens:": { "category": "Symbols", "name": "men\u2019s room", "unicode": "1f6b9" }, ":mermaid:": { "category": "People & Body", "name": "mermaid", "unicode": "1f9dc-2640", "unicode_alt": "1f9dc-200d-2640-fe0f" }, ":merman:": { "category": "People & Body", "name": "merman", "unicode": "1f9dc-2642", "unicode_alt": "1f9dc-200d-2642-fe0f" }, ":merperson:": { "category": "People & Body", "name": "merperson", "unicode": "1f9dc" }, ":metal:": { "category": "People & Body", "name": "sign of the horns", "unicode": "1f918" }, ":metro:": { "category": "Travel & Places", "name": "metro", "unicode": "1f687" }, ":mexico:": { "category": "Flags", "name": "flag: Mexico", "unicode": "1f1f2-1f1fd" }, ":microbe:": { "category": "Animals & Nature", "name": "microbe", "unicode": "1f9a0" }, ":micronesia:": { "category": "Flags", "name": "flag: Micronesia", "unicode": "1f1eb-1f1f2" }, ":microphone:": { "category": "Objects", "name": "microphone", "unicode": "1f3a4" }, ":microscope:": { "category": "Objects", "name": "microscope", "unicode": "1f52c" }, ":middle_finger:": { "category": "People & Body", "name": "middle finger", "unicode": "1f595" }, ":military_helmet:": { "category": "Objects", "name": "military helmet", "unicode": "1fa96" }, ":milk_glass:": { "category": "Food & Drink", "name": "glass of milk", "unicode": "1f95b" }, ":milky_way:": { "category": "Travel & Places", "name": "milky way", "unicode": "1f30c" }, ":minibus:": { "category": "Travel & Places", "name": "minibus", "unicode": "1f690" }, ":minidisc:": { "category": "Objects", "name": "computer disk", "unicode": "1f4bd" }, ":mirror:": { "category": "Objects", "name": "mirror", "unicode": "1fa9e" }, ":mirror_ball:": { "category": "Activities", "name": "mirror ball", "unicode": "1faa9" }, ":mobile_phone_off:": { "category": "Symbols", "name": "mobile phone off", "unicode": "1f4f4" }, ":moldova:": { "category": "Flags", "name": "flag: Moldova", "unicode": "1f1f2-1f1e9" }, ":monaco:": { "category": "Flags", "name": "flag: Monaco", "unicode": "1f1f2-1f1e8" }, ":money_mouth_face:": { "category": "Smileys & Emotion", "name": "money-mouth face", "unicode": "1f911" }, ":money_with_wings:": { "category": "Objects", "name": "money with wings", "unicode": "1f4b8" }, ":moneybag:": { "category": "Objects", "name": "money bag", "unicode": "1f4b0" }, ":mongolia:": { "category": "Flags", "name": "flag: Mongolia", "unicode": "1f1f2-1f1f3" }, ":monkey:": { "category": "Animals & Nature", "name": "monkey", "unicode": "1f412" }, ":monkey_face:": { "category": "Animals & Nature", "name": "monkey face", "unicode": "1f435" }, ":monocle_face:": { "category": "Smileys & Emotion", "name": "face with monocle", "unicode": "1f9d0" }, ":monorail:": { "category": "Travel & Places", "name": "monorail", "unicode": "1f69d" }, ":montenegro:": { "category": "Flags", "name": "flag: Montenegro", "unicode": "1f1f2-1f1ea" }, ":montserrat:": { "category": "Flags", "name": "flag: Montserrat", "unicode": "1f1f2-1f1f8" }, ":moon:": { "category": "Travel & Places", "name": "waxing gibbous moon", "unicode": "1f314" }, ":moon_cake:": { "category": "Food & Drink", "name": "moon cake", "unicode": "1f96e" }, ":moose:": { "category": "Animals & Nature", "name": "moose", "unicode": "1face" }, ":morocco:": { "category": "Flags", "name": "flag: Morocco", "unicode": "1f1f2-1f1e6" }, ":mortar_board:": { "category": "Objects", "name": "graduation cap", "unicode": "1f393" }, ":mosque:": { "category": "Travel & Places", "name": "mosque", "unicode": "1f54c" }, ":mosquito:": { "category": "Animals & Nature", "name": "mosquito", "unicode": "1f99f" }, ":motor_boat:": { "category": "Travel & Places", "name": "motor boat", "unicode": "1f6e5", "unicode_alt": "1f6e5-fe0f" }, ":motor_scooter:": { "category": "Travel & Places", "name": "motor scooter", "unicode": "1f6f5" }, ":motorcycle:": { "category": "Travel & Places", "name": "motorcycle", "unicode": "1f3cd", "unicode_alt": "1f3cd-fe0f" }, ":motorized_wheelchair:": { "category": "Travel & Places", "name": "motorized wheelchair", "unicode": "1f9bc" }, ":motorway:": { "category": "Travel & Places", "name": "motorway", "unicode": "1f6e3", "unicode_alt": "1f6e3-fe0f" }, ":mount_fuji:": { "category": "Travel & Places", "name": "mount fuji", "unicode": "1f5fb" }, ":mountain:": { "category": "Travel & Places", "name": "mountain", "unicode": "26f0", "unicode_alt": "26f0-fe0f" }, ":mountain_bicyclist:": { "category": "People & Body", "name": "person mountain biking", "unicode": "1f6b5" }, ":mountain_biking_man:": { "category": "People & Body", "name": "man mountain biking", "unicode": "1f6b5-2642", "unicode_alt": "1f6b5-200d-2642-fe0f" }, ":mountain_biking_woman:": { "category": "People & Body", "name": "woman mountain biking", "unicode": "1f6b5-2640", "unicode_alt": "1f6b5-200d-2640-fe0f" }, ":mountain_cableway:": { "category": "Travel & Places", "name": "mountain cableway", "unicode": "1f6a0" }, ":mountain_railway:": { "category": "Travel & Places", "name": "mountain railway", "unicode": "1f69e" }, ":mountain_snow:": { "category": "Travel & Places", "name": "snow-capped mountain", "unicode": "1f3d4", "unicode_alt": "1f3d4-fe0f" }, ":mouse2:": { "category": "Animals & Nature", "name": "mouse", "unicode": "1f401" }, ":mouse:": { "category": "Animals & Nature", "name": "mouse face", "unicode": "1f42d" }, ":mouse_trap:": { "category": "Objects", "name": "mouse trap", "unicode": "1faa4" }, ":movie_camera:": { "category": "Objects", "name": "movie camera", "unicode": "1f3a5" }, ":moyai:": { "category": "Objects", "name": "moai", "unicode": "1f5ff" }, ":mozambique:": { "category": "Flags", "name": "flag: Mozambique", "unicode": "1f1f2-1f1ff" }, ":mrs_claus:": { "category": "People & Body", "name": "Mrs. Claus", "unicode": "1f936" }, ":muscle:": { "category": "People & Body", "name": "flexed biceps", "unicode": "1f4aa" }, ":mushroom:": { "category": "Animals & Nature", "name": "mushroom", "unicode": "1f344" }, ":musical_keyboard:": { "category": "Objects", "name": "musical keyboard", "unicode": "1f3b9" }, ":musical_note:": { "category": "Objects", "name": "musical note", "unicode": "1f3b5" }, ":musical_score:": { "category": "Objects", "name": "musical score", "unicode": "1f3bc" }, ":mute:": { "category": "Objects", "name": "muted speaker", "unicode": "1f507" }, ":mx_claus:": { "category": "People & Body", "name": "mx claus", "unicode": "1f9d1-1f384", "unicode_alt": "1f9d1-200d-1f384" }, ":myanmar:": { "category": "Flags", "name": "flag: Myanmar (Burma)", "unicode": "1f1f2-1f1f2" }, ":nail_care:": { "category": "People & Body", "name": "nail polish", "unicode": "1f485" }, ":name_badge:": { "category": "Symbols", "name": "name badge", "unicode": "1f4db" }, ":namibia:": { "category": "Flags", "name": "flag: Namibia", "unicode": "1f1f3-1f1e6" }, ":national_park:": { "category": "Travel & Places", "name": "national park", "unicode": "1f3de", "unicode_alt": "1f3de-fe0f" }, ":nauru:": { "category": "Flags", "name": "flag: Nauru", "unicode": "1f1f3-1f1f7" }, ":nauseated_face:": { "category": "Smileys & Emotion", "name": "nauseated face", "unicode": "1f922" }, ":nazar_amulet:": { "category": "Objects", "name": "nazar amulet", "unicode": "1f9ff" }, ":necktie:": { "category": "Objects", "name": "necktie", "unicode": "1f454" }, ":negative_squared_cross_mark:": { "category": "Symbols", "name": "cross mark button", "unicode": "274e" }, ":nepal:": { "category": "Flags", "name": "flag: Nepal", "unicode": "1f1f3-1f1f5" }, ":nerd_face:": { "category": "Smileys & Emotion", "name": "nerd face", "unicode": "1f913" }, ":nest_with_eggs:": { "category": "Animals & Nature", "name": "nest with eggs", "unicode": "1faba" }, ":nesting_dolls:": { "category": "Activities", "name": "nesting dolls", "unicode": "1fa86" }, ":netherlands:": { "category": "Flags", "name": "flag: Netherlands", "unicode": "1f1f3-1f1f1" }, ":neutral_face:": { "category": "Smileys & Emotion", "name": "neutral face", "unicode": "1f610" }, ":new:": { "category": "Symbols", "name": "NEW button", "unicode": "1f195" }, ":new_caledonia:": { "category": "Flags", "name": "flag: New Caledonia", "unicode": "1f1f3-1f1e8" }, ":new_moon:": { "category": "Travel & Places", "name": "new moon", "unicode": "1f311" }, ":new_moon_with_face:": { "category": "Travel & Places", "name": "new moon face", "unicode": "1f31a" }, ":new_zealand:": { "category": "Flags", "name": "flag: New Zealand", "unicode": "1f1f3-1f1ff" }, ":newspaper:": { "category": "Objects", "name": "newspaper", "unicode": "1f4f0" }, ":newspaper_roll:": { "category": "Objects", "name": "rolled-up newspaper", "unicode": "1f5de", "unicode_alt": "1f5de-fe0f" }, ":next_track_button:": { "category": "Symbols", "name": "next track button", "unicode": "23ed", "unicode_alt": "23ed-fe0f" }, ":ng:": { "category": "Symbols", "name": "NG button", "unicode": "1f196" }, ":nicaragua:": { "category": "Flags", "name": "flag: Nicaragua", "unicode": "1f1f3-1f1ee" }, ":niger:": { "category": "Flags", "name": "flag: Niger", "unicode": "1f1f3-1f1ea" }, ":nigeria:": { "category": "Flags", "name": "flag: Nigeria", "unicode": "1f1f3-1f1ec" }, ":night_with_stars:": { "category": "Travel & Places", "name": "night with stars", "unicode": "1f303" }, ":nine:": { "category": "Symbols", "name": "keycap: 9", "unicode": "0039-20e3", "unicode_alt": "0039-fe0f-20e3" }, ":ninja:": { "category": "People & Body", "name": "ninja", "unicode": "1f977" }, ":niue:": { "category": "Flags", "name": "flag: Niue", "unicode": "1f1f3-1f1fa" }, ":no_bell:": { "category": "Objects", "name": "bell with slash", "unicode": "1f515" }, ":no_bicycles:": { "category": "Symbols", "name": "no bicycles", "unicode": "1f6b3" }, ":no_entry:": { "category": "Symbols", "name": "no entry", "unicode": "26d4" }, ":no_entry_sign:": { "category": "Symbols", "name": "prohibited", "unicode": "1f6ab" }, ":no_good:": { "category": "People & Body", "name": "person gesturing NO", "unicode": "1f645" }, ":no_good_man:": { "category": "People & Body", "name": "man gesturing NO", "unicode": "1f645-2642", "unicode_alt": "1f645-200d-2642-fe0f" }, ":no_good_woman:": { "category": "People & Body", "name": "woman gesturing NO", "unicode": "1f645-2640", "unicode_alt": "1f645-200d-2640-fe0f" }, ":no_mobile_phones:": { "category": "Symbols", "name": "no mobile phones", "unicode": "1f4f5" }, ":no_mouth:": { "category": "Smileys & Emotion", "name": "face without mouth", "unicode": "1f636" }, ":no_pedestrians:": { "category": "Symbols", "name": "no pedestrians", "unicode": "1f6b7" }, ":no_smoking:": { "category": "Symbols", "name": "no smoking", "unicode": "1f6ad" }, ":non-potable_water:": { "category": "Symbols", "name": "non-potable water", "unicode": "1f6b1" }, ":norfolk_island:": { "category": "Flags", "name": "flag: Norfolk Island", "unicode": "1f1f3-1f1eb" }, ":north_korea:": { "category": "Flags", "name": "flag: North Korea", "unicode": "1f1f0-1f1f5" }, ":northern_mariana_islands:": { "category": "Flags", "name": "flag: Northern Mariana Islands", "unicode": "1f1f2-1f1f5" }, ":norway:": { "category": "Flags", "name": "flag: Norway", "unicode": "1f1f3-1f1f4" }, ":nose:": { "category": "People & Body", "name": "nose", "unicode": "1f443" }, ":notebook:": { "category": "Objects", "name": "notebook", "unicode": "1f4d3" }, ":notebook_with_decorative_cover:": { "category": "Objects", "name": "notebook with decorative cover", "unicode": "1f4d4" }, ":notes:": { "category": "Objects", "name": "musical notes", "unicode": "1f3b6" }, ":nut_and_bolt:": { "category": "Objects", "name": "nut and bolt", "unicode": "1f529" }, ":o2:": { "category": "Symbols", "name": "O button (blood type)", "unicode": "1f17e", "unicode_alt": "1f17e-fe0f" }, ":o:": { "category": "Symbols", "name": "hollow red circle", "unicode": "2b55" }, ":ocean:": { "category": "Travel & Places", "name": "water wave", "unicode": "1f30a" }, ":octopus:": { "category": "Animals & Nature", "name": "octopus", "unicode": "1f419" }, ":oden:": { "category": "Food & Drink", "name": "oden", "unicode": "1f362" }, ":office:": { "category": "Travel & Places", "name": "office building", "unicode": "1f3e2" }, ":office_worker:": { "category": "People & Body", "name": "office worker", "unicode": "1f9d1-1f4bc", "unicode_alt": "1f9d1-200d-1f4bc" }, ":oil_drum:": { "category": "Travel & Places", "name": "oil drum", "unicode": "1f6e2", "unicode_alt": "1f6e2-fe0f" }, ":ok:": { "category": "Symbols", "name": "OK button", "unicode": "1f197" }, ":ok_hand:": { "category": "People & Body", "name": "OK hand", "unicode": "1f44c" }, ":ok_man:": { "category": "People & Body", "name": "man gesturing OK", "unicode": "1f646-2642", "unicode_alt": "1f646-200d-2642-fe0f" }, ":ok_person:": { "category": "People & Body", "name": "person gesturing OK", "unicode": "1f646" }, ":ok_woman:": { "category": "People & Body", "name": "woman gesturing OK", "unicode": "1f646-2640", "unicode_alt": "1f646-200d-2640-fe0f" }, ":old_key:": { "category": "Objects", "name": "old key", "unicode": "1f5dd", "unicode_alt": "1f5dd-fe0f" }, ":older_adult:": { "category": "People & Body", "name": "older person", "unicode": "1f9d3" }, ":older_man:": { "category": "People & Body", "name": "old man", "unicode": "1f474" }, ":older_woman:": { "category": "People & Body", "name": "old woman", "unicode": "1f475" }, ":olive:": { "category": "Food & Drink", "name": "olive", "unicode": "1fad2" }, ":om:": { "category": "Symbols", "name": "om", "unicode": "1f549", "unicode_alt": "1f549-fe0f" }, ":oman:": { "category": "Flags", "name": "flag: Oman", "unicode": "1f1f4-1f1f2" }, ":on:": { "category": "Symbols", "name": "ON! arrow", "unicode": "1f51b" }, ":oncoming_automobile:": { "category": "Travel & Places", "name": "oncoming automobile", "unicode": "1f698" }, ":oncoming_bus:": { "category": "Travel & Places", "name": "oncoming bus", "unicode": "1f68d" }, ":oncoming_police_car:": { "category": "Travel & Places", "name": "oncoming police car", "unicode": "1f694" }, ":oncoming_taxi:": { "category": "Travel & Places", "name": "oncoming taxi", "unicode": "1f696" }, ":one:": { "category": "Symbols", "name": "keycap: 1", "unicode": "0031-20e3", "unicode_alt": "0031-fe0f-20e3" }, ":one_piece_swimsuit:": { "category": "Objects", "name": "one-piece swimsuit", "unicode": "1fa71" }, ":onion:": { "category": "Food & Drink", "name": "onion", "unicode": "1f9c5" }, ":open_file_folder:": { "category": "Objects", "name": "open file folder", "unicode": "1f4c2" }, ":open_hands:": { "category": "People & Body", "name": "open hands", "unicode": "1f450" }, ":open_mouth:": { "category": "Smileys & Emotion", "name": "face with open mouth", "unicode": "1f62e" }, ":open_umbrella:": { "category": "Travel & Places", "name": "umbrella", "unicode": "2602", "unicode_alt": "2602-fe0f" }, ":ophiuchus:": { "category": "Symbols", "name": "Ophiuchus", "unicode": "26ce" }, ":orange_book:": { "category": "Objects", "name": "orange book", "unicode": "1f4d9" }, ":orange_circle:": { "category": "Symbols", "name": "orange circle", "unicode": "1f7e0" }, ":orange_heart:": { "category": "Smileys & Emotion", "name": "orange heart", "unicode": "1f9e1" }, ":orange_square:": { "category": "Symbols", "name": "orange square", "unicode": "1f7e7" }, ":orangutan:": { "category": "Animals & Nature", "name": "orangutan", "unicode": "1f9a7" }, ":orthodox_cross:": { "category": "Symbols", "name": "orthodox cross", "unicode": "2626", "unicode_alt": "2626-fe0f" }, ":otter:": { "category": "Animals & Nature", "name": "otter", "unicode": "1f9a6" }, ":outbox_tray:": { "category": "Objects", "name": "outbox tray", "unicode": "1f4e4" }, ":owl:": { "category": "Animals & Nature", "name": "owl", "unicode": "1f989" }, ":ox:": { "category": "Animals & Nature", "name": "ox", "unicode": "1f402" }, ":oyster:": { "category": "Food & Drink", "name": "oyster", "unicode": "1f9aa" }, ":package:": { "category": "Objects", "name": "package", "unicode": "1f4e6" }, ":page_facing_up:": { "category": "Objects", "name": "page facing up", "unicode": "1f4c4" }, ":page_with_curl:": { "category": "Objects", "name": "page with curl", "unicode": "1f4c3" }, ":pager:": { "category": "Objects", "name": "pager", "unicode": "1f4df" }, ":paintbrush:": { "category": "Objects", "name": "paintbrush", "unicode": "1f58c", "unicode_alt": "1f58c-fe0f" }, ":pakistan:": { "category": "Flags", "name": "flag: Pakistan", "unicode": "1f1f5-1f1f0" }, ":palau:": { "category": "Flags", "name": "flag: Palau", "unicode": "1f1f5-1f1fc" }, ":palestinian_territories:": { "category": "Flags", "name": "flag: Palestinian Territories", "unicode": "1f1f5-1f1f8" }, ":palm_down_hand:": { "category": "People & Body", "name": "palm down hand", "unicode": "1faf3" }, ":palm_tree:": { "category": "Animals & Nature", "name": "palm tree", "unicode": "1f334" }, ":palm_up_hand:": { "category": "People & Body", "name": "palm up hand", "unicode": "1faf4" }, ":palms_up_together:": { "category": "People & Body", "name": "palms up together", "unicode": "1f932" }, ":panama:": { "category": "Flags", "name": "flag: Panama", "unicode": "1f1f5-1f1e6" }, ":pancakes:": { "category": "Food & Drink", "name": "pancakes", "unicode": "1f95e" }, ":panda_face:": { "category": "Animals & Nature", "name": "panda", "unicode": "1f43c" }, ":paperclip:": { "category": "Objects", "name": "paperclip", "unicode": "1f4ce" }, ":paperclips:": { "category": "Objects", "name": "linked paperclips", "unicode": "1f587", "unicode_alt": "1f587-fe0f" }, ":papua_new_guinea:": { "category": "Flags", "name": "flag: Papua New Guinea", "unicode": "1f1f5-1f1ec" }, ":parachute:": { "category": "Travel & Places", "name": "parachute", "unicode": "1fa82" }, ":paraguay:": { "category": "Flags", "name": "flag: Paraguay", "unicode": "1f1f5-1f1fe" }, ":parasol_on_ground:": { "category": "Travel & Places", "name": "umbrella on ground", "unicode": "26f1", "unicode_alt": "26f1-fe0f" }, ":parking:": { "category": "Symbols", "name": "P button", "unicode": "1f17f", "unicode_alt": "1f17f-fe0f" }, ":parrot:": { "category": "Animals & Nature", "name": "parrot", "unicode": "1f99c" }, ":part_alternation_mark:": { "category": "Symbols", "name": "part alternation mark", "unicode": "303d", "unicode_alt": "303d-fe0f" }, ":partly_sunny:": { "category": "Travel & Places", "name": "sun behind cloud", "unicode": "26c5" }, ":partying_face:": { "category": "Smileys & Emotion", "name": "partying face", "unicode": "1f973" }, ":passenger_ship:": { "category": "Travel & Places", "name": "passenger ship", "unicode": "1f6f3", "unicode_alt": "1f6f3-fe0f" }, ":passport_control:": { "category": "Symbols", "name": "passport control", "unicode": "1f6c2" }, ":pause_button:": { "category": "Symbols", "name": "pause button", "unicode": "23f8", "unicode_alt": "23f8-fe0f" }, ":pea_pod:": { "category": "Food & Drink", "name": "pea pod", "unicode": "1fadb" }, ":peace_symbol:": { "category": "Symbols", "name": "peace symbol", "unicode": "262e", "unicode_alt": "262e-fe0f" }, ":peach:": { "category": "Food & Drink", "name": "peach", "unicode": "1f351" }, ":peacock:": { "category": "Animals & Nature", "name": "peacock", "unicode": "1f99a" }, ":peanuts:": { "category": "Food & Drink", "name": "peanuts", "unicode": "1f95c" }, ":pear:": { "category": "Food & Drink", "name": "pear", "unicode": "1f350" }, ":pen:": { "category": "Objects", "name": "pen", "unicode": "1f58a", "unicode_alt": "1f58a-fe0f" }, ":pencil2:": { "category": "Objects", "name": "pencil", "unicode": "270f", "unicode_alt": "270f-fe0f" }, ":penguin:": { "category": "Animals & Nature", "name": "penguin", "unicode": "1f427" }, ":pensive:": { "category": "Smileys & Emotion", "name": "pensive face", "unicode": "1f614" }, ":people_holding_hands:": { "category": "People & Body", "name": "people holding hands", "unicode": "1f9d1-1f91d-1f9d1", "unicode_alt": "1f9d1-200d-1f91d-200d-1f9d1" }, ":people_hugging:": { "category": "People & Body", "name": "people hugging", "unicode": "1fac2" }, ":performing_arts:": { "category": "Activities", "name": "performing arts", "unicode": "1f3ad" }, ":persevere:": { "category": "Smileys & Emotion", "name": "persevering face", "unicode": "1f623" }, ":person_bald:": { "category": "People & Body", "name": "person: bald", "unicode": "1f9d1-1f9b2", "unicode_alt": "1f9d1-200d-1f9b2" }, ":person_curly_hair:": { "category": "People & Body", "name": "person: curly hair", "unicode": "1f9d1-1f9b1", "unicode_alt": "1f9d1-200d-1f9b1" }, ":person_feeding_baby:": { "category": "People & Body", "name": "person feeding baby", "unicode": "1f9d1-1f37c", "unicode_alt": "1f9d1-200d-1f37c" }, ":person_fencing:": { "category": "People & Body", "name": "person fencing", "unicode": "1f93a" }, ":person_in_manual_wheelchair:": { "category": "People & Body", "name": "person in manual wheelchair", "unicode": "1f9d1-1f9bd", "unicode_alt": "1f9d1-200d-1f9bd" }, ":person_in_motorized_wheelchair:": { "category": "People & Body", "name": "person in motorized wheelchair", "unicode": "1f9d1-1f9bc", "unicode_alt": "1f9d1-200d-1f9bc" }, ":person_in_tuxedo:": { "category": "People & Body", "name": "person in tuxedo", "unicode": "1f935" }, ":person_red_hair:": { "category": "People & Body", "name": "person: red hair", "unicode": "1f9d1-1f9b0", "unicode_alt": "1f9d1-200d-1f9b0" }, ":person_white_hair:": { "category": "People & Body", "name": "person: white hair", "unicode": "1f9d1-1f9b3", "unicode_alt": "1f9d1-200d-1f9b3" }, ":person_with_crown:": { "category": "People & Body", "name": "person with crown", "unicode": "1fac5" }, ":person_with_probing_cane:": { "category": "People & Body", "name": "person with white cane", "unicode": "1f9d1-1f9af", "unicode_alt": "1f9d1-200d-1f9af" }, ":person_with_turban:": { "category": "People & Body", "name": "person wearing turban", "unicode": "1f473" }, ":person_with_veil:": { "category": "People & Body", "name": "person with veil", "unicode": "1f470" }, ":peru:": { "category": "Flags", "name": "flag: Peru", "unicode": "1f1f5-1f1ea" }, ":petri_dish:": { "category": "Objects", "name": "petri dish", "unicode": "1f9eb" }, ":philippines:": { "category": "Flags", "name": "flag: Philippines", "unicode": "1f1f5-1f1ed" }, ":phone:": { "category": "Objects", "name": "telephone", "unicode": "260e", "unicode_alt": "260e-fe0f" }, ":pick:": { "category": "Objects", "name": "pick", "unicode": "26cf", "unicode_alt": "26cf-fe0f" }, ":pickup_truck:": { "category": "Travel & Places", "name": "pickup truck", "unicode": "1f6fb" }, ":pie:": { "category": "Food & Drink", "name": "pie", "unicode": "1f967" }, ":pig2:": { "category": "Animals & Nature", "name": "pig", "unicode": "1f416" }, ":pig:": { "category": "Animals & Nature", "name": "pig face", "unicode": "1f437" }, ":pig_nose:": { "category": "Animals & Nature", "name": "pig nose", "unicode": "1f43d" }, ":pill:": { "category": "Objects", "name": "pill", "unicode": "1f48a" }, ":pilot:": { "category": "People & Body", "name": "pilot", "unicode": "1f9d1-2708", "unicode_alt": "1f9d1-200d-2708-fe0f" }, ":pinata:": { "category": "Activities", "name": "pi\u00f1ata", "unicode": "1fa85" }, ":pinched_fingers:": { "category": "People & Body", "name": "pinched fingers", "unicode": "1f90c" }, ":pinching_hand:": { "category": "People & Body", "name": "pinching hand", "unicode": "1f90f" }, ":pineapple:": { "category": "Food & Drink", "name": "pineapple", "unicode": "1f34d" }, ":ping_pong:": { "category": "Activities", "name": "ping pong", "unicode": "1f3d3" }, ":pink_heart:": { "category": "Smileys & Emotion", "name": "pink heart", "unicode": "1fa77" }, ":pirate_flag:": { "category": "Flags", "name": "pirate flag", "unicode": "1f3f4-2620", "unicode_alt": "1f3f4-200d-2620-fe0f" }, ":pisces:": { "category": "Symbols", "name": "Pisces", "unicode": "2653" }, ":pitcairn_islands:": { "category": "Flags", "name": "flag: Pitcairn Islands", "unicode": "1f1f5-1f1f3" }, ":pizza:": { "category": "Food & Drink", "name": "pizza", "unicode": "1f355" }, ":placard:": { "category": "Objects", "name": "placard", "unicode": "1faa7" }, ":place_of_worship:": { "category": "Symbols", "name": "place of worship", "unicode": "1f6d0" }, ":plate_with_cutlery:": { "category": "Food & Drink", "name": "fork and knife with plate", "unicode": "1f37d", "unicode_alt": "1f37d-fe0f" }, ":play_or_pause_button:": { "category": "Symbols", "name": "play or pause button", "unicode": "23ef", "unicode_alt": "23ef-fe0f" }, ":playground_slide:": { "category": "Travel & Places", "name": "playground slide", "unicode": "1f6dd" }, ":pleading_face:": { "category": "Smileys & Emotion", "name": "pleading face", "unicode": "1f97a" }, ":plunger:": { "category": "Objects", "name": "plunger", "unicode": "1faa0" }, ":point_down:": { "category": "People & Body", "name": "backhand index pointing down", "unicode": "1f447" }, ":point_left:": { "category": "People & Body", "name": "backhand index pointing left", "unicode": "1f448" }, ":point_right:": { "category": "People & Body", "name": "backhand index pointing right", "unicode": "1f449" }, ":point_up:": { "category": "People & Body", "name": "index pointing up", "unicode": "261d", "unicode_alt": "261d-fe0f" }, ":point_up_2:": { "category": "People & Body", "name": "backhand index pointing up", "unicode": "1f446" }, ":poland:": { "category": "Flags", "name": "flag: Poland", "unicode": "1f1f5-1f1f1" }, ":polar_bear:": { "category": "Animals & Nature", "name": "polar bear", "unicode": "1f43b-2744", "unicode_alt": "1f43b-200d-2744-fe0f" }, ":police_car:": { "category": "Travel & Places", "name": "police car", "unicode": "1f693" }, ":police_officer:": { "category": "People & Body", "name": "police officer", "unicode": "1f46e" }, ":policeman:": { "category": "People & Body", "name": "man police officer", "unicode": "1f46e-2642", "unicode_alt": "1f46e-200d-2642-fe0f" }, ":policewoman:": { "category": "People & Body", "name": "woman police officer", "unicode": "1f46e-2640", "unicode_alt": "1f46e-200d-2640-fe0f" }, ":poodle:": { "category": "Animals & Nature", "name": "poodle", "unicode": "1f429" }, ":popcorn:": { "category": "Food & Drink", "name": "popcorn", "unicode": "1f37f" }, ":portugal:": { "category": "Flags", "name": "flag: Portugal", "unicode": "1f1f5-1f1f9" }, ":post_office:": { "category": "Travel & Places", "name": "Japanese post office", "unicode": "1f3e3" }, ":postal_horn:": { "category": "Objects", "name": "postal horn", "unicode": "1f4ef" }, ":postbox:": { "category": "Objects", "name": "postbox", "unicode": "1f4ee" }, ":potable_water:": { "category": "Symbols", "name": "potable water", "unicode": "1f6b0" }, ":potato:": { "category": "Food & Drink", "name": "potato", "unicode": "1f954" }, ":potted_plant:": { "category": "Animals & Nature", "name": "potted plant", "unicode": "1fab4" }, ":pouch:": { "category": "Objects", "name": "clutch bag", "unicode": "1f45d" }, ":poultry_leg:": { "category": "Food & Drink", "name": "poultry leg", "unicode": "1f357" }, ":pound:": { "category": "Objects", "name": "pound banknote", "unicode": "1f4b7" }, ":pouring_liquid:": { "category": "Food & Drink", "name": "pouring liquid", "unicode": "1fad7" }, ":pouting_cat:": { "category": "Smileys & Emotion", "name": "pouting cat", "unicode": "1f63e" }, ":pouting_face:": { "category": "People & Body", "name": "person pouting", "unicode": "1f64e" }, ":pouting_man:": { "category": "People & Body", "name": "man pouting", "unicode": "1f64e-2642", "unicode_alt": "1f64e-200d-2642-fe0f" }, ":pouting_woman:": { "category": "People & Body", "name": "woman pouting", "unicode": "1f64e-2640", "unicode_alt": "1f64e-200d-2640-fe0f" }, ":pray:": { "category": "People & Body", "name": "folded hands", "unicode": "1f64f" }, ":prayer_beads:": { "category": "Objects", "name": "prayer beads", "unicode": "1f4ff" }, ":pregnant_man:": { "category": "People & Body", "name": "pregnant man", "unicode": "1fac3" }, ":pregnant_person:": { "category": "People & Body", "name": "pregnant person", "unicode": "1fac4" }, ":pregnant_woman:": { "category": "People & Body", "name": "pregnant woman", "unicode": "1f930" }, ":pretzel:": { "category": "Food & Drink", "name": "pretzel", "unicode": "1f968" }, ":previous_track_button:": { "category": "Symbols", "name": "last track button", "unicode": "23ee", "unicode_alt": "23ee-fe0f" }, ":prince:": { "category": "People & Body", "name": "prince", "unicode": "1f934" }, ":princess:": { "category": "People & Body", "name": "princess", "unicode": "1f478" }, ":printer:": { "category": "Objects", "name": "printer", "unicode": "1f5a8", "unicode_alt": "1f5a8-fe0f" }, ":probing_cane:": { "category": "Objects", "name": "white cane", "unicode": "1f9af" }, ":puerto_rico:": { "category": "Flags", "name": "flag: Puerto Rico", "unicode": "1f1f5-1f1f7" }, ":purple_circle:": { "category": "Symbols", "name": "purple circle", "unicode": "1f7e3" }, ":purple_heart:": { "category": "Smileys & Emotion", "name": "purple heart", "unicode": "1f49c" }, ":purple_square:": { "category": "Symbols", "name": "purple square", "unicode": "1f7ea" }, ":purse:": { "category": "Objects", "name": "purse", "unicode": "1f45b" }, ":pushpin:": { "category": "Objects", "name": "pushpin", "unicode": "1f4cc" }, ":put_litter_in_its_place:": { "category": "Symbols", "name": "litter in bin sign", "unicode": "1f6ae" }, ":qatar:": { "category": "Flags", "name": "flag: Qatar", "unicode": "1f1f6-1f1e6" }, ":question:": { "category": "Symbols", "name": "red question mark", "unicode": "2753" }, ":rabbit2:": { "category": "Animals & Nature", "name": "rabbit", "unicode": "1f407" }, ":rabbit:": { "category": "Animals & Nature", "name": "rabbit face", "unicode": "1f430" }, ":raccoon:": { "category": "Animals & Nature", "name": "raccoon", "unicode": "1f99d" }, ":racehorse:": { "category": "Animals & Nature", "name": "horse", "unicode": "1f40e" }, ":racing_car:": { "category": "Travel & Places", "name": "racing car", "unicode": "1f3ce", "unicode_alt": "1f3ce-fe0f" }, ":radio:": { "category": "Objects", "name": "radio", "unicode": "1f4fb" }, ":radio_button:": { "category": "Symbols", "name": "radio button", "unicode": "1f518" }, ":radioactive:": { "category": "Symbols", "name": "radioactive", "unicode": "2622", "unicode_alt": "2622-fe0f" }, ":rage:": { "category": "Smileys & Emotion", "name": "enraged face", "unicode": "1f621" }, ":railway_car:": { "category": "Travel & Places", "name": "railway car", "unicode": "1f683" }, ":railway_track:": { "category": "Travel & Places", "name": "railway track", "unicode": "1f6e4", "unicode_alt": "1f6e4-fe0f" }, ":rainbow:": { "category": "Travel & Places", "name": "rainbow", "unicode": "1f308" }, ":rainbow_flag:": { "category": "Flags", "name": "rainbow flag", "unicode": "1f3f3-1f308", "unicode_alt": "1f3f3-fe0f-200d-1f308" }, ":raised_back_of_hand:": { "category": "People & Body", "name": "raised back of hand", "unicode": "1f91a" }, ":raised_eyebrow:": { "category": "Smileys & Emotion", "name": "face with raised eyebrow", "unicode": "1f928" }, ":raised_hand_with_fingers_splayed:": { "category": "People & Body", "name": "hand with fingers splayed", "unicode": "1f590", "unicode_alt": "1f590-fe0f" }, ":raised_hands:": { "category": "People & Body", "name": "raising hands", "unicode": "1f64c" }, ":raising_hand:": { "category": "People & Body", "name": "person raising hand", "unicode": "1f64b" }, ":raising_hand_man:": { "category": "People & Body", "name": "man raising hand", "unicode": "1f64b-2642", "unicode_alt": "1f64b-200d-2642-fe0f" }, ":raising_hand_woman:": { "category": "People & Body", "name": "woman raising hand", "unicode": "1f64b-2640", "unicode_alt": "1f64b-200d-2640-fe0f" }, ":ram:": { "category": "Animals & Nature", "name": "ram", "unicode": "1f40f" }, ":ramen:": { "category": "Food & Drink", "name": "steaming bowl", "unicode": "1f35c" }, ":rat:": { "category": "Animals & Nature", "name": "rat", "unicode": "1f400" }, ":razor:": { "category": "Objects", "name": "razor", "unicode": "1fa92" }, ":receipt:": { "category": "Objects", "name": "receipt", "unicode": "1f9fe" }, ":record_button:": { "category": "Symbols", "name": "record button", "unicode": "23fa", "unicode_alt": "23fa-fe0f" }, ":recycle:": { "category": "Symbols", "name": "recycling symbol", "unicode": "267b", "unicode_alt": "267b-fe0f" }, ":red_circle:": { "category": "Symbols", "name": "red circle", "unicode": "1f534" }, ":red_envelope:": { "category": "Activities", "name": "red envelope", "unicode": "1f9e7" }, ":red_haired_man:": { "category": "People & Body", "name": "man: red hair", "unicode": "1f468-1f9b0", "unicode_alt": "1f468-200d-1f9b0" }, ":red_haired_woman:": { "category": "People & Body", "name": "woman: red hair", "unicode": "1f469-1f9b0", "unicode_alt": "1f469-200d-1f9b0" }, ":red_square:": { "category": "Symbols", "name": "red square", "unicode": "1f7e5" }, ":registered:": { "category": "Symbols", "name": "registered", "unicode": "00ae", "unicode_alt": "00ae-fe0f" }, ":relaxed:": { "category": "Smileys & Emotion", "name": "smiling face", "unicode": "263a", "unicode_alt": "263a-fe0f" }, ":relieved:": { "category": "Smileys & Emotion", "name": "relieved face", "unicode": "1f60c" }, ":reminder_ribbon:": { "category": "Activities", "name": "reminder ribbon", "unicode": "1f397", "unicode_alt": "1f397-fe0f" }, ":repeat:": { "category": "Symbols", "name": "repeat button", "unicode": "1f501" }, ":repeat_one:": { "category": "Symbols", "name": "repeat single button", "unicode": "1f502" }, ":rescue_worker_helmet:": { "category": "Objects", "name": "rescue worker\u2019s helmet", "unicode": "26d1", "unicode_alt": "26d1-fe0f" }, ":restroom:": { "category": "Symbols", "name": "restroom", "unicode": "1f6bb" }, ":reunion:": { "category": "Flags", "name": "flag: R\u00e9union", "unicode": "1f1f7-1f1ea" }, ":revolving_hearts:": { "category": "Smileys & Emotion", "name": "revolving hearts", "unicode": "1f49e" }, ":rewind:": { "category": "Symbols", "name": "fast reverse button", "unicode": "23ea" }, ":rhinoceros:": { "category": "Animals & Nature", "name": "rhinoceros", "unicode": "1f98f" }, ":ribbon:": { "category": "Activities", "name": "ribbon", "unicode": "1f380" }, ":rice:": { "category": "Food & Drink", "name": "cooked rice", "unicode": "1f35a" }, ":rice_ball:": { "category": "Food & Drink", "name": "rice ball", "unicode": "1f359" }, ":rice_cracker:": { "category": "Food & Drink", "name": "rice cracker", "unicode": "1f358" }, ":rice_scene:": { "category": "Activities", "name": "moon viewing ceremony", "unicode": "1f391" }, ":right_anger_bubble:": { "category": "Smileys & Emotion", "name": "right anger bubble", "unicode": "1f5ef", "unicode_alt": "1f5ef-fe0f" }, ":rightwards_hand:": { "category": "People & Body", "name": "rightwards hand", "unicode": "1faf1" }, ":rightwards_pushing_hand:": { "category": "People & Body", "name": "rightwards pushing hand", "unicode": "1faf8" }, ":ring:": { "category": "Objects", "name": "ring", "unicode": "1f48d" }, ":ring_buoy:": { "category": "Travel & Places", "name": "ring buoy", "unicode": "1f6df" }, ":ringed_planet:": { "category": "Travel & Places", "name": "ringed planet", "unicode": "1fa90" }, ":robot:": { "category": "Smileys & Emotion", "name": "robot", "unicode": "1f916" }, ":rock:": { "category": "Travel & Places", "name": "rock", "unicode": "1faa8" }, ":rocket:": { "category": "Travel & Places", "name": "rocket", "unicode": "1f680" }, ":rofl:": { "category": "Smileys & Emotion", "name": "rolling on the floor laughing", "unicode": "1f923" }, ":roll_eyes:": { "category": "Smileys & Emotion", "name": "face with rolling eyes", "unicode": "1f644" }, ":roll_of_paper:": { "category": "Objects", "name": "roll of paper", "unicode": "1f9fb" }, ":roller_coaster:": { "category": "Travel & Places", "name": "roller coaster", "unicode": "1f3a2" }, ":roller_skate:": { "category": "Travel & Places", "name": "roller skate", "unicode": "1f6fc" }, ":romania:": { "category": "Flags", "name": "flag: Romania", "unicode": "1f1f7-1f1f4" }, ":rooster:": { "category": "Animals & Nature", "name": "rooster", "unicode": "1f413" }, ":rose:": { "category": "Animals & Nature", "name": "rose", "unicode": "1f339" }, ":rosette:": { "category": "Animals & Nature", "name": "rosette", "unicode": "1f3f5", "unicode_alt": "1f3f5-fe0f" }, ":rotating_light:": { "category": "Travel & Places", "name": "police car light", "unicode": "1f6a8" }, ":round_pushpin:": { "category": "Objects", "name": "round pushpin", "unicode": "1f4cd" }, ":rowboat:": { "category": "People & Body", "name": "person rowing boat", "unicode": "1f6a3" }, ":rowing_man:": { "category": "People & Body", "name": "man rowing boat", "unicode": "1f6a3-2642", "unicode_alt": "1f6a3-200d-2642-fe0f" }, ":rowing_woman:": { "category": "People & Body", "name": "woman rowing boat", "unicode": "1f6a3-2640", "unicode_alt": "1f6a3-200d-2640-fe0f" }, ":ru:": { "category": "Flags", "name": "flag: Russia", "unicode": "1f1f7-1f1fa" }, ":rugby_football:": { "category": "Activities", "name": "rugby football", "unicode": "1f3c9" }, ":runner:": { "category": "People & Body", "name": "person running", "unicode": "1f3c3" }, ":running_man:": { "category": "People & Body", "name": "man running", "unicode": "1f3c3-2642", "unicode_alt": "1f3c3-200d-2642-fe0f" }, ":running_shirt_with_sash:": { "category": "Activities", "name": "running shirt", "unicode": "1f3bd" }, ":running_woman:": { "category": "People & Body", "name": "woman running", "unicode": "1f3c3-2640", "unicode_alt": "1f3c3-200d-2640-fe0f" }, ":rwanda:": { "category": "Flags", "name": "flag: Rwanda", "unicode": "1f1f7-1f1fc" }, ":sa:": { "category": "Symbols", "name": "Japanese \u201cservice charge\u201d button", "unicode": "1f202", "unicode_alt": "1f202-fe0f" }, ":safety_pin:": { "category": "Objects", "name": "safety pin", "unicode": "1f9f7" }, ":safety_vest:": { "category": "Objects", "name": "safety vest", "unicode": "1f9ba" }, ":sagittarius:": { "category": "Symbols", "name": "Sagittarius", "unicode": "2650" }, ":sake:": { "category": "Food & Drink", "name": "sake", "unicode": "1f376" }, ":salt:": { "category": "Food & Drink", "name": "salt", "unicode": "1f9c2" }, ":saluting_face:": { "category": "Smileys & Emotion", "name": "saluting face", "unicode": "1fae1" }, ":samoa:": { "category": "Flags", "name": "flag: Samoa", "unicode": "1f1fc-1f1f8" }, ":san_marino:": { "category": "Flags", "name": "flag: San Marino", "unicode": "1f1f8-1f1f2" }, ":sandal:": { "category": "Objects", "name": "woman\u2019s sandal", "unicode": "1f461" }, ":sandwich:": { "category": "Food & Drink", "name": "sandwich", "unicode": "1f96a" }, ":santa:": { "category": "People & Body", "name": "Santa Claus", "unicode": "1f385" }, ":sao_tome_principe:": { "category": "Flags", "name": "flag: S\u00e3o Tom\u00e9 & Pr\u00edncipe", "unicode": "1f1f8-1f1f9" }, ":sari:": { "category": "Objects", "name": "sari", "unicode": "1f97b" }, ":satellite:": { "category": "Objects", "name": "satellite antenna", "unicode": "1f4e1" }, ":saudi_arabia:": { "category": "Flags", "name": "flag: Saudi Arabia", "unicode": "1f1f8-1f1e6" }, ":sauna_man:": { "category": "People & Body", "name": "man in steamy room", "unicode": "1f9d6-2642", "unicode_alt": "1f9d6-200d-2642-fe0f" }, ":sauna_person:": { "category": "People & Body", "name": "person in steamy room", "unicode": "1f9d6" }, ":sauna_woman:": { "category": "People & Body", "name": "woman in steamy room", "unicode": "1f9d6-2640", "unicode_alt": "1f9d6-200d-2640-fe0f" }, ":sauropod:": { "category": "Animals & Nature", "name": "sauropod", "unicode": "1f995" }, ":saxophone:": { "category": "Objects", "name": "saxophone", "unicode": "1f3b7" }, ":scarf:": { "category": "Objects", "name": "scarf", "unicode": "1f9e3" }, ":school:": { "category": "Travel & Places", "name": "school", "unicode": "1f3eb" }, ":school_satchel:": { "category": "Objects", "name": "backpack", "unicode": "1f392" }, ":scientist:": { "category": "People & Body", "name": "scientist", "unicode": "1f9d1-1f52c", "unicode_alt": "1f9d1-200d-1f52c" }, ":scissors:": { "category": "Objects", "name": "scissors", "unicode": "2702", "unicode_alt": "2702-fe0f" }, ":scorpion:": { "category": "Animals & Nature", "name": "scorpion", "unicode": "1f982" }, ":scorpius:": { "category": "Symbols", "name": "Scorpio", "unicode": "264f" }, ":scotland:": { "category": "Flags", "name": "flag: Scotland", "unicode": "1f3f4-e0067-e0062-e0073-e0063-e0074-e007f" }, ":scream:": { "category": "Smileys & Emotion", "name": "face screaming in fear", "unicode": "1f631" }, ":scream_cat:": { "category": "Smileys & Emotion", "name": "weary cat", "unicode": "1f640" }, ":screwdriver:": { "category": "Objects", "name": "screwdriver", "unicode": "1fa9b" }, ":scroll:": { "category": "Objects", "name": "scroll", "unicode": "1f4dc" }, ":seal:": { "category": "Animals & Nature", "name": "seal", "unicode": "1f9ad" }, ":seat:": { "category": "Travel & Places", "name": "seat", "unicode": "1f4ba" }, ":secret:": { "category": "Symbols", "name": "Japanese \u201csecret\u201d button", "unicode": "3299", "unicode_alt": "3299-fe0f" }, ":see_no_evil:": { "category": "Smileys & Emotion", "name": "see-no-evil monkey", "unicode": "1f648" }, ":seedling:": { "category": "Animals & Nature", "name": "seedling", "unicode": "1f331" }, ":selfie:": { "category": "People & Body", "name": "selfie", "unicode": "1f933" }, ":senegal:": { "category": "Flags", "name": "flag: Senegal", "unicode": "1f1f8-1f1f3" }, ":serbia:": { "category": "Flags", "name": "flag: Serbia", "unicode": "1f1f7-1f1f8" }, ":service_dog:": { "category": "Animals & Nature", "name": "service dog", "unicode": "1f415-1f9ba", "unicode_alt": "1f415-200d-1f9ba" }, ":seven:": { "category": "Symbols", "name": "keycap: 7", "unicode": "0037-20e3", "unicode_alt": "0037-fe0f-20e3" }, ":sewing_needle:": { "category": "Activities", "name": "sewing needle", "unicode": "1faa1" }, ":seychelles:": { "category": "Flags", "name": "flag: Seychelles", "unicode": "1f1f8-1f1e8" }, ":shaking_face:": { "category": "Smileys & Emotion", "name": "shaking face", "unicode": "1fae8" }, ":shallow_pan_of_food:": { "category": "Food & Drink", "name": "shallow pan of food", "unicode": "1f958" }, ":shamrock:": { "category": "Animals & Nature", "name": "shamrock", "unicode": "2618", "unicode_alt": "2618-fe0f" }, ":shark:": { "category": "Animals & Nature", "name": "shark", "unicode": "1f988" }, ":shaved_ice:": { "category": "Food & Drink", "name": "shaved ice", "unicode": "1f367" }, ":sheep:": { "category": "Animals & Nature", "name": "ewe", "unicode": "1f411" }, ":shell:": { "category": "Animals & Nature", "name": "spiral shell", "unicode": "1f41a" }, ":shield:": { "category": "Objects", "name": "shield", "unicode": "1f6e1", "unicode_alt": "1f6e1-fe0f" }, ":shinto_shrine:": { "category": "Travel & Places", "name": "shinto shrine", "unicode": "26e9", "unicode_alt": "26e9-fe0f" }, ":ship:": { "category": "Travel & Places", "name": "ship", "unicode": "1f6a2" }, ":shirt:": { "category": "Objects", "name": "t-shirt", "unicode": "1f455" }, ":shopping:": { "category": "Objects", "name": "shopping bags", "unicode": "1f6cd", "unicode_alt": "1f6cd-fe0f" }, ":shopping_cart:": { "category": "Objects", "name": "shopping cart", "unicode": "1f6d2" }, ":shorts:": { "category": "Objects", "name": "shorts", "unicode": "1fa73" }, ":shower:": { "category": "Objects", "name": "shower", "unicode": "1f6bf" }, ":shrimp:": { "category": "Food & Drink", "name": "shrimp", "unicode": "1f990" }, ":shrug:": { "category": "People & Body", "name": "person shrugging", "unicode": "1f937" }, ":shushing_face:": { "category": "Smileys & Emotion", "name": "shushing face", "unicode": "1f92b" }, ":sierra_leone:": { "category": "Flags", "name": "flag: Sierra Leone", "unicode": "1f1f8-1f1f1" }, ":signal_strength:": { "category": "Symbols", "name": "antenna bars", "unicode": "1f4f6" }, ":singapore:": { "category": "Flags", "name": "flag: Singapore", "unicode": "1f1f8-1f1ec" }, ":singer:": { "category": "People & Body", "name": "singer", "unicode": "1f9d1-1f3a4", "unicode_alt": "1f9d1-200d-1f3a4" }, ":sint_maarten:": { "category": "Flags", "name": "flag: Sint Maarten", "unicode": "1f1f8-1f1fd" }, ":six:": { "category": "Symbols", "name": "keycap: 6", "unicode": "0036-20e3", "unicode_alt": "0036-fe0f-20e3" }, ":six_pointed_star:": { "category": "Symbols", "name": "dotted six-pointed star", "unicode": "1f52f" }, ":skateboard:": { "category": "Travel & Places", "name": "skateboard", "unicode": "1f6f9" }, ":ski:": { "category": "Activities", "name": "skis", "unicode": "1f3bf" }, ":skier:": { "category": "People & Body", "name": "skier", "unicode": "26f7", "unicode_alt": "26f7-fe0f" }, ":skull:": { "category": "Smileys & Emotion", "name": "skull", "unicode": "1f480" }, ":skull_and_crossbones:": { "category": "Smileys & Emotion", "name": "skull and crossbones", "unicode": "2620", "unicode_alt": "2620-fe0f" }, ":skunk:": { "category": "Animals & Nature", "name": "skunk", "unicode": "1f9a8" }, ":sled:": { "category": "Activities", "name": "sled", "unicode": "1f6f7" }, ":sleeping:": { "category": "Smileys & Emotion", "name": "sleeping face", "unicode": "1f634" }, ":sleeping_bed:": { "category": "People & Body", "name": "person in bed", "unicode": "1f6cc" }, ":sleepy:": { "category": "Smileys & Emotion", "name": "sleepy face", "unicode": "1f62a" }, ":slightly_frowning_face:": { "category": "Smileys & Emotion", "name": "slightly frowning face", "unicode": "1f641" }, ":slightly_smiling_face:": { "category": "Smileys & Emotion", "name": "slightly smiling face", "unicode": "1f642" }, ":slot_machine:": { "category": "Activities", "name": "slot machine", "unicode": "1f3b0" }, ":sloth:": { "category": "Animals & Nature", "name": "sloth", "unicode": "1f9a5" }, ":slovakia:": { "category": "Flags", "name": "flag: Slovakia", "unicode": "1f1f8-1f1f0" }, ":slovenia:": { "category": "Flags", "name": "flag: Slovenia", "unicode": "1f1f8-1f1ee" }, ":small_airplane:": { "category": "Travel & Places", "name": "small airplane", "unicode": "1f6e9", "unicode_alt": "1f6e9-fe0f" }, ":small_blue_diamond:": { "category": "Symbols", "name": "small blue diamond", "unicode": "1f539" }, ":small_orange_diamond:": { "category": "Symbols", "name": "small orange diamond", "unicode": "1f538" }, ":small_red_triangle:": { "category": "Symbols", "name": "red triangle pointed up", "unicode": "1f53a" }, ":small_red_triangle_down:": { "category": "Symbols", "name": "red triangle pointed down", "unicode": "1f53b" }, ":smile:": { "category": "Smileys & Emotion", "name": "grinning face with smiling eyes", "unicode": "1f604" }, ":smile_cat:": { "category": "Smileys & Emotion", "name": "grinning cat with smiling eyes", "unicode": "1f638" }, ":smiley:": { "category": "Smileys & Emotion", "name": "grinning face with big eyes", "unicode": "1f603" }, ":smiley_cat:": { "category": "Smileys & Emotion", "name": "grinning cat", "unicode": "1f63a" }, ":smiling_face_with_tear:": { "category": "Smileys & Emotion", "name": "smiling face with tear", "unicode": "1f972" }, ":smiling_face_with_three_hearts:": { "category": "Smileys & Emotion", "name": "smiling face with hearts", "unicode": "1f970" }, ":smiling_imp:": { "category": "Smileys & Emotion", "name": "smiling face with horns", "unicode": "1f608" }, ":smirk:": { "category": "Smileys & Emotion", "name": "smirking face", "unicode": "1f60f" }, ":smirk_cat:": { "category": "Smileys & Emotion", "name": "cat with wry smile", "unicode": "1f63c" }, ":smoking:": { "category": "Objects", "name": "cigarette", "unicode": "1f6ac" }, ":snail:": { "category": "Animals & Nature", "name": "snail", "unicode": "1f40c" }, ":snake:": { "category": "Animals & Nature", "name": "snake", "unicode": "1f40d" }, ":sneezing_face:": { "category": "Smileys & Emotion", "name": "sneezing face", "unicode": "1f927" }, ":snowboarder:": { "category": "People & Body", "name": "snowboarder", "unicode": "1f3c2" }, ":snowflake:": { "category": "Travel & Places", "name": "snowflake", "unicode": "2744", "unicode_alt": "2744-fe0f" }, ":snowman:": { "category": "Travel & Places", "name": "snowman without snow", "unicode": "26c4" }, ":snowman_with_snow:": { "category": "Travel & Places", "name": "snowman", "unicode": "2603", "unicode_alt": "2603-fe0f" }, ":soap:": { "category": "Objects", "name": "soap", "unicode": "1f9fc" }, ":sob:": { "category": "Smileys & Emotion", "name": "loudly crying face", "unicode": "1f62d" }, ":soccer:": { "category": "Activities", "name": "soccer ball", "unicode": "26bd" }, ":socks:": { "category": "Objects", "name": "socks", "unicode": "1f9e6" }, ":softball:": { "category": "Activities", "name": "softball", "unicode": "1f94e" }, ":solomon_islands:": { "category": "Flags", "name": "flag: Solomon Islands", "unicode": "1f1f8-1f1e7" }, ":somalia:": { "category": "Flags", "name": "flag: Somalia", "unicode": "1f1f8-1f1f4" }, ":soon:": { "category": "Symbols", "name": "SOON arrow", "unicode": "1f51c" }, ":sos:": { "category": "Symbols", "name": "SOS button", "unicode": "1f198" }, ":sound:": { "category": "Objects", "name": "speaker medium volume", "unicode": "1f509" }, ":south_africa:": { "category": "Flags", "name": "flag: South Africa", "unicode": "1f1ff-1f1e6" }, ":south_georgia_south_sandwich_islands:": { "category": "Flags", "name": "flag: South Georgia & South Sandwich Islands", "unicode": "1f1ec-1f1f8" }, ":south_sudan:": { "category": "Flags", "name": "flag: South Sudan", "unicode": "1f1f8-1f1f8" }, ":space_invader:": { "category": "Smileys & Emotion", "name": "alien monster", "unicode": "1f47e" }, ":spades:": { "category": "Activities", "name": "spade suit", "unicode": "2660", "unicode_alt": "2660-fe0f" }, ":spaghetti:": { "category": "Food & Drink", "name": "spaghetti", "unicode": "1f35d" }, ":sparkle:": { "category": "Symbols", "name": "sparkle", "unicode": "2747", "unicode_alt": "2747-fe0f" }, ":sparkler:": { "category": "Activities", "name": "sparkler", "unicode": "1f387" }, ":sparkles:": { "category": "Activities", "name": "sparkles", "unicode": "2728" }, ":sparkling_heart:": { "category": "Smileys & Emotion", "name": "sparkling heart", "unicode": "1f496" }, ":speak_no_evil:": { "category": "Smileys & Emotion", "name": "speak-no-evil monkey", "unicode": "1f64a" }, ":speaker:": { "category": "Objects", "name": "speaker low volume", "unicode": "1f508" }, ":speaking_head:": { "category": "People & Body", "name": "speaking head", "unicode": "1f5e3", "unicode_alt": "1f5e3-fe0f" }, ":speech_balloon:": { "category": "Smileys & Emotion", "name": "speech balloon", "unicode": "1f4ac" }, ":speedboat:": { "category": "Travel & Places", "name": "speedboat", "unicode": "1f6a4" }, ":spider:": { "category": "Animals & Nature", "name": "spider", "unicode": "1f577", "unicode_alt": "1f577-fe0f" }, ":spider_web:": { "category": "Animals & Nature", "name": "spider web", "unicode": "1f578", "unicode_alt": "1f578-fe0f" }, ":spiral_calendar:": { "category": "Objects", "name": "spiral calendar", "unicode": "1f5d3", "unicode_alt": "1f5d3-fe0f" }, ":spiral_notepad:": { "category": "Objects", "name": "spiral notepad", "unicode": "1f5d2", "unicode_alt": "1f5d2-fe0f" }, ":sponge:": { "category": "Objects", "name": "sponge", "unicode": "1f9fd" }, ":spoon:": { "category": "Food & Drink", "name": "spoon", "unicode": "1f944" }, ":squid:": { "category": "Food & Drink", "name": "squid", "unicode": "1f991" }, ":sri_lanka:": { "category": "Flags", "name": "flag: Sri Lanka", "unicode": "1f1f1-1f1f0" }, ":st_barthelemy:": { "category": "Flags", "name": "flag: St. Barth\u00e9lemy", "unicode": "1f1e7-1f1f1" }, ":st_helena:": { "category": "Flags", "name": "flag: St. Helena", "unicode": "1f1f8-1f1ed" }, ":st_kitts_nevis:": { "category": "Flags", "name": "flag: St. Kitts & Nevis", "unicode": "1f1f0-1f1f3" }, ":st_lucia:": { "category": "Flags", "name": "flag: St. Lucia", "unicode": "1f1f1-1f1e8" }, ":st_martin:": { "category": "Flags", "name": "flag: St. Martin", "unicode": "1f1f2-1f1eb" }, ":st_pierre_miquelon:": { "category": "Flags", "name": "flag: St. Pierre & Miquelon", "unicode": "1f1f5-1f1f2" }, ":st_vincent_grenadines:": { "category": "Flags", "name": "flag: St. Vincent & Grenadines", "unicode": "1f1fb-1f1e8" }, ":stadium:": { "category": "Travel & Places", "name": "stadium", "unicode": "1f3df", "unicode_alt": "1f3df-fe0f" }, ":standing_man:": { "category": "People & Body", "name": "man standing", "unicode": "1f9cd-2642", "unicode_alt": "1f9cd-200d-2642-fe0f" }, ":standing_person:": { "category": "People & Body", "name": "person standing", "unicode": "1f9cd" }, ":standing_woman:": { "category": "People & Body", "name": "woman standing", "unicode": "1f9cd-2640", "unicode_alt": "1f9cd-200d-2640-fe0f" }, ":star2:": { "category": "Travel & Places", "name": "glowing star", "unicode": "1f31f" }, ":star:": { "category": "Travel & Places", "name": "star", "unicode": "2b50" }, ":star_and_crescent:": { "category": "Symbols", "name": "star and crescent", "unicode": "262a", "unicode_alt": "262a-fe0f" }, ":star_of_david:": { "category": "Symbols", "name": "star of David", "unicode": "2721", "unicode_alt": "2721-fe0f" }, ":star_struck:": { "category": "Smileys & Emotion", "name": "star-struck", "unicode": "1f929" }, ":stars:": { "category": "Travel & Places", "name": "shooting star", "unicode": "1f320" }, ":station:": { "category": "Travel & Places", "name": "station", "unicode": "1f689" }, ":statue_of_liberty:": { "category": "Travel & Places", "name": "Statue of Liberty", "unicode": "1f5fd" }, ":steam_locomotive:": { "category": "Travel & Places", "name": "locomotive", "unicode": "1f682" }, ":stethoscope:": { "category": "Objects", "name": "stethoscope", "unicode": "1fa7a" }, ":stew:": { "category": "Food & Drink", "name": "pot of food", "unicode": "1f372" }, ":stop_button:": { "category": "Symbols", "name": "stop button", "unicode": "23f9", "unicode_alt": "23f9-fe0f" }, ":stop_sign:": { "category": "Travel & Places", "name": "stop sign", "unicode": "1f6d1" }, ":stopwatch:": { "category": "Travel & Places", "name": "stopwatch", "unicode": "23f1", "unicode_alt": "23f1-fe0f" }, ":straight_ruler:": { "category": "Objects", "name": "straight ruler", "unicode": "1f4cf" }, ":strawberry:": { "category": "Food & Drink", "name": "strawberry", "unicode": "1f353" }, ":stuck_out_tongue:": { "category": "Smileys & Emotion", "name": "face with tongue", "unicode": "1f61b" }, ":stuck_out_tongue_closed_eyes:": { "category": "Smileys & Emotion", "name": "squinting face with tongue", "unicode": "1f61d" }, ":stuck_out_tongue_winking_eye:": { "category": "Smileys & Emotion", "name": "winking face with tongue", "unicode": "1f61c" }, ":student:": { "category": "People & Body", "name": "student", "unicode": "1f9d1-1f393", "unicode_alt": "1f9d1-200d-1f393" }, ":studio_microphone:": { "category": "Objects", "name": "studio microphone", "unicode": "1f399", "unicode_alt": "1f399-fe0f" }, ":stuffed_flatbread:": { "category": "Food & Drink", "name": "stuffed flatbread", "unicode": "1f959" }, ":sudan:": { "category": "Flags", "name": "flag: Sudan", "unicode": "1f1f8-1f1e9" }, ":sun_behind_large_cloud:": { "category": "Travel & Places", "name": "sun behind large cloud", "unicode": "1f325", "unicode_alt": "1f325-fe0f" }, ":sun_behind_rain_cloud:": { "category": "Travel & Places", "name": "sun behind rain cloud", "unicode": "1f326", "unicode_alt": "1f326-fe0f" }, ":sun_behind_small_cloud:": { "category": "Travel & Places", "name": "sun behind small cloud", "unicode": "1f324", "unicode_alt": "1f324-fe0f" }, ":sun_with_face:": { "category": "Travel & Places", "name": "sun with face", "unicode": "1f31e" }, ":sunflower:": { "category": "Animals & Nature", "name": "sunflower", "unicode": "1f33b" }, ":sunglasses:": { "category": "Smileys & Emotion", "name": "smiling face with sunglasses", "unicode": "1f60e" }, ":sunny:": { "category": "Travel & Places", "name": "sun", "unicode": "2600", "unicode_alt": "2600-fe0f" }, ":sunrise:": { "category": "Travel & Places", "name": "sunrise", "unicode": "1f305" }, ":sunrise_over_mountains:": { "category": "Travel & Places", "name": "sunrise over mountains", "unicode": "1f304" }, ":superhero:": { "category": "People & Body", "name": "superhero", "unicode": "1f9b8" }, ":superhero_man:": { "category": "People & Body", "name": "man superhero", "unicode": "1f9b8-2642", "unicode_alt": "1f9b8-200d-2642-fe0f" }, ":superhero_woman:": { "category": "People & Body", "name": "woman superhero", "unicode": "1f9b8-2640", "unicode_alt": "1f9b8-200d-2640-fe0f" }, ":supervillain:": { "category": "People & Body", "name": "supervillain", "unicode": "1f9b9" }, ":supervillain_man:": { "category": "People & Body", "name": "man supervillain", "unicode": "1f9b9-2642", "unicode_alt": "1f9b9-200d-2642-fe0f" }, ":supervillain_woman:": { "category": "People & Body", "name": "woman supervillain", "unicode": "1f9b9-2640", "unicode_alt": "1f9b9-200d-2640-fe0f" }, ":surfer:": { "category": "People & Body", "name": "person surfing", "unicode": "1f3c4" }, ":surfing_man:": { "category": "People & Body", "name": "man surfing", "unicode": "1f3c4-2642", "unicode_alt": "1f3c4-200d-2642-fe0f" }, ":surfing_woman:": { "category": "People & Body", "name": "woman surfing", "unicode": "1f3c4-2640", "unicode_alt": "1f3c4-200d-2640-fe0f" }, ":suriname:": { "category": "Flags", "name": "flag: Suriname", "unicode": "1f1f8-1f1f7" }, ":sushi:": { "category": "Food & Drink", "name": "sushi", "unicode": "1f363" }, ":suspension_railway:": { "category": "Travel & Places", "name": "suspension railway", "unicode": "1f69f" }, ":svalbard_jan_mayen:": { "category": "Flags", "name": "flag: Svalbard & Jan Mayen", "unicode": "1f1f8-1f1ef" }, ":swan:": { "category": "Animals & Nature", "name": "swan", "unicode": "1f9a2" }, ":swaziland:": { "category": "Flags", "name": "flag: Eswatini", "unicode": "1f1f8-1f1ff" }, ":sweat:": { "category": "Smileys & Emotion", "name": "downcast face with sweat", "unicode": "1f613" }, ":sweat_drops:": { "category": "Smileys & Emotion", "name": "sweat droplets", "unicode": "1f4a6" }, ":sweat_smile:": { "category": "Smileys & Emotion", "name": "grinning face with sweat", "unicode": "1f605" }, ":sweden:": { "category": "Flags", "name": "flag: Sweden", "unicode": "1f1f8-1f1ea" }, ":sweet_potato:": { "category": "Food & Drink", "name": "roasted sweet potato", "unicode": "1f360" }, ":swim_brief:": { "category": "Objects", "name": "briefs", "unicode": "1fa72" }, ":swimmer:": { "category": "People & Body", "name": "person swimming", "unicode": "1f3ca" }, ":swimming_man:": { "category": "People & Body", "name": "man swimming", "unicode": "1f3ca-2642", "unicode_alt": "1f3ca-200d-2642-fe0f" }, ":swimming_woman:": { "category": "People & Body", "name": "woman swimming", "unicode": "1f3ca-2640", "unicode_alt": "1f3ca-200d-2640-fe0f" }, ":switzerland:": { "category": "Flags", "name": "flag: Switzerland", "unicode": "1f1e8-1f1ed" }, ":symbols:": { "category": "Symbols", "name": "input symbols", "unicode": "1f523" }, ":synagogue:": { "category": "Travel & Places", "name": "synagogue", "unicode": "1f54d" }, ":syria:": { "category": "Flags", "name": "flag: Syria", "unicode": "1f1f8-1f1fe" }, ":syringe:": { "category": "Objects", "name": "syringe", "unicode": "1f489" }, ":t-rex:": { "category": "Animals & Nature", "name": "T-Rex", "unicode": "1f996" }, ":taco:": { "category": "Food & Drink", "name": "taco", "unicode": "1f32e" }, ":tada:": { "category": "Activities", "name": "party popper", "unicode": "1f389" }, ":taiwan:": { "category": "Flags", "name": "flag: Taiwan", "unicode": "1f1f9-1f1fc" }, ":tajikistan:": { "category": "Flags", "name": "flag: Tajikistan", "unicode": "1f1f9-1f1ef" }, ":takeout_box:": { "category": "Food & Drink", "name": "takeout box", "unicode": "1f961" }, ":tamale:": { "category": "Food & Drink", "name": "tamale", "unicode": "1fad4" }, ":tanabata_tree:": { "category": "Activities", "name": "tanabata tree", "unicode": "1f38b" }, ":tangerine:": { "category": "Food & Drink", "name": "tangerine", "unicode": "1f34a" }, ":tanzania:": { "category": "Flags", "name": "flag: Tanzania", "unicode": "1f1f9-1f1ff" }, ":taurus:": { "category": "Symbols", "name": "Taurus", "unicode": "2649" }, ":taxi:": { "category": "Travel & Places", "name": "taxi", "unicode": "1f695" }, ":tea:": { "category": "Food & Drink", "name": "teacup without handle", "unicode": "1f375" }, ":teacher:": { "category": "People & Body", "name": "teacher", "unicode": "1f9d1-1f3eb", "unicode_alt": "1f9d1-200d-1f3eb" }, ":teapot:": { "category": "Food & Drink", "name": "teapot", "unicode": "1fad6" }, ":technologist:": { "category": "People & Body", "name": "technologist", "unicode": "1f9d1-1f4bb", "unicode_alt": "1f9d1-200d-1f4bb" }, ":teddy_bear:": { "category": "Activities", "name": "teddy bear", "unicode": "1f9f8" }, ":telephone_receiver:": { "category": "Objects", "name": "telephone receiver", "unicode": "1f4de" }, ":telescope:": { "category": "Objects", "name": "telescope", "unicode": "1f52d" }, ":tennis:": { "category": "Activities", "name": "tennis", "unicode": "1f3be" }, ":tent:": { "category": "Travel & Places", "name": "tent", "unicode": "26fa" }, ":test_tube:": { "category": "Objects", "name": "test tube", "unicode": "1f9ea" }, ":thailand:": { "category": "Flags", "name": "flag: Thailand", "unicode": "1f1f9-1f1ed" }, ":thermometer:": { "category": "Travel & Places", "name": "thermometer", "unicode": "1f321", "unicode_alt": "1f321-fe0f" }, ":thinking:": { "category": "Smileys & Emotion", "name": "thinking face", "unicode": "1f914" }, ":thong_sandal:": { "category": "Objects", "name": "thong sandal", "unicode": "1fa74" }, ":thought_balloon:": { "category": "Smileys & Emotion", "name": "thought balloon", "unicode": "1f4ad" }, ":thread:": { "category": "Activities", "name": "thread", "unicode": "1f9f5" }, ":three:": { "category": "Symbols", "name": "keycap: 3", "unicode": "0033-20e3", "unicode_alt": "0033-fe0f-20e3" }, ":ticket:": { "category": "Activities", "name": "ticket", "unicode": "1f3ab" }, ":tickets:": { "category": "Activities", "name": "admission tickets", "unicode": "1f39f", "unicode_alt": "1f39f-fe0f" }, ":tiger2:": { "category": "Animals & Nature", "name": "tiger", "unicode": "1f405" }, ":tiger:": { "category": "Animals & Nature", "name": "tiger face", "unicode": "1f42f" }, ":timer_clock:": { "category": "Travel & Places", "name": "timer clock", "unicode": "23f2", "unicode_alt": "23f2-fe0f" }, ":timor_leste:": { "category": "Flags", "name": "flag: Timor-Leste", "unicode": "1f1f9-1f1f1" }, ":tipping_hand_man:": { "category": "People & Body", "name": "man tipping hand", "unicode": "1f481-2642", "unicode_alt": "1f481-200d-2642-fe0f" }, ":tipping_hand_person:": { "category": "People & Body", "name": "person tipping hand", "unicode": "1f481" }, ":tipping_hand_woman:": { "category": "People & Body", "name": "woman tipping hand", "unicode": "1f481-2640", "unicode_alt": "1f481-200d-2640-fe0f" }, ":tired_face:": { "category": "Smileys & Emotion", "name": "tired face", "unicode": "1f62b" }, ":tm:": { "category": "Symbols", "name": "trade mark", "unicode": "2122", "unicode_alt": "2122-fe0f" }, ":togo:": { "category": "Flags", "name": "flag: Togo", "unicode": "1f1f9-1f1ec" }, ":toilet:": { "category": "Objects", "name": "toilet", "unicode": "1f6bd" }, ":tokelau:": { "category": "Flags", "name": "flag: Tokelau", "unicode": "1f1f9-1f1f0" }, ":tokyo_tower:": { "category": "Travel & Places", "name": "Tokyo tower", "unicode": "1f5fc" }, ":tomato:": { "category": "Food & Drink", "name": "tomato", "unicode": "1f345" }, ":tonga:": { "category": "Flags", "name": "flag: Tonga", "unicode": "1f1f9-1f1f4" }, ":tongue:": { "category": "People & Body", "name": "tongue", "unicode": "1f445" }, ":toolbox:": { "category": "Objects", "name": "toolbox", "unicode": "1f9f0" }, ":tooth:": { "category": "People & Body", "name": "tooth", "unicode": "1f9b7" }, ":toothbrush:": { "category": "Objects", "name": "toothbrush", "unicode": "1faa5" }, ":top:": { "category": "Symbols", "name": "TOP arrow", "unicode": "1f51d" }, ":tophat:": { "category": "Objects", "name": "top hat", "unicode": "1f3a9" }, ":tornado:": { "category": "Travel & Places", "name": "tornado", "unicode": "1f32a", "unicode_alt": "1f32a-fe0f" }, ":tr:": { "category": "Flags", "name": "flag: Turkey", "unicode": "1f1f9-1f1f7" }, ":trackball:": { "category": "Objects", "name": "trackball", "unicode": "1f5b2", "unicode_alt": "1f5b2-fe0f" }, ":tractor:": { "category": "Travel & Places", "name": "tractor", "unicode": "1f69c" }, ":traffic_light:": { "category": "Travel & Places", "name": "horizontal traffic light", "unicode": "1f6a5" }, ":train2:": { "category": "Travel & Places", "name": "train", "unicode": "1f686" }, ":train:": { "category": "Travel & Places", "name": "tram car", "unicode": "1f68b" }, ":tram:": { "category": "Travel & Places", "name": "tram", "unicode": "1f68a" }, ":transgender_flag:": { "category": "Flags", "name": "transgender flag", "unicode": "1f3f3-26a7", "unicode_alt": "1f3f3-fe0f-200d-26a7-fe0f" }, ":transgender_symbol:": { "category": "Symbols", "name": "transgender symbol", "unicode": "26a7", "unicode_alt": "26a7-fe0f" }, ":triangular_flag_on_post:": { "category": "Flags", "name": "triangular flag", "unicode": "1f6a9" }, ":triangular_ruler:": { "category": "Objects", "name": "triangular ruler", "unicode": "1f4d0" }, ":trident:": { "category": "Symbols", "name": "trident emblem", "unicode": "1f531" }, ":trinidad_tobago:": { "category": "Flags", "name": "flag: Trinidad & Tobago", "unicode": "1f1f9-1f1f9" }, ":tristan_da_cunha:": { "category": "Flags", "name": "flag: Tristan da Cunha", "unicode": "1f1f9-1f1e6" }, ":triumph:": { "category": "Smileys & Emotion", "name": "face with steam from nose", "unicode": "1f624" }, ":troll:": { "category": "People & Body", "name": "troll", "unicode": "1f9cc" }, ":trolleybus:": { "category": "Travel & Places", "name": "trolleybus", "unicode": "1f68e" }, ":trophy:": { "category": "Activities", "name": "trophy", "unicode": "1f3c6" }, ":tropical_drink:": { "category": "Food & Drink", "name": "tropical drink", "unicode": "1f379" }, ":tropical_fish:": { "category": "Animals & Nature", "name": "tropical fish", "unicode": "1f420" }, ":truck:": { "category": "Travel & Places", "name": "delivery truck", "unicode": "1f69a" }, ":trumpet:": { "category": "Objects", "name": "trumpet", "unicode": "1f3ba" }, ":tulip:": { "category": "Animals & Nature", "name": "tulip", "unicode": "1f337" }, ":tumbler_glass:": { "category": "Food & Drink", "name": "tumbler glass", "unicode": "1f943" }, ":tunisia:": { "category": "Flags", "name": "flag: Tunisia", "unicode": "1f1f9-1f1f3" }, ":turkey:": { "category": "Animals & Nature", "name": "turkey", "unicode": "1f983" }, ":turkmenistan:": { "category": "Flags", "name": "flag: Turkmenistan", "unicode": "1f1f9-1f1f2" }, ":turks_caicos_islands:": { "category": "Flags", "name": "flag: Turks & Caicos Islands", "unicode": "1f1f9-1f1e8" }, ":turtle:": { "category": "Animals & Nature", "name": "turtle", "unicode": "1f422" }, ":tuvalu:": { "category": "Flags", "name": "flag: Tuvalu", "unicode": "1f1f9-1f1fb" }, ":tv:": { "category": "Objects", "name": "television", "unicode": "1f4fa" }, ":twisted_rightwards_arrows:": { "category": "Symbols", "name": "shuffle tracks button", "unicode": "1f500" }, ":two:": { "category": "Symbols", "name": "keycap: 2", "unicode": "0032-20e3", "unicode_alt": "0032-fe0f-20e3" }, ":two_hearts:": { "category": "Smileys & Emotion", "name": "two hearts", "unicode": "1f495" }, ":two_men_holding_hands:": { "category": "People & Body", "name": "men holding hands", "unicode": "1f46c" }, ":two_women_holding_hands:": { "category": "People & Body", "name": "women holding hands", "unicode": "1f46d" }, ":u5272:": { "category": "Symbols", "name": "Japanese \u201cdiscount\u201d button", "unicode": "1f239" }, ":u5408:": { "category": "Symbols", "name": "Japanese \u201cpassing grade\u201d button", "unicode": "1f234" }, ":u55b6:": { "category": "Symbols", "name": "Japanese \u201copen for business\u201d button", "unicode": "1f23a" }, ":u6307:": { "category": "Symbols", "name": "Japanese \u201creserved\u201d button", "unicode": "1f22f" }, ":u6708:": { "category": "Symbols", "name": "Japanese \u201cmonthly amount\u201d button", "unicode": "1f237", "unicode_alt": "1f237-fe0f" }, ":u6709:": { "category": "Symbols", "name": "Japanese \u201cnot free of charge\u201d button", "unicode": "1f236" }, ":u6e80:": { "category": "Symbols", "name": "Japanese \u201cno vacancy\u201d button", "unicode": "1f235" }, ":u7121:": { "category": "Symbols", "name": "Japanese \u201cfree of charge\u201d button", "unicode": "1f21a" }, ":u7533:": { "category": "Symbols", "name": "Japanese \u201capplication\u201d button", "unicode": "1f238" }, ":u7981:": { "category": "Symbols", "name": "Japanese \u201cprohibited\u201d button", "unicode": "1f232" }, ":u7a7a:": { "category": "Symbols", "name": "Japanese \u201cvacancy\u201d button", "unicode": "1f233" }, ":uganda:": { "category": "Flags", "name": "flag: Uganda", "unicode": "1f1fa-1f1ec" }, ":ukraine:": { "category": "Flags", "name": "flag: Ukraine", "unicode": "1f1fa-1f1e6" }, ":umbrella:": { "category": "Travel & Places", "name": "umbrella with rain drops", "unicode": "2614" }, ":unamused:": { "category": "Smileys & Emotion", "name": "unamused face", "unicode": "1f612" }, ":underage:": { "category": "Symbols", "name": "no one under eighteen", "unicode": "1f51e" }, ":unicorn:": { "category": "Animals & Nature", "name": "unicorn", "unicode": "1f984" }, ":united_arab_emirates:": { "category": "Flags", "name": "flag: United Arab Emirates", "unicode": "1f1e6-1f1ea" }, ":united_nations:": { "category": "Flags", "name": "flag: United Nations", "unicode": "1f1fa-1f1f3" }, ":unlock:": { "category": "Objects", "name": "unlocked", "unicode": "1f513" }, ":up:": { "category": "Symbols", "name": "UP! button", "unicode": "1f199" }, ":upside_down_face:": { "category": "Smileys & Emotion", "name": "upside-down face", "unicode": "1f643" }, ":uruguay:": { "category": "Flags", "name": "flag: Uruguay", "unicode": "1f1fa-1f1fe" }, ":us:": { "category": "Flags", "name": "flag: United States", "unicode": "1f1fa-1f1f8" }, ":us_outlying_islands:": { "category": "Flags", "name": "flag: U.S. Outlying Islands", "unicode": "1f1fa-1f1f2" }, ":us_virgin_islands:": { "category": "Flags", "name": "flag: U.S. Virgin Islands", "unicode": "1f1fb-1f1ee" }, ":uzbekistan:": { "category": "Flags", "name": "flag: Uzbekistan", "unicode": "1f1fa-1f1ff" }, ":v:": { "category": "People & Body", "name": "victory hand", "unicode": "270c", "unicode_alt": "270c-fe0f" }, ":vampire:": { "category": "People & Body", "name": "vampire", "unicode": "1f9db" }, ":vampire_man:": { "category": "People & Body", "name": "man vampire", "unicode": "1f9db-2642", "unicode_alt": "1f9db-200d-2642-fe0f" }, ":vampire_woman:": { "category": "People & Body", "name": "woman vampire", "unicode": "1f9db-2640", "unicode_alt": "1f9db-200d-2640-fe0f" }, ":vanuatu:": { "category": "Flags", "name": "flag: Vanuatu", "unicode": "1f1fb-1f1fa" }, ":vatican_city:": { "category": "Flags", "name": "flag: Vatican City", "unicode": "1f1fb-1f1e6" }, ":venezuela:": { "category": "Flags", "name": "flag: Venezuela", "unicode": "1f1fb-1f1ea" }, ":vertical_traffic_light:": { "category": "Travel & Places", "name": "vertical traffic light", "unicode": "1f6a6" }, ":vhs:": { "category": "Objects", "name": "videocassette", "unicode": "1f4fc" }, ":vibration_mode:": { "category": "Symbols", "name": "vibration mode", "unicode": "1f4f3" }, ":video_camera:": { "category": "Objects", "name": "video camera", "unicode": "1f4f9" }, ":video_game:": { "category": "Activities", "name": "video game", "unicode": "1f3ae" }, ":vietnam:": { "category": "Flags", "name": "flag: Vietnam", "unicode": "1f1fb-1f1f3" }, ":violin:": { "category": "Objects", "name": "violin", "unicode": "1f3bb" }, ":virgo:": { "category": "Symbols", "name": "Virgo", "unicode": "264d" }, ":volcano:": { "category": "Travel & Places", "name": "volcano", "unicode": "1f30b" }, ":volleyball:": { "category": "Activities", "name": "volleyball", "unicode": "1f3d0" }, ":vomiting_face:": { "category": "Smileys & Emotion", "name": "face vomiting", "unicode": "1f92e" }, ":vs:": { "category": "Symbols", "name": "VS button", "unicode": "1f19a" }, ":vulcan_salute:": { "category": "People & Body", "name": "vulcan salute", "unicode": "1f596" }, ":waffle:": { "category": "Food & Drink", "name": "waffle", "unicode": "1f9c7" }, ":wales:": { "category": "Flags", "name": "flag: Wales", "unicode": "1f3f4-e0067-e0062-e0077-e006c-e0073-e007f" }, ":walking:": { "category": "People & Body", "name": "person walking", "unicode": "1f6b6" }, ":walking_man:": { "category": "People & Body", "name": "man walking", "unicode": "1f6b6-2642", "unicode_alt": "1f6b6-200d-2642-fe0f" }, ":walking_woman:": { "category": "People & Body", "name": "woman walking", "unicode": "1f6b6-2640", "unicode_alt": "1f6b6-200d-2640-fe0f" }, ":wallis_futuna:": { "category": "Flags", "name": "flag: Wallis & Futuna", "unicode": "1f1fc-1f1eb" }, ":waning_crescent_moon:": { "category": "Travel & Places", "name": "waning crescent moon", "unicode": "1f318" }, ":waning_gibbous_moon:": { "category": "Travel & Places", "name": "waning gibbous moon", "unicode": "1f316" }, ":warning:": { "category": "Symbols", "name": "warning", "unicode": "26a0", "unicode_alt": "26a0-fe0f" }, ":wastebasket:": { "category": "Objects", "name": "wastebasket", "unicode": "1f5d1", "unicode_alt": "1f5d1-fe0f" }, ":watch:": { "category": "Travel & Places", "name": "watch", "unicode": "231a" }, ":water_buffalo:": { "category": "Animals & Nature", "name": "water buffalo", "unicode": "1f403" }, ":water_polo:": { "category": "People & Body", "name": "person playing water polo", "unicode": "1f93d" }, ":watermelon:": { "category": "Food & Drink", "name": "watermelon", "unicode": "1f349" }, ":wave:": { "category": "People & Body", "name": "waving hand", "unicode": "1f44b" }, ":wavy_dash:": { "category": "Symbols", "name": "wavy dash", "unicode": "3030", "unicode_alt": "3030-fe0f" }, ":waxing_crescent_moon:": { "category": "Travel & Places", "name": "waxing crescent moon", "unicode": "1f312" }, ":wc:": { "category": "Symbols", "name": "water closet", "unicode": "1f6be" }, ":weary:": { "category": "Smileys & Emotion", "name": "weary face", "unicode": "1f629" }, ":wedding:": { "category": "Travel & Places", "name": "wedding", "unicode": "1f492" }, ":weight_lifting:": { "category": "People & Body", "name": "person lifting weights", "unicode": "1f3cb", "unicode_alt": "1f3cb-fe0f" }, ":weight_lifting_man:": { "category": "People & Body", "name": "man lifting weights", "unicode": "1f3cb-2642", "unicode_alt": "1f3cb-fe0f-200d-2642-fe0f" }, ":weight_lifting_woman:": { "category": "People & Body", "name": "woman lifting weights", "unicode": "1f3cb-2640", "unicode_alt": "1f3cb-fe0f-200d-2640-fe0f" }, ":western_sahara:": { "category": "Flags", "name": "flag: Western Sahara", "unicode": "1f1ea-1f1ed" }, ":whale2:": { "category": "Animals & Nature", "name": "whale", "unicode": "1f40b" }, ":whale:": { "category": "Animals & Nature", "name": "spouting whale", "unicode": "1f433" }, ":wheel:": { "category": "Travel & Places", "name": "wheel", "unicode": "1f6de" }, ":wheel_of_dharma:": { "category": "Symbols", "name": "wheel of dharma", "unicode": "2638", "unicode_alt": "2638-fe0f" }, ":wheelchair:": { "category": "Symbols", "name": "wheelchair symbol", "unicode": "267f" }, ":white_check_mark:": { "category": "Symbols", "name": "check mark button", "unicode": "2705" }, ":white_circle:": { "category": "Symbols", "name": "white circle", "unicode": "26aa" }, ":white_flag:": { "category": "Flags", "name": "white flag", "unicode": "1f3f3", "unicode_alt": "1f3f3-fe0f" }, ":white_flower:": { "category": "Animals & Nature", "name": "white flower", "unicode": "1f4ae" }, ":white_haired_man:": { "category": "People & Body", "name": "man: white hair", "unicode": "1f468-1f9b3", "unicode_alt": "1f468-200d-1f9b3" }, ":white_haired_woman:": { "category": "People & Body", "name": "woman: white hair", "unicode": "1f469-1f9b3", "unicode_alt": "1f469-200d-1f9b3" }, ":white_heart:": { "category": "Smileys & Emotion", "name": "white heart", "unicode": "1f90d" }, ":white_large_square:": { "category": "Symbols", "name": "white large square", "unicode": "2b1c" }, ":white_medium_small_square:": { "category": "Symbols", "name": "white medium-small square", "unicode": "25fd" }, ":white_medium_square:": { "category": "Symbols", "name": "white medium square", "unicode": "25fb", "unicode_alt": "25fb-fe0f" }, ":white_small_square:": { "category": "Symbols", "name": "white small square", "unicode": "25ab", "unicode_alt": "25ab-fe0f" }, ":white_square_button:": { "category": "Symbols", "name": "white square button", "unicode": "1f533" }, ":wilted_flower:": { "category": "Animals & Nature", "name": "wilted flower", "unicode": "1f940" }, ":wind_chime:": { "category": "Activities", "name": "wind chime", "unicode": "1f390" }, ":wind_face:": { "category": "Travel & Places", "name": "wind face", "unicode": "1f32c", "unicode_alt": "1f32c-fe0f" }, ":window:": { "category": "Objects", "name": "window", "unicode": "1fa9f" }, ":wine_glass:": { "category": "Food & Drink", "name": "wine glass", "unicode": "1f377" }, ":wing:": { "category": "Animals & Nature", "name": "wing", "unicode": "1fabd" }, ":wink:": { "category": "Smileys & Emotion", "name": "winking face", "unicode": "1f609" }, ":wireless:": { "category": "Symbols", "name": "wireless", "unicode": "1f6dc" }, ":wolf:": { "category": "Animals & Nature", "name": "wolf", "unicode": "1f43a" }, ":woman:": { "category": "People & Body", "name": "woman", "unicode": "1f469" }, ":woman_artist:": { "category": "People & Body", "name": "woman artist", "unicode": "1f469-1f3a8", "unicode_alt": "1f469-200d-1f3a8" }, ":woman_astronaut:": { "category": "People & Body", "name": "woman astronaut", "unicode": "1f469-1f680", "unicode_alt": "1f469-200d-1f680" }, ":woman_beard:": { "category": "People & Body", "name": "woman: beard", "unicode": "1f9d4-2640", "unicode_alt": "1f9d4-200d-2640-fe0f" }, ":woman_cartwheeling:": { "category": "People & Body", "name": "woman cartwheeling", "unicode": "1f938-2640", "unicode_alt": "1f938-200d-2640-fe0f" }, ":woman_cook:": { "category": "People & Body", "name": "woman cook", "unicode": "1f469-1f373", "unicode_alt": "1f469-200d-1f373" }, ":woman_dancing:": { "category": "People & Body", "name": "woman dancing", "unicode": "1f483" }, ":woman_facepalming:": { "category": "People & Body", "name": "woman facepalming", "unicode": "1f926-2640", "unicode_alt": "1f926-200d-2640-fe0f" }, ":woman_factory_worker:": { "category": "People & Body", "name": "woman factory worker", "unicode": "1f469-1f3ed", "unicode_alt": "1f469-200d-1f3ed" }, ":woman_farmer:": { "category": "People & Body", "name": "woman farmer", "unicode": "1f469-1f33e", "unicode_alt": "1f469-200d-1f33e" }, ":woman_feeding_baby:": { "category": "People & Body", "name": "woman feeding baby", "unicode": "1f469-1f37c", "unicode_alt": "1f469-200d-1f37c" }, ":woman_firefighter:": { "category": "People & Body", "name": "woman firefighter", "unicode": "1f469-1f692", "unicode_alt": "1f469-200d-1f692" }, ":woman_health_worker:": { "category": "People & Body", "name": "woman health worker", "unicode": "1f469-2695", "unicode_alt": "1f469-200d-2695-fe0f" }, ":woman_in_manual_wheelchair:": { "category": "People & Body", "name": "woman in manual wheelchair", "unicode": "1f469-1f9bd", "unicode_alt": "1f469-200d-1f9bd" }, ":woman_in_motorized_wheelchair:": { "category": "People & Body", "name": "woman in motorized wheelchair", "unicode": "1f469-1f9bc", "unicode_alt": "1f469-200d-1f9bc" }, ":woman_in_tuxedo:": { "category": "People & Body", "name": "woman in tuxedo", "unicode": "1f935-2640", "unicode_alt": "1f935-200d-2640-fe0f" }, ":woman_judge:": { "category": "People & Body", "name": "woman judge", "unicode": "1f469-2696", "unicode_alt": "1f469-200d-2696-fe0f" }, ":woman_juggling:": { "category": "People & Body", "name": "woman juggling", "unicode": "1f939-2640", "unicode_alt": "1f939-200d-2640-fe0f" }, ":woman_mechanic:": { "category": "People & Body", "name": "woman mechanic", "unicode": "1f469-1f527", "unicode_alt": "1f469-200d-1f527" }, ":woman_office_worker:": { "category": "People & Body", "name": "woman office worker", "unicode": "1f469-1f4bc", "unicode_alt": "1f469-200d-1f4bc" }, ":woman_pilot:": { "category": "People & Body", "name": "woman pilot", "unicode": "1f469-2708", "unicode_alt": "1f469-200d-2708-fe0f" }, ":woman_playing_handball:": { "category": "People & Body", "name": "woman playing handball", "unicode": "1f93e-2640", "unicode_alt": "1f93e-200d-2640-fe0f" }, ":woman_playing_water_polo:": { "category": "People & Body", "name": "woman playing water polo", "unicode": "1f93d-2640", "unicode_alt": "1f93d-200d-2640-fe0f" }, ":woman_scientist:": { "category": "People & Body", "name": "woman scientist", "unicode": "1f469-1f52c", "unicode_alt": "1f469-200d-1f52c" }, ":woman_shrugging:": { "category": "People & Body", "name": "woman shrugging", "unicode": "1f937-2640", "unicode_alt": "1f937-200d-2640-fe0f" }, ":woman_singer:": { "category": "People & Body", "name": "woman singer", "unicode": "1f469-1f3a4", "unicode_alt": "1f469-200d-1f3a4" }, ":woman_student:": { "category": "People & Body", "name": "woman student", "unicode": "1f469-1f393", "unicode_alt": "1f469-200d-1f393" }, ":woman_teacher:": { "category": "People & Body", "name": "woman teacher", "unicode": "1f469-1f3eb", "unicode_alt": "1f469-200d-1f3eb" }, ":woman_technologist:": { "category": "People & Body", "name": "woman technologist", "unicode": "1f469-1f4bb", "unicode_alt": "1f469-200d-1f4bb" }, ":woman_with_headscarf:": { "category": "People & Body", "name": "woman with headscarf", "unicode": "1f9d5" }, ":woman_with_probing_cane:": { "category": "People & Body", "name": "woman with white cane", "unicode": "1f469-1f9af", "unicode_alt": "1f469-200d-1f9af" }, ":woman_with_turban:": { "category": "People & Body", "name": "woman wearing turban", "unicode": "1f473-2640", "unicode_alt": "1f473-200d-2640-fe0f" }, ":woman_with_veil:": { "category": "People & Body", "name": "woman with veil", "unicode": "1f470-2640", "unicode_alt": "1f470-200d-2640-fe0f" }, ":womans_clothes:": { "category": "Objects", "name": "woman\u2019s clothes", "unicode": "1f45a" }, ":womans_hat:": { "category": "Objects", "name": "woman\u2019s hat", "unicode": "1f452" }, ":women_wrestling:": { "category": "People & Body", "name": "women wrestling", "unicode": "1f93c-2640", "unicode_alt": "1f93c-200d-2640-fe0f" }, ":womens:": { "category": "Symbols", "name": "women\u2019s room", "unicode": "1f6ba" }, ":wood:": { "category": "Travel & Places", "name": "wood", "unicode": "1fab5" }, ":woozy_face:": { "category": "Smileys & Emotion", "name": "woozy face", "unicode": "1f974" }, ":world_map:": { "category": "Travel & Places", "name": "world map", "unicode": "1f5fa", "unicode_alt": "1f5fa-fe0f" }, ":worm:": { "category": "Animals & Nature", "name": "worm", "unicode": "1fab1" }, ":worried:": { "category": "Smileys & Emotion", "name": "worried face", "unicode": "1f61f" }, ":wrench:": { "category": "Objects", "name": "wrench", "unicode": "1f527" }, ":wrestling:": { "category": "People & Body", "name": "people wrestling", "unicode": "1f93c" }, ":writing_hand:": { "category": "People & Body", "name": "writing hand", "unicode": "270d", "unicode_alt": "270d-fe0f" }, ":x:": { "category": "Symbols", "name": "cross mark", "unicode": "274c" }, ":x_ray:": { "category": "Objects", "name": "x-ray", "unicode": "1fa7b" }, ":yarn:": { "category": "Activities", "name": "yarn", "unicode": "1f9f6" }, ":yawning_face:": { "category": "Smileys & Emotion", "name": "yawning face", "unicode": "1f971" }, ":yellow_circle:": { "category": "Symbols", "name": "yellow circle", "unicode": "1f7e1" }, ":yellow_heart:": { "category": "Smileys & Emotion", "name": "yellow heart", "unicode": "1f49b" }, ":yellow_square:": { "category": "Symbols", "name": "yellow square", "unicode": "1f7e8" }, ":yemen:": { "category": "Flags", "name": "flag: Yemen", "unicode": "1f1fe-1f1ea" }, ":yen:": { "category": "Objects", "name": "yen banknote", "unicode": "1f4b4" }, ":yin_yang:": { "category": "Symbols", "name": "yin yang", "unicode": "262f", "unicode_alt": "262f-fe0f" }, ":yo_yo:": { "category": "Activities", "name": "yo-yo", "unicode": "1fa80" }, ":yum:": { "category": "Smileys & Emotion", "name": "face savoring food", "unicode": "1f60b" }, ":zambia:": { "category": "Flags", "name": "flag: Zambia", "unicode": "1f1ff-1f1f2" }, ":zany_face:": { "category": "Smileys & Emotion", "name": "zany face", "unicode": "1f92a" }, ":zap:": { "category": "Travel & Places", "name": "high voltage", "unicode": "26a1" }, ":zebra:": { "category": "Animals & Nature", "name": "zebra", "unicode": "1f993" }, ":zero:": { "category": "Symbols", "name": "keycap: 0", "unicode": "0030-20e3", "unicode_alt": "0030-fe0f-20e3" }, ":zimbabwe:": { "category": "Flags", "name": "flag: Zimbabwe", "unicode": "1f1ff-1f1fc" }, ":zipper_mouth_face:": { "category": "Smileys & Emotion", "name": "zipper-mouth face", "unicode": "1f910" }, ":zombie:": { "category": "People & Body", "name": "zombie", "unicode": "1f9df" }, ":zombie_man:": { "category": "People & Body", "name": "man zombie", "unicode": "1f9df-2642", "unicode_alt": "1f9df-200d-2642-fe0f" }, ":zombie_woman:": { "category": "People & Body", "name": "woman zombie", "unicode": "1f9df-2640", "unicode_alt": "1f9df-200d-2640-fe0f" }, ":zzz:": { "category": "Smileys & Emotion", "name": "ZZZ", "unicode": "1f4a4" } } aliases = { ":basketball_man:": ":bouncing_ball_man:", ":basketball_woman:": ":bouncing_ball_woman:", ":blonde_woman:": ":blond_haired_woman:", ":bride_with_veil:": ":woman_with_veil:", ":collision:": ":boom:", ":cop:": ":police_officer:", ":dancer:": ":woman_dancing:", ":e-mail:": ":email:", ":european_union:": ":eu:", ":facepunch:": ":fist_oncoming:", ":fist:": ":fist_raised:", ":flipper:": ":dolphin:", ":fu:": ":middle_finger:", ":heavy_exclamation_mark:": ":exclamation:", ":honeybee:": ":bee:", ":information_desk_person:": ":tipping_hand_person:", ":knife:": ":hocho:", ":lantern:": ":izakaya_lantern:", ":mandarin:": ":tangerine:", ":ng_man:": ":no_good_man:", ":ng_woman:": ":no_good_woman:", ":open_book:": ":book:", ":orange:": ":tangerine:", ":paw_prints:": ":feet:", ":pencil:": ":memo:", ":poop:": ":hankey:", ":pout:": ":rage:", ":punch:": ":fist_oncoming:", ":raised_hand:": ":hand:", ":red_car:": ":car:", ":running:": ":runner:", ":sailboat:": ":boat:", ":sassy_man:": ":tipping_hand_man:", ":sassy_woman:": ":tipping_hand_woman:", ":satisfied:": ":laughing:", ":shit:": ":hankey:", ":shoe:": ":mans_shoe:", ":telephone:": ":phone:", ":thumbsdown:": ":-1:", ":thumbsup:": ":+1:", ":tshirt:": ":shirt:", ":uk:": ":gb:", ":waxing_gibbous_moon:": ":moon:" } pymdown-extensions-10.9/pymdownx/highlight.py000066400000000000000000000527761465124271600215740ustar00rootroot00000000000000""" Highlight. A library for managing code highlighting. All Changes Copyright 2014-2017 Isaac Muse. --- CodeHilite Extension for Python-Markdown ======================================== Adds code/syntax highlighting to standard Python-Markdown code blocks. See for documentation. Original code Copyright 2006-2008 [Waylan Limberg](http://achinghead.com/). All changes Copyright 2008-2014 The Python Markdown Project License: [BSD](http://www.opensource.org/licenses/bsd-license.php) """ import re from markdown import Extension from markdown.treeprocessors import Treeprocessor import xml.etree.ElementTree as etree import copy from collections import OrderedDict try: from pygments import highlight from pygments.lexers import get_lexer_by_name, guess_lexer from pygments.formatters import find_formatter_class from pygments import __version__ as pygments_ver p_ver = tuple([int(n) for n in pygments_ver.split('.')[:2]]) HtmlFormatter = find_formatter_class('html') pygments = True except ImportError: # pragma: no cover pygments = False p_ver = (0, 0) RE_PYG_CODE = re.compile(r'^<(div)(\s*class="(.*?)")?\s*>') CODE_WRAP = '{}

  • ' CODE_WRAP_ON_PRE = '{}
    ' CLASS_ATTR = ' class="{}"' ID_ATTR = ' id="{}"' DEFAULT_CONFIG = { 'use_pygments': [ True, 'Use Pygments to highlight code blocks. ' 'Disable if using a JavaScript library. ' 'Default: True' ], 'guess_lang': [ 0, "Automatic language detection - Default: False" ], 'css_class': [ 'highlight', "CSS class to apply to wrapper element." ], 'pygments_style': [ 'default', 'Pygments HTML Formatter Style ' '(color scheme) - Default: default' ], 'noclasses': [ False, 'Use inline styles instead of CSS classes - ' 'Default false' ], 'linenums': [ None, 'Display line numbers in block code output (not inline) - Default: False' ], 'linenums_style': [ 'table', 'Line number style -Default: "table"' ], 'linenums_special': [ -1, 'Globally make nth line special - Default: -1' ], 'linenums_class': [ "linenums", "Control the linenums class name when not using Pygments - Default: 'linenums'" ], 'extend_pygments_lang': [ [], 'Extend pygments language with special language entry - Default: []' ], 'language_prefix': [ 'language-', 'Controls the language prefix for non-Pygments code blocks. - Defaults: "language-"' ], 'code_attr_on_pre': [ False, "Attach attribute list values on pre element instead of code element - Default: False" ], 'auto_title': [ False, 'Inject the lexer name as the title for block code - Defaults: False' ], 'auto_title_map': [ {}, 'User defined mapping of overrides for "auto_title" - Defaults: {}' ], 'line_spans': [ '', 'If set to a nonempty string, e.g. foo, the formatter will wrap each output line ' 'in a span tag with an id of foo--. . - Defaults: ""' ], 'anchor_linenums': [ False, 'If set to True, will wrap line numbers in tags. Used in combination with linenums and line_anchors.' ' - Defaults: False' ], 'line_anchors': [ '', 'If set to a nonempty string, e.g. foo, the formatter will wrap each output line in an anchor tag with' ' an id (and name) of foo--. - Defaults: ""' ], 'pygments_lang_class': [ False, 'If set to True, the language name used will be included as a class attached to the element. - Defaults: False' ], 'stripnl': [ True, 'Strips leading and trailing newlines from code blocks. This is Pygments default behavior. Setting this to ' 'False disables this and will retain leading and trailing newlines. This has no affect on inline code. ' '- Defaults: True' ], 'default_lang': [ '', 'The assumed highlight language of a code block when no language is set. - Default text' ], '_enabled': [ True, 'Used internally to communicate if extension has been explicitly enabled - Default: False' ] } if pygments: class InlineHtmlFormatter(HtmlFormatter): """Format the code blocks.""" def _wrap_div(self, inner): """Do not wrap with `div`.""" yield from inner def wrap(self, source): """Overload wrap.""" return self._wrap_code(source) def _wrap_code(self, source): """Return source, but do not wrap in inline block.""" yield 0, '' for i, t in source: yield i, t.strip() yield 0, '' class BlockHtmlFormatter(HtmlFormatter): """Adds ability to output line numbers in a new way.""" # Capture ` 1 ` RE_SPAN_NUMS = re.compile(r'(]*?)(class="[^"]*\blinenos?\b[^"]*)"([^>]*)>([^<]+)()') # Capture `
    ` that is not followed by ``
            RE_TABLE_NUMS = re.compile(r'(]*>)(?!)')
    
            def __init__(self, **options):
                """Initialize."""
    
                self.pymdownx_inline = options.get('linenos', False) == 'pymdownx-inline'
                if self.pymdownx_inline:
                    options['linenos'] = 'inline'
                HtmlFormatter.__init__(self, **options)
    
            def _format_custom_line(self, m):
                """Format the custom line number."""
    
                # We've broken up the match in such a way that we not only
                # move the line number value to `data-linenos`, but we could
                # wrap the gutter number in the future with a highlight class.
                # The decision to do this has still not be made.
    
                lnum = m.group(4) if not m.group(4).rstrip() else m.group(4)
    
                return (
                    m.group(1) +
                    m.group(2) +
                    '"' +
                    m.group(3) +
                    ' data-linenos="' + lnum + ' ">' +
                    m.group(5)
                )
    
            def _wrap_customlinenums(self, inner):
                """
                Wrapper to handle block inline line numbers.
    
                For our special inline version, don't display line numbers via `  1`,
                but include as `` and use CSS to display them:
                `[data-linenos]:before {content: attr(data-linenos);}`.  This allows us to use
                inline and copy and paste without issue.
                """
    
                for t, line in inner:
                    if t:
                        line = self.RE_SPAN_NUMS.sub(self._format_custom_line, line)
                    yield t, line
    
            def wrap(self, source):
                """Wrap the source code."""
    
                if self.linenos == 2 and self.pymdownx_inline:
                    source = self._wrap_customlinenums(source)
                return HtmlFormatter.wrap(self, source)
    
            def _wrap_tablelinenos(self, inner):
                """
                Wrapper to handle line numbers better in table.
    
                Pygments currently has a bug with line step where leading blank lines collapse.
                Use the same fix Pygments uses for code content for code line numbers.
                This fix should be pull requested on the Pygments repository.
                """
    
                for t, line in HtmlFormatter._wrap_tablelinenos(self, inner):
                    yield t, self.RE_TABLE_NUMS.sub(r'\1', line)
    
    
    class Highlight:
        """Highlight class."""
    
        def __init__(
            self, guess_lang=False, pygments_style='default', use_pygments=True,
            noclasses=False, extend_pygments_lang=None, linenums=None, linenums_special=-1,
            linenums_style='table', linenums_class='linenums', language_prefix='language-',
            code_attr_on_pre=False, auto_title=False, auto_title_map=None, line_spans='',
            anchor_linenums=False, line_anchors='', pygments_lang_class=False, stripnl=True,
            default_lang=''
        ):
            """Initialize."""
    
            self.guess_lang = guess_lang
            self.pygments_style = pygments_style
            self.use_pygments = use_pygments
            self.noclasses = noclasses
            self.linenums = linenums
            self.linenums_style = linenums_style
            self.linenums_special = linenums_special
            self.linenums_class = linenums_class
            self.language_prefix = language_prefix
            self.code_attr_on_pre = code_attr_on_pre
            self.auto_title = auto_title
            self.line_spans = line_spans
            self.line_anchors = line_anchors
            self.anchor_linenums = anchor_linenums
            self.pygments_lang_class = pygments_lang_class
            self.stripnl = stripnl
            self.default_lang = default_lang
    
            if self.anchor_linenums and not self.line_anchors:
                self.line_anchors = '__codelineno'
    
            if auto_title_map is None:
                auto_title_map = {}
            self.auto_title_map = auto_title_map
    
            if extend_pygments_lang is None:  # pragma: no cover
                extend_pygments_lang = []
            self.extend_pygments_lang = {}
            for language in extend_pygments_lang:
                if isinstance(language, (dict, OrderedDict)):
                    name = language.get('name')
                    if name is not None and name not in self.extend_pygments_lang:
                        self.extend_pygments_lang[name.lower()] = [
                            language.get('lang'),
                            language.get('options', {})
                        ]
    
        def get_extended_language(self, language):
            """Get extended language."""
    
            return self.extend_pygments_lang.get(language.lower(), (language, {}))
    
        def get_lexer(self, src, language, inline, stripnl):
            """Get the Pygments lexer."""
    
            name = language
    
            lexer_options = {'stripnl': stripnl}
            if language:
                language, options = self.get_extended_language(language)
                lexer_options.update(options)
    
            # Try and get lexer by the name given.
            try:
                lexer = get_lexer_by_name(language, **lexer_options)
            except Exception:
                lexer = None
    
            if lexer is None:
                if (self.guess_lang is True) or (self.guess_lang == 'inline' if inline else self.guess_lang == 'block'):
                    try:
                        lexer = guess_lexer(src, **lexer_options)
                        name = lexer.aliases[0]
                    except Exception:  # pragma: no cover
                        pass
            if lexer is None:
                lexer = get_lexer_by_name(self.default_lang or 'text', **lexer_options)
                name = lexer.aliases[0]
            return lexer, name
    
        def escape(self, txt):
            """Basic HTML escaping."""
    
            txt = txt.replace('&', '&')
            txt = txt.replace('<', '<')
            txt = txt.replace('>', '>')
            return txt
    
        def highlight(
            self, src, language, css_class='highlight', hl_lines=None,
            linestart=-1, linestep=-1, linespecial=-1, inline=False, classes=None, id_value='', attrs=None,
            title=None, code_block_count=0
        ):
            """Highlight code."""
    
            if attrs is None:
                attrs = {}
            class_names = classes[:] if classes else []
            linenums_enabled = (
                (self.linenums and linestart != 0) or
                (self.linenums is not False and linestart > 0)
            ) and not inline > 0
            class_str = ''
    
            if not language and self.default_lang:
                language = self.default_lang
    
            # Convert with Pygments.
            if pygments and self.use_pygments:
    
                if p_ver < (2, 12):  # pragma: no cover
                    raise RuntimeError('Pymdownx Highlight requires at least Pygments 2.12+ if enabling Pygments')
    
                if inline:
                    stripnl = True
                else:
                    stripnl = self.stripnl
    
                # Setup language lexer.
                lexer, lang_name = self.get_lexer(src, language, inline, stripnl)
                if self.pygments_lang_class:
                    class_names.insert(0, self.language_prefix + lang_name)
                linenums = self.linenums_style if linenums_enabled else False
    
                if class_names:
                    if inline:
                        css_class = ' {}'.format('' if not css_class else css_class)
                        css_class = ' '.join(class_names) + css_class
                        stripped = css_class.strip()
                        css_class = stripped
    
                id_str = ID_ATTR.format(id_value) if id_value else ''
    
                lineno_id = id_value if id_value else str(code_block_count)
    
                if not attrs:
                    attr_str = ''
                else:
                    temp = []
                    for k, v in attrs.items():
                        if k.startswith('data-'):
                            temp.append(f'{k}="{v}"')
                    attr_str = ' ' + ' '.join(temp) if temp else ''
    
                # Setup line specific settings.
                if not linenums or linestep < 1:
                    linestep = 1
                if not linenums or linestart < 1:
                    linestart = 1
                if self.linenums_special >= 0 and linespecial < 0:
                    linespecial = self.linenums_special
                if not linenums or linespecial < 0:
                    linespecial = 0
                if hl_lines is None or inline:
                    hl_lines = []
    
                if title is None and self.auto_title:
                    name = " ".join([w.title() if w.islower() else w for w in lexer.name.split()])
                    title = self.auto_title_map.get(name, name)
                if title:
                    title = title.strip()
    
                # Setup formatter
                html_formatter = InlineHtmlFormatter if inline else BlockHtmlFormatter
                formatter = html_formatter(
                    cssclass=css_class,
                    linenos=linenums,
                    linenostart=linestart,
                    linenostep=linestep,
                    linenospecial=linespecial,
                    style=self.pygments_style,
                    noclasses=self.noclasses,
                    hl_lines=hl_lines,
                    wrapcode=True,
                    filename=title if not inline else "",
                    linespans=f"{self.line_spans}-{lineno_id}" if self.line_spans and not inline else '',
                    lineanchors=(
                        f"{self.line_anchors}-{lineno_id}" if self.line_anchors and not inline else ""
                    ),
                    anchorlinenos=self.anchor_linenums if not inline else False
                )
    
                # Convert
                code = highlight(src, lexer, formatter)
                if inline:
                    class_str = css_class
                    attr_str = ''
                else:
                    m = RE_PYG_CODE.match(code)
                    if m is not None:
                        end = m.end(0)
                        start = m.start(0)
                        if class_names:
                            if m.group(2):
                                classes = ' class="{} {}"'.format(' '.join(class_names), m.group(3).strip())
                            else:
                                classes = ' class="{}"'.format(' '.join(class_names))
                        else:
                            classes = ' ' + m.group(2).lstrip() if m.group(2) else ''
    
                        code = f'{code[:start]}<{m.group(1)}{id_str}{classes}{attr_str}>{code[end:]}'
    
            elif inline:
                # Format inline code for a JavaScript Syntax Highlighter by specifying language.
                code = self.escape(src)
                if css_class:
                    class_names.insert(0, css_class)
                if language:
                    class_names.insert(0, self.language_prefix + language)
                class_str = ' '.join(class_names) if class_names else ''
                id_str = id_value
            else:
                # Format block code for a JavaScript Syntax Highlighter by specifying language.
                if self.code_attr_on_pre and css_class:
                    class_names.insert(0, css_class)
                if language:
                    class_names.insert(0, self.language_prefix + language)
                class_str = CLASS_ATTR.format(' '.join(class_names)) if class_names else ''
                id_str = ID_ATTR.format(id_value) if id_value else ''
                attr_str = ' ' + ' '.join(f'{k}="{v}"' for k, v in attrs.items()) if attrs else ''
                if not self.code_attr_on_pre:
                    highlight_class = (CLASS_ATTR.format(css_class)) if css_class else ''
                    code = CODE_WRAP.format(highlight_class, id_str, class_str, attr_str, self.escape(src))
                else:
                    code = CODE_WRAP_ON_PRE.format(id_str, class_str, attr_str, self.escape(src))
    
            if inline:
                attributes = {}
    
                if class_str:
                    attributes['class'] = class_str
    
                # This code exists for consistency, but we currently don't
                # ever feed extra ids or attributes for inline code.
                # We let `attr_list` handle this directly, but if we did
                # need this, we would then want to exercise this logic.
                if id_str:  # pragma: no cover
                    attributes['id'] = id_str
                for k, v in attrs:  # pragma: no cover
                    attributes[k] = v  # noqa: PERF403
    
                el = etree.Element('code', attributes)
                el.text = code
                return el
            else:
                return code.strip()
    
    
    class HighlightTreeprocessor(Treeprocessor):
        """Highlight source code in code blocks."""
    
        def __init__(self, md, ext):
            """Initialize."""
    
            self.ext = ext
            super().__init__(md)
    
        def code_unescape(self, text):
            """Unescape code."""
            text = text.replace("<", "<")
            text = text.replace(">", ">")
            text = text.replace("&", "&")
            return text
    
        def run(self, root):
            """Find code blocks and store in `htmlStash`."""
    
            blocks = root.iter('pre')
            for block in blocks:
                if len(block) == 1 and block[0].tag == 'code':
    
                    self.ext.pygments_code_block += 1
                    code = Highlight(
                        guess_lang=self.config['guess_lang'],
                        pygments_style=self.config['pygments_style'],
                        use_pygments=self.config['use_pygments'],
                        noclasses=self.config['noclasses'],
                        linenums=self.config['linenums'],
                        linenums_style=self.config['linenums_style'],
                        linenums_special=self.config['linenums_special'],
                        linenums_class=self.config['linenums_class'],
                        extend_pygments_lang=self.config['extend_pygments_lang'],
                        language_prefix=self.config['language_prefix'],
                        code_attr_on_pre=self.config['code_attr_on_pre'],
                        auto_title=self.config['auto_title'],
                        auto_title_map=self.config['auto_title_map'],
                        pygments_lang_class=self.config['pygments_lang_class'],
                        stripnl=self.config['stripnl'],
                        default_lang=self.config['default_lang']
                    )
                    placeholder = self.md.htmlStash.store(
                        code.highlight(
                            self.code_unescape(block[0].text).rstrip('\n'),
                            '',
                            self.config['css_class'],
                            code_block_count=self.ext.pygments_code_block
                        )
                    )
    
                    # Clear code block in `etree` instance
                    block.clear()
                    # Change to `p` element which will later
                    # be removed when inserting raw HTML
                    block.tag = 'p'
                    block.text = placeholder
    
    
    class HighlightExtension(Extension):
        """Configure highlight settings globally."""
    
        def __init__(self, *args, **kwargs):
            """Initialize."""
    
            self.config = copy.deepcopy(DEFAULT_CONFIG)
            super().__init__(*args, **kwargs)
    
        def get_pymdownx_highlight_settings(self):
            """Get the specified extension."""
    
            target = None
    
            if self.enabled:
                target = self.getConfigs()
    
            if target is None:
                target = {}
                config_clone = copy.deepcopy(DEFAULT_CONFIG)
                for k in config_clone.keys():
                    target[k] = config_clone[k][0]
    
            return target
    
        def get_pymdownx_highlighter(self):
            """Get the highlighter."""
    
            return Highlight
    
        def extendMarkdown(self, md):
            """Add support for code highlighting."""
    
            config = self.getConfigs()
            self.pygments_code_block = -1
            self.md = md
            self.enabled = config.get("_enabled", False)
    
            if self.enabled:
                ht = HighlightTreeprocessor(self.md, self)
                ht.config = self.getConfigs()
                self.md.treeprocessors.register(ht, "indent-highlight", 30)
    
            index = 0
            register = None
            for ext in self.md.registeredExtensions:
                if isinstance(ext, HighlightExtension):
                    register = not ext.enabled and self.enabled
                    break
    
            if register is None:
                register = True
                index = -1
    
            if register:
                if index == -1:
                    self.md.registerExtension(self)
                else:
                    self.md.registeredExtensions[index] = self
    
        def reset(self):
            """Reset."""
    
            self.pygments_code_block = -1
    
    
    def makeExtension(*args, **kwargs):
        """Return extension."""
    
        return HighlightExtension(*args, **kwargs)
    pymdown-extensions-10.9/pymdownx/inlinehilite.py000066400000000000000000000166311465124271600222700ustar00rootroot00000000000000"""
    Inline Highlighting.
    
    pymdownx.inlinehilite
    
    An alternative inline code extension that highlights code.  Can
    use CodeHilite to source its settings or pymdownx.highlight.
    
    `:::javascript var test = 0;`
    
    - or -
    
    `#!javascript var test = 0;`
    
    Copyright 2014 - 2017 Isaac Muse 
    """
    
    from markdown import Extension
    from markdown.inlinepatterns import InlineProcessor
    from markdown import util as md_util
    import xml.etree.ElementTree as etree
    import functools
    
    ESCAPED_BSLASH = '{}{}{}'.format(md_util.STX, ord('\\'), md_util.ETX)
    DOUBLE_BSLASH = '\\\\'
    BACKTICK_CODE_RE = r'''(?x)
    (?:
    (?(?:\\{2})+)(?=`+) |  # Process code escapes before code
    (?`+)
    ((?:\:{3,}|\#!)(?P[\w#.+-]*)\s+)? # Optional language
    (?P.+?)                           # Code
    (?', '>')
        return txt
    
    
    def _test(language, test_language=None):
        """Test language."""
    
        return test_language is None or test_language == '*' or language == test_language
    
    
    def _formatter(src="", language="", md=None, class_name="", fmt=None):
        """Formatter wrapper."""
    
        return fmt(src, language, class_name, md)
    
    
    class InlineHilitePattern(InlineProcessor):
        """Handle the inline code patterns."""
    
        def __init__(self, pattern, config, md):
            """Initialize."""
    
            self.config = config
            InlineProcessor.__init__(self, pattern, md)
            self.md = md
    
            self.formatters = [
                {
                    "name": "inlinehilite",
                    "test": _test,
                    "formatter": self.highlight_code
                }
            ]
    
            # Custom Fences
            custom_inline = self.config.get('custom_inline', [])
            for custom in custom_inline:
                name = custom.get('name')
                class_name = custom.get('class')
                inline_format = custom.get('format', self.highlight_code)
                if name is not None and class_name is not None:
                    self.extend_custom_inline(
                        name,
                        functools.partial(_formatter, class_name=class_name, fmt=inline_format)
                    )
    
            self.get_hl_settings = False
    
        def extend_custom_inline(self, name, formatter):
            """Extend SuperFences with the given name, language, and formatter."""
    
            obj = {
                "name": name,
                "test": functools.partial(_test, test_language=name),
                "formatter": formatter
            }
    
            if name == '*':
                self.formatters[0] = obj
            else:
                self.formatters.append(obj)
    
        def get_settings(self):
            """Check for Highlight extension settings."""
    
            if not self.get_hl_settings:
                self.get_hl_settings = True
                self.style_plain_text = self.config['style_plain_text']
    
                config = None
                self.highlighter = None
                for ext in self.md.registeredExtensions:
                    try:
                        config = ext.get_pymdownx_highlight_settings()
                        self.highlighter = ext.get_pymdownx_highlighter()
                        break
                    except AttributeError:
                        pass
    
                css_class = self.config['css_class']
                self.css_class = css_class if css_class else config['css_class']
    
                self.extend_pygments_lang = config.get('extend_pygments_lang', None)
                self.guess_lang = config['guess_lang']
                self.pygments_style = config['pygments_style']
                self.use_pygments = config['use_pygments']
                self.noclasses = config['noclasses']
                self.language_prefix = config['language_prefix']
                self.pygments_lang_class = config['pygments_lang_class']
    
        def highlight_code(self, src='', language='', classname=None, md=None):
            """Syntax highlight the inline code block."""
    
            process_text = self.style_plain_text or language or self.guess_lang
            default_lang = self.style_plain_text if isinstance(self.style_plain_text, str) else ''
    
            if process_text:
                el = self.highlighter(
                    guess_lang=self.guess_lang,
                    pygments_style=self.pygments_style,
                    use_pygments=self.use_pygments,
                    noclasses=self.noclasses,
                    extend_pygments_lang=self.extend_pygments_lang,
                    language_prefix=self.language_prefix,
                    pygments_lang_class=self.pygments_lang_class,
                    default_lang=default_lang
                ).highlight(src, language, self.css_class, inline=True)
                el.text = self.md.htmlStash.store(el.text)
            else:
                el = etree.Element('code')
                el.text = self.md.htmlStash.store(_escape(src))
            return el
    
        def handle_code(self, lang, src):
            """Handle code block."""
    
            for entry in reversed(self.formatters):
                if entry["test"](lang):
                    value = entry["formatter"](
                        src=src,
                        language=lang,
                        md=self.md
                    )
                    if isinstance(value, str):
                        value = self.md.htmlStash.store(value)
                    return value
    
        def handleMatch(self, m, data):
            """Handle the pattern match."""
    
            if m.group('escapes'):
                return m.group('escapes').replace(DOUBLE_BSLASH, ESCAPED_BSLASH), m.start(0), m.end(0)
            else:
                lang = m.group('lang') if m.group('lang') else ''
                src = m.group('code').strip()
                self.get_settings()
                try:
                    return self.handle_code(lang, src), m.start(0), m.end(0)
                except InlineHiliteException:
                    raise
                except Exception:
                    return m.group(0), None, None
    
    
    class InlineHiliteExtension(Extension):
        """Add inline highlighting extension to Markdown class."""
    
        def __init__(self, *args, **kwargs):
            """Initialize."""
    
            self.inlinehilite = []
            self.config = {
                'style_plain_text': [
                    0,
                    "Process inline code even when a language is not specified. "
                    "When 'False', no classes will be added to code blocks without shebangs "
                    "and no scoping will performed. The content will just be escaped."
                    "If a language string is provided, then that language will be assumed "
                    "for any inline code block without a shebang. "
                    "- Default: False"
                ],
                'css_class': [
                    '',
                    "Set class name for wrapper element. The default of Highlight will be used"
                    "if nothing is set. - "
                    "Default: ''"
                ],
                'custom_inline': [[], "Custom inline - default []"]
            }
            super().__init__(*args, **kwargs)
    
        def extendMarkdown(self, md):
            """Add support for `:::language code` and `#!language code` highlighting."""
    
            config = self.getConfigs()
            md.inlinePatterns.register(InlineHilitePattern(BACKTICK_CODE_RE, config, md), "backtick", 190)
            md.registerExtensions(["pymdownx.highlight"], {"pymdownx.highlight": {"_enabled": False}})
    
    
    def makeExtension(*args, **kwargs):
        """Return extension."""
    
        return InlineHiliteExtension(*args, **kwargs)
    pymdown-extensions-10.9/pymdownx/keymap_db.py000066400000000000000000000165651465124271600215540ustar00rootroot00000000000000"""English US keymap."""
    
    keymap = {
        # Digits
        "0": "0",
        "1": "1",
        "2": "2",
        "3": "3",
        "4": "4",
        "5": "5",
        "6": "6",
        "7": "7",
        "8": "8",
        "9": "9",
    
        # Letters
        "a": "A",
        "b": "B",
        "c": "C",
        "d": "D",
        "e": "E",
        "f": "F",
        "g": "G",
        "h": "H",
        "i": "I",
        "j": "J",
        "k": "K",
        "l": "L",
        "m": "M",
        "n": "N",
        "o": "O",
        "p": "P",
        "q": "Q",
        "r": "R",
        "s": "S",
        "t": "T",
        "u": "U",
        "v": "V",
        "w": "W",
        "x": "X",
        "y": "Y",
        "z": "Z",
    
        # Space
        "space": "Space",
    
        # Punctuation
        "backslash": "\\",
        "bar": "|",
        "brace-left": "{",
        "brace-right": "}",
        "bracket-left": "[",
        "bracket-right": "]",
        "colon": ":",
        "comma": ",",
        "double-quote": "\"",
        "equal": "=",
        "exclam": "!",
        "grave": "`",
        "greater": ">",
        "less": "<",
        "minus": "-",
        "period": ".",
        "plus": "+",
        "question": "?",
        "semicolon": ";",
        "single-quote": "'",
        "slash": "/",
        "tilde": "~",
        "underscore": "_",
    
        # Navigation keys
        "arrow-up": "Up",
        "arrow-down": "Down",
        "arrow-left": "Left",
        "arrow-right": "Right",
        "page-up": "Page Up",
        "page-down": "Page Down",
        "home": "Home",
        "end": "End",
    
    
        # Edit keys
        "backspace": "Backspace",
        "delete": "Del",
        "insert": "Ins",
        "tab": "Tab",
    
        # Action keys
        "break": "Break",
        "caps-lock": "Caps Lock",
        "clear": "Clear",
        "eject": "Eject",
        "enter": "Enter",
        "escape": "Esc",
        "help": "Help",
        "print-screen": "Print Screen",
        "scroll-lock": "Scroll Lock",
    
        # Numeric keypad
        "num0": "Num 0",
        "num1": "Num 1",
        "num2": "Num 2",
        "num3": "Num 3",
        "num4": "Num 4",
        "num5": "Num 5",
        "num6": "Num 6",
        "num7": "Num 7",
        "num8": "Num 8",
        "num9": "Num 9",
        "num-asterisk": "Num *",
        "num-clear": "Num Clear",
        "num-delete": "Num Del",
        "num-equal": "Num =",
        "num-lock": "Num Lock",
        "num-minus": "Num -",
        "num-plus": "Num +",
        "num-separator": "Num .",
        "num-slash": "Num /",
        "num-enter": "Num Enter",
    
        # Modifier keys
        "alt": "Alt",
        "alt-graph": "AltGr",
        "command": "Cmd",
        "control": "Ctrl",
        "function": "Fn",
        "left-alt": "Left Alt",
        "left-command": "Left Command",
        "left-control": "Left Ctrl",
        "left-meta": "Left Meta",
        "left-option": "Left Option",
        "left-shift": "Left Shift",
        "left-super": "Left Super",
        "left-windows": "Left Win",
        "meta": "Meta",
        "option": "Option",
        "right-alt": "Right Alt",
        "right-command": "Right Command",
        "right-control": "Right Ctrl",
        "right-meta": "Right Meta",
        "right-option": "Right Option",
        "right-shift": "Right Shift",
        "right-super": "Right Super",
        "right-windows": "Right Win",
        "shift": "Shift",
        "super": "Super",
        "windows": "Win",
    
        # Function keys
        "f1": "F1",
        "f2": "F2",
        "f3": "F3",
        "f4": "F4",
        "f5": "F5",
        "f6": "F6",
        "f7": "F7",
        "f8": "F8",
        "f9": "F9",
        "f10": "F10",
        "f11": "F11",
        "f12": "F12",
        "f13": "F13",
        "f14": "F14",
        "f15": "F15",
        "f16": "F16",
        "f17": "F17",
        "f18": "F18",
        "f19": "F19",
        "f20": "F20",
        "f21": "F21",
        "f22": "F22",
        "f23": "F23",
        "f24": "F24",
    
        # Extra keys
        "backtab": "Back Tab",
        "browser-back": "Browser Back",
        "browser-favorites": "Browser Favorites",
        "browser-forward": "Browser Forward",
        "browser-home": "Browser Home",
        "browser-refresh": "Browser Refresh",
        "browser-search": "Browser Search",
        "browser-stop": "Browser Stop",
        "context-menu": "Menu",
        "copy": "Copy",
        "mail": "Mail",
        "media": "Media",
        "media-next-track": "Next Track",
        "media-pause": "Pause",
        "media-play": "Play",
        "media-play-pause": "Play/Pause",
        "media-prev-track": "Previous Track",
        "media-stop": "Stop",
        "print": "Print",
        "reset": "Reset",
        "select": "Select",
        "sleep": "Sleep",
        "volume-down": "Volume Down",
        "volume-mute": "Mute",
        "volume-up": "Volume Up",
        "zoom": "Zoom",
        "power": "Power",
        "fingerprint": "Fingerprint",
    
        # Mouse
        "left-button": "Left Button",
        "middle-button": "Middle Button",
        "right-button": "Right Button",
        "x-button1": "X Button 1",
        "x-button2": "X Button 2"
    }
    
    aliases = {
        "add": "num-plus",
        "altgr": "alt-graph",
        "apps": "context-menu",
        "back": "backspace",
        "bksp": "backspace",
        "bktab": "backtab",
        "cancel": "break",
        "capital": "caps-lock",
        "close-brace": "brace-right",
        "close-bracket": "bracket-right",
        "clr": "clear",
        "cmd": "command",
        "cplk": "caps-lock",
        "ctrl": "control",
        "dblquote": "double-quote",
        "decimal": "num-separator",
        "del": "delete",
        "divide": "num-slash",
        "down": "arrow-down",
        "esc": "escape",
        "return": "enter",
        "exclamation": "exclam",
        "favorites": "browser-favorites",
        "fn": "function",
        "forward": "browser-forward",
        "grave-accent": "grave",
        "greater-than": "greater",
        "gt": "greater",
        "hyphen": "minus",
        "ins": "insert",
        "lalt": "left-alt",
        "launch-mail": "mail",
        "launch-media": "media",
        "lbutton": "left-button",
        "lcmd": "left-command",
        "lcommand": "left-command",
        "lcontrol": "left-control",
        "lctrl": "left-control",
        "left": "arrow-left",
        "left-cmd": "left-command",
        "left-ctrl": "left-control",
        "lopt": "left-option",
        "loption": "left-option",
        "left-opt": "left-option",
        "left-win": "left-windows",
        "less-than": "less",
        "lmeta": "left-meta",
        "lshift": "left-shift",
        "lsuper": "left-super",
        "lt": "less",
        "lwin": "left-windows",
        "lwindows": "left-windows",
        "mbutton": "middle-button",
        "menu": "context-menu",
        "multiply": "num-asterisk",
        "mute": "volume-mute",
        "next": "page-down",
        "next-track": "media-next-track",
        "num-del": "num-delete",
        "numlk": "num-lock",
        "open-brace": "brace-left",
        "open-bracket": "bracket-left",
        "opt": "option",
        "page-dn": "page-down",
        "page-up": "page-up",
        "pause": "media-pause",
        "pg-dn": "page-down",
        "pg-up": "page-up",
        "pipe": "bar",
        "play": "media-play",
        "play-pause": "media-play-pause",
        "prev-track": "media-prev-track",
        "prior": "page-up",
        "prtsc": "print-screen",
        "question-mark": "question",
        "ralt": "right-alt",
        "rbutton": "right-button",
        "rcontrol": "right-control",
        "rcmd": "right-command",
        "rcommand": "right-command",
        "rctrl": "right-control",
        "refresh": "browser-refresh",
        "right": "arrow-right",
        "right-cmd": "right-command",
        "right-ctrl": "right-control",
        "right-meta": "right-meta",
        "right-opt": "right-option",
        "right-win": "right-windows",
        "rmeta": "right-meta",
        "ropt": "right-option",
        "roption": "right-option",
        "rshift": "right-shift",
        "rsuper": "right-super",
        "rwin": "right-windows",
        "rwindows": "right-windows",
        "scroll": "scroll-lock",
        "search": "browser-search",
        "separator": "num-separator",
        "spc": "space",
        "stop": "media-stop",
        "subtract": "num-minus",
        "tabulator": "tab",
        "up": "arrow-up",
        "vol-down": "volume-down",
        "vol-mute": "volume-mute",
        "vol-up": "volume-up",
        "win": "windows",
        "xbutton1": "x-button1",
        "xbutton2": "x-button2"
    }
    pymdown-extensions-10.9/pymdownx/keys.py000066400000000000000000000175071465124271600205710ustar00rootroot00000000000000"""
    Keys.
    
    pymdownx.keys
    Markdown extension for keystroke (user keyboard input) formatting.
    
    It wraps the syntax `++key+key+key++` (for individual keystrokes with modifiers)
    or `++"string"++` (for continuous keyboard input) into HTML `` elements.
    
    If a key is found in the extension's database, its `` element gets a matching class.
    Common synonyms are included, e.g. `++pg-up++` will match as `++page-up++`.
    
    ## Config
    
    If `strict` is `True`, the entire series of keystrokes is wrapped into an outer`` element, and then,
    each keystroke is wrapped into a separate inner `` element, which matches the HTML5 spec.
    If `strict` is `False`, an outer `` is used, which matches the practice on Github or StackOverflow.
    
    The resulting `` elements are separated by `separator` (`+` by default, can be `''` or something else).
    
    If `camel_case` is `True`, `++PageUp++` will match the same as `++page-up++`.
    
    The database can be extended or modified with the `key_map` dict.
    
    ## Examples
    
    ### Input
    
    ```
    Press ++Shift+Alt+PgUp++, type in ++"Hello"++ and press ++Enter++.
    ```
    
    ### Config 1
    
    ```
      pymdownx.keys:
        camel_case: true
        strict: false
        separator: '+'
    ```
    
    ### Output 1
    
    ```
    

    Press Shift+Alt+Page Up, type in Hello and press Enter.

    ``` ### Config 2 ``` pymdownx.keys: camel_case: true strict: true separator: '' ``` ### Output 2 ```

    Press ShiftAltPage Up, type in Hello and press Enter.

    ``` Idea by Adam Twardoch and coded by Isaac Muse. Copyright (c) 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import html from markdown import Extension from markdown.inlinepatterns import InlineProcessor from markdown import util as md_util import xml.etree.ElementTree as etree from . import util from . import keymap_db as keymap import re RE_EARLY_KBD = r'''(?x) (?: # Escape (?(?:\\{2})+)(?=\+)| # Key (? pg-dn - Default: False'], 'key_map': [{}, 'Additional keys to include or keys to override - Default: {}'] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add support for keys.""" util.escape_chars(md, ['+']) md.inlinePatterns.register(KeysPattern(RE_EARLY_KBD, self.getConfigs(), md, early=True), "keys-custom", 185) md.inlinePatterns.register(KeysPattern(RE_KBD, self.getConfigs(), md), "keys", 70) def makeExtension(*args, **kwargs): """Return extension.""" return KeysExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/magiclink.py000066400000000000000000001355641465124271600215600ustar00rootroot00000000000000""" Magic Link. pymdownx.magiclink An extension for Python Markdown. Find HTML, FTP links, and email address and turn them to actual links MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.treeprocessors import Treeprocessor from markdown import util as md_util import xml.etree.ElementTree as etree from . import util import re from markdown.inlinepatterns import LinkInlineProcessor, InlineProcessor MAGIC_LINK = 1 MAGIC_AUTO_LINK = 2 DEFAULT_EXCLUDES = { "bitbucket": ['dashboard', 'account', 'plans', 'support', 'repo'], "github": ['marketeplace', 'notifications', 'issues', 'pull', 'sponsors', 'settings', 'support'], "gitlab": ['dashboard', '-', 'explore', 'help', 'projects'], "twitter": ['i', 'messages', 'bookmarks', 'home'] } # Bare link/email detection RE_MAIL = r'''(?xi) (?P (? (?:(?<=\b)|(?<=_))(?: (?:ht|f)tps?://[^_\W][-\w]*(?:\.[-\w.]+)*| # (http|ftp):// (?Pw{3}\.)[^_\W][-\w]*(?:\.[-\w.]+)* # www. ) /?[-\w.?,!'(){}\[\]/+&@%$#=:"|~;]* # url path, fragments, and query stuff (?:[^_\W]|[-/#@$+=]) # allowed end chars ) ''' RE_AUTOLINK = r'(?i)<((?:ht|f)tps?://[^<>]*)>' RE_CUSTOM_NAME = re.compile(r'^[a-zA-Z0-9]+$') # Provider specific user regex rules RE_TWITTER_USER = r'\w{1,15}' RE_GITHUB_USER = r'[a-zA-Z\d](?:[-a-zA-Z\d_]{0,37}[a-zA-Z\d])?' RE_GITLAB_USER = r'[\.a-zA-Z\d_](?:[-a-zA-Z\d_\.]{0,37}[-a-zA-Z\d_])?' RE_BITBUCKET_USER = r'[-a-zA-Z\d_]{1,39}' # External mention patterns RE_ALL_EXT_MENTIONS = r'''(?x) (?P (?(? (?[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])\b ''' # Internal repo mention patterns RE_GIT_INT_REPO_MENTIONS = r'''(?x) (?P(?[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])\b ''' # External reference patterns (issue, pull request, commit, compare) RE_GIT_EXT_REFS = r'''(?x) (?P(?\b{})/) (?P\b[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d]) (?:(?P(?:\#|!|\?)[1-9][0-9]*)|(?P@[a-f\d]{{40}})(?:\.{{3}}(?P[a-f\d]{{40}}))?))\b ''' # Internal reference patterns (issue, pull request, commit, compare) RE_GIT_INT_EXT_REFS = r'''(?x) (?P(?\b{})/)? (?P\b[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d]) (?:(?P(?:\#|!|\?)[1-9][0-9]*)|(?P@[a-f\d]{{40}})(?:\.{{3}}(?P[a-f\d]{{40}}))?))\b ''' # Internal reference patterns for default user and repository (issue, pull request, commit, compare) RE_GIT_INT_MICRO_REFS = r'''(?x) (?P (?:(?(?:\#|!|\?)[1-9][0-9]*)|(?P(?[a-f\d]{40}))?) )\b ''' RE_WWW = re.compile(r'(https?://)(?:www\\\.)?(.*)') REPO_LINK_TEMPLATES = { 'github': ( r''' (?P(?P{}/ (?P(?P{})/[^/]+))/ (?:issues/(?P\d+)/?| pull/(?P\d+)/?| discussions/(?P\d+)/?| commit/(?P[\da-f]{{7,40}})/?| compare/(?P[\da-f]{{7,40}})\.{{3}} (?P[\da-f]{{7,40}})))''', RE_GITHUB_USER ), 'bitbucket': ( r''' (?P(?P{}/ (?P(?P{})/[^/]+))/ (?:issues/(?P\d+)(?:/[^/]+)?/?| pull-requests/(?P\d+)(?:/[^/]+(?:/diff)?)?/?| commits/commit/(?P[\da-f]{{7,40}})/?| branches/commits/(?P[\da-f]{{7,40}}) (?:\.{{2}}|%0d)(?P[\da-f]{{7,40}})\#diff))''', RE_BITBUCKET_USER ), 'gitlab': ( r''' (?P(?P{}/ (?P(?P{})/[^/]+))/(?:-/)? (?:issues/(?P\d+)/?| merge_requests/(?P\d+)/?| commit/(?P[\da-f]{{8,40}})/?| compare/(?P[\da-f]{{8,40}})\.{{3}} (?P[\da-f]{{8,40}})))''', RE_GITLAB_USER ) } def create_repo_link_pattern(provider, host, www=True): """Create repository link provider.""" template = REPO_LINK_TEMPLATES[provider] host_pat = re.escape(host.lower().rstrip('/')) if www: m = RE_WWW.match(host_pat) if m: host_pat = m.group(1) + r'(?:w{3}\.)?' + m.group(2) return template[0].format(host_pat, template[1]) # Repository link shortening pattern RE_REPO_LINK = re.compile( r'''(?xi)^(?:{}|{}|{})/?$'''.format( create_repo_link_pattern('github', "https://github.com"), create_repo_link_pattern('bitbucket', "https://bitbucket.org"), create_repo_link_pattern('gitlab', 'https://gitlab.com'), ) ) USER_LINK_TEMPLATES = { 'github': ( r''' (?P(?P{}/ (?P(?P{})(?:/(?P[^/]+))?))) ''', RE_GITHUB_USER ), 'bitbucket': ( r''' (?P(?P{}/ (?P(?P{})(?:/(?P[^/]+)/?)?))) ''', RE_BITBUCKET_USER ), 'gitlab': ( r''' (?P(?P{}/ (?P(?P{})(?:/(?P[^/]+))?))) ''', RE_GITLAB_USER ) } def create_user_link_pattern(provider, host, www=True): """Create repository link provider.""" template = USER_LINK_TEMPLATES[provider] host_pat = re.escape(host.lower().rstrip('/')) if www: m = RE_WWW.match(host_pat) if m: host_pat = m.group(1) + r'(?:w{3}\.)?' + m.group(2) return template[0].format(host_pat, template[1]) # Repository link shortening pattern RE_USER_REPO_LINK = re.compile( r'''(?xi)^(?:{}|{}|{})/?$'''.format( create_user_link_pattern('github', 'https://github.com'), create_user_link_pattern('bitbucket', '"https://bitbucket.org"'), create_user_link_pattern('gitlab', 'https://gitlab.com') ) ) RE_SOCIAL_LINK = re.compile( r'''(?xi) ^(?: (?P(?Phttps://(?:w{{3}}\.)?twitter\.com/(?P{}))) )/?$ '''.format(RE_TWITTER_USER) ) # Provider specific info (links, names, specific patterns, etc.) SOCIAL_PROVIDERS = {'twitter'} # Templates for providers PROVIDER_TEMPLATES = { "gitlab": { "provider": "GitLab", "type": "gitlab", "url": "{}", "user_pattern": RE_GITLAB_USER, "issue": "{}/{{}}/{{}}/-/issues/{{}}", "pull": "{}/{{}}/{{}}/-/merge_requests/{{}}", "commit": "{}/{{}}/{{}}/-/commit/{{}}", "compare": "{}/{{}}/{{}}/-/compare/{{}}...{{}}", "hash_size": 8 }, "bitbucket": { "provider": "Bitbucket", "type": "bitbucket", "url": "{}", "user_pattern": RE_BITBUCKET_USER, "issue": "{}/{{}}/{{}}/issues/{{}}", "pull": "{}/{{}}/{{}}/pull-requests/{{}}", "commit": "{}/{{}}/{{}}/commits/commit/{{}}", "compare": "{}/{{}}/{{}}/branches/commits/{{}}..{{}}#diff", "hash_size": 7 }, "github": { "provider": "GitHub", "type": "github", "url": "{}", "user_pattern": RE_GITHUB_USER, "issue": "{}/{{}}/{{}}/issues/{{}}", "pull": "{}/{{}}/{{}}/pull/{{}}", "discuss": '{}/{{}}/{{}}/discussions/{{}}', "commit": "{}/{{}}/{{}}/commit/{{}}", "compare": "{}/{{}}/{{}}/compare/{{}}...{{}}", "hash_size": 7 }, "twitter": { "provider": "Twitter", "type": "twitter", "url": "{}", "user_pattern": RE_TWITTER_USER }, } def create_provider(provider, host): """Create the provider with the provided host.""" entry = PROVIDER_TEMPLATES[provider].copy() for key in ('url', 'issue', 'pull', 'commit', 'compare', 'discuss'): if key not in entry: continue entry[key] = entry[key].format(host.lower().rstrip('/')) return entry PROVIDER_INFO = { "twitter": create_provider('twitter', "https://twitter.com"), "gitlab": create_provider('gitlab', 'https://gitlab.com'), "bitbucket": create_provider('bitbucket', "https://bitbucket.org"), "github": create_provider('github', "https://github.com") } class _MagiclinkShorthandPattern(InlineProcessor): """Base shorthand link class.""" def __init__(self, pattern, md, user, repo, provider, labels, normalize, provider_info): """Initialize.""" self.user = user self.repo = repo self.labels = labels self.normalize = normalize self.provider_info = provider_info self.provider = provider if provider in self.provider_info else '' InlineProcessor.__init__(self, pattern, md) class _MagiclinkReferencePattern(_MagiclinkShorthandPattern): """Convert #1, repo#1, user/repo#1, !1, repo!1, user/repo!1, hash, repo@hash, or user/repo@hash to links.""" def process_issues(self, el, provider, user, repo, issue): """Process issues.""" issue_type = issue[:1] issue_value = issue[1:] if issue_type == '#': issue_link = self.provider_info[provider]['issue'] issue_label = self.labels.get('issue', 'Issue') class_name = 'magiclink-issue' icon = issue_type elif issue_type == '!': issue_link = self.provider_info[provider]['pull'] issue_label = self.labels.get('pull', 'Pull Request') class_name = 'magiclink-pull' icon = '#' if self.normalize else issue_type elif self.provider_info[provider]['type'] == "github" and issue_type == '?': issue_link = self.provider_info[provider]['discuss'] issue_label = self.labels.get('discuss', 'Discussion') class_name = 'magiclink-discussion' icon = '#' if self.normalize else issue_type else: return False if self.my_repo: el.text = md_util.AtomicString(f'{icon}{issue_value}') elif self.my_user: el.text = md_util.AtomicString(f'{repo}{icon}{issue_value}') else: el.text = md_util.AtomicString(f'{user}/{repo}{icon}{issue_value}') el.set('href', issue_link.format(user, repo, issue_value)) el.set('class', f'magiclink magiclink-{provider} {class_name}') el.set( 'title', '{} {}: {}/{} #{}'.format( self.provider_info[provider]['provider'], issue_label, user, repo, issue_value ) ) return True def process_commit(self, el, provider, user, repo, commit): """Process commit.""" hash_ref = commit[0:self.provider_info[provider]['hash_size']] if self.my_repo: text = hash_ref elif self.my_user: text = f'{repo}@{hash_ref}' else: text = f'{user}/{repo}@{hash_ref}' el.set('href', self.provider_info[provider]['commit'].format(user, repo, commit)) el.text = md_util.AtomicString(text) el.set('class', f'magiclink magiclink-{provider} magiclink-commit') el.set( 'title', '{} {}: {}/{}@{}'.format( self.provider_info[provider]['provider'], self.labels.get('commit', 'Commit'), user, repo, hash_ref ) ) def process_compare(self, el, provider, user, repo, commit1, commit2): """Process commit.""" hash_ref1 = commit1[0:self.provider_info[provider]['hash_size']] hash_ref2 = commit2[0:self.provider_info[provider]['hash_size']] if self.my_repo: text = f'{hash_ref1}...{hash_ref2}' elif self.my_user: text = f'{repo}@{hash_ref1}...{hash_ref2}' else: text = f'{user}/{repo}@{hash_ref1}...{hash_ref2}' el.set('href', self.provider_info[provider]['compare'].format(user, repo, commit1, commit2)) el.text = md_util.AtomicString(text) el.set('class', f'magiclink magiclink-{provider} magiclink-compare') el.set( 'title', '{} {}: {}/{}@{}...{}'.format( self.provider_info[provider]['provider'], self.labels.get('compare', 'Compare'), user, repo, hash_ref1, hash_ref2 ) ) class MagicShortenerTreeprocessor(Treeprocessor): """Tree processor that finds repo issue and commit links and shortens them.""" # Repo link types ISSUE = 0 PULL = 1 COMMIT = 2 DISCUSS = 3 DIFF = 4 REPO = 5 USER = 6 def __init__( self, md, base_url, base_user_url, labels, normalize, repo_shortner, social_shortener, custom_shortners, excludes, provider, provider_info ): """Initialize.""" self.base = base_url self.repo_shortner = repo_shortner self.social_shortener = social_shortener self.custom_shortners = custom_shortners self.base_user = base_user_url self.repo_labels = labels self.normalize = normalize self.provider = provider self.provider_info = provider_info self.labels = { "github": "GitHub", "bitbucket": "Bitbucket", "gitlab": "GitLab" } self.excludes = excludes Treeprocessor.__init__(self, md) def shorten_repo(self, link, class_name, label, user_repo): """Shorten repo link.""" text = user_repo link.text = md_util.AtomicString(text) if 'magiclink-repository' not in class_name: class_name.append('magiclink-repository') link.set( 'title', "{} {}: {}".format( label, self.repo_labels.get('repository', 'Repository'), user_repo ) ) def shorten_user(self, link, class_name, label, user_repo): """Shorten user link.""" link.text = md_util.AtomicString(f'@{user_repo}') if 'magiclink-mention' not in class_name: class_name.append('magiclink-mention') link.set( 'title', "{} {}: {}".format( label, self.repo_labels.get('metion', 'User'), user_repo ) ) def shorten_diff(self, link, class_name, label, user_repo, value, hash_size): """Shorten diff/compare links.""" repo_label = self.repo_labels.get('compare', 'Compare') if self.my_repo: text = f'{value[0][0:hash_size]}...{value[1][0:hash_size]}' elif self.my_user: text = '{}@{}...{}'.format(user_repo.split('/')[1], value[0][0:hash_size], value[1][0:hash_size]) else: text = f'{user_repo}@{value[0][0:hash_size]}...{value[1][0:hash_size]}' link.text = md_util.AtomicString(text) if 'magiclink-compare' not in class_name: class_name.append('magiclink-compare') link.set( 'title', '{} {}: {}@{}...{}'.format( label, repo_label, user_repo.rstrip('/'), value[0][0:hash_size], value[1][0:hash_size] ) ) def shorten_commit(self, link, class_name, label, user_repo, value, hash_size): """Shorten commit link.""" # user/repo@hash repo_label = self.repo_labels.get('commit', 'Commit') if self.my_repo: text = value[0:hash_size] elif self.my_user: text = '{}@{}'.format(user_repo.split('/')[1], value[0:hash_size]) else: text = f'{user_repo}@{value[0:hash_size]}' link.text = md_util.AtomicString(text) if 'magiclink-commit' not in class_name: class_name.append('magiclink-commit') link.set( 'title', '{} {}: {}@{}'.format(label, repo_label, user_repo.rstrip('/'), value[0:hash_size]) ) def shorten_issue(self, provider, link, class_name, label, user_repo, value, link_type): """Shorten issue/pull link.""" # user/repo#(issue|pull) provider_type = self.provider_info[provider]['type'] if link_type == self.ISSUE: issue_type = self.repo_labels.get('issue', 'Issue') icon = '#' if 'magiclink-issue' not in class_name: class_name.append('magiclink-issue') elif link_type == self.PULL: issue_type = self.repo_labels.get('pull', 'Pull Request') icon = '#' if self.normalize else '!' if 'magiclink-pull' not in class_name: class_name.append('magiclink-pull') elif provider_type == 'github' and link_type == self.DISCUSS: issue_type = self.repo_labels.get('discuss', 'Discussion') icon = '#' if self.normalize else '?' if 'magiclink-discussion' not in class_name: class_name.append('magiclink-discussion') if self.my_repo: link.text = md_util.AtomicString(f"{icon}{value}") elif self.my_user: link.text = md_util.AtomicString("{}{}{}".format(user_repo.split('/')[1], icon, value)) else: link.text = md_util.AtomicString(f"{user_repo}{icon}{value}") link.set('title', '{} {}: {} #{}'.format(label, issue_type, user_repo.rstrip('/'), value)) def shorten_issue_commit(self, link, provider, link_type, user_repo, value, hash_size): """Shorten URL.""" label = self.provider_info[provider]['provider'] prov_class = f'magiclink-{provider}' class_attr = link.get('class', '') class_name = class_attr.split(' ') if class_attr else [] if 'magiclink' not in class_name: class_name.append('magiclink') if prov_class not in class_name: class_name.append(prov_class) # Link specific shortening logic if link_type is self.DIFF: self.shorten_diff(link, class_name, label, user_repo, value, hash_size) elif link_type is self.COMMIT: self.shorten_commit(link, class_name, label, user_repo, value, hash_size) else: self.shorten_issue(provider, link, class_name, label, user_repo, value, link_type) link.set('class', ' '.join(class_name)) def shorten_user_repo(self, link, provider, link_type, user_repo): """Shorten URL.""" label = self.provider_info[provider]['provider'] prov_class = f'magiclink-{provider}' class_attr = link.get('class', '') class_name = class_attr.split(' ') if class_attr else [] if 'magiclink' not in class_name: class_name.append('magiclink') if prov_class not in class_name: class_name.append(prov_class) # Link specific shortening logic if link_type is self.REPO: self.shorten_repo(link, class_name, label, user_repo) else: self.shorten_user(link, class_name, label, user_repo) link.set('class', ' '.join(class_name)) def get_provider_type(self, match): """Get the provider and hash size.""" # Set provider specific variables if match.group('github'): provider = 'github' elif match.group('bitbucket'): provider = 'bitbucket' elif match.group('gitlab'): provider = 'gitlab' return provider def get_social_provider(self, match): """Get social provider.""" if match.group('twitter'): provider = 'twitter' return provider def get_type(self, provider, match): """Get the link type.""" try: # Gather info about link type if match.group(provider + '_diff1') is not None: value = (match.group(provider + '_diff1'), match.group(provider + '_diff2')) link_type = self.DIFF elif match.group(provider + '_commit') is not None: value = match.group(provider + '_commit') link_type = self.COMMIT elif match.group(provider + '_pull') is not None: value = match.group(provider + '_pull') link_type = self.PULL elif provider == "github" and match.group(provider + '_discuss') is not None: value = match.group(provider + '_discuss') link_type = self.DISCUSS else: value = match.group(provider + '_issue') link_type = self.ISSUE except IndexError: # Gather info about link type found = False try: if match.group(provider + '_repo') is not None: value = None link_type = self.REPO found = True except IndexError: pass if not found: value = None link_type = self.USER return value, link_type def is_my_repo(self, provider_type, match): """Check if link is from our specified user and repo.""" # See if these links are from the specified repo. return self.base and match.group(provider_type + '_base') + '/' == self.base def is_my_user(self, provider_type, match): """Check if link is from our specified user.""" return self.base_user and match.group(provider_type + '_base').startswith(self.base_user) def excluded(self, provider_type, provider, match): """Check if user has been excluded.""" user = match.group(provider_type + '_user') return user.lower() in self.excludes.get(provider, set()) def run(self, root): """Shorten popular git repository links.""" self.hide_protocol = self.config['hide_protocol'] links = root.iter('a') for link in links: has_child = len(list(link)) is_magic = link.attrib.get('magiclink') href = link.attrib.get('href', '') text = link.text found = False if is_magic: del link.attrib['magiclink'] # We want a normal link. No sub-elements embedded in it, just a normal string. if has_child or not text: # pragma: no cover continue # Make sure the text matches the `href`. If needed, add back protocol to be sure. # Not all links will pass through MagicLink, so we try both with and without protocol. if (text == href or (is_magic and self.hide_protocol and ('https://' + text) == href)): if self.repo_shortner: m = RE_REPO_LINK.match(href) if m: provider_type = self.get_provider_type(m) provider = provider_type self.my_repo = self.is_my_repo(provider_type, m) self.my_user = self.my_repo or self.is_my_user(provider_type, m) value, link_type = self.get_type(provider_type, m) found = True # All right, everything set, let's shorten. if not self.excluded(provider_type, provider, m): self.shorten_issue_commit( link, provider, link_type, m.group(provider_type + '_user_repo'), value, self.provider_info[provider]['hash_size'] ) if not found and self.repo_shortner: m = RE_USER_REPO_LINK.match(href) if m: provider_type = self.get_provider_type(m) provider = provider_type self.my_repo = self.is_my_repo(provider_type, m) self.my_user = self.my_repo or self.is_my_user(provider_type, m) value, link_type = self.get_type(provider_type, m) found = True if not self.excluded(provider_type, provider, m): # All right, everything set, let's shorten. self.shorten_user_repo( link, provider, link_type, m.group(provider_type + '_user_repo') ) if not found and self.custom_shortners: for custom, entry in self.custom_shortners.items(): m = entry['repo'].match(href) if m: provider = custom provider_type = self.provider_info[custom]['type'] self.my_repo = self.is_my_repo(provider_type, m) self.my_user = self.my_repo or self.is_my_user(provider_type, m) value, link_type = self.get_type(provider_type, m) found = True # All right, everything set, let's shorten. if not self.excluded(provider_type, provider, m): self.shorten_issue_commit( link, provider, link_type, m.group(provider_type + '_user_repo'), value, self.provider_info[provider]['hash_size'] ) if not found: m = entry['user'].match(href) if m: provider = custom provider_type = self.provider_info[custom]['type'] self.my_repo = self.is_my_repo(provider_type, m) self.my_user = self.my_repo or self.is_my_user(provider_type, m) value, link_type = self.get_type(provider_type, m) found = True if not self.excluded(provider_type, provider, m): # All right, everything set, let's shorten. self.shorten_user_repo( link, provider, link_type, m.group(provider_type + '_user_repo') ) if not found and self.social_shortener: m = RE_SOCIAL_LINK.match(href) if m: provider = self.get_social_provider(m) self.my_repo = self.is_my_repo(provider, m) self.my_user = self.my_repo or self.is_my_user(provider, m) value, link_type = self.get_type(provider, m) if not self.excluded(provider, provider, m): # All right, everything set, let's shorten. self.shorten_user_repo( link, provider, link_type, m.group(provider + '_user') ) return root class MagiclinkPattern(LinkInlineProcessor): """Convert html, ftp links to clickable links.""" ANCESTOR_EXCLUDES = ('a',) def handleMatch(self, m, data): """Handle URL matches.""" el = etree.Element("a") el.text = md_util.AtomicString(m.group('link')) if m.group("www"): href = "http://{}".format(m.group('link')) else: href = m.group('link') if self.config['hide_protocol']: el.text = md_util.AtomicString(el.text[el.text.find("://") + 3:]) el.set("href", self.unescape(href.strip())) if self.config.get('repo_url_shortener', False): el.set('magiclink', str(MAGIC_LINK)) return el, m.start(0), m.end(0) class MagiclinkAutoPattern(InlineProcessor): """Return a link Element given an auto link ``.""" def handleMatch(self, m, data): """Return link optionally without protocol.""" el = etree.Element("a") el.set('href', self.unescape(m.group(1))) el.text = md_util.AtomicString(m.group(1)) if self.config['hide_protocol']: el.text = md_util.AtomicString(el.text[el.text.find("://") + 3:]) if self.config.get('repo_url_shortener', False): el.set('magiclink', str(MAGIC_AUTO_LINK)) return el, m.start(0), m.end(0) class MagiclinkMailPattern(InlineProcessor): """Convert emails to clickable email links.""" ANCESTOR_EXCLUDES = ('a',) def email_encode(self, code): """Return entity definition by code, or the code if not defined.""" return f"{md_util.AMP_SUBSTITUTE}#{code:d};" def handleMatch(self, m, data): """Handle email link patterns.""" el = etree.Element("a") email = self.unescape(m.group('mail')) href = f"mailto:{email}" el.text = md_util.AtomicString(''.join([self.email_encode(ord(c)) for c in email])) el.set("href", ''.join([md_util.AMP_SUBSTITUTE + f'#{ord(c):d};' for c in href])) return el, m.start(0), m.end(0) class MagiclinkMentionPattern(_MagiclinkShorthandPattern): """Convert @mention to links.""" ANCESTOR_EXCLUDES = ('a',) def handleMatch(self, m, data): """Handle email link patterns.""" text = m.group('mention')[1:] parts = text.split(':') if len(parts) > 1: provider = parts[0] mention = parts[1] else: provider = self.provider mention = parts[0] el = etree.Element("a") el.set('href', '{}/{}'.format(self.provider_info[provider]['url'], mention)) el.set( 'title', "{} {}: {}".format(self.provider_info[provider]['provider'], self.labels.get('mention', "User"), mention) ) el.set('class', f'magiclink magiclink-{provider} magiclink-mention') el.text = md_util.AtomicString(f'@{mention}') return el, m.start(0), m.end(0) class MagiclinkRepositoryPattern(_MagiclinkShorthandPattern): """Convert @user/repo to links.""" ANCESTOR_EXCLUDES = ('a',) def handleMatch(self, m, data): """Handle email link patterns.""" text = m.group('mention')[1:] parts = text.split(':') if len(parts) > 1: provider = parts[0] user = parts[1] else: provider = self.provider user = parts[0] repo = m.group('mention_repo') el = etree.Element("a") el.set('href', '{}/{}/{}'.format(self.provider_info[provider]['url'], user, repo)) el.set( 'title', "{} {}: {}/{}".format( self.provider_info[provider]['provider'], self.labels.get('repository', 'Repository'), user, repo ) ) el.set('class', f'magiclink magiclink-{provider} magiclink-repository') el.text = md_util.AtomicString(f'{user}/{repo}') return el, m.start(0), m.end(0) class MagiclinkExternalRefsPattern(_MagiclinkReferencePattern): """Convert repo#1, user/repo#1, repo!1, user/repo!1, repo@hash, or user/repo@hash to links.""" ANCESTOR_EXCLUDES = ('a',) def handleMatch(self, m, data): """Handle email link patterns.""" is_commit = m.group('commit') is_diff = m.group('diff') value = m.group('commit')[1:] if is_commit else m.group('issue') value2 = m.group('diff') if is_diff else None repo = m.group('repo') user = m.group('user') if not user: user = self.user parts = user.split(':') if len(parts) > 1: provider = parts[0] user = parts[1] else: provider = self.provider # If there is no valid user or provider, reject if not user: return None, None, None self.my_user = user == self.user and provider == self.provider self.my_repo = self.my_user and repo == self.repo el = etree.Element("a") if is_diff: self.process_compare(el, provider, user, repo, value, value2) elif is_commit: self.process_commit(el, provider, user, repo, value) else: if not self.process_issues(el, provider, user, repo, value): return m.group(0), m.start(0), m.end(0) return el, m.start(0), m.end(0) class MagiclinkInternalRefsPattern(_MagiclinkReferencePattern): """Convert #1, !1, and commit_hash.""" ANCESTOR_EXCLUDES = ('a',) def handleMatch(self, m, data): """Handle email link patterns.""" # We don't have a valid provider, user, and repo, reject if not self.user or not self.repo: return None, None, None is_commit = m.group('commit') is_diff = m.group('diff') value = m.group('commit') if is_commit else m.group('issue') value2 = m.group('diff') if is_diff else None repo = self.repo user = self.user provider = self.provider self.my_repo = True self.my_user = True el = etree.Element("a") if is_diff: self.process_compare(el, provider, user, repo, value, value2) elif is_commit: self.process_commit(el, provider, user, repo, value) else: if not self.process_issues(el, provider, user, repo, value): return m.group(0), m.start(0), m.end(0) return el, m.start(0), m.end(0) class MagiclinkExtension(Extension): """Add auto link and link transformation extensions to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'hide_protocol': [ False, "If 'True', links are displayed without the initial ftp://, http:// or https://" "- Default: False" ], 'repo_url_shortener': [ False, "If 'True' repo commit and issue links are shortened - Default: False" ], 'social_url_shortener': [ False, "If 'True' social links are shortened - Default: False" ], 'shortener_user_exclude': [ { "bitbucket": ['dashboard', 'account', 'plans', 'support', 'repo'], "github": ['marketeplace', 'notifications', 'issues', 'pull', 'sponsors', 'settings', 'support'], "gitlab": ['dashboard', '-', 'explore', 'help', 'projects'], "twitter": ['i', 'messages', 'bookmarks', 'home'] }, "A list of user names to exclude from URL shortening." ], 'repo_url_shorthand': [ False, "If 'True' repo shorthand syntax is converted to links - Default: False" ], 'social_url_shorthand': [ False, "If 'True' social shorthand syntax is converted to links - Default: False" ], 'provider': [ 'github', 'The base provider to use (github, gitlab, bitbucket, twitter) - Default: "github"' ], 'labels': [ {}, "Title labels - Default: {}" ], 'normalize_issue_symbols': [ False, 'Normalize issue, pull, and discussions symbols all to use # - Default: False' ], 'user': [ '', 'The base user name to use - Default: ""' ], 'repo': [ '', 'The base repo to use - Default: ""' ], 'custom': [ {}, "Custom repositories hosts - Default {}" ] } super().__init__(*args, **kwargs) def setup_autolinks(self, md, config): """Setup auto links.""" # Setup general link patterns auto_link_pattern = MagiclinkAutoPattern(RE_AUTOLINK, md) auto_link_pattern.config = config md.inlinePatterns.register(auto_link_pattern, "autolink", 120) link_pattern = MagiclinkPattern(RE_LINK, md) link_pattern.config = config md.inlinePatterns.register(link_pattern, "magic-link", 85) md.inlinePatterns.register(MagiclinkMailPattern(RE_MAIL, md), "magic-mail", 84.9) def setup_shorthand(self, md): """Setup shorthand.""" # Setup URL shortener escape_chars = ['@'] util.escape_chars(md, escape_chars) # Repository shorthand if self.git_short: git_ext_repo = MagiclinkRepositoryPattern( self.re_git_ext_repo_mentions, md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_ext_repo, "magic-repo-ext-mention", 79.9) if not self.is_social: git_int_repo = MagiclinkRepositoryPattern( RE_GIT_INT_REPO_MENTIONS.format(self.int_mentions), md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_int_repo, "magic-repo-int-mention", 79.8) # Mentions pattern = RE_ALL_EXT_MENTIONS.format('|'.join(self.ext_mentions)) git_mention = MagiclinkMentionPattern( pattern, md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_mention, "magic-ext-mention", 79.7) git_mention = MagiclinkMentionPattern( RE_INT_MENTIONS.format(self.int_mentions), md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_mention, "magic-int-mention", 79.6) # Other project refs if self.git_short: git_ext_refs = MagiclinkExternalRefsPattern( self.re_git_ext_refs, md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_ext_refs, "magic-ext-refs", 79.5) if not self.is_social: git_int_refs = MagiclinkExternalRefsPattern( RE_GIT_INT_EXT_REFS.format(self.int_mentions), md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_int_refs, "magic-int-refs", 79.4) git_int_micro_refs = MagiclinkInternalRefsPattern( RE_GIT_INT_MICRO_REFS, md, self.user, self.repo, self.provider, self.labels, self.normalize, self.provider_info ) md.inlinePatterns.register(git_int_micro_refs, "magic-int-micro-refs", 79.3) def setup_shortener( self, md, config ): """Setup shortener.""" shortener = MagicShortenerTreeprocessor( md, self.base_url, self.base_user_url, self.labels, self.normalize, self.repo_shortner, self.social_shortener, self.custom_shortners, self.shortener_exclusions, self.provider, self.provider_info ) shortener.config = config md.treeprocessors.register(shortener, "magic-repo-shortener", 9.9) def get_base_urls(self, config): """Get base URLs.""" base_url = '' base_user_url = '' if self.is_social: return base_url, base_user_url if self.user and self.repo: base_url = '{}/{}/{}/'.format(self.provider_info[self.provider]['url'], self.user, self.repo) base_user_url = '{}/{}/'.format(self.provider_info[self.provider]['url'], self.user) return base_url, base_user_url def extendMarkdown(self, md): """Add support for turning html links and emails to link tags.""" config = self.getConfigs() # Setup repo variables self.user = config.get('user', '') self.repo = config.get('repo', '') self.provider = config.get('provider', 'github') self.labels = config.get('labels', {}) self.normalize = config.get('normalize_issue_symbols', False) self.is_social = self.provider in SOCIAL_PROVIDERS self.git_short = config.get('repo_url_shorthand', False) self.social_short = config.get('social_url_shorthand', False) self.repo_shortner = config.get('repo_url_shortener', False) self.social_shortener = config.get('social_url_shortener', False) self.shortener_exclusions = {k: set(v) for k, v in DEFAULT_EXCLUDES.items()} self.provider_info = PROVIDER_INFO.copy() custom_provider = config.get('custom', {}) excludes = config.get('shortener_user_exclude', {}) self.custom_shortners = {} external_users = [RE_GITHUB_EXT_MENTIONS, RE_GITLAB_EXT_MENTIONS, RE_BITBUCKET_EXT_MENTIONS] for custom, entry in custom_provider.items(): if not RE_CUSTOM_NAME.match(custom): raise ValueError( f"Name '{custom}' not allowed, provider name must contain only letters and numbers" ) if custom not in self.provider_info: self.provider_info[custom] = create_provider(entry['type'], entry['host']) self.provider_info[custom]['provider'] = entry['label'] self.custom_shortners[custom] = { 'repo': re.compile( r'(?xi)^{}/?$'.format( create_repo_link_pattern(entry['type'], entry['host'], entry.get('www', True)) ) ), 'user': re.compile( r'(?xi)^{}/?$'.format( create_user_link_pattern(entry['type'], entry['host'], entry.get('www', True)) ) ) } if custom not in excludes: excludes[custom] = excludes.get(entry['type'], []) external_users.append(create_ext_mentions(custom, entry['type'])) self.re_git_ext_repo_mentions = RE_GIT_EXT_REPO_MENTIONS.format('|'.join(external_users)) self.re_git_ext_refs = RE_GIT_EXT_REFS.format('|'.join(external_users)) for key, value in config.get('shortener_user_exclude', {}).items(): if key in self.provider_info and isinstance(value, (list, tuple, set)): self.shortener_exclusions[key] = {x.lower() for x in value} # Ensure valid provider if self.provider not in self.provider_info: self.provider = 'github' self.setup_autolinks(md, config) if self.git_short or self.social_short: self.ext_mentions = [] if self.git_short: self.ext_mentions.extend(external_users) if self.social_short: self.ext_mentions.append(RE_TWITTER_EXT_MENTIONS) self.int_mentions = self.provider_info[self.provider]['user_pattern'] self.setup_shorthand(md) # Setup link post processor for shortening repository links if self.repo_shortner or self.social_shortener: self.base_url, self.base_user_url = self.get_base_urls(config) self.setup_shortener(md, config) def makeExtension(*args, **kwargs): """Return extension.""" return MagiclinkExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/mark.py000077500000000000000000000060101465124271600205360ustar00rootroot00000000000000""" Mark. pymdownx.mark Really simple plugin to add support for test tags as ==test== MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re from markdown import Extension from markdown.inlinepatterns import SimpleTextInlineProcessor from . import util SMART_CONTENT = r'((?:(?<=\s)=+?(?=\s)|.)+?=*?)' CONTENT = r'((?:[^=]|(?test` tags as `==test==`.""" config = self.getConfigs() smart = bool(config.get('smart_mark', True)) md.registerExtension(self) escape_chars = [] escape_chars.append('=') util.escape_chars(md, escape_chars) md.inlinePatterns.register(SimpleTextInlineProcessor(NOT_MARK), 'not_tilde', 70) mark = MarkSmartProcessor(r'=') if smart else MarkProcessor(r'=') md.inlinePatterns.register(mark, "mark", 65) def makeExtension(*args, **kwargs): """Return extension.""" return MarkExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/pathconverter.py000066400000000000000000000151421465124271600224730ustar00rootroot00000000000000""" Path Converter. pymdownx.pathconverter An extension for Python Markdown. An extension to covert tag paths to relative or absolute: Given an absolute base and a target relative path, this extension searches for file references that are relative and converts them to a path relative to the base path. -or- Given an absolute base path, this extension searches for file references that are relative and converts them to absolute paths. MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.postprocessors import Postprocessor from . import util import os import re from urllib.parse import urlunparse RE_TAG_HTML = r'''(?xus) (?: (?P <\s*(?Pscript|style)[^>]*>.*? | (?:(\r?\n?\s*)(\s*)(?=\r?\n)|) )| (?P<\s*(?P(?:%s))) (?P(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'))?)*) (?P\s*(?:\/?)>) ) ''' RE_TAG_LINK_ATTR = re.compile( r'''(?xus) (?P (?: (?P\s+(?:href|src)\s*=\s*) (?P"[^"]*"|'[^']*') ) ) ''' ) def repl_relative(m, base_path, relative_path): """Replace path with relative path.""" link = m.group(0) try: scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(m.group('path')[1:-1]) if not is_url: # Get the absolute path of the file or return # if we can't resolve the path path = util.url2path(path) if (not is_absolute): # Convert current relative path to absolute path = os.path.relpath( os.path.normpath(os.path.join(base_path, path)), os.path.normpath(relative_path) ) # Convert the path, URL encode it, and format it as a link path = util.path2url(path) link = '{}"{}"'.format( m.group('name'), urlunparse((scheme, netloc, path, params, query, fragment)) ) except Exception: # pragma: no cover # Parsing crashed and burned; no need to continue. pass return link def repl_absolute(m, base_path, file_scheme): """Replace path with absolute path.""" link = m.group(0) try: scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(m.group('path')[1:-1]) if (not is_absolute and not is_url): path = util.url2path(path) path = os.path.normpath(os.path.join(base_path, path)) path = util.path2url(path) if file_scheme: link = '{}"{}"'.format( m.group('name'), urlunparse(("file", netloc, path, params, query, fragment)) ) else: start = '/' if not path.startswith('/') else '' link = '{}"{}{}"'.format( m.group('name'), start, urlunparse((scheme, netloc, path, params, query, fragment)) ) except Exception: # pragma: no cover # Parsing crashed and burned; no need to continue. pass return link def repl(m, base_path, rel_path=None, file_scheme=None): """Replace.""" if m.group('avoid'): tag = m.group('avoid') else: tag = m.group('open') if rel_path is None: tag += RE_TAG_LINK_ATTR.sub(lambda m2: repl_absolute(m2, base_path, file_scheme), m.group('attr')) else: tag += RE_TAG_LINK_ATTR.sub(lambda m2: repl_relative(m2, base_path, rel_path), m.group('attr')) tag += m.group('close') return tag class PathConverterPostprocessor(Postprocessor): """Post process to find tag lings to convert.""" def run(self, text): """Find and convert paths.""" basepath = self.config['base_path'] relativepath = self.config['relative_path'] absolute = bool(self.config['absolute']) filescheme = bool(self.config['file_scheme']) tags = re.compile(RE_TAG_HTML % '|'.join(self.config['tags'].split())) if not absolute and basepath and relativepath: text = tags.sub(lambda m: repl(m, basepath, rel_path=relativepath), text) elif absolute and basepath: text = tags.sub(lambda m: repl(m, basepath, file_scheme=filescheme), text) return text class PathConverterExtension(Extension): """PathConverter extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'base_path': ["", "Base path used to find files - Default: \"\""], 'relative_path': ["", "Path that files will be relative to (not needed if using absolute) - Default: \"\""], 'absolute': [False, "Paths are absolute by default; disable for relative - Default: False"], 'tags': ["img script a link", "tags to convert src and/or href in - Default: 'img scripts a link'"], 'file_scheme': [False, "Use file:// scheme for absolute paths - Default: False"], } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add post processor to Markdown instance.""" rel_path = PathConverterPostprocessor(md) rel_path.config = self.getConfigs() md.postprocessors.register(rel_path, "path-converter", 2) md.registerExtension(self) def makeExtension(*args, **kwargs): """Return extension.""" return PathConverterExtension(*args, **kwargs) pymdown-extensions-10.9/pymdownx/progressbar.py000066400000000000000000000166341465124271600221470ustar00rootroot00000000000000""" Progress Bar. pymdownx.progressbar Simple plugin to add support for progress bars ``` /* No label */ [==30%] /* Label */ [==30% MyLabel] /* works with attr_list inline style */ [==50/200 MyLabel]{: .additional-class } ``` New line is not required before the progress bar but suggested unless in a table. Can take percentages and divisions. Floats are okay. Numbers must be positive. This is an experimental extension. Functionality is subject to change. Minimum Recommended Styling (but you could add gloss, candy striping, animation, or anything else): ``` .progress { display: block; width: 300px; margin: 10px 0; height: 24px; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background-color: #F8F8F8; position: relative; box-shadow: inset -1px 1px 3px rgba(0, 0, 0, .1); } .progress-label { position: absolute; text-align: center; font-weight: bold; width: 100%; margin: 0; line-height: 24px; color: #333; -webkit-font-smoothing: antialiased !important; white-space: nowrap; overflow: hidden; } .progress-bar { height: 24px; float: left; border-right: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background-color: #34c2e3; box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5); } For Level Colors .progress-100plus .progress-bar { background-color: #1ee038; } .progress-80plus .progress-bar { background-color: #86e01e; } .progress-60plus .progress-bar { background-color: #f2d31b; } .progress-40plus .progress-bar { background-color: #f2b01e; } .progress-20plus .progress-bar { background-color: #f27011; } .progress-0plus .progress-bar { background-color: #f63a0f; } ``` MIT license. Copyright (c) 2014 - 2017 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.inlinepatterns import InlineProcessor, dequote import xml.etree.ElementTree as etree from markdown.extensions.attr_list import AttrListTreeprocessor from . import util RE_PROGRESS = r'''(?x) \[={1,}\s* # Opening (?: (?P100(?:.0+)?|[1-9]?[0-9](?:\.\d+)?)% | # Percent (?:(?P\d+(?:\.\d+)?)\s*/\s*(?P\d+(?:\.\d+)?)) # Fraction ) (?P\s+(?P<quote>['"]).*?(?P=quote))?\s* # Title \] # Closing (?P<attr_list>\{\:?([^\}]*)\})? # Optional attr list ''' CLASS_LEVEL = "progress-%dplus" class ProgressBarTreeProcessor(AttrListTreeprocessor): """Used for AttrList compatibility.""" def run(self, elem): """Inline check for attributes at start of tail.""" if elem.tail: m = self.INLINE_RE.match(elem.tail) if m: self.assign_attrs(elem, m.group(1)) elem.tail = elem.tail[m.end():] class ProgressBarPattern(InlineProcessor): """Pattern handler for the progress bars.""" def __init__(self, pattern, md): """Initialize.""" InlineProcessor.__init__(self, pattern, md) def create_tag(self, width, label, add_classes, alist): """Create the tag.""" # Create list of all classes and remove duplicates classes = list( set( ["progress"] + self.config.get('add_classes', '').split() + add_classes ) ) classes.sort() el = etree.Element("div") el.set('class', ' '.join(classes)) bar = etree.SubElement(el, 'div') bar.set('class', "progress-bar") bar.set('style', 'width:%s%%' % width) p = etree.SubElement(bar, 'p') p.set('class', 'progress-label') p.text = label if alist is not None: el.tail = alist if 'attr_list' in self.md.treeprocessors: ProgressBarTreeProcessor(self.md).run(el) return el def handleMatch(self, m, data): """Handle the match.""" label = "" level_class = self.config.get('level_class', False) increment = self.config.get('progress_increment', 20) add_classes = [] alist = None if m.group(5): label = dequote(self.unescape(m.group('title').strip())) if m.group('attr_list'): alist = m.group('attr_list') if m.group('percent'): value = float(m.group('percent')) else: try: num = float(m.group('frac_num')) except Exception: # pragma: no cover num = 0.0 try: den = float(m.group('frac_den')) except Exception: # pragma: no cover den = 0.0 if den == 0.0: value = 0.0 else: value = (num / den) * 100.0 # We can never get a value < 0, # but we must check for > 100. if value > 100.0: value = 100.0 # Round down to nearest increment step and include class if desired if level_class: add_classes.append(CLASS_LEVEL % int(value - (value % increment))) return self.create_tag('%.2f' % value, label, add_classes, alist), m.start(0), m.end(0) class ProgressBarExtension(Extension): """Add progress bar extension to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'level_class': [ True, "Include class that defines progress level - Default: True" ], 'progress_increment': [ 20, "Progress increment step - Default: 20" ], 'add_classes': [ '', "Add additional classes to the progress tag for styling. " "Classes are separated by spaces. - Default: None" ] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add the progress bar pattern handler.""" util.escape_chars(md, ['=']) progress = ProgressBarPattern(RE_PROGRESS, md) progress.config = self.getConfigs() md.inlinePatterns.register(progress, "progress-bar", 179) def makeExtension(*args, **kwargs): """Return extension.""" return ProgressBarExtension(*args, **kwargs) ����������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/saneheaders.py�����������������������������������������������������0000664�0000000�0000000�00000001705�14651242716�0022071�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Sane headers. Allow for a header implementation that requires `#` headers to have a space after the `#` portion. This allows for things like Magiclink issues to work at the beginning of lines, and potentially other things like tag extensions etc. """ import re from markdown import Extension from markdown.blockprocessors import HashHeaderProcessor class SaneHeadersProcessor(HashHeaderProcessor): """Process hash headers syntax.""" RE = re.compile(r'(?:^|\n)(?P<level>#{1,6})(?=[ ])(?P<header>(?:\\.|[^\\])*?)#*(?:\n|$)') class SaneHeadersExtension(Extension): """Adds the sane headers extension.""" def extendMarkdown(self, md): """Extend the inline and block processor objects.""" md.parser.blockprocessors.register(SaneHeadersProcessor(md.parser), 'hashheader', 70) md.registerExtension(self) def makeExtension(*args, **kwargs): """Return extension.""" return SaneHeadersExtension(*args, **kwargs) �����������������������������������������������������������pymdown-extensions-10.9/pymdownx/slugs.py�����������������������������������������������������������0000664�0000000�0000000�00000010161�14651242716�0020740�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Slugs. Additional slug outputs. MIT license. Copyright (c) 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re import unicodedata import functools from urllib.parse import quote from . import util RE_TAGS = re.compile(r'</?[^>]*>', re.UNICODE) RE_INVALID_SLUG_CHAR = re.compile(r'[^\w\- ]', re.UNICODE) RE_SEP = re.compile(r' ', re.UNICODE) RE_ASCII_LETTERS = re.compile(r'[A-Z]', re.UNICODE) def _uslugify(text, sep, case="none", percent_encode=False, normalize='NFC'): """Unicode slugify (`utf-8`).""" # Normalize, Strip html tags, strip leading and trailing whitespace, and lower slug = RE_TAGS.sub('', unicodedata.normalize(normalize, text)).strip() if case == 'lower': slug = slug.lower() elif case == 'lower-ascii': def lower(m): """Lowercase character.""" return m.group(0).lower() slug = RE_ASCII_LETTERS.sub(lower, slug) elif case == 'fold': slug = slug.casefold() # Remove non word characters, non spaces, and non dashes, and convert spaces to dashes. slug = RE_SEP.sub(sep, RE_INVALID_SLUG_CHAR.sub('', slug)) return quote(slug.encode('utf-8')) if percent_encode else slug def slugify(**kwargs): """Configurable slugify.""" case = kwargs.get('case', 'none') percent = kwargs.get('percent_encode', False) normalize = kwargs.get('normalize', 'NFC') return functools.partial(_uslugify, case=case, percent_encode=percent, normalize=normalize) @util.deprecated( "'uslugify' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def uslugify(text, sep): """Unicode slugify.""" return slugify(case='lower')(text, sep) @util.deprecated( "'uslugify_encoded' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def uslugify_encoded(text, sep): """Unicode slugify (percent encoded).""" return slugify(case='lower', percent_encode=True)(text, sep) @util.deprecated( "'uslugify_cased' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def uslugify_cased(text, sep): """Unicode slugify cased (keep case) (`utf-8`).""" return slugify()(text, sep) @util.deprecated( "'uslugify_cased_encode' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def uslugify_cased_encoded(text, sep): """Unicode slugify cased (keep case) (percent encoded).""" return slugify(percent_encode=True)(text, sep) @util.deprecated( "'gfm' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def gfm(text, sep): """Unicode slugify cased (cased Unicode only) (`utf-8`).""" return slugify(case="lower-ascii")(text, sep) @util.deprecated( "'gfm_encoded' is deprecated in favor of the configurable 'slugify' function. " "See documentation for more info." ) def gfm_encoded(text, sep): """Unicode slugify cased (cased Unicode only) (percent encoded).""" return slugify(case='lower-ascii', percent_encode=True)(text, sep) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/smartsymbols.py����������������������������������������������������0000664�0000000�0000000�00000012463�14651242716�0022351�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Smart Symbols. pymdownx.smartsymbols Really simple plugin to add support for: copyright, trademark, and registered symbols plus/minus, not equal, arrows via: copyright = `(c)` trademark = `(tm)` registered = `(r)` plus/minus = `+/-` care/of = `c/o` fractions = `1/2` etc. (only certain available unicode fractions) arrows: left = `<--` right = `-->` both = `<-->` not equal = `=/=` (maybe this could be =/= in the future as this might be more intuitive to non-programmers) MIT license. Copyright (c) 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown import treeprocessors from markdown.util import Registry from markdown.inlinepatterns import HtmlInlineProcessor RE_TRADE = ("smart-trademark", r'\(tm\)', r'™') RE_COPY = ("smart-copyright", r'\(c\)', r'©') RE_REG = ("smart-registered", r'\(r\)', r'®') RE_PLUSMINUS = ("smart-plus-minus", r'\+/-', r'±') RE_NOT_EQUAL = ("smart-not-equal", r'=/=', r'≠') RE_CARE_OF = ("smart-care-of", r'\bc/o\b', r'℅') RE_ORDINAL_NUMBERS = ( "smart-ordinal-numbers", r'''(?x) \b (?P<leading>(?:[1-9][0-9]*)?) (?P<tail>(?<=1)(?:1|2|3)th|1st|2nd|3rd|[04-9]th) \b ''', lambda m: '{}{}<sup>{}</sup>'.format( m.group('leading') if m.group('leading') else '', m.group('tail')[:-2], m.group('tail')[1:] ) ) RE_ARROWS = ( "smart-arrows", r'(?P<arrows>\<-{2}\>|(?<!-)-{2}\>|\<-{2}(?!-))', lambda m: ARR[m.group('arrows')] ) RE_FRACTIONS = ( "smart-fractions", r'(?<!\d)(?P<fractions>1/4|1/2|3/4|1/3|2/3|1/5|2/5|3/5|4/5|1/6|5/6|1/8|3/8|5/8|7/8)(?!\d)', lambda m: FRAC[m.group('fractions')] ) REPL = { 'trademark': RE_TRADE, 'copyright': RE_COPY, 'registered': RE_REG, 'plusminus': RE_PLUSMINUS, 'arrows': RE_ARROWS, 'notequal': RE_NOT_EQUAL, 'fractions': RE_FRACTIONS, 'ordinal_numbers': RE_ORDINAL_NUMBERS, 'care_of': RE_CARE_OF } FRAC = { "1/4": "¼", "1/2": "½", "3/4": "¾", "1/3": "⅓", "2/3": "⅔", "1/5": "⅕", "2/5": "⅖", "3/5": "⅗", "4/5": "⅘", "1/6": "⅙", "5/6": "⅚", "1/8": "⅛", "3/8": "⅜", "5/8": "⅝", "7/8": "⅞" } ARR = { '-->': "→", '<--': "←", '<-->': "↔" } class SmartSymbolsPattern(HtmlInlineProcessor): """Smart symbols patterns handler.""" def __init__(self, pattern, replace, md): """Setup replace pattern.""" super().__init__(pattern, md) self.replace = replace def handleMatch(self, m, data): """Replace symbol.""" return self.md.htmlStash.store( m.expand(self.replace(m) if callable(self.replace) else self.replace), ), m.start(0), m.end(0) class SmartSymbolsExtension(Extension): """Smart Symbols extension.""" def __init__(self, *args, **kwargs): """Setup config of which symbols are enabled.""" self.config = { 'trademark': [True, 'Trademark'], 'copyright': [True, 'Copyright'], 'registered': [True, 'Registered'], 'plusminus': [True, 'Plus/Minus'], 'arrows': [True, 'Arrows'], 'notequal': [True, 'Not Equal'], 'fractions': [True, 'Fractions'], 'ordinal_numbers': [True, 'Ordinal Numbers'], 'care_of': [True, 'Care/of'] } super().__init__(*args, **kwargs) def add_pattern(self, patterns, md): """Construct the inline symbol pattern.""" self.patterns.register(SmartSymbolsPattern(patterns[1], patterns[2], md), patterns[0], 30) def extendMarkdown(self, md): """Create a dict of inline replace patterns and add to the tree processor.""" configs = self.getConfigs() self.patterns = Registry() for k, v in REPL.items(): if configs[k]: self.add_pattern(v, md) inline_processor = treeprocessors.InlineProcessor(md) inline_processor.inlinePatterns = self.patterns md.treeprocessors.register(inline_processor, "smart-symbols", 6.1) def makeExtension(*args, **kwargs): """Return extension.""" return SmartSymbolsExtension(*args, **kwargs) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/snippets.py��������������������������������������������������������0000664�0000000�0000000�00000037130�14651242716�0021455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Snippet ---8<---. pymdownx.snippet Inject snippets MIT license. Copyright (c) 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.preprocessors import Preprocessor import functools import urllib import re import codecs import os from . import util import textwrap MI = 1024 * 1024 # mebibyte (MiB) DEFAULT_URL_SIZE = MI * 32 DEFAULT_URL_TIMEOUT = 10.0 # in seconds DEFAULT_URL_REQUEST_HEADERS = {} class SnippetMissingError(Exception): """Snippet missing exception.""" class SnippetPreprocessor(Preprocessor): """Handle snippets in Markdown content.""" RE_ALL_SNIPPETS = re.compile( r'''(?x) ^(?P<space>[ \t]*) (?P<escape>;*) (?P<all> (?P<inline_marker>-{1,}8<-{1,}[ \t]+) (?P<snippet>(?:"(?:\\"|[^"\n\r])+?"|'(?:\\'|[^'\n\r])+?'))(?![ \t]) | (?P<block_marker>-{1,}8<-{1,})(?![ \t]) )\r?$ ''' ) RE_SNIPPET = re.compile( r'''(?x) ^(?P<space>[ \t]*) (?P<snippet>.*?)\r?$ ''' ) RE_SNIPPET_SECTION = re.compile( r'''(?xi) ^(?P<pre>.*?) (?P<escape>;*) (?P<inline_marker>-{1,}8<-{1,}[ \t]+) (?P<section>\[[ \t]*(?P<type>start|end)[ \t]*:[ \t]*(?P<name>[a-z][-_0-9a-z]*)[ \t]*\]) (?P<post>.*?)$ ''' ) RE_SNIPPET_FILE = re.compile(r'(?i)(.*?)(?:(:[0-9]*)?(:[0-9]*)?|(:[a-z][-_0-9a-z]*)?)$') def __init__(self, config, md): """Initialize.""" base = config.get('base_path') if isinstance(base, (str, os.PathLike)): base = [base] self.base_path = [os.path.abspath(b) for b in base] self.restrict_base_path = config['restrict_base_path'] self.encoding = config.get('encoding') self.check_paths = config.get('check_paths') self.auto_append = config.get('auto_append') self.url_download = config['url_download'] self.url_max_size = config['url_max_size'] self.url_timeout = config['url_timeout'] self.url_request_headers = config['url_request_headers'] self.dedent_subsections = config['dedent_subsections'] self.tab_length = md.tab_length super().__init__() self.download.cache_clear() def extract_section(self, section, lines): """Extract the specified section from the lines.""" new_lines = [] start = False found = False for l in lines: # Found a snippet section marker with our specified name m = self.RE_SNIPPET_SECTION.match(l) # Handle escaped line if m and start and m.group('escape'): l = ( m.group('pre') + m.group('escape').replace(';', '', 1) + m.group('inline_marker') + m.group('section') + m.group('post') ) # Found a section we are looking for. elif m is not None and m.group('name') == section: # We found the start if not start and m.group('type') == 'start': start = True found = True continue # Ignore duplicate start elif start and m.group('type') == 'start': continue # We found the end elif start and m.group('type') == 'end': start = False break # We found an end, but no start else: break # Found a section we don't care about, so ignore it. elif m and start: continue # We are currently in a section, so append the line if start: new_lines.append(l) if not found and self.check_paths: raise SnippetMissingError(f"Snippet section '{section}' could not be located") return self.dedent(new_lines) if self.dedent_subsections else new_lines def dedent(self, lines): """De-indent lines.""" return textwrap.dedent('\n'.join(lines)).split('\n') def get_snippet_path(self, path): """Get snippet path.""" snippet = None for base in self.base_path: if os.path.exists(base): if os.path.isdir(base): if self.restrict_base_path: filename = os.path.abspath(os.path.join(base, path)) # If the absolute path is no longer under the specified base path, reject the file if not filename.startswith(base): continue else: filename = os.path.join(base, path) if os.path.exists(filename): snippet = filename break else: dirname = os.path.dirname(base) filename = os.path.join(dirname, path) if os.path.exists(filename) and os.path.samefile(filename, base): snippet = filename break return snippet @functools.lru_cache # noqa: B019 def download(self, url): """ Actually download the snippet pointed to by the passed URL. The most recently used files are kept in a cache until the next reset. """ http_request = urllib.request.Request(url, headers=self.url_request_headers) timeout = None if self.url_timeout == 0 else self.url_timeout with urllib.request.urlopen(http_request, timeout=timeout) as response: # Fail if status is not OK status = response.status if util.PY39 else response.code if status != 200: raise SnippetMissingError(f"Cannot download snippet '{url}'") # We provide some basic protection against absurdly large files. # 32MB is chosen as an arbitrary upper limit. This can be raised if desired. content = None if "content-length" not in response.headers: # we have to read to know if we went over the max, but never more than `url_max_size` # where `url_max_size` == 0 means unlimited content = response.read(self.url_max_size) if self.url_max_size != 0 else response.read() content_length = len(content) else: content_length = int(response.headers["content-length"]) if self.url_max_size != 0 and content_length >= self.url_max_size: raise ValueError(f"refusing to read payloads larger than or equal to {self.url_max_size}") # Nothing to return if content_length == 0: return [''] if content is None: # content-length was in the header, so we did not read yet content = response.read() # Process lines return [l.decode(self.encoding) for l in content.splitlines()] def parse_snippets(self, lines, file_name=None, is_url=False): """Parse snippets snippet.""" if file_name: # Track this file. self.seen.add(file_name) new_lines = [] inline = False block = False for line in lines: # Check for snippets on line inline = False m = self.RE_ALL_SNIPPETS.match(line) if m: if m.group('escape'): # The snippet has been escaped, replace first `;` and continue. new_lines.append(line.replace(';', '', 1)) continue if block and m.group('inline_marker'): # Don't use inline notation directly under a block. # It's okay if inline is used again in sub file though. continue elif m.group('inline_marker'): # Inline inline = True else: # Block block = not block continue elif not block: # Not in snippet, and we didn't find an inline, # so just a normal line new_lines.append(line) continue if block and not inline: # We are in a block and we didn't just find a nested inline # So check if a block path m = self.RE_SNIPPET.match(line) if m: # Get spaces and snippet path. Remove quotes if inline. space = m.group('space').expandtabs(self.tab_length) path = m.group('snippet')[1:-1].strip() if inline else m.group('snippet').strip() if not inline: # Block path handling if not path: # Empty path line, insert a blank line new_lines.append('') continue # Ignore commented out lines if path.startswith(';'): continue # Get line numbers (if specified) end = None start = None section = None m = self.RE_SNIPPET_FILE.match(path) path = m.group(1).strip() # Looks like we have an empty file and only lines specified if not path: if self.check_paths: raise SnippetMissingError(f"Snippet at path '{path}' could not be found") else: continue ending = m.group(3) if ending and len(ending) > 1: end = int(ending[1:]) starting = m.group(2) if starting and len(starting) > 1: start = max(0, int(starting[1:]) - 1) section_name = m.group(4) if section_name: section = section_name[1:] # Ignore path links if we are in external, downloaded content is_link = path.lower().startswith(('https://', 'http://')) if is_url and not is_link: continue # If this is a link, and we are allowing URLs, set `url` to true. # Make sure we don't process `path` as a local file reference. url = self.url_download and is_link snippet = self.get_snippet_path(path) if not url else path if snippet: # This is in the stack and we don't want an infinite loop! if snippet in self.seen: continue if not url: # Read file content with codecs.open(snippet, 'r', encoding=self.encoding) as f: s_lines = [l.rstrip('\r\n') for l in f] if start is not None or end is not None: s = slice(start, end) s_lines = self.dedent(s_lines[s]) if self.dedent_subsections else s_lines[s] elif section: s_lines = self.extract_section(section, s_lines) else: # Read URL content try: s_lines = self.download(snippet) if start is not None or end is not None: s = slice(start, end) s_lines = self.dedent(s_lines[s]) if self.dedent_subsections else s_lines[s] elif section: s_lines = self.extract_section(section, s_lines) except SnippetMissingError: if self.check_paths: raise s_lines = [] # Process lines looking for more snippets new_lines.extend( [ space + l2 for l2 in self.parse_snippets( s_lines, snippet, is_url=url ) ] ) elif self.check_paths: raise SnippetMissingError(f"Snippet at path '{path}' could not be found") # Pop the current file name out of the cache if file_name: self.seen.remove(file_name) return new_lines def run(self, lines): """Process snippets.""" self.seen = set() if self.auto_append: lines.extend("\n\n-8<-\n{}\n-8<-\n".format('\n\n'.join(self.auto_append)).split('\n')) return self.parse_snippets(lines) class SnippetExtension(Extension): """Snippet extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'base_path': [["."], "Base path for snippet paths - Default: [\".\"]"], 'restrict_base_path': [ True, "Restrict snippet paths such that they are under the base paths - Default: True" ], 'encoding': ["utf-8", "Encoding of snippets - Default: \"utf-8\""], 'check_paths': [False, "Make the build fail if a snippet can't be found - Default: \"False\""], "auto_append": [ [], "A list of snippets (relative to the 'base_path') to auto append to the Markdown content - Default: []" ], 'url_download': [False, "Download external URLs as snippets - Default: \"False\""], 'url_max_size': [DEFAULT_URL_SIZE, "External URL max size (0 means no limit)- Default: 32 MiB"], 'url_timeout': [DEFAULT_URL_TIMEOUT, 'Defualt URL timeout (0 means no timeout) - Default: 10 sec'], 'url_request_headers': [DEFAULT_URL_REQUEST_HEADERS, "Extra request Headers - Default: {}"], 'dedent_subsections': [False, "Dedent subsection extractions e.g. 'sections' and/or 'lines'."] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Register the extension.""" self.md = md md.registerExtension(self) config = self.getConfigs() snippet = SnippetPreprocessor(config, md) md.preprocessors.register(snippet, "snippet", 32) def reset(self): """Reset.""" self.md.preprocessors['snippet'].download.cache_clear() def makeExtension(*args, **kwargs): """Return extension.""" return SnippetExtension(*args, **kwargs) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/striphtml.py�������������������������������������������������������0000664�0000000�0000000�00000012122�14651242716�0021630�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Strip HTML (previously named Plain HTML). pymdownx.striphtml An extension for Python Markdown. Strip classes, styles, and ids from html MIT license. Copyright (c) 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.postprocessors import Postprocessor import re RE_TAG_HTML = re.compile( r'''(?x) (?: (?P<comments>(?:\r?\n?\s*)<!--(?:-(?!->)|[^-])*?-->(?:\s*)(?=\r?\n)|<!--[\s\S]*?-->)| (?P<scripts> (?P<script_open><(?P<script_name>style|script)) (?P<script_attr>(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'`=<>]+))?)*) (?P<script_rest>\s*>.*?</(?P=script_name)\s*>) )| (?P<open><(?P<name>[\w\:\.\-]+)) (?P<attr>(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'`=<>]+))?)*) (?P<close>\s*(?P<self_close>/)?>)| (?P<close_tag></(?P<close_name>[\w\:\.\-]+)\s*>) ) ''', re.DOTALL | re.UNICODE ) TAG_BAD_ATTR = r'''(?x) (?P<attr> (?: \s+(?:%s) (?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'`=<>]+)) )* ) ''' class StripHtmlPostprocessor(Postprocessor): """Post processor to strip out unwanted content.""" def __init__(self, strip_comments, strip_js_on_attributes, strip_attributes, md): """Initialize.""" self.strip_comments = strip_comments self.re_attributes = None attributes = [re.escape(a.strip()) for a in strip_attributes] if strip_js_on_attributes: attributes.append(r'on[\w]+') if attributes: self.re_attributes = re.compile( TAG_BAD_ATTR % '|'.join(attributes), re.DOTALL | re.UNICODE ) super().__init__(md) def repl(self, m): """Replace comments and unwanted attributes.""" if m.group('comments'): tag = '' if self.strip_comments else m.group('comments') else: if m.group('scripts'): tag = m.group('script_open') if self.re_attributes is not None: tag += self.re_attributes.sub('', m.group('script_attr')) else: tag += m.group('script_attr') tag += m.group('script_rest') elif m.group('close_tag'): tag = m.group(0) else: tag = m.group('open') if self.re_attributes is not None: tag += self.re_attributes.sub('', m.group('attr')) else: tag += m.group('attr') tag += m.group('close') return tag def run(self, text): """Strip out ids and classes for a simplified HTML output.""" strip = self.strip_comments or self.strip_js_on_attributes or self.re_attributes return RE_TAG_HTML.sub(self.repl, text) if strip else text class StripHtmlExtension(Extension): """StripHTML extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'strip_comments': [ True, "Strip HTML comments at the end of processing. " "- Default: True" ], 'strip_attributes': [ [], "A string of attributes separated by spaces." "- Default: 'id class style']" ], 'strip_js_on_attributes': [ True, "Strip JavaScript script attribues with the pattern on*. " " - Default: True" ] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Strip unwanted HTML attributes and/or comments.""" md.registerExtension(self) config = self.getConfigs() striphtml = StripHtmlPostprocessor( config.get('strip_comments'), config.get('strip_js_on_attributes'), config.get('strip_attributes'), md ) md.postprocessors.register(striphtml, "strip-html", 1) def makeExtension(*args, **kwargs): """Return extension.""" return StripHtmlExtension(*args, **kwargs) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/superfences.py�����������������������������������������������������0000664�0000000�0000000�00000102416�14651242716�0022132�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" SuperFences. pymdownx.superfences Nested Fenced Code Blocks This is a modification of the original Fenced Code Extension. Algorithm has been rewritten to allow for fenced blocks in blockquotes, lists, etc. And also , allow for special UML fences like 'flow' for flowcharts and `sequence` for sequence diagrams. Modified: 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> --- Fenced Code Extension for Python Markdown ========================================= This extension adds Fenced Code Blocks to Python-Markdown. See <https://pythonhosted.org/Markdown/extensions/fenced_code_blocks.html> for documentation. Original code Copyright 2007-2008 [Waylan Limberg](http://achinghead.com/). All changes Copyright 2008-2014 The Python Markdown Project License: [BSD](http://www.opensource.org/licenses/bsd-license.php) """ from markdown.extensions import Extension from markdown.preprocessors import Preprocessor from markdown.blockprocessors import CodeBlockProcessor from markdown.extensions.attr_list import get_attrs from markdown import util as md_util import functools import re SOH = '\u0001' # start EOT = '\u0004' # end PREFIX_CHARS = ('>', ' ', '\t') RE_NESTED_FENCE_START = re.compile( r'''(?x) (?P<fence>~{3,}|`{3,})[ \t]* # Fence opening (?:(\{(?P<attrs>[^\n]*)\})?| # Optional attributes or (?:\.?(?P<lang>[\w#.+-]*))?[ \t]* # Language (?P<options> (?: (?:\b[a-zA-Z][a-zA-Z0-9_]*(?:=(?P<quot>"|').*?(?P=quot))?[ \t]*) | # Options )* ) )[ \t]*$ ''' ) RE_HL_LINES = re.compile(r'^(?P<hl_lines>\d+(?:-\d+)?(?:[ \t]+\d+(?:-\d+)?)*)$') RE_LINENUMS = re.compile(r'(?P<linestart>[\d]+)(?:[ \t]+(?P<linestep>[\d]+))?(?:[ \t]+(?P<linespecial>[\d]+))?') RE_OPTIONS = re.compile( r'''(?x) (?: (?P<key>[a-zA-Z][a-zA-Z0-9_]*)(?:=(?P<quot>"|')(?P<value>.*?)(?P=quot))? ) ''' ) NESTED_FENCE_END = r'%s[ \t]*$' FENCED_BLOCK_RE = re.compile( r'^([\> ]*){}({}){}$'.format( md_util.HTML_PLACEHOLDER[0], md_util.HTML_PLACEHOLDER[1:-1] % r'([0-9]+)', md_util.HTML_PLACEHOLDER[-1] ) ) class SuperFencesException(Exception): """Special exception to ensure one is raised when a fence fails.""" def _escape(txt): """Basic html escaping.""" txt = txt.replace('&', '&') txt = txt.replace('<', '<') txt = txt.replace('>', '>') return txt class CodeStash: """ Stash code for later retrieval. Store original fenced code here in case we were too greedy and need to restore in an indented code block. """ def __init__(self): """Initialize.""" self.stash = {} def __len__(self): # pragma: no cover """Length of stash.""" return len(self.stash) def get(self, key, default=None): """Get the code from the key.""" code = self.stash.get(key, default) return code def remove(self, key): """Remove the stashed code.""" del self.stash[key] def store(self, key, code, indent_level): """Store the code in the stash.""" self.stash[key] = (code, indent_level) def clear_stash(self): """Clear the stash.""" self.stash = {} def fence_code_format(source, language, class_name, options, md, **kwargs): """Format source as code blocks.""" classes = kwargs['classes'] id_value = kwargs['id_value'] attrs = kwargs['attrs'] if class_name: classes.insert(0, class_name) id_value = f' id="{id_value}"' if id_value else '' classes = ' class="{}"'.format(' '.join(classes)) if classes else '' attrs = ' ' + ' '.join(f'{k}="{v}"' for k, v in attrs.items()) if attrs else '' return '<pre{}{}{}><code>{}</code></pre>'.format(id_value, classes, attrs, _escape(source)) def fence_div_format(source, language, class_name, options, md, **kwargs): """Format source as div.""" classes = kwargs['classes'] id_value = kwargs['id_value'] attrs = kwargs['attrs'] if class_name: classes.insert(0, class_name) id_value = f' id="{id_value}"' if id_value else '' classes = ' class="{}"'.format(' '.join(classes)) if classes else '' attrs = ' ' + ' '.join(f'{k}="{v}"' for k, v in attrs.items()) if attrs else '' return '<div{}{}{}>{}</div>'.format(id_value, classes, attrs, _escape(source)) def highlight_validator(language, inputs, options, attrs, md): """Highlight validator.""" use_pygments = md.preprocessors['fenced_code_block'].use_pygments for k, v in inputs.items(): matched = False if use_pygments: if k.startswith('data-'): attrs[k] = v continue for opt, validator in (('hl_lines', RE_HL_LINES), ('linenums', RE_LINENUMS), ('title', None)): if k == opt: if v is not True and (validator is None or validator.match(v) is not None): options[k] = v matched = True break if not matched: attrs[k] = v return True def default_validator(language, inputs, options, attrs, md): """Default validator.""" for k, v in inputs.items(): attrs[k] = v return True def _validator(language, inputs, options, attrs, md, validator=None): """Validator wrapper.""" md.preprocessors['fenced_code_block'].get_hl_settings() return validator(language, inputs, options, attrs, md) def _formatter(src='', language='', options=None, md=None, class_name="", _fmt=None, **kwargs): """Formatter wrapper.""" return _fmt(src, language, class_name, options, md, **kwargs) def _test(language, test_language=None): """Test language.""" return test_language is None or test_language == "*" or language == test_language class SuperFencesCodeExtension(Extension): """SuperFences code block extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.superfences = [] self.config = { 'disable_indented_code_blocks': [False, "Disable indented code blocks - Default: False"], 'custom_fences': [[], 'Specify custom fences. Default: See documentation.'], 'css_class': [ '', "Set class name for wrapper element. The default of CodeHilite or Highlight will be used" "if nothing is set. - " "Default: ''" ], 'preserve_tabs': [False, "Preserve tabs in fences - Default: False"] } super().__init__(*args, **kwargs) def extend_super_fences(self, name, formatter, validator): """Extend SuperFences with the given name, language, and formatter.""" obj = { "name": name, "test": functools.partial(_test, test_language=name), "formatter": formatter, "validator": validator } if name == '*': self.superfences[0] = obj else: self.superfences.append(obj) def extendMarkdown(self, md): """Add fenced block preprocessor to the Markdown instance.""" # Not super yet, so let's make it super md.registerExtension(self) config = self.getConfigs() # Default fenced blocks self.superfences.insert( 0, { "name": "superfences", "test": _test, "formatter": None, "validator": functools.partial(_validator, validator=highlight_validator) } ) # Custom Fences custom_fences = config.get('custom_fences', []) for custom in custom_fences: name = custom.get('name') class_name = custom.get('class') fence_format = custom.get('format', fence_code_format) validator = custom.get('validator', default_validator) if name is not None and class_name is not None: self.extend_super_fences( name, functools.partial(_formatter, class_name=class_name, _fmt=fence_format), functools.partial(_validator, validator=validator) ) self.md = md self.patch_fenced_rule() self.stash = CodeStash() def patch_fenced_rule(self): """ Patch Python Markdown with our own fenced block extension. We don't attempt to protect against a user loading the `fenced_code` extension with this. Most likely they will have issues, but they shouldn't have loaded them together in the first place :). """ config = self.getConfigs() fenced = SuperFencesBlockPreprocessor(self.md) fenced.config = config fenced.extension = self if self.superfences[0]['name'] == "superfences": self.superfences[0]["formatter"] = fenced.highlight self.md.preprocessors.register(fenced, "fenced_code_block", 25) indented_code = SuperFencesCodeBlockProcessor(self.md.parser) indented_code.config = config indented_code.extension = self self.md.parser.blockprocessors.register(indented_code, "code", 80) if config["preserve_tabs"]: # Need to squeeze in right after critic. raw_fenced = SuperFencesRawBlockPreprocessor(self.md) raw_fenced.config = config raw_fenced.extension = self self.md.preprocessors.register(raw_fenced, "fenced_raw_block", 31.05) self.md.registerExtensions(["pymdownx._bypassnorm"], {}) # Add the highlight extension, but do so in a disabled state so we can just retrieve default configurations self.md.registerExtensions(["pymdownx.highlight"], {"pymdownx.highlight": {"_enabled": False}}) def reset(self): """Clear the stash.""" self.stash.clear_stash() class SuperFencesBlockPreprocessor(Preprocessor): """ Preprocessor to find fenced code blocks. Because this is done as a preprocessor, it might be too greedy. We will stash the blocks code and restore if we mistakenly processed text from an indented code block. """ CODE_WRAP = '<pre%s><code%s>%s</code></pre>' def __init__(self, md): """Initialize.""" super().__init__(md) self.tab_len = self.md.tab_length self.checked_hl_settings = False self.codehilite_conf = {} def normalize_ws(self, text): """Normalize whitespace.""" return text.expandtabs(self.tab_len) def rebuild_block(self, lines): """Dedent the fenced block lines.""" return '\n'.join([line[self.ws_virtual_len:] for line in lines]) def get_hl_settings(self): """Check for Highlight extension to get its configurations.""" if not self.checked_hl_settings: self.checked_hl_settings = True config = None self.highlighter = None for ext in self.md.registeredExtensions: self.highlight_ext = ext try: config = ext.get_pymdownx_highlight_settings() self.highlighter = ext.get_pymdownx_highlighter() break except AttributeError: pass self.attr_list = 'attr_list' in self.md.treeprocessors css_class = self.config['css_class'] self.css_class = css_class if css_class else config['css_class'] self.extend_pygments_lang = config.get('extend_pygments_lang', None) self.guess_lang = config['guess_lang'] self.pygments_style = config['pygments_style'] self.use_pygments = config['use_pygments'] self.noclasses = config['noclasses'] self.linenums = config['linenums'] self.linenums_style = config.get('linenums_style', 'table') self.linenums_class = config.get('linenums_class', 'linenums') self.linenums_special = config.get('linenums_special', -1) self.language_prefix = config.get('language_prefix', 'language-') self.code_attr_on_pre = config.get('code_attr_on_pre', False) self.auto_title = config.get('auto_title', False) self.auto_title_map = config.get('auto_title_map', {}) self.line_spans = config.get('line_spans', '') self.line_anchors = config.get('line_anchors', '') self.anchor_linenums = config.get('anchor_linenums', False) self.pygments_lang_class = config.get('pygments_lang_class', False) self.stripnl = config.get('stripnl', True) self.default_lang = config.get('default_lang', True) def clear(self): """Reset the class variables.""" self.ws = None self.ws_len = 0 self.ws_virtual_len = 0 self.fence = None self.lang = None self.quote_level = 0 self.code = [] self.empty_lines = 0 self.fence_end = None self.options = {} self.classes = [] self.id = '' self.attrs = {} self.formatter = None def eval_fence(self, ws, content, start, end): """Evaluate a normal fence.""" if (ws + content).strip() == '': # Empty line is okay self.empty_lines += 1 self.code.append(ws + content) elif len(ws) != self.ws_virtual_len and content != '': # Not indented enough self.clear() elif self.fence_end.match(content) is not None and not content.startswith((' ', '\t')): # End of fence try: self.process_nested_block(ws, content, start, end) except SuperFencesException: raise except Exception: self.clear() else: # Content line self.empty_lines = 0 self.code.append(ws + content) def eval_quoted(self, ws, content, quote_level, start, end): """Evaluate fence inside a blockquote.""" if quote_level > self.quote_level: # Quote level exceeds the starting quote level self.clear() elif quote_level <= self.quote_level: if content == '': # Empty line is okay self.code.append(ws + content) self.empty_lines += 1 elif len(ws) < self.ws_len: # Not indented enough self.clear() elif self.empty_lines and quote_level < self.quote_level: # Quote levels don't match and we are signified # the end of the block with an empty line self.clear() elif self.fence_end.match(content) is not None: # End of fence try: self.process_nested_block(ws, content, start, end) except SuperFencesException: raise except Exception: self.clear() else: # Content line self.empty_lines = 0 self.code.append(ws + content) def process_nested_block(self, ws, content, start, end): """Process the contents of the nested block.""" self.last = ws + self.normalize_ws(content) code = None if self.formatter is not None: self.line_count = end - start - 2 code = self.formatter( src=self.rebuild_block(self.code), language=self.lang, md=self.md, options=self.options, classes=self.classes, id_value=self.id, attrs=self.attrs if self.attr_list else {} ) if code is not None: self._store(self.normalize_ws('\n'.join(self.code)) + '\n', code, start, end) self.clear() def normalize_hl_line(self, number): """ Normalize highlight line number. Clamp outrages numbers. Numbers out of range will be only one increment out range. This prevents people from create massive buffers of line numbers that exceed real number of code lines. """ number = int(number) if number < 1: number = 0 elif number > self.line_count: number = self.line_count + 1 return number def parse_hl_lines(self, hl_lines): """Parse the lines to highlight.""" lines = [] if hl_lines: for entry in hl_lines.split(): line_range = [self.normalize_hl_line(e) for e in entry.split('-')] if len(line_range) > 1: if line_range[0] <= line_range[1]: lines.extend(list(range(line_range[0], line_range[1] + 1))) elif 1 <= line_range[0] <= self.line_count: lines.extend(line_range) return lines def parse_line_start(self, linestart): """Parse line start.""" return int(linestart) if linestart else -1 def parse_line_step(self, linestep): """Parse line start.""" step = int(linestep) if linestep else -1 return step if step > 1 else -1 def parse_line_special(self, linespecial): """Parse line start.""" return int(linespecial) if linespecial else -1 def parse_fence_line(self, line): """Parse fence line.""" ws_len = 0 ws_virtual_len = 0 ws = [] index = 0 for c in line: if ws_virtual_len >= self.ws_virtual_len: break if c not in PREFIX_CHARS: break ws_len += 1 if c == '\t': tab_size = self.tab_len - (index % self.tab_len) ws_virtual_len += tab_size ws.append(' ' * tab_size) else: tab_size = 1 ws_virtual_len += 1 ws.append(c) index += tab_size return ''.join(ws), line[ws_len:] def parse_whitespace(self, line): """Parse the whitespace (blockquote syntax is counted as well).""" self.ws_len = 0 self.ws_virtual_len = 0 ws = [] for c in line: if c not in PREFIX_CHARS: break self.ws_len += 1 ws.append(c) ws = self.normalize_ws(''.join(ws)) self.ws_virtual_len = len(ws) return ws def parse_options(self, m): """Get options.""" okay = False if m.group('lang'): self.lang = m.group('lang') string = m.group('options') self.options = {} self.attrs = {} self.formatter = None values = {} if string: for m in RE_OPTIONS.finditer(string): key = m.group('key') value = m.group('value') if value is None: value = key values[key] = value # Run per language validator for entry in reversed(self.extension.superfences): if entry["test"](self.lang): options = {} attrs = {} validator = entry.get("validator", functools.partial(_validator, validator=default_validator)) try: okay = validator(self.lang, values, options, attrs, self.md) except SuperFencesException: raise except Exception: pass if attrs: okay = False if okay: self.formatter = entry.get("formatter") self.options = options break return okay def handle_attrs(self, m): """Handle attribute list.""" okay = False attributes = get_attrs(m.group('attrs').replace('\t', ' ' * self.tab_len)) self.options = {} self.attrs = {} self.formatter = None values = {} for k, v in attributes: if k == 'id': self.id = v elif k == '.': self.classes.append(v) else: values[k] = v self.lang = self.classes.pop(0) if self.classes else '' # Run per language validator for entry in reversed(self.extension.superfences): if entry["test"](self.lang): options = {} attrs = {} validator = entry.get("validator", functools.partial(_validator, validator=default_validator)) try: okay = validator(self.lang, values, options, attrs, self.md) except SuperFencesException: raise except Exception: pass if okay: self.formatter = entry.get("formatter") self.options = options if self.attr_list: self.attrs = attrs break return okay def search_nested(self, lines): """Search for nested fenced blocks.""" count = 0 for line in lines: # Strip carriage returns if the lines end with them. # This is necessary since we are handling preserved tabs # Before whitespace normalization. line = line.rstrip('\r') if self.fence is None: ws = self.parse_whitespace(line) # Found the start of a fenced block. m = RE_NESTED_FENCE_START.match(line, self.ws_len) if m is not None: # Parse options if m.group('attrs'): okay = self.handle_attrs(m) else: okay = self.parse_options(m) if okay: # Valid fence options, handle fence start = count self.first = ws + self.normalize_ws(m.group(0)) self.ws = ws self.quote_level = self.ws.count(">") self.empty_lines = 0 self.fence = m.group('fence') self.fence_end = re.compile(NESTED_FENCE_END % self.fence) else: # Option parsing failed, abandon fence self.clear() else: # Evaluate lines # - Determine if it is the ending line or content line # - If is a content line, make sure it is all indented # with the opening and closing lines (lines with just # whitespace will be stripped so those don't matter). # - When content lines are inside blockquotes, make sure # the nested block quote levels make sense according to # blockquote rules. ws, content = self.parse_fence_line(line) end = count + 1 quote_level = ws.count(">") if self.quote_level: # Handle blockquotes self.eval_quoted(ws, content, quote_level, start, end) elif quote_level == 0: # Handle all other cases self.eval_fence(ws, content, start, end) else: # Looks like we got a blockquote line # when not in a blockquote. self.clear() count += 1 return self.reassemble(lines) def reassemble(self, lines): """Reassemble text.""" # Now that we are done iterating the lines, # let's replace the original content with the # fenced blocks. while len(self.stack): fenced, start, end = self.stack.pop() lines = lines[:start] + [fenced] + lines[end:] return lines def highlight(self, src="", language="", options=None, md=None, **kwargs): """ Syntax highlight the code block. If configuration is not empty, then the CodeHilite extension is enabled, so we call into it to highlight the code. """ classes = kwargs['classes'] id_value = kwargs['id_value'] attrs = kwargs['attrs'] if classes is None: # pragma: no cover classes = [] # Default format options linestep = None linestart = None linespecial = None hl_lines = None title = None if self.use_pygments: if 'hl_lines' in options: m = RE_HL_LINES.match(options['hl_lines']) hl_lines = m.group('hl_lines') del options['hl_lines'] if 'linenums' in options: m = RE_LINENUMS.match(options['linenums']) linestart = m.group('linestart') linestep = m.group('linestep') linespecial = m.group('linespecial') del options['linenums'] if 'title' in options: title = options['title'] del options['title'] linestep = self.parse_line_step(linestep) linestart = self.parse_line_start(linestart) linespecial = self.parse_line_special(linespecial) hl_lines = self.parse_hl_lines(hl_lines) self.highlight_ext.pygments_code_block += 1 el = self.highlighter( guess_lang=self.guess_lang, pygments_style=self.pygments_style, use_pygments=self.use_pygments, noclasses=self.noclasses, linenums=self.linenums, linenums_style=self.linenums_style, linenums_special=self.linenums_special, linenums_class=self.linenums_class, extend_pygments_lang=self.extend_pygments_lang, language_prefix=self.language_prefix, code_attr_on_pre=self.code_attr_on_pre, auto_title=self.auto_title, auto_title_map=self.auto_title_map, line_spans=self.line_spans, line_anchors=self.line_anchors, anchor_linenums=self.anchor_linenums, pygments_lang_class=self.pygments_lang_class, stripnl=self.stripnl, default_lang=self.default_lang ).highlight( src, language, self.css_class, hl_lines=hl_lines, linestart=linestart, linestep=linestep, linespecial=linespecial, classes=classes, id_value=id_value, attrs=attrs, title=title, code_block_count=self.highlight_ext.pygments_code_block ) return el def _store(self, source, code, start, end): """ Store the fenced blocks in the stack to be replaced when done iterating. Store the original text in case we need to restore if we are too greedy. """ # Save the fenced blocks to add once we are done iterating the lines placeholder = self.md.htmlStash.store(code) self.stack.append(('{}{}'.format(self.ws, placeholder), start, end)) if not self.disabled_indented: # If an indented block consumes this placeholder, # we can restore the original source self.extension.stash.store( placeholder[1:-1], "{}\n{}{}".format(self.first, self.normalize_ws(source), self.last), self.ws_virtual_len ) def reindent(self, text, pos, level): """Reindent the code to where it is supposed to be.""" indented = [] for line in text.split('\n'): index = pos - level indented.append(line[index:]) return indented def restore_raw_text(self, lines): """Revert a prematurely converted fenced block.""" new_lines = [] for line in lines: m = FENCED_BLOCK_RE.match(line) if m: key = m.group(2) indent_level = len(m.group(1)) original = None original, pos = self.extension.stash.get(key, (None, None)) if original is not None: code = self.reindent(original, pos, indent_level) new_lines.extend(code) self.extension.stash.remove(key) if original is None: # pragma: no cover # Too much work to test this. This is just a fall back in case # we find a placeholder, and we went to revert it and it wasn't in our stash. # Most likely this would be caused by someone else. We just want to put it # back in the block if we can't revert it. Maybe we can do a more directed # unit test in the future. new_lines.append(line) else: new_lines.append(line) return new_lines def run(self, lines): """Search for fenced blocks.""" self.get_hl_settings() self.clear() self.stack = [] self.disabled_indented = self.config.get("disable_indented_code_blocks", False) self.preserve_tabs = self.config.get("preserve_tabs", False) if self.preserve_tabs: lines = self.restore_raw_text(lines) return self.search_nested(lines) class SuperFencesRawBlockPreprocessor(SuperFencesBlockPreprocessor): """Special class for preserving tabs before normalizing whitespace.""" def process_nested_block(self, ws, content, start, end): """Process the contents of the nested block.""" self.last = ws + self.normalize_ws(content) code = '\n'.join(self.code) self._store(code + '\n', code, start, end) self.clear() def _store(self, source, code, start, end): """ Store the fenced blocks in the stack to be replaced when done iterating. Store the original text in case we need to restore if we are too greedy. """ # Just get a placeholder, we won't ever actually retrieve this source placeholder = self.md.htmlStash.store('') self.stack.append(('{}{}'.format(self.ws, placeholder), start, end)) # Here is the source we'll actually retrieve. self.extension.stash.store( placeholder[1:-1], "{}\n{}{}".format(self.first, source, self.last), self.ws_virtual_len ) def reassemble(self, lines): """Reassemble text.""" # Now that we are done iterating the lines, # let's replace the original content with the # fenced blocks. while len(self.stack): fenced, start, end = self.stack.pop() lines = lines[:start] + [fenced.replace(md_util.STX, SOH, 1)[:-1] + EOT] + lines[end:] return lines def run(self, lines): """Search for fenced blocks.""" self.get_hl_settings() self.clear() self.stack = [] self.disabled_indented = self.config.get("disable_indented_code_blocks", False) return self.search_nested(lines) class SuperFencesCodeBlockProcessor(CodeBlockProcessor): """Process indented code blocks to see if we accidentally processed its content as a fenced block.""" def test(self, parent, block): """Test method that is one day to be deprecated.""" return True def reindent(self, text, pos, level): """Reindent the code to where it is supposed to be.""" indented = [] for line in text.split('\n'): index = pos - level indented.append(line[index:]) return '\n'.join(indented) def revert_greedy_fences(self, block): """Revert a prematurely converted fenced block.""" new_block = [] for line in block.split('\n'): m = FENCED_BLOCK_RE.match(line) if m: key = m.group(2) indent_level = len(m.group(1)) original = None original, pos = self.extension.stash.get(key, (None, None)) if original is not None: code = self.reindent(original, pos, indent_level) new_block.append(code) self.extension.stash.remove(key) if original is None: # pragma: no cover # Too much work to test this. This is just a fall back in case # we find a placeholder, and we went to revert it and it wasn't in our stash. # Most likely this would be caused by someone else. We just want to put it # back in the block if we can't revert it. Maybe we can do a more directed # unit test in the future. new_block.append(line) else: new_block.append(line) return '\n'.join(new_block) def run(self, parent, blocks): """Look for and parse code block.""" handled = False if not self.config.get("disable_indented_code_blocks", False): handled = CodeBlockProcessor.test(self, parent, blocks[0]) if handled: if self.config.get("nested", True): blocks[0] = self.revert_greedy_fences(blocks[0]) handled = CodeBlockProcessor.run(self, parent, blocks) is not False return handled def makeExtension(*args, **kwargs): """Return extension.""" return SuperFencesCodeExtension(*args, **kwargs) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/tabbed.py����������������������������������������������������������0000664�0000000�0000000�00000037421�14651242716�0021034�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Tabbed. pymdownx.tabbed MIT license. Copyright (c) 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.blockprocessors import BlockProcessor from markdown.treeprocessors import Treeprocessor from markdown.extensions import toc import xml.etree.ElementTree as etree import re import html HEADERS = {'h1', 'h2', 'h3', 'h4', 'h5', 'h6'} class TabbedProcessor(BlockProcessor): """Tabbed block processor.""" START = re.compile( r'(?:^|\n)={3}(\+|\+!|!\+|!)? +"(.*?)" *(?:\n|$)' ) COMPRESS_SPACES = re.compile(r' {2,}') def __init__(self, parser, config): """Initialize.""" super().__init__(parser) self.tab_group_count = 0 self.current_sibling = None self.content_indention = 0 self.alternate_style = config['alternate_style'] self.slugify = callable(config['slugify']) def detab_by_length(self, text, length): """Remove a tab from the front of each line of the given text.""" newtext = [] lines = text.split('\n') for line in lines: if line.startswith(' ' * length): newtext.append(line[length:]) elif not line.strip(): newtext.append('') # pragma: no cover else: break return '\n'.join(newtext), '\n'.join(lines[len(newtext):]) def parse_content(self, parent, block): """ Get sibling tab. Retrieve the appropriate sibling element. This can get tricky when dealing with lists. """ old_block = block non_tabs = '' tabbed_set = 'tabbed-set' if not self.alternate_style else 'tabbed-set tabbed-alternate' # We already acquired the block via test if self.current_sibling is not None: sibling = self.current_sibling block, non_tabs = self.detab_by_length(block, self.content_indent) self.current_sibling = None self.content_indent = 0 return sibling, block, non_tabs sibling = self.lastChild(parent) if sibling is None or sibling.tag.lower() != 'div' or sibling.attrib.get('class', '') != tabbed_set: sibling = None else: # If the last child is a list and the content is indented sufficient # to be under it, then the content's is sibling is in the list. if self.alternate_style: last_child = self.lastChild(self.lastChild(sibling)) tabbed_content = 'tabbed-block' else: last_child = self.lastChild(sibling) tabbed_content = 'tabbed-content' child_class = last_child.attrib.get('class', '') if last_child is not None else '' indent = 0 while last_child is not None: if ( sibling is not None and block.startswith(' ' * self.tab_length * 2) and last_child is not None and ( last_child.tag in ('ul', 'ol', 'dl') or ( last_child.tag == 'div' and child_class == tabbed_content ) ) ): # Handle nested tabbed content if last_child.tag == 'div' and child_class == tabbed_content: temp_child = self.lastChild(last_child) if temp_child is None or temp_child.tag not in ('ul', 'ol', 'dl'): break last_child = temp_child child_class = last_child.attrib.get('class', '') if last_child is not None else '' # The expectation is that we'll find an `<li>`. # We should get it's last child as well. sibling = self.lastChild(last_child) last_child = self.lastChild(sibling) if sibling is not None else None child_class = last_child.attrib.get('class', '') if last_child is not None else '' # Context has been lost at this point, so we must adjust the # text's indentation level so it will be evaluated correctly # under the list. block = block[self.tab_length:] indent += self.tab_length else: last_child = None if not block.startswith(' ' * self.tab_length): sibling = None if sibling is not None: indent += self.tab_length block, non_tabs = self.detab_by_length(old_block, indent) self.current_sibling = sibling self.content_indent = indent return sibling, block, non_tabs def test(self, parent, block): """Test block.""" if self.START.search(block): return True else: return self.parse_content(parent, block)[0] is not None def run(self, parent, blocks): """Convert to tabbed block.""" block = blocks.pop(0) m = self.START.search(block) tabbed_set = 'tabbed-set' if not self.alternate_style else 'tabbed-set tabbed-alternate' if m: # removes the first line if m.start() > 0: self.parser.parseBlocks(parent, [block[:m.start()]]) block = block[m.end():] sibling = self.lastChild(parent) block, non_tabs = self.detab(block) else: sibling, block, non_tabs = self.parse_content(parent, block) if m: special = m.group(1) if m.group(1) else '' title = m.group(2) if m.group(2) else m.group(3) index = 0 labels = None content = None if ( sibling is not None and sibling.tag.lower() == 'div' and sibling.attrib.get('class', '') == tabbed_set and '!' not in special ): first = False tab_group = sibling if self.alternate_style: index = [index for index, _ in enumerate(tab_group.findall('input'), 1)][-1] for d in tab_group.findall('div'): if d.attrib['class'] == 'tabbed-labels': labels = d elif d.attrib['class'] == 'tabbed-content': content = d if labels is not None and content is not None: break else: first = True self.tab_group_count += 1 tab_group = etree.SubElement( parent, 'div', {'class': tabbed_set, 'data-tabs': '%d:0' % self.tab_group_count} ) if self.alternate_style: labels = etree.SubElement( tab_group, 'div', {'class': 'tabbed-labels'} ) content = etree.SubElement( tab_group, 'div', {'class': 'tabbed-content'} ) data = tab_group.attrib['data-tabs'].split(':') tab_set = int(data[0]) tab_count = int(data[1]) + 1 attributes = { "name": "__tabbed_%d" % tab_set, "type": "radio" } if not self.slugify: attributes['id'] = "__tabbed_%d_%d" % (tab_set, tab_count) if first or '+' in special: attributes['checked'] = 'checked' # Remove any previously assigned "checked states" to siblings for i in tab_group.findall('input'): if i.attrib.get('name', '') == f'__tabbed_{tab_set}': if 'checked' in i.attrib: del i.attrib['checked'] attributes2 = {"for": "__tabbed_%d_%d" % (tab_set, tab_count)} if not self.slugify else {} if self.alternate_style: input_el = etree.Element( 'input', attributes ) tab_group.insert(index, input_el) lab = etree.SubElement( labels, "label", attributes2 ) lab.text = title div = etree.SubElement( content, "div", {'class': 'tabbed-block'} ) else: etree.SubElement( tab_group, 'input', attributes ) lab = etree.SubElement( tab_group, "label", attributes2 ) lab.text = title div = etree.SubElement( tab_group, "div", { "class": "tabbed-content" } ) tab_group.attrib['data-tabs'] = '%d:%d' % (tab_set, tab_count) else: if sibling.tag in ('li', 'dd') and sibling.text: # Sibling is a list item, but we need to wrap it's content should be wrapped in <p> text = sibling.text sibling.text = '' p = etree.SubElement(sibling, 'p') p.text = text div = sibling elif sibling.tag == 'div' and sibling.attrib.get('class', '') == tabbed_set: # Get `tabbed-content` under `tabbed-set` if self.alternate_style: div = self.lastChild(self.lastChild(sibling)) else: div = self.lastChild(sibling) else: # Pass anything else as the parent div = sibling self.parser.parseChunk(div, block) if non_tabs: # Insert the tabbed content back into blocks blocks.insert(0, non_tabs) class TabbedTreeprocessor(Treeprocessor): """Tab tree processor.""" def __init__(self, md, config): """Initialize.""" super().__init__(md) self.slugify = config["slugify"] self.alternate = config["alternate_style"] self.sep = config["separator"] self.combine_header_slug = config["combine_header_slug"] def get_parent_header_slug(self, root, header_map, parent_map, el): """Attempt retrieval of parent header slug.""" parent = el last_parent = parent while parent is not root: last_parent = parent parent = parent_map[parent] if parent in header_map: headers = header_map[parent] header = None for i in list(parent): if i is el and header is None: break if i is last_parent: return header.attrib.get("id", '') if i in headers: header = i return '' def run(self, doc): """Update tab IDs.""" # Get a list of id attributes used_ids = set() parent_map = {} header_map = {} if self.combine_header_slug: parent_map = {c: p for p in doc.iter() for c in p} for el in doc.iter(): if "id" in el.attrib: if self.combine_header_slug and el.tag in HEADERS: parent = parent_map[el] if parent in header_map: header_map[parent].append(el) else: header_map[parent] = [el] used_ids.add(el.attrib["id"]) for el in doc.iter(): if isinstance(el.tag, str) and el.tag.lower() == 'div': classes = el.attrib.get('class', '').split() if 'tabbed-set' in classes and (not self.alternate or 'tabbed-alternate' in classes): inputs = [] labels = [] if self.alternate: for i in list(el): if i.tag == 'input': inputs.append(i) if i.tag == 'div' and i.attrib.get('class', '') == 'tabbed-labels': labels = [j for j in list(i) if j.tag == 'label'] else: for i in list(el): if i.tag == 'input': inputs.append(i) if i.tag == 'label': labels.append(i) # Generate slugged IDs for inpt, label in zip(inputs, labels): innerhtml = toc.render_inner_html(toc.remove_fnrefs(label), self.md) innertext = html.unescape(toc.strip_tags(innerhtml)) if self.combine_header_slug: parent_slug = self.get_parent_header_slug(doc, header_map, parent_map, el) else: parent_slug = '' slug = self.slugify(innertext, self.sep) if parent_slug: slug = parent_slug + self.sep + slug slug = toc.unique(slug, used_ids) inpt.attrib["id"] = slug label.attrib["for"] = slug class TabbedExtension(Extension): """Add Tabbed extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'alternate_style': [False, "Use alternate style - Default: False"], 'slugify': [0, "Slugify function used to create tab specific IDs - Default: None"], 'combine_header_slug': [False, "Combine the tab slug with the slug of the parent header - Default: False"], 'separator': ['-', "Slug separator - Default: '-'"] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add Tabbed to Markdown instance.""" md.registerExtension(self) config = self.getConfigs() self.tab_processor = TabbedProcessor(md.parser, config) md.parser.blockprocessors.register(self.tab_processor, "tabbed", 105) if config['slugify']: slugs = TabbedTreeprocessor(md, config) md.treeprocessors.register(slugs, 'tab_slugs', 4) def reset(self): """Reset.""" self.tab_processor.tab_group_count = 0 def makeExtension(*args, **kwargs): """Return extension.""" return TabbedExtension(*args, **kwargs) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/tasklist.py��������������������������������������������������������0000664�0000000�0000000�00000012357�14651242716�0021452�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Tasklist. pymdownx.tasklist An extension for Python Markdown. Github style tasklists MIT license. Copyright (c) 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from markdown import Extension from markdown.treeprocessors import Treeprocessor import re RE_CHECKBOX = re.compile(r"^(?P<checkbox> *\[(?P<state>(?:x|X| ){1})\] +)(?P<line>.*)", re.DOTALL) def get_checkbox(state, custom_checkbox=False, clickable_checkbox=False): """Get checkbox tag.""" if custom_checkbox: return ( '<label class="task-list-control">' + '<input type="checkbox"{}{}/>'.format( ' disabled' if not clickable_checkbox else '', ' checked' if state.lower() == 'x' else '') + '<span class="task-list-indicator"></span></label> ' ) return '<input type="checkbox"{}{}/> '.format( ' disabled' if not clickable_checkbox else '', ' checked' if state.lower() == 'x' else '') class TasklistTreeprocessor(Treeprocessor): """Tasklist tree processor that finds lists with checkboxes.""" def __init__(self, md): """Initialize.""" super().__init__(md) def inline(self, li): """Search for checkbox directly in `li` tag.""" found = False m = RE_CHECKBOX.match(li.text) if m is not None: li.text = self.md.htmlStash.store( get_checkbox(m.group('state'), self.custom_checkbox, self.clickable_checkbox) ) + m.group('line') found = True return found def sub_paragraph(self, li): """Search for checkbox in sub-paragraph.""" found = False if len(li): first = next(iter(li)) if first.tag == "p" and first.text is not None: m = RE_CHECKBOX.match(first.text) if m is not None: first.text = self.md.htmlStash.store( get_checkbox(m.group('state'), self.custom_checkbox, self.clickable_checkbox) ) + m.group('line') found = True return found def run(self, root): """Find list items that start with [ ] or [x] or [X].""" self.custom_checkbox = bool(self.config["custom_checkbox"]) self.clickable_checkbox = bool(self.config["clickable_checkbox"]) parent_map = {c: p for p in root.iter() for c in p} task_items = [] lilinks = root.iter('li') for li in lilinks: if li.text is None or li.text == "": if not self.sub_paragraph(li): continue elif not self.inline(li): continue # Checkbox found c = li.attrib.get("class", "") classes = [] if c == "" else c.split() classes.append("task-list-item") li.attrib["class"] = ' '.join(classes) task_items.append(li) for li in task_items: parent = parent_map[li] c = parent.attrib.get("class", "") classes = [] if c == "" else c.split() if "task-list" not in classes: classes.append("task-list") parent.attrib["class"] = ' '.join(classes) return root class TasklistExtension(Extension): """Tasklist extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'custom_checkbox': [ False, "Add an empty label tag after the input tag to allow for custom styling - Default: False" ], 'clickable_checkbox': [ False, "Allow user to check/uncheck the checkbox - Default: False" ], 'delete': [True, "Enable delete - Default: True"], 'subscript': [True, "Enable subscript - Default: True"] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Add checklist tree processor to Markdown instance.""" tasklist = TasklistTreeprocessor(md) tasklist.config = self.getConfigs() md.treeprocessors.register(tasklist, "task-list", 25) md.registerExtension(self) def makeExtension(*args, **kwargs): """Return extension.""" return TasklistExtension(*args, **kwargs) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/tilde.py�����������������������������������������������������������0000775�0000000�0000000�00000014471�14651242716�0020717�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Tilde. pymdownx.tilde Really simple plugin to add support for `<del>test</del>` tags as `~~test~~` and `<sub>test</sub>` tags as `~test~` MIT license. Copyright (c) 2014 - 2017 Isaac Muse <isaacmuse@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re from markdown import Extension from markdown.inlinepatterns import SimpleTextInlineProcessor from . import util SMART_CONTENT = r'(.+?~*?)' CONTENT = r'(~|[^\s]+?)' CONTENT2 = r'((?:[^~]|(?<!~{2})~)+?)' # Avoid starting a pattern with tilde tokens that are surrounded by white space. NOT_TILDE = r'((^|(?<=\s))(~+)(?=\s|$))' # `~~~del,sub~~~` DEL_SUB = r'(~{3})(?!\s)(~{1,2}|[^~\s]+?)(?<!\s)\1' # `~~~del,sub~del~~` DEL_SUB2 = r'(~{{3}})(?![\s~]){}(?<!\s)~{}(?<!\s)~{{2}}'.format(CONTENT, CONTENT2) # `~~~sub,del~~sub~` SUB_DEL = r'(~{{3}})(?![\s~]){}(?<!\s)~{{2}}{}(?<!\s)~'.format(CONTENT, CONTENT) # `~~del~sub,del~~~` DEL_SUB3 = r'(~{{2}})(?![\s~]){}~(?![\s~]){}(?<!\s)~{{3}}'.format(CONTENT2, CONTENT) # `~~del~~` DEL = r'(~{2})(?!\s)%s(?<!\s)\1' % CONTENT2 # `~sub~` SUB = r'(~)(?!\s)%s(?<!\s)\1' % CONTENT # Prioritize ~value~ when ~~value~~ is nested within SUB2 = r'(?<!~)(~)(?![~\s])([^\s]+?)(?<![~\s])(~)(?!~)' # Smart rules for when "smart tilde" is enabled # SMART: `~~~del,sub~~~` SMART_DEL_SUB = r'(~{3})(?![\s~])%s(?<!\s)\1' % CONTENT # `~~~del,sub~ del~~` SMART_DEL_SUB2 = \ r'(~{{3}})(?![\s~]){}(?<!\s)~(?:(?=_)|(?![\w~])){}(?<!\s)~{{2}}'.format( CONTENT, SMART_CONTENT ) # `~~~sub,del~~ sub~` SMART_SUB_DEL = \ r'(~{{3}})(?![\s~]){}(?<!\s)~{{2}}(?:(?=_)|(?![\w~])){}(?<!\s)~'.format( CONTENT, CONTENT ) # `~~del~~` SMART_DEL = r'(?:(?<=_)|(?<![\w~]))(~{2})(?![\s~])%s(?<!\s)\1(?:(?=_)|(?![\w~]))' % SMART_CONTENT class TildeProcessor(util.PatternSequenceProcessor): """Emphasis processor for handling delete and subscript matches.""" PATTERNS = [ util.PatSeqItem(re.compile(DEL_SUB, re.DOTALL | re.UNICODE), 'double', 'del,sub'), util.PatSeqItem(re.compile(SUB_DEL, re.DOTALL | re.UNICODE), 'double', 'sub,del'), util.PatSeqItem(re.compile(DEL_SUB2, re.DOTALL | re.UNICODE), 'double', 'del,sub'), util.PatSeqItem(re.compile(DEL_SUB3, re.DOTALL | re.UNICODE), 'double2', 'del,sub'), util.PatSeqItem(re.compile(DEL, re.DOTALL | re.UNICODE), 'single', 'del'), util.PatSeqItem(re.compile(SUB2, re.DOTALL | re.UNICODE), 'single', 'sub', True), util.PatSeqItem(re.compile(SUB, re.DOTALL | re.UNICODE), 'single', 'sub') ] class TildeSmartProcessor(util.PatternSequenceProcessor): """Smart delete and subscript processor.""" PATTERNS = [ util.PatSeqItem(re.compile(SMART_DEL_SUB, re.DOTALL | re.UNICODE), 'double', 'del,sub'), util.PatSeqItem(re.compile(SMART_SUB_DEL, re.DOTALL | re.UNICODE), 'double', 'sub,del'), util.PatSeqItem(re.compile(SMART_DEL_SUB2, re.DOTALL | re.UNICODE), 'double', 'del,sub'), util.PatSeqItem(re.compile(SMART_DEL, re.DOTALL | re.UNICODE), 'single', 'del'), util.PatSeqItem(re.compile(SUB2, re.DOTALL | re.UNICODE), 'single', 'sub', True), util.PatSeqItem(re.compile(SUB, re.DOTALL | re.UNICODE), 'single', 'sub') ] class TildeSubProcessor(util.PatternSequenceProcessor): """Just subscript processor.""" PATTERNS = [ util.PatSeqItem(re.compile(SUB, re.DOTALL | re.UNICODE), 'single', 'sub') ] class TildeDeleteProcessor(util.PatternSequenceProcessor): """Just delete processor.""" PATTERNS = [ util.PatSeqItem(re.compile(DEL, re.DOTALL | re.UNICODE), 'single', 'del') ] class TildeSmartDeleteProcessor(util.PatternSequenceProcessor): """Just smart delete processor.""" PATTERNS = [ util.PatSeqItem(re.compile(SMART_DEL, re.DOTALL | re.UNICODE), 'single', 'del') ] class DeleteSubExtension(Extension): """Add delete and/or subscript extension to Markdown class.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'smart_delete': [True, "Treat ~~connected~~words~~ intelligently - Default: True"], 'delete': [True, "Enable delete - Default: True"], 'subscript': [True, "Enable subscript - Default: True"] } super().__init__(*args, **kwargs) def extendMarkdown(self, md): """Insert `<del>test</del>` tags as `~~test~~` and `<sub>test</sub>` tags as `~test~`.""" config = self.getConfigs() delete = bool(config.get('delete', True)) subscript = bool(config.get('subscript', True)) smart = bool(config.get('smart_delete', True)) md.registerExtension(self) escape_chars = [] if delete or subscript: escape_chars.append('~') if subscript: escape_chars.append(' ') util.escape_chars(md, escape_chars) tilde = None md.inlinePatterns.register(SimpleTextInlineProcessor(NOT_TILDE), 'not_tilde', 70) if delete and subscript: tilde = TildeSmartProcessor(r'~') if smart else TildeProcessor(r'~') elif delete: tilde = TildeSmartDeleteProcessor(r'~') if smart else TildeDeleteProcessor(r'~') elif subscript: tilde = TildeSubProcessor(r'~') if tilde is not None: md.inlinePatterns.register(tilde, "sub_del", 65) def makeExtension(*args, **kwargs): """Return extension.""" return DeleteSubExtension(*args, **kwargs) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/twemoji_db.py������������������������������������������������������0000664�0000000�0000000�00002504626�14651242716�0021746�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Twemoji autogen. Names from emojione database. Do not edit by hand. """ version = "v15.0.3" index_version = "8.0.0" name = "twemoji" emoji = { ":100:": { "category": "symbols", "name": "hundred points", "unicode": "1f4af" }, ":1234:": { "category": "symbols", "name": "input numbers", "unicode": "1f522" }, ":8ball:": { "category": "activity", "name": "pool 8 ball", "unicode": "1f3b1" }, ":a:": { "category": "symbols", "name": "A button (blood type)", "unicode": "1f170" }, ":ab:": { "category": "symbols", "name": "AB button (blood type)", "unicode": "1f18e" }, ":abacus:": { "category": "objects", "name": "abacus", "unicode": "1f9ee" }, ":abc:": { "category": "symbols", "name": "input latin letters", "unicode": "1f524" }, ":abcd:": { "category": "symbols", "name": "input latin lowercase", "unicode": "1f521" }, ":accept:": { "category": "symbols", "name": "Japanese \u201cacceptable\u201d button", "unicode": "1f251" }, ":accordion:": { "category": "activity", "name": "accordion", "unicode": "1fa97" }, ":adhesive_bandage:": { "category": "objects", "name": "adhesive bandage", "unicode": "1fa79" }, ":adult:": { "category": "people", "name": "person", "unicode": "1f9d1" }, ":adult_tone1:": { "category": "people", "name": "person: light skin tone", "unicode": "1f9d1-1f3fb" }, ":adult_tone2:": { "category": "people", "name": "person: medium-light skin tone", "unicode": "1f9d1-1f3fc" }, ":adult_tone3:": { "category": "people", "name": "person: medium skin tone", "unicode": "1f9d1-1f3fd" }, ":adult_tone4:": { "category": "people", "name": "person: medium-dark skin tone", "unicode": "1f9d1-1f3fe" }, ":adult_tone5:": { "category": "people", "name": "person: dark skin tone", "unicode": "1f9d1-1f3ff" }, ":aerial_tramway:": { "category": "travel", "name": "aerial tramway", "unicode": "1f6a1" }, ":airplane:": { "category": "travel", "name": "airplane", "unicode": "2708" }, ":airplane_arriving:": { "category": "travel", "name": "airplane arrival", "unicode": "1f6ec" }, ":airplane_departure:": { "category": "travel", "name": "airplane departure", "unicode": "1f6eb" }, ":airplane_small:": { "category": "travel", "name": "small airplane", "unicode": "1f6e9" }, ":alarm_clock:": { "category": "objects", "name": "alarm clock", "unicode": "23f0" }, ":alembic:": { "category": "objects", "name": "alembic", "unicode": "2697" }, ":alien:": { "category": "people", "name": "alien", "unicode": "1f47d" }, ":ambulance:": { "category": "travel", "name": "ambulance", "unicode": "1f691" }, ":amphora:": { "category": "objects", "name": "amphora", "unicode": "1f3fa" }, ":anatomical_heart:": { "category": "people", "name": "anatomical heart", "unicode": "1fac0" }, ":anchor:": { "category": "travel", "name": "anchor", "unicode": "2693" }, ":angel:": { "category": "people", "name": "baby angel", "unicode": "1f47c" }, ":angel_tone1:": { "category": "people", "name": "baby angel: light skin tone", "unicode": "1f47c-1f3fb" }, ":angel_tone2:": { "category": "people", "name": "baby angel: medium-light skin tone", "unicode": "1f47c-1f3fc" }, ":angel_tone3:": { "category": "people", "name": "baby angel: medium skin tone", "unicode": "1f47c-1f3fd" }, ":angel_tone4:": { "category": "people", "name": "baby angel: medium-dark skin tone", "unicode": "1f47c-1f3fe" }, ":angel_tone5:": { "category": "people", "name": "baby angel: dark skin tone", "unicode": "1f47c-1f3ff" }, ":anger:": { "category": "symbols", "name": "anger symbol", "unicode": "1f4a2" }, ":anger_right:": { "category": "symbols", "name": "right anger bubble", "unicode": "1f5ef" }, ":angry:": { "category": "people", "name": "angry face", "unicode": "1f620" }, ":anguished:": { "category": "people", "name": "anguished face", "unicode": "1f627" }, ":ant:": { "category": "nature", "name": "ant", "unicode": "1f41c" }, ":apple:": { "category": "food", "name": "red apple", "unicode": "1f34e" }, ":aquarius:": { "category": "symbols", "name": "Aquarius", "unicode": "2652" }, ":aries:": { "category": "symbols", "name": "Aries", "unicode": "2648" }, ":arrow_backward:": { "category": "symbols", "name": "reverse button", "unicode": "25c0" }, ":arrow_double_down:": { "category": "symbols", "name": "fast down button", "unicode": "23ec" }, ":arrow_double_up:": { "category": "symbols", "name": "fast up button", "unicode": "23eb" }, ":arrow_down:": { "category": "symbols", "name": "down arrow", "unicode": "2b07" }, ":arrow_down_small:": { "category": "symbols", "name": "downwards button", "unicode": "1f53d" }, ":arrow_forward:": { "category": "symbols", "name": "play button", "unicode": "25b6" }, ":arrow_heading_down:": { "category": "symbols", "name": "right arrow curving down", "unicode": "2935" }, ":arrow_heading_up:": { "category": "symbols", "name": "right arrow curving up", "unicode": "2934" }, ":arrow_left:": { "category": "symbols", "name": "left arrow", "unicode": "2b05" }, ":arrow_lower_left:": { "category": "symbols", "name": "down-left arrow", "unicode": "2199" }, ":arrow_lower_right:": { "category": "symbols", "name": "down-right arrow", "unicode": "2198" }, ":arrow_right:": { "category": "symbols", "name": "right arrow", "unicode": "27a1" }, ":arrow_right_hook:": { "category": "symbols", "name": "left arrow curving right", "unicode": "21aa" }, ":arrow_up:": { "category": "symbols", "name": "up arrow", "unicode": "2b06" }, ":arrow_up_down:": { "category": "symbols", "name": "up-down arrow", "unicode": "2195" }, ":arrow_up_small:": { "category": "symbols", "name": "upwards button", "unicode": "1f53c" }, ":arrow_upper_left:": { "category": "symbols", "name": "up-left arrow", "unicode": "2196" }, ":arrow_upper_right:": { "category": "symbols", "name": "up-right arrow", "unicode": "2197" }, ":arrows_clockwise:": { "category": "symbols", "name": "clockwise vertical arrows", "unicode": "1f503" }, ":arrows_counterclockwise:": { "category": "symbols", "name": "counterclockwise arrows button", "unicode": "1f504" }, ":art:": { "category": "activity", "name": "artist palette", "unicode": "1f3a8" }, ":articulated_lorry:": { "category": "travel", "name": "articulated lorry", "unicode": "1f69b" }, ":artist:": { "category": "people", "name": "artist", "unicode": "1f9d1-200d-1f3a8" }, ":artist_tone1:": { "category": "people", "name": "artist: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f3a8" }, ":artist_tone2:": { "category": "people", "name": "artist: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f3a8" }, ":artist_tone3:": { "category": "people", "name": "artist: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f3a8" }, ":artist_tone4:": { "category": "people", "name": "artist: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f3a8" }, ":artist_tone5:": { "category": "people", "name": "artist: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f3a8" }, ":asterisk:": { "category": "symbols", "name": "keycap: *", "unicode": "2a-20e3", "unicode_alt": "002a-20e3" }, ":astonished:": { "category": "people", "name": "astonished face", "unicode": "1f632" }, ":astronaut:": { "category": "people", "name": "astronaut", "unicode": "1f9d1-200d-1f680" }, ":astronaut_tone1:": { "category": "people", "name": "astronaut: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f680" }, ":astronaut_tone2:": { "category": "people", "name": "astronaut: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f680" }, ":astronaut_tone3:": { "category": "people", "name": "astronaut: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f680" }, ":astronaut_tone4:": { "category": "people", "name": "astronaut: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f680" }, ":astronaut_tone5:": { "category": "people", "name": "astronaut: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f680" }, ":athletic_shoe:": { "category": "people", "name": "running shoe", "unicode": "1f45f" }, ":atm:": { "category": "symbols", "name": "ATM sign", "unicode": "1f3e7" }, ":atom:": { "category": "symbols", "name": "atom symbol", "unicode": "269b" }, ":auto_rickshaw:": { "category": "travel", "name": "auto rickshaw", "unicode": "1f6fa" }, ":avocado:": { "category": "food", "name": "avocado", "unicode": "1f951" }, ":axe:": { "category": "objects", "name": "axe", "unicode": "1fa93" }, ":b:": { "category": "symbols", "name": "B button (blood type)", "unicode": "1f171" }, ":baby:": { "category": "people", "name": "baby", "unicode": "1f476" }, ":baby_bottle:": { "category": "food", "name": "baby bottle", "unicode": "1f37c" }, ":baby_chick:": { "category": "nature", "name": "baby chick", "unicode": "1f424" }, ":baby_symbol:": { "category": "symbols", "name": "baby symbol", "unicode": "1f6bc" }, ":baby_tone1:": { "category": "people", "name": "baby: light skin tone", "unicode": "1f476-1f3fb" }, ":baby_tone2:": { "category": "people", "name": "baby: medium-light skin tone", "unicode": "1f476-1f3fc" }, ":baby_tone3:": { "category": "people", "name": "baby: medium skin tone", "unicode": "1f476-1f3fd" }, ":baby_tone4:": { "category": "people", "name": "baby: medium-dark skin tone", "unicode": "1f476-1f3fe" }, ":baby_tone5:": { "category": "people", "name": "baby: dark skin tone", "unicode": "1f476-1f3ff" }, ":back:": { "category": "symbols", "name": "BACK arrow", "unicode": "1f519" }, ":bacon:": { "category": "food", "name": "bacon", "unicode": "1f953" }, ":badger:": { "category": "nature", "name": "badger", "unicode": "1f9a1" }, ":badminton:": { "category": "activity", "name": "badminton", "unicode": "1f3f8" }, ":bagel:": { "category": "food", "name": "bagel", "unicode": "1f96f" }, ":baggage_claim:": { "category": "symbols", "name": "baggage claim", "unicode": "1f6c4" }, ":bald:": { "category": "people", "name": "bald", "unicode": "1f9b2" }, ":ballet_shoes:": { "category": "activity", "name": "ballet shoes", "unicode": "1fa70" }, ":balloon:": { "category": "objects", "name": "balloon", "unicode": "1f388" }, ":ballot_box:": { "category": "objects", "name": "ballot box with ballot", "unicode": "1f5f3" }, ":ballot_box_with_check:": { "category": "symbols", "name": "check box with check", "unicode": "2611" }, ":bamboo:": { "category": "nature", "name": "pine decoration", "unicode": "1f38d" }, ":banana:": { "category": "food", "name": "banana", "unicode": "1f34c" }, ":bangbang:": { "category": "symbols", "name": "double exclamation mark", "unicode": "203c" }, ":banjo:": { "category": "activity", "name": "banjo", "unicode": "1fa95" }, ":bank:": { "category": "travel", "name": "bank", "unicode": "1f3e6" }, ":bar_chart:": { "category": "objects", "name": "bar chart", "unicode": "1f4ca" }, ":barber:": { "category": "objects", "name": "barber pole", "unicode": "1f488" }, ":baseball:": { "category": "activity", "name": "baseball", "unicode": "26be" }, ":basket:": { "category": "objects", "name": "basket", "unicode": "1f9fa" }, ":basketball:": { "category": "activity", "name": "basketball", "unicode": "1f3c0" }, ":bat:": { "category": "nature", "name": "bat", "unicode": "1f987" }, ":bath:": { "category": "objects", "name": "person taking bath", "unicode": "1f6c0" }, ":bath_tone1:": { "category": "objects", "name": "person taking bath: light skin tone", "unicode": "1f6c0-1f3fb" }, ":bath_tone2:": { "category": "objects", "name": "person taking bath: medium-light skin tone", "unicode": "1f6c0-1f3fc" }, ":bath_tone3:": { "category": "objects", "name": "person taking bath: medium skin tone", "unicode": "1f6c0-1f3fd" }, ":bath_tone4:": { "category": "objects", "name": "person taking bath: medium-dark skin tone", "unicode": "1f6c0-1f3fe" }, ":bath_tone5:": { "category": "objects", "name": "person taking bath: dark skin tone", "unicode": "1f6c0-1f3ff" }, ":bathtub:": { "category": "objects", "name": "bathtub", "unicode": "1f6c1" }, ":battery:": { "category": "objects", "name": "battery", "unicode": "1f50b" }, ":beach:": { "category": "travel", "name": "beach with umbrella", "unicode": "1f3d6" }, ":beach_umbrella:": { "category": "travel", "name": "umbrella on ground", "unicode": "26f1" }, ":beans:": { "category": "food", "name": "beans", "unicode": "1fad8" }, ":bear:": { "category": "nature", "name": "bear", "unicode": "1f43b" }, ":bearded_person:": { "category": "people", "name": "person: beard", "unicode": "1f9d4" }, ":bearded_person_tone1:": { "category": "people", "name": "bearded person: light skin tone", "unicode": "1f9d4-1f3fb" }, ":bearded_person_tone2:": { "category": "people", "name": "bearded person: medium-light skin tone", "unicode": "1f9d4-1f3fc" }, ":bearded_person_tone3:": { "category": "people", "name": "bearded person: medium skin tone", "unicode": "1f9d4-1f3fd" }, ":bearded_person_tone4:": { "category": "people", "name": "bearded person: medium-dark skin tone", "unicode": "1f9d4-1f3fe" }, ":bearded_person_tone5:": { "category": "people", "name": "bearded person: dark skin tone", "unicode": "1f9d4-1f3ff" }, ":beaver:": { "category": "nature", "name": "beaver", "unicode": "1f9ab" }, ":bed:": { "category": "objects", "name": "bed", "unicode": "1f6cf" }, ":bee:": { "category": "nature", "name": "honeybee", "unicode": "1f41d" }, ":beer:": { "category": "food", "name": "beer mug", "unicode": "1f37a" }, ":beers:": { "category": "food", "name": "clinking beer mugs", "unicode": "1f37b" }, ":beetle:": { "category": "nature", "name": "beetle", "unicode": "1fab2" }, ":beginner:": { "category": "symbols", "name": "Japanese symbol for beginner", "unicode": "1f530" }, ":bell:": { "category": "symbols", "name": "bell", "unicode": "1f514" }, ":bell_pepper:": { "category": "food", "name": "bell pepper", "unicode": "1fad1" }, ":bellhop:": { "category": "objects", "name": "bellhop bell", "unicode": "1f6ce" }, ":bento:": { "category": "food", "name": "bento box", "unicode": "1f371" }, ":beverage_box:": { "category": "food", "name": "beverage box", "unicode": "1f9c3" }, ":bike:": { "category": "travel", "name": "bicycle", "unicode": "1f6b2" }, ":bikini:": { "category": "people", "name": "bikini", "unicode": "1f459" }, ":billed_cap:": { "category": "people", "name": "billed cap", "unicode": "1f9e2" }, ":biohazard:": { "category": "symbols", "name": "biohazard", "unicode": "2623" }, ":bird:": { "category": "nature", "name": "bird", "unicode": "1f426" }, ":birthday:": { "category": "food", "name": "birthday cake", "unicode": "1f382" }, ":bison:": { "category": "nature", "name": "bison", "unicode": "1f9ac" }, ":biting_lip:": { "category": "people", "name": "biting lip", "unicode": "1fae6" }, ":black_bird:": { "category": "nature", "name": "black bird", "unicode": "1f426-200d-2b1b" }, ":black_cat:": { "category": "nature", "name": "black cat", "unicode": "1f408-200d-2b1b" }, ":black_circle:": { "category": "symbols", "name": "black circle", "unicode": "26ab" }, ":black_heart:": { "category": "symbols", "name": "black heart", "unicode": "1f5a4" }, ":black_joker:": { "category": "symbols", "name": "joker", "unicode": "1f0cf" }, ":black_large_square:": { "category": "symbols", "name": "black large square", "unicode": "2b1b" }, ":black_medium_small_square:": { "category": "symbols", "name": "black medium-small square", "unicode": "25fe" }, ":black_medium_square:": { "category": "symbols", "name": "black medium square", "unicode": "25fc" }, ":black_nib:": { "category": "objects", "name": "black nib", "unicode": "2712" }, ":black_small_square:": { "category": "symbols", "name": "black small square", "unicode": "25aa" }, ":black_square_button:": { "category": "symbols", "name": "black square button", "unicode": "1f532" }, ":blond-haired_man:": { "category": "people", "name": "man: blond hair", "unicode": "1f471-200d-2642-fe0f" }, ":blond-haired_man_tone1:": { "category": "people", "name": "blond-haired man: light skin tone", "unicode": "1f471-1f3fb-200d-2642-fe0f" }, ":blond-haired_man_tone2:": { "category": "people", "name": "blond-haired man: medium-light skin tone", "unicode": "1f471-1f3fc-200d-2642-fe0f" }, ":blond-haired_man_tone3:": { "category": "people", "name": "blond-haired man: medium skin tone", "unicode": "1f471-1f3fd-200d-2642-fe0f" }, ":blond-haired_man_tone4:": { "category": "people", "name": "blond-haired man: medium-dark skin tone", "unicode": "1f471-1f3fe-200d-2642-fe0f" }, ":blond-haired_man_tone5:": { "category": "people", "name": "blond-haired man: dark skin tone", "unicode": "1f471-1f3ff-200d-2642-fe0f" }, ":blond-haired_woman:": { "category": "people", "name": "woman: blond hair", "unicode": "1f471-200d-2640-fe0f" }, ":blond-haired_woman_tone1:": { "category": "people", "name": "blond-haired woman: light skin tone", "unicode": "1f471-1f3fb-200d-2640-fe0f" }, ":blond-haired_woman_tone2:": { "category": "people", "name": "blond-haired woman: medium-light skin tone", "unicode": "1f471-1f3fc-200d-2640-fe0f" }, ":blond-haired_woman_tone3:": { "category": "people", "name": "blond-haired woman: medium skin tone", "unicode": "1f471-1f3fd-200d-2640-fe0f" }, ":blond-haired_woman_tone4:": { "category": "people", "name": "blond-haired woman: medium-dark skin tone", "unicode": "1f471-1f3fe-200d-2640-fe0f" }, ":blond-haired_woman_tone5:": { "category": "people", "name": "blond-haired woman: dark skin tone", "unicode": "1f471-1f3ff-200d-2640-fe0f" }, ":blond_haired_person:": { "category": "people", "name": "person: blond hair", "unicode": "1f471" }, ":blond_haired_person_tone1:": { "category": "people", "name": "blond-haired person: light skin tone", "unicode": "1f471-1f3fb" }, ":blond_haired_person_tone2:": { "category": "people", "name": "blond-haired person: medium-light skin tone", "unicode": "1f471-1f3fc" }, ":blond_haired_person_tone3:": { "category": "people", "name": "blond-haired person: medium skin tone", "unicode": "1f471-1f3fd" }, ":blond_haired_person_tone4:": { "category": "people", "name": "blond-haired person: medium-dark skin tone", "unicode": "1f471-1f3fe" }, ":blond_haired_person_tone5:": { "category": "people", "name": "blond-haired person: dark skin tone", "unicode": "1f471-1f3ff" }, ":blossom:": { "category": "nature", "name": "blossom", "unicode": "1f33c" }, ":blowfish:": { "category": "nature", "name": "blowfish", "unicode": "1f421" }, ":blue_book:": { "category": "objects", "name": "blue book", "unicode": "1f4d8" }, ":blue_car:": { "category": "travel", "name": "sport utility vehicle", "unicode": "1f699" }, ":blue_circle:": { "category": "symbols", "name": "blue circle", "unicode": "1f535" }, ":blue_heart:": { "category": "symbols", "name": "blue heart", "unicode": "1f499" }, ":blue_square:": { "category": "symbols", "name": "blue square", "unicode": "1f7e6" }, ":blueberries:": { "category": "food", "name": "blueberries", "unicode": "1fad0" }, ":blush:": { "category": "people", "name": "smiling face with smiling eyes", "unicode": "1f60a" }, ":boar:": { "category": "nature", "name": "boar", "unicode": "1f417" }, ":bomb:": { "category": "objects", "name": "bomb", "unicode": "1f4a3" }, ":bone:": { "category": "food", "name": "bone", "unicode": "1f9b4" }, ":book:": { "category": "objects", "name": "open book", "unicode": "1f4d6" }, ":bookmark:": { "category": "objects", "name": "bookmark", "unicode": "1f516" }, ":bookmark_tabs:": { "category": "objects", "name": "bookmark tabs", "unicode": "1f4d1" }, ":books:": { "category": "objects", "name": "books", "unicode": "1f4da" }, ":boom:": { "category": "nature", "name": "collision", "unicode": "1f4a5" }, ":boomerang:": { "category": "activity", "name": "boomerang", "unicode": "1fa83" }, ":boot:": { "category": "people", "name": "woman\u2019s boot", "unicode": "1f462" }, ":bouquet:": { "category": "nature", "name": "bouquet", "unicode": "1f490" }, ":bow_and_arrow:": { "category": "activity", "name": "bow and arrow", "unicode": "1f3f9" }, ":bowl_with_spoon:": { "category": "food", "name": "bowl with spoon", "unicode": "1f963" }, ":bowling:": { "category": "activity", "name": "bowling", "unicode": "1f3b3" }, ":boxing_glove:": { "category": "activity", "name": "boxing glove", "unicode": "1f94a" }, ":boy:": { "category": "people", "name": "boy", "unicode": "1f466" }, ":boy_tone1:": { "category": "people", "name": "boy: light skin tone", "unicode": "1f466-1f3fb" }, ":boy_tone2:": { "category": "people", "name": "boy: medium-light skin tone", "unicode": "1f466-1f3fc" }, ":boy_tone3:": { "category": "people", "name": "boy: medium skin tone", "unicode": "1f466-1f3fd" }, ":boy_tone4:": { "category": "people", "name": "boy: medium-dark skin tone", "unicode": "1f466-1f3fe" }, ":boy_tone5:": { "category": "people", "name": "boy: dark skin tone", "unicode": "1f466-1f3ff" }, ":brain:": { "category": "people", "name": "brain", "unicode": "1f9e0" }, ":bread:": { "category": "food", "name": "bread", "unicode": "1f35e" }, ":breast_feeding:": { "category": "people", "name": "breast-feeding", "unicode": "1f931" }, ":breast_feeding_tone1:": { "category": "people", "name": "breast-feeding: light skin tone", "unicode": "1f931-1f3fb" }, ":breast_feeding_tone2:": { "category": "people", "name": "breast-feeding: medium-light skin tone", "unicode": "1f931-1f3fc" }, ":breast_feeding_tone3:": { "category": "people", "name": "breast-feeding: medium skin tone", "unicode": "1f931-1f3fd" }, ":breast_feeding_tone4:": { "category": "people", "name": "breast-feeding: medium-dark skin tone", "unicode": "1f931-1f3fe" }, ":breast_feeding_tone5:": { "category": "people", "name": "breast-feeding: dark skin tone", "unicode": "1f931-1f3ff" }, ":bricks:": { "category": "objects", "name": "brick", "unicode": "1f9f1" }, ":bridge_at_night:": { "category": "travel", "name": "bridge at night", "unicode": "1f309" }, ":briefcase:": { "category": "people", "name": "briefcase", "unicode": "1f4bc" }, ":briefs:": { "category": "people", "name": "briefs", "unicode": "1fa72" }, ":broccoli:": { "category": "food", "name": "broccoli", "unicode": "1f966" }, ":broken_heart:": { "category": "symbols", "name": "broken heart", "unicode": "1f494" }, ":broom:": { "category": "objects", "name": "broom", "unicode": "1f9f9" }, ":brown_circle:": { "category": "symbols", "name": "brown circle", "unicode": "1f7e4" }, ":brown_heart:": { "category": "symbols", "name": "brown heart", "unicode": "1f90e" }, ":brown_square:": { "category": "symbols", "name": "brown square", "unicode": "1f7eb" }, ":bubble_tea:": { "category": "food", "name": "bubble tea", "unicode": "1f9cb" }, ":bubbles:": { "category": "nature", "name": "bubbles", "unicode": "1fae7" }, ":bucket:": { "category": "objects", "name": "bucket", "unicode": "1faa3" }, ":bug:": { "category": "nature", "name": "bug", "unicode": "1f41b" }, ":bulb:": { "category": "objects", "name": "light bulb", "unicode": "1f4a1" }, ":bullettrain_front:": { "category": "travel", "name": "bullet train", "unicode": "1f685" }, ":bullettrain_side:": { "category": "travel", "name": "high-speed train", "unicode": "1f684" }, ":burrito:": { "category": "food", "name": "burrito", "unicode": "1f32f" }, ":bus:": { "category": "travel", "name": "bus", "unicode": "1f68c" }, ":busstop:": { "category": "travel", "name": "bus stop", "unicode": "1f68f" }, ":bust_in_silhouette:": { "category": "people", "name": "bust in silhouette", "unicode": "1f464" }, ":busts_in_silhouette:": { "category": "people", "name": "busts in silhouette", "unicode": "1f465" }, ":butter:": { "category": "food", "name": "butter", "unicode": "1f9c8" }, ":butterfly:": { "category": "nature", "name": "butterfly", "unicode": "1f98b" }, ":cactus:": { "category": "nature", "name": "cactus", "unicode": "1f335" }, ":cake:": { "category": "food", "name": "shortcake", "unicode": "1f370" }, ":calendar:": { "category": "objects", "name": "tear-off calendar", "unicode": "1f4c6" }, ":calendar_spiral:": { "category": "objects", "name": "spiral calendar", "unicode": "1f5d3" }, ":call_me:": { "category": "people", "name": "call me hand", "unicode": "1f919" }, ":call_me_tone1:": { "category": "people", "name": "call me hand: light skin tone", "unicode": "1f919-1f3fb" }, ":call_me_tone2:": { "category": "people", "name": "call me hand: medium-light skin tone", "unicode": "1f919-1f3fc" }, ":call_me_tone3:": { "category": "people", "name": "call me hand: medium skin tone", "unicode": "1f919-1f3fd" }, ":call_me_tone4:": { "category": "people", "name": "call me hand: medium-dark skin tone", "unicode": "1f919-1f3fe" }, ":call_me_tone5:": { "category": "people", "name": "call me hand: dark skin tone", "unicode": "1f919-1f3ff" }, ":calling:": { "category": "objects", "name": "mobile phone with arrow", "unicode": "1f4f2" }, ":camel:": { "category": "nature", "name": "two-hump camel", "unicode": "1f42b" }, ":camera:": { "category": "objects", "name": "camera", "unicode": "1f4f7" }, ":camera_with_flash:": { "category": "objects", "name": "camera with flash", "unicode": "1f4f8" }, ":camping:": { "category": "travel", "name": "camping", "unicode": "1f3d5" }, ":cancer:": { "category": "symbols", "name": "Cancer", "unicode": "264b" }, ":candle:": { "category": "objects", "name": "candle", "unicode": "1f56f" }, ":candy:": { "category": "food", "name": "candy", "unicode": "1f36c" }, ":canned_food:": { "category": "food", "name": "canned food", "unicode": "1f96b" }, ":canoe:": { "category": "travel", "name": "canoe", "unicode": "1f6f6" }, ":capital_abcd:": { "category": "symbols", "name": "input latin uppercase", "unicode": "1f520" }, ":capricorn:": { "category": "symbols", "name": "Capricorn", "unicode": "2651" }, ":card_box:": { "category": "objects", "name": "card file box", "unicode": "1f5c3" }, ":card_index:": { "category": "objects", "name": "card index", "unicode": "1f4c7" }, ":carousel_horse:": { "category": "travel", "name": "carousel horse", "unicode": "1f3a0" }, ":carpentry_saw:": { "category": "objects", "name": "carpentry saw", "unicode": "1fa9a" }, ":carrot:": { "category": "food", "name": "carrot", "unicode": "1f955" }, ":cat2:": { "category": "nature", "name": "cat", "unicode": "1f408" }, ":cat:": { "category": "nature", "name": "cat face", "unicode": "1f431" }, ":cd:": { "category": "objects", "name": "optical disk", "unicode": "1f4bf" }, ":chains:": { "category": "objects", "name": "chains", "unicode": "26d3" }, ":chair:": { "category": "objects", "name": "chair", "unicode": "1fa91" }, ":champagne:": { "category": "food", "name": "bottle with popping cork", "unicode": "1f37e" }, ":champagne_glass:": { "category": "food", "name": "clinking glasses", "unicode": "1f942" }, ":chart:": { "category": "symbols", "name": "chart increasing with yen", "unicode": "1f4b9" }, ":chart_with_downwards_trend:": { "category": "objects", "name": "chart decreasing", "unicode": "1f4c9" }, ":chart_with_upwards_trend:": { "category": "objects", "name": "chart increasing", "unicode": "1f4c8" }, ":checkered_flag:": { "category": "flags", "name": "chequered flag", "unicode": "1f3c1" }, ":cheese:": { "category": "food", "name": "cheese wedge", "unicode": "1f9c0" }, ":cherries:": { "category": "food", "name": "cherries", "unicode": "1f352" }, ":cherry_blossom:": { "category": "nature", "name": "cherry blossom", "unicode": "1f338" }, ":chess_pawn:": { "category": "activity", "name": "chess pawn", "unicode": "265f" }, ":chestnut:": { "category": "food", "name": "chestnut", "unicode": "1f330" }, ":chicken:": { "category": "nature", "name": "chicken", "unicode": "1f414" }, ":child:": { "category": "people", "name": "child", "unicode": "1f9d2" }, ":child_tone1:": { "category": "people", "name": "child: light skin tone", "unicode": "1f9d2-1f3fb" }, ":child_tone2:": { "category": "people", "name": "child: medium-light skin tone", "unicode": "1f9d2-1f3fc" }, ":child_tone3:": { "category": "people", "name": "child: medium skin tone", "unicode": "1f9d2-1f3fd" }, ":child_tone4:": { "category": "people", "name": "child: medium-dark skin tone", "unicode": "1f9d2-1f3fe" }, ":child_tone5:": { "category": "people", "name": "child: dark skin tone", "unicode": "1f9d2-1f3ff" }, ":children_crossing:": { "category": "symbols", "name": "children crossing", "unicode": "1f6b8" }, ":chipmunk:": { "category": "nature", "name": "chipmunk", "unicode": "1f43f" }, ":chocolate_bar:": { "category": "food", "name": "chocolate bar", "unicode": "1f36b" }, ":chopsticks:": { "category": "food", "name": "chopsticks", "unicode": "1f962" }, ":christmas_tree:": { "category": "nature", "name": "Christmas tree", "unicode": "1f384" }, ":church:": { "category": "travel", "name": "church", "unicode": "26ea" }, ":cinema:": { "category": "symbols", "name": "cinema", "unicode": "1f3a6" }, ":circus_tent:": { "category": "activity", "name": "circus tent", "unicode": "1f3aa" }, ":city_dusk:": { "category": "travel", "name": "cityscape at dusk", "unicode": "1f306" }, ":city_sunset:": { "category": "travel", "name": "sunset", "unicode": "1f307" }, ":cityscape:": { "category": "travel", "name": "cityscape", "unicode": "1f3d9" }, ":cl:": { "category": "symbols", "name": "CL button", "unicode": "1f191" }, ":clap:": { "category": "people", "name": "clapping hands", "unicode": "1f44f" }, ":clap_tone1:": { "category": "people", "name": "clapping hands: light skin tone", "unicode": "1f44f-1f3fb" }, ":clap_tone2:": { "category": "people", "name": "clapping hands: medium-light skin tone", "unicode": "1f44f-1f3fc" }, ":clap_tone3:": { "category": "people", "name": "clapping hands: medium skin tone", "unicode": "1f44f-1f3fd" }, ":clap_tone4:": { "category": "people", "name": "clapping hands: medium-dark skin tone", "unicode": "1f44f-1f3fe" }, ":clap_tone5:": { "category": "people", "name": "clapping hands: dark skin tone", "unicode": "1f44f-1f3ff" }, ":clapper:": { "category": "activity", "name": "clapper board", "unicode": "1f3ac" }, ":classical_building:": { "category": "travel", "name": "classical building", "unicode": "1f3db" }, ":clipboard:": { "category": "objects", "name": "clipboard", "unicode": "1f4cb" }, ":clock1030:": { "category": "symbols", "name": "ten-thirty", "unicode": "1f565" }, ":clock10:": { "category": "symbols", "name": "ten o\u2019clock", "unicode": "1f559" }, ":clock1130:": { "category": "symbols", "name": "eleven-thirty", "unicode": "1f566" }, ":clock11:": { "category": "symbols", "name": "eleven o\u2019clock", "unicode": "1f55a" }, ":clock1230:": { "category": "symbols", "name": "twelve-thirty", "unicode": "1f567" }, ":clock12:": { "category": "symbols", "name": "twelve o\u2019clock", "unicode": "1f55b" }, ":clock130:": { "category": "symbols", "name": "one-thirty", "unicode": "1f55c" }, ":clock1:": { "category": "symbols", "name": "one o\u2019clock", "unicode": "1f550" }, ":clock230:": { "category": "symbols", "name": "two-thirty", "unicode": "1f55d" }, ":clock2:": { "category": "symbols", "name": "two o\u2019clock", "unicode": "1f551" }, ":clock330:": { "category": "symbols", "name": "three-thirty", "unicode": "1f55e" }, ":clock3:": { "category": "symbols", "name": "three o\u2019clock", "unicode": "1f552" }, ":clock430:": { "category": "symbols", "name": "four-thirty", "unicode": "1f55f" }, ":clock4:": { "category": "symbols", "name": "four o\u2019clock", "unicode": "1f553" }, ":clock530:": { "category": "symbols", "name": "five-thirty", "unicode": "1f560" }, ":clock5:": { "category": "symbols", "name": "five o\u2019clock", "unicode": "1f554" }, ":clock630:": { "category": "symbols", "name": "six-thirty", "unicode": "1f561" }, ":clock6:": { "category": "symbols", "name": "six o\u2019clock", "unicode": "1f555" }, ":clock730:": { "category": "symbols", "name": "seven-thirty", "unicode": "1f562" }, ":clock7:": { "category": "symbols", "name": "seven o\u2019clock", "unicode": "1f556" }, ":clock830:": { "category": "symbols", "name": "eight-thirty", "unicode": "1f563" }, ":clock8:": { "category": "symbols", "name": "eight o\u2019clock", "unicode": "1f557" }, ":clock930:": { "category": "symbols", "name": "nine-thirty", "unicode": "1f564" }, ":clock9:": { "category": "symbols", "name": "nine o\u2019clock", "unicode": "1f558" }, ":clock:": { "category": "objects", "name": "mantelpiece clock", "unicode": "1f570" }, ":closed_book:": { "category": "objects", "name": "closed book", "unicode": "1f4d5" }, ":closed_lock_with_key:": { "category": "objects", "name": "locked with key", "unicode": "1f510" }, ":closed_umbrella:": { "category": "people", "name": "closed umbrella", "unicode": "1f302" }, ":cloud:": { "category": "nature", "name": "cloud", "unicode": "2601" }, ":cloud_lightning:": { "category": "nature", "name": "cloud with lightning", "unicode": "1f329" }, ":cloud_rain:": { "category": "nature", "name": "cloud with rain", "unicode": "1f327" }, ":cloud_snow:": { "category": "nature", "name": "cloud with snow", "unicode": "1f328" }, ":cloud_tornado:": { "category": "nature", "name": "tornado", "unicode": "1f32a" }, ":clown:": { "category": "people", "name": "clown face", "unicode": "1f921" }, ":clubs:": { "category": "symbols", "name": "club suit", "unicode": "2663" }, ":coat:": { "category": "people", "name": "coat", "unicode": "1f9e5" }, ":cockroach:": { "category": "nature", "name": "cockroach", "unicode": "1fab3" }, ":cocktail:": { "category": "food", "name": "cocktail glass", "unicode": "1f378" }, ":coconut:": { "category": "food", "name": "coconut", "unicode": "1f965" }, ":coffee:": { "category": "food", "name": "hot beverage", "unicode": "2615" }, ":coffin:": { "category": "objects", "name": "coffin", "unicode": "26b0" }, ":coin:": { "category": "objects", "name": "coin", "unicode": "1fa99" }, ":cold_face:": { "category": "people", "name": "cold face", "unicode": "1f976" }, ":cold_sweat:": { "category": "people", "name": "anxious face with sweat", "unicode": "1f630" }, ":comet:": { "category": "nature", "name": "comet", "unicode": "2604" }, ":compass:": { "category": "objects", "name": "compass", "unicode": "1f9ed" }, ":compression:": { "category": "objects", "name": "clamp", "unicode": "1f5dc" }, ":computer:": { "category": "objects", "name": "laptop computer", "unicode": "1f4bb" }, ":confetti_ball:": { "category": "objects", "name": "confetti ball", "unicode": "1f38a" }, ":confounded:": { "category": "people", "name": "confounded face", "unicode": "1f616" }, ":confused:": { "category": "people", "name": "confused face", "unicode": "1f615" }, ":congratulations:": { "category": "symbols", "name": "Japanese \u201ccongratulations\u201d button", "unicode": "3297" }, ":construction:": { "category": "travel", "name": "construction", "unicode": "1f6a7" }, ":construction_site:": { "category": "travel", "name": "building construction", "unicode": "1f3d7" }, ":construction_worker:": { "category": "people", "name": "construction worker", "unicode": "1f477" }, ":construction_worker_tone1:": { "category": "people", "name": "construction worker: light skin tone", "unicode": "1f477-1f3fb" }, ":construction_worker_tone2:": { "category": "people", "name": "construction worker: medium-light skin tone", "unicode": "1f477-1f3fc" }, ":construction_worker_tone3:": { "category": "people", "name": "construction worker: medium skin tone", "unicode": "1f477-1f3fd" }, ":construction_worker_tone4:": { "category": "people", "name": "construction worker: medium-dark skin tone", "unicode": "1f477-1f3fe" }, ":construction_worker_tone5:": { "category": "people", "name": "construction worker: dark skin tone", "unicode": "1f477-1f3ff" }, ":control_knobs:": { "category": "objects", "name": "control knobs", "unicode": "1f39b" }, ":convenience_store:": { "category": "travel", "name": "convenience store", "unicode": "1f3ea" }, ":cook:": { "category": "people", "name": "cook", "unicode": "1f9d1-200d-1f373" }, ":cook_tone1:": { "category": "people", "name": "cook: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f373" }, ":cook_tone2:": { "category": "people", "name": "cook: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f373" }, ":cook_tone3:": { "category": "people", "name": "cook: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f373" }, ":cook_tone4:": { "category": "people", "name": "cook: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f373" }, ":cook_tone5:": { "category": "people", "name": "cook: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f373" }, ":cookie:": { "category": "food", "name": "cookie", "unicode": "1f36a" }, ":cooking:": { "category": "food", "name": "cooking", "unicode": "1f373" }, ":cool:": { "category": "symbols", "name": "COOL button", "unicode": "1f192" }, ":copyright:": { "category": "symbols", "name": "copyright", "unicode": "a9", "unicode_alt": "00a9" }, ":coral:": { "category": "nature", "name": "coral", "unicode": "1fab8" }, ":corn:": { "category": "food", "name": "ear of corn", "unicode": "1f33d" }, ":couch:": { "category": "objects", "name": "couch and lamp", "unicode": "1f6cb" }, ":couple:": { "category": "people", "name": "woman and man holding hands", "unicode": "1f46b" }, ":couple_mm:": { "category": "people", "name": "couple with heart: man, man", "unicode": "1f468-200d-2764-fe0f-200d-1f468" }, ":couple_with_heart:": { "category": "people", "name": "couple with heart", "unicode": "1f491" }, ":couple_with_heart_man_man_tone1:": { "category": "people", "name": "couple with heart: man, man, light skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_man_man_tone1_tone2:": { "category": "people", "name": "couple with heart: man, man, light skin tone, medium-light skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_man_man_tone1_tone3:": { "category": "people", "name": "couple with heart: man, man, light skin tone, medium skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_man_man_tone1_tone4:": { "category": "people", "name": "couple with heart: man, man, light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_man_man_tone1_tone5:": { "category": "people", "name": "couple with heart: man, man, light skin tone, dark skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_man_man_tone2:": { "category": "people", "name": "couple with heart: man, man, medium-light skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_man_man_tone2_tone1:": { "category": "people", "name": "couple with heart: man, man, medium-light skin tone, light skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_man_man_tone2_tone3:": { "category": "people", "name": "couple with heart: man, man, medium-light skin tone, medium skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_man_man_tone2_tone4:": { "category": "people", "name": "couple with heart: man, man, medium-light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_man_man_tone2_tone5:": { "category": "people", "name": "couple with heart: man, man, medium-light skin tone, dark skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_man_man_tone3:": { "category": "people", "name": "couple with heart: man, man, medium skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_man_man_tone3_tone1:": { "category": "people", "name": "couple with heart: man, man, medium skin tone, light skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_man_man_tone3_tone2:": { "category": "people", "name": "couple with heart: man, man, medium skin tone, medium-light skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_man_man_tone3_tone4:": { "category": "people", "name": "couple with heart: man, man, medium skin tone, medium-dark skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_man_man_tone3_tone5:": { "category": "people", "name": "couple with heart: man, man, medium skin tone, dark skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_man_man_tone4:": { "category": "people", "name": "couple with heart: man, man, medium-dark skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_man_man_tone4_tone1:": { "category": "people", "name": "couple with heart: man, man, medium-dark skin tone, light skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_man_man_tone4_tone2:": { "category": "people", "name": "couple with heart: man, man, medium-dark skin tone, medium-light skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_man_man_tone4_tone3:": { "category": "people", "name": "couple with heart: man, man, medium-dark skin tone, medium skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_man_man_tone4_tone5:": { "category": "people", "name": "couple with heart: man, man, medium-dark skin tone, dark skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_man_man_tone5:": { "category": "people", "name": "couple with heart: man, man, dark skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_man_man_tone5_tone1:": { "category": "people", "name": "couple with heart: man, man, dark skin tone, light skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_man_man_tone5_tone2:": { "category": "people", "name": "couple with heart: man, man, dark skin tone, medium-light skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_man_man_tone5_tone3:": { "category": "people", "name": "couple with heart: man, man, dark skin tone, medium skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_man_man_tone5_tone4:": { "category": "people", "name": "couple with heart: man, man, dark skin tone, medium-dark skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_person_person_tone1_tone2:": { "category": "people", "name": "couple with heart: person, person, light skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc" }, ":couple_with_heart_person_person_tone1_tone3:": { "category": "people", "name": "couple with heart: person, person, light skin tone, medium skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd" }, ":couple_with_heart_person_person_tone1_tone4:": { "category": "people", "name": "couple with heart: person, person, light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe" }, ":couple_with_heart_person_person_tone1_tone5:": { "category": "people", "name": "couple with heart: person, person, light skin tone, dark skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff" }, ":couple_with_heart_person_person_tone2_tone1:": { "category": "people", "name": "couple with heart: person, person, medium-light skin tone, light skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb" }, ":couple_with_heart_person_person_tone2_tone3:": { "category": "people", "name": "couple with heart: person, person, medium-light skin tone, medium skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd" }, ":couple_with_heart_person_person_tone2_tone4:": { "category": "people", "name": "couple with heart: person, person, medium-light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe" }, ":couple_with_heart_person_person_tone2_tone5:": { "category": "people", "name": "couple with heart: person, person, medium-light skin tone, dark skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff" }, ":couple_with_heart_person_person_tone3_tone1:": { "category": "people", "name": "couple with heart: person, person, medium skin tone, light skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb" }, ":couple_with_heart_person_person_tone3_tone2:": { "category": "people", "name": "couple with heart: person, person, medium skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc" }, ":couple_with_heart_person_person_tone3_tone4:": { "category": "people", "name": "couple with heart: person, person, medium skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe" }, ":couple_with_heart_person_person_tone3_tone5:": { "category": "people", "name": "couple with heart: person, person, medium skin tone, dark skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff" }, ":couple_with_heart_person_person_tone4_tone1:": { "category": "people", "name": "couple with heart: person, person, medium-dark skin tone, light skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb" }, ":couple_with_heart_person_person_tone4_tone2:": { "category": "people", "name": "couple with heart: person, person, medium-dark skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc" }, ":couple_with_heart_person_person_tone4_tone3:": { "category": "people", "name": "couple with heart: person, person, medium-dark skin tone, medium skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd" }, ":couple_with_heart_person_person_tone4_tone5:": { "category": "people", "name": "couple with heart: person, person, medium-dark skin tone, dark skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff" }, ":couple_with_heart_person_person_tone5_tone1:": { "category": "people", "name": "couple with heart: person, person, dark skin tone, light skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb" }, ":couple_with_heart_person_person_tone5_tone2:": { "category": "people", "name": "couple with heart: person, person, dark skin tone, medium-light skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc" }, ":couple_with_heart_person_person_tone5_tone3:": { "category": "people", "name": "couple with heart: person, person, dark skin tone, medium skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd" }, ":couple_with_heart_person_person_tone5_tone4:": { "category": "people", "name": "couple with heart: person, person, dark skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe" }, ":couple_with_heart_tone1:": { "category": "people", "name": "couple with heart: light skin tone", "unicode": "1f491-1f3fb" }, ":couple_with_heart_tone2:": { "category": "people", "name": "couple with heart: medium-light skin tone", "unicode": "1f491-1f3fc" }, ":couple_with_heart_tone3:": { "category": "people", "name": "couple with heart: medium skin tone", "unicode": "1f491-1f3fd" }, ":couple_with_heart_tone4:": { "category": "people", "name": "couple with heart: medium-dark skin tone", "unicode": "1f491-1f3fe" }, ":couple_with_heart_tone5:": { "category": "people", "name": "couple with heart: dark skin tone", "unicode": "1f491-1f3ff" }, ":couple_with_heart_woman_man:": { "category": "people", "name": "couple with heart: woman, man", "unicode": "1f469-200d-2764-fe0f-200d-1f468" }, ":couple_with_heart_woman_man_tone1:": { "category": "people", "name": "couple with heart: woman, man, light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_woman_man_tone1_tone2:": { "category": "people", "name": "couple with heart: woman, man, light skin tone, medium-light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_woman_man_tone1_tone3:": { "category": "people", "name": "couple with heart: woman, man, light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_woman_man_tone1_tone4:": { "category": "people", "name": "couple with heart: woman, man, light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_woman_man_tone1_tone5:": { "category": "people", "name": "couple with heart: woman, man, light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_woman_man_tone2:": { "category": "people", "name": "couple with heart: woman, man, medium-light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_woman_man_tone2_tone1:": { "category": "people", "name": "couple with heart: woman, man, medium-light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_woman_man_tone2_tone3:": { "category": "people", "name": "couple with heart: woman, man, medium-light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_woman_man_tone2_tone4:": { "category": "people", "name": "couple with heart: woman, man, medium-light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_woman_man_tone2_tone5:": { "category": "people", "name": "couple with heart: woman, man, medium-light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_woman_man_tone3:": { "category": "people", "name": "couple with heart: woman, man, medium skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_woman_man_tone3_tone1:": { "category": "people", "name": "couple with heart: woman, man, medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_woman_man_tone3_tone2:": { "category": "people", "name": "couple with heart: woman, man, medium skin tone, medium-light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_woman_man_tone3_tone4:": { "category": "people", "name": "couple with heart: woman, man, medium skin tone, medium-dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_woman_man_tone3_tone5:": { "category": "people", "name": "couple with heart: woman, man, medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_woman_man_tone4:": { "category": "people", "name": "couple with heart: woman, man, medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_woman_man_tone4_tone1:": { "category": "people", "name": "couple with heart: woman, man, medium-dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_woman_man_tone4_tone2:": { "category": "people", "name": "couple with heart: woman, man, medium-dark skin tone, medium-light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_woman_man_tone4_tone3:": { "category": "people", "name": "couple with heart: woman, man, medium-dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_woman_man_tone4_tone5:": { "category": "people", "name": "couple with heart: woman, man, medium-dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_woman_man_tone5:": { "category": "people", "name": "couple with heart: woman, man, dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff" }, ":couple_with_heart_woman_man_tone5_tone1:": { "category": "people", "name": "couple with heart: woman, man, dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb" }, ":couple_with_heart_woman_man_tone5_tone2:": { "category": "people", "name": "couple with heart: woman, man, dark skin tone, medium-light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc" }, ":couple_with_heart_woman_man_tone5_tone3:": { "category": "people", "name": "couple with heart: woman, man, dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd" }, ":couple_with_heart_woman_man_tone5_tone4:": { "category": "people", "name": "couple with heart: woman, man, dark skin tone, medium-dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe" }, ":couple_with_heart_woman_woman_tone1:": { "category": "people", "name": "couple with heart: woman, woman, light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb" }, ":couple_with_heart_woman_woman_tone1_tone2:": { "category": "people", "name": "couple with heart: woman, woman, light skin tone, medium-light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc" }, ":couple_with_heart_woman_woman_tone1_tone3:": { "category": "people", "name": "couple with heart: woman, woman, light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd" }, ":couple_with_heart_woman_woman_tone1_tone4:": { "category": "people", "name": "couple with heart: woman, woman, light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe" }, ":couple_with_heart_woman_woman_tone1_tone5:": { "category": "people", "name": "couple with heart: woman, woman, light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff" }, ":couple_with_heart_woman_woman_tone2:": { "category": "people", "name": "couple with heart: woman, woman, medium-light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc" }, ":couple_with_heart_woman_woman_tone2_tone1:": { "category": "people", "name": "couple with heart: woman, woman, medium-light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb" }, ":couple_with_heart_woman_woman_tone2_tone3:": { "category": "people", "name": "couple with heart: woman, woman, medium-light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd" }, ":couple_with_heart_woman_woman_tone2_tone4:": { "category": "people", "name": "couple with heart: woman, woman, medium-light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe" }, ":couple_with_heart_woman_woman_tone2_tone5:": { "category": "people", "name": "couple with heart: woman, woman, medium-light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff" }, ":couple_with_heart_woman_woman_tone3:": { "category": "people", "name": "couple with heart: woman, woman, medium skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd" }, ":couple_with_heart_woman_woman_tone3_tone1:": { "category": "people", "name": "couple with heart: woman, woman, medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb" }, ":couple_with_heart_woman_woman_tone3_tone2:": { "category": "people", "name": "couple with heart: woman, woman, medium skin tone, medium-light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc" }, ":couple_with_heart_woman_woman_tone3_tone4:": { "category": "people", "name": "couple with heart: woman, woman, medium skin tone, medium-dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe" }, ":couple_with_heart_woman_woman_tone3_tone5:": { "category": "people", "name": "couple with heart: woman, woman, medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff" }, ":couple_with_heart_woman_woman_tone4:": { "category": "people", "name": "couple with heart: woman, woman, medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe" }, ":couple_with_heart_woman_woman_tone4_tone1:": { "category": "people", "name": "couple with heart: woman, woman, medium-dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb" }, ":couple_with_heart_woman_woman_tone4_tone2:": { "category": "people", "name": "couple with heart: woman, woman, medium-dark skin tone, medium-light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc" }, ":couple_with_heart_woman_woman_tone4_tone3:": { "category": "people", "name": "couple with heart: woman, woman, medium-dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd" }, ":couple_with_heart_woman_woman_tone4_tone5:": { "category": "people", "name": "couple with heart: woman, woman, medium-dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff" }, ":couple_with_heart_woman_woman_tone5:": { "category": "people", "name": "couple with heart: woman, woman, dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff" }, ":couple_with_heart_woman_woman_tone5_tone1:": { "category": "people", "name": "couple with heart: woman, woman, dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb" }, ":couple_with_heart_woman_woman_tone5_tone2:": { "category": "people", "name": "couple with heart: woman, woman, dark skin tone, medium-light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc" }, ":couple_with_heart_woman_woman_tone5_tone3:": { "category": "people", "name": "couple with heart: woman, woman, dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd" }, ":couple_with_heart_woman_woman_tone5_tone4:": { "category": "people", "name": "couple with heart: woman, woman, dark skin tone, medium-dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe" }, ":couple_ww:": { "category": "people", "name": "couple with heart: woman, woman", "unicode": "1f469-200d-2764-fe0f-200d-1f469" }, ":couplekiss:": { "category": "people", "name": "kiss", "unicode": "1f48f" }, ":cow2:": { "category": "nature", "name": "cow", "unicode": "1f404" }, ":cow:": { "category": "nature", "name": "cow face", "unicode": "1f42e" }, ":cowboy:": { "category": "people", "name": "cowboy hat face", "unicode": "1f920" }, ":crab:": { "category": "nature", "name": "crab", "unicode": "1f980" }, ":crayon:": { "category": "objects", "name": "crayon", "unicode": "1f58d" }, ":credit_card:": { "category": "objects", "name": "credit card", "unicode": "1f4b3" }, ":crescent_moon:": { "category": "nature", "name": "crescent moon", "unicode": "1f319" }, ":cricket:": { "category": "nature", "name": "cricket", "unicode": "1f997" }, ":cricket_game:": { "category": "activity", "name": "cricket game", "unicode": "1f3cf" }, ":crocodile:": { "category": "nature", "name": "crocodile", "unicode": "1f40a" }, ":croissant:": { "category": "food", "name": "croissant", "unicode": "1f950" }, ":cross:": { "category": "symbols", "name": "latin cross", "unicode": "271d" }, ":crossed_flags:": { "category": "flags", "name": "crossed flags", "unicode": "1f38c" }, ":crossed_swords:": { "category": "objects", "name": "crossed swords", "unicode": "2694" }, ":crown:": { "category": "people", "name": "crown", "unicode": "1f451" }, ":cruise_ship:": { "category": "travel", "name": "passenger ship", "unicode": "1f6f3" }, ":crutch:": { "category": "travel", "name": "crutch", "unicode": "1fa7c" }, ":cry:": { "category": "people", "name": "crying face", "unicode": "1f622" }, ":crying_cat_face:": { "category": "people", "name": "crying cat", "unicode": "1f63f" }, ":crystal_ball:": { "category": "objects", "name": "crystal ball", "unicode": "1f52e" }, ":cucumber:": { "category": "food", "name": "cucumber", "unicode": "1f952" }, ":cup_with_straw:": { "category": "food", "name": "cup with straw", "unicode": "1f964" }, ":cupcake:": { "category": "food", "name": "cupcake", "unicode": "1f9c1" }, ":cupid:": { "category": "symbols", "name": "heart with arrow", "unicode": "1f498" }, ":curling_stone:": { "category": "activity", "name": "curling stone", "unicode": "1f94c" }, ":curly_haired:": { "category": "people", "name": "curly hair", "unicode": "1f9b1" }, ":curly_loop:": { "category": "symbols", "name": "curly loop", "unicode": "27b0" }, ":currency_exchange:": { "category": "symbols", "name": "currency exchange", "unicode": "1f4b1" }, ":curry:": { "category": "food", "name": "curry rice", "unicode": "1f35b" }, ":custard:": { "category": "food", "name": "custard", "unicode": "1f36e" }, ":customs:": { "category": "symbols", "name": "customs", "unicode": "1f6c3" }, ":cut_of_meat:": { "category": "food", "name": "cut of meat", "unicode": "1f969" }, ":cyclone:": { "category": "symbols", "name": "cyclone", "unicode": "1f300" }, ":dagger:": { "category": "objects", "name": "dagger", "unicode": "1f5e1" }, ":dancer:": { "category": "people", "name": "woman dancing", "unicode": "1f483" }, ":dancer_tone1:": { "category": "people", "name": "woman dancing: light skin tone", "unicode": "1f483-1f3fb" }, ":dancer_tone2:": { "category": "people", "name": "woman dancing: medium-light skin tone", "unicode": "1f483-1f3fc" }, ":dancer_tone3:": { "category": "people", "name": "woman dancing: medium skin tone", "unicode": "1f483-1f3fd" }, ":dancer_tone4:": { "category": "people", "name": "woman dancing: medium-dark skin tone", "unicode": "1f483-1f3fe" }, ":dancer_tone5:": { "category": "people", "name": "woman dancing: dark skin tone", "unicode": "1f483-1f3ff" }, ":dango:": { "category": "food", "name": "dango", "unicode": "1f361" }, ":dark_sunglasses:": { "category": "people", "name": "sunglasses", "unicode": "1f576" }, ":dart:": { "category": "activity", "name": "direct hit", "unicode": "1f3af" }, ":dash:": { "category": "nature", "name": "dashing away", "unicode": "1f4a8" }, ":date:": { "category": "objects", "name": "calendar", "unicode": "1f4c5" }, ":deaf_man:": { "category": "people", "name": "deaf man", "unicode": "1f9cf-200d-2642-fe0f" }, ":deaf_man_tone1:": { "category": "people", "name": "deaf man: light skin tone", "unicode": "1f9cf-1f3fb-200d-2642-fe0f" }, ":deaf_man_tone2:": { "category": "people", "name": "deaf man: medium-light skin tone", "unicode": "1f9cf-1f3fc-200d-2642-fe0f" }, ":deaf_man_tone3:": { "category": "people", "name": "deaf man: medium skin tone", "unicode": "1f9cf-1f3fd-200d-2642-fe0f" }, ":deaf_man_tone4:": { "category": "people", "name": "deaf man: medium-dark skin tone", "unicode": "1f9cf-1f3fe-200d-2642-fe0f" }, ":deaf_man_tone5:": { "category": "people", "name": "deaf man: dark skin tone", "unicode": "1f9cf-1f3ff-200d-2642-fe0f" }, ":deaf_person:": { "category": "people", "name": "deaf person", "unicode": "1f9cf" }, ":deaf_person_tone1:": { "category": "people", "name": "deaf person: light skin tone", "unicode": "1f9cf-1f3fb" }, ":deaf_person_tone2:": { "category": "people", "name": "deaf person: medium-light skin tone", "unicode": "1f9cf-1f3fc" }, ":deaf_person_tone3:": { "category": "people", "name": "deaf person: medium skin tone", "unicode": "1f9cf-1f3fd" }, ":deaf_person_tone4:": { "category": "people", "name": "deaf person: medium-dark skin tone", "unicode": "1f9cf-1f3fe" }, ":deaf_person_tone5:": { "category": "people", "name": "deaf person: dark skin tone", "unicode": "1f9cf-1f3ff" }, ":deaf_woman:": { "category": "people", "name": "deaf woman", "unicode": "1f9cf-200d-2640-fe0f" }, ":deaf_woman_tone1:": { "category": "people", "name": "deaf woman: light skin tone", "unicode": "1f9cf-1f3fb-200d-2640-fe0f" }, ":deaf_woman_tone2:": { "category": "people", "name": "deaf woman: medium-light skin tone", "unicode": "1f9cf-1f3fc-200d-2640-fe0f" }, ":deaf_woman_tone3:": { "category": "people", "name": "deaf woman: medium skin tone", "unicode": "1f9cf-1f3fd-200d-2640-fe0f" }, ":deaf_woman_tone4:": { "category": "people", "name": "deaf woman: medium-dark skin tone", "unicode": "1f9cf-1f3fe-200d-2640-fe0f" }, ":deaf_woman_tone5:": { "category": "people", "name": "deaf woman: dark skin tone", "unicode": "1f9cf-1f3ff-200d-2640-fe0f" }, ":deciduous_tree:": { "category": "nature", "name": "deciduous tree", "unicode": "1f333" }, ":deer:": { "category": "nature", "name": "deer", "unicode": "1f98c" }, ":department_store:": { "category": "travel", "name": "department store", "unicode": "1f3ec" }, ":desert:": { "category": "travel", "name": "desert", "unicode": "1f3dc" }, ":desktop:": { "category": "objects", "name": "desktop computer", "unicode": "1f5a5" }, ":detective:": { "category": "people", "name": "detective", "unicode": "1f575" }, ":detective_tone1:": { "category": "people", "name": "detective: light skin tone", "unicode": "1f575-1f3fb" }, ":detective_tone2:": { "category": "people", "name": "detective: medium-light skin tone", "unicode": "1f575-1f3fc" }, ":detective_tone3:": { "category": "people", "name": "detective: medium skin tone", "unicode": "1f575-1f3fd" }, ":detective_tone4:": { "category": "people", "name": "detective: medium-dark skin tone", "unicode": "1f575-1f3fe" }, ":detective_tone5:": { "category": "people", "name": "detective: dark skin tone", "unicode": "1f575-1f3ff" }, ":diamond_shape_with_a_dot_inside:": { "category": "symbols", "name": "diamond with a dot", "unicode": "1f4a0" }, ":diamonds:": { "category": "symbols", "name": "diamond suit", "unicode": "2666" }, ":disappointed:": { "category": "people", "name": "disappointed face", "unicode": "1f61e" }, ":disappointed_relieved:": { "category": "people", "name": "sad but relieved face", "unicode": "1f625" }, ":disguised_face:": { "category": "people", "name": "disguised face", "unicode": "1f978" }, ":dividers:": { "category": "objects", "name": "card index dividers", "unicode": "1f5c2" }, ":diving_mask:": { "category": "activity", "name": "diving mask", "unicode": "1f93f" }, ":diya_lamp:": { "category": "objects", "name": "diya lamp", "unicode": "1fa94" }, ":dizzy:": { "category": "nature", "name": "dizzy", "unicode": "1f4ab" }, ":dizzy_face:": { "category": "people", "name": "dizzy face", "unicode": "1f635" }, ":dna:": { "category": "objects", "name": "dna", "unicode": "1f9ec" }, ":do_not_litter:": { "category": "symbols", "name": "no littering", "unicode": "1f6af" }, ":dodo:": { "category": "nature", "name": "dodo", "unicode": "1f9a4" }, ":dog2:": { "category": "nature", "name": "dog", "unicode": "1f415" }, ":dog:": { "category": "nature", "name": "dog face", "unicode": "1f436" }, ":dollar:": { "category": "objects", "name": "dollar banknote", "unicode": "1f4b5" }, ":dolls:": { "category": "objects", "name": "Japanese dolls", "unicode": "1f38e" }, ":dolphin:": { "category": "nature", "name": "dolphin", "unicode": "1f42c" }, ":donkey:": { "category": "nature", "name": "donkey", "unicode": "1facf" }, ":door:": { "category": "objects", "name": "door", "unicode": "1f6aa" }, ":dotted_line_face:": { "category": "people", "name": "dotted line face", "unicode": "1fae5" }, ":doughnut:": { "category": "food", "name": "doughnut", "unicode": "1f369" }, ":dove:": { "category": "nature", "name": "dove", "unicode": "1f54a" }, ":dragon:": { "category": "nature", "name": "dragon", "unicode": "1f409" }, ":dragon_face:": { "category": "nature", "name": "dragon face", "unicode": "1f432" }, ":dress:": { "category": "people", "name": "dress", "unicode": "1f457" }, ":dromedary_camel:": { "category": "nature", "name": "camel", "unicode": "1f42a" }, ":drooling_face:": { "category": "people", "name": "drooling face", "unicode": "1f924" }, ":drop_of_blood:": { "category": "objects", "name": "drop of blood", "unicode": "1fa78" }, ":droplet:": { "category": "nature", "name": "droplet", "unicode": "1f4a7" }, ":drum:": { "category": "activity", "name": "drum", "unicode": "1f941" }, ":duck:": { "category": "nature", "name": "duck", "unicode": "1f986" }, ":dumpling:": { "category": "food", "name": "dumpling", "unicode": "1f95f" }, ":dvd:": { "category": "objects", "name": "dvd", "unicode": "1f4c0" }, ":e-mail:": { "category": "objects", "name": "e-mail", "unicode": "1f4e7" }, ":eagle:": { "category": "nature", "name": "eagle", "unicode": "1f985" }, ":ear:": { "category": "people", "name": "ear", "unicode": "1f442" }, ":ear_of_rice:": { "category": "nature", "name": "sheaf of rice", "unicode": "1f33e" }, ":ear_tone1:": { "category": "people", "name": "ear: light skin tone", "unicode": "1f442-1f3fb" }, ":ear_tone2:": { "category": "people", "name": "ear: medium-light skin tone", "unicode": "1f442-1f3fc" }, ":ear_tone3:": { "category": "people", "name": "ear: medium skin tone", "unicode": "1f442-1f3fd" }, ":ear_tone4:": { "category": "people", "name": "ear: medium-dark skin tone", "unicode": "1f442-1f3fe" }, ":ear_tone5:": { "category": "people", "name": "ear: dark skin tone", "unicode": "1f442-1f3ff" }, ":ear_with_hearing_aid:": { "category": "people", "name": "ear with hearing aid", "unicode": "1f9bb" }, ":ear_with_hearing_aid_tone1:": { "category": "people", "name": "ear with hearing aid: light skin tone", "unicode": "1f9bb-1f3fb" }, ":ear_with_hearing_aid_tone2:": { "category": "people", "name": "ear with hearing aid: medium-light skin tone", "unicode": "1f9bb-1f3fc" }, ":ear_with_hearing_aid_tone3:": { "category": "people", "name": "ear with hearing aid: medium skin tone", "unicode": "1f9bb-1f3fd" }, ":ear_with_hearing_aid_tone4:": { "category": "people", "name": "ear with hearing aid: medium-dark skin tone", "unicode": "1f9bb-1f3fe" }, ":ear_with_hearing_aid_tone5:": { "category": "people", "name": "ear with hearing aid: dark skin tone", "unicode": "1f9bb-1f3ff" }, ":earth_africa:": { "category": "nature", "name": "globe showing Europe-Africa", "unicode": "1f30d" }, ":earth_americas:": { "category": "nature", "name": "globe showing Americas", "unicode": "1f30e" }, ":earth_asia:": { "category": "nature", "name": "globe showing Asia-Australia", "unicode": "1f30f" }, ":egg:": { "category": "food", "name": "egg", "unicode": "1f95a" }, ":eggplant:": { "category": "food", "name": "eggplant", "unicode": "1f346" }, ":eight:": { "category": "symbols", "name": "keycap: 8", "unicode": "38-20e3", "unicode_alt": "0038-20e3" }, ":eight_pointed_black_star:": { "category": "symbols", "name": "eight-pointed star", "unicode": "2734" }, ":eight_spoked_asterisk:": { "category": "symbols", "name": "eight-spoked asterisk", "unicode": "2733" }, ":eject:": { "category": "symbols", "name": "eject button", "unicode": "23cf" }, ":electric_plug:": { "category": "objects", "name": "electric plug", "unicode": "1f50c" }, ":elephant:": { "category": "nature", "name": "elephant", "unicode": "1f418" }, ":elevator:": { "category": "symbols", "name": "elevator", "unicode": "1f6d7" }, ":elf:": { "category": "people", "name": "elf", "unicode": "1f9dd" }, ":elf_tone1:": { "category": "people", "name": "elf: light skin tone", "unicode": "1f9dd-1f3fb" }, ":elf_tone2:": { "category": "people", "name": "elf: medium-light skin tone", "unicode": "1f9dd-1f3fc" }, ":elf_tone3:": { "category": "people", "name": "elf: medium skin tone", "unicode": "1f9dd-1f3fd" }, ":elf_tone4:": { "category": "people", "name": "elf: medium-dark skin tone", "unicode": "1f9dd-1f3fe" }, ":elf_tone5:": { "category": "people", "name": "elf: dark skin tone", "unicode": "1f9dd-1f3ff" }, ":empty_nest:": { "category": "nature", "name": "empty nest", "unicode": "1fab9" }, ":end:": { "category": "symbols", "name": "END arrow", "unicode": "1f51a" }, ":england:": { "category": "flags", "name": "flag: England", "unicode": "1f3f4-e0067-e0062-e0065-e006e-e0067-e007f" }, ":envelope:": { "category": "objects", "name": "envelope", "unicode": "2709" }, ":envelope_with_arrow:": { "category": "objects", "name": "envelope with arrow", "unicode": "1f4e9" }, ":euro:": { "category": "objects", "name": "euro banknote", "unicode": "1f4b6" }, ":european_castle:": { "category": "travel", "name": "castle", "unicode": "1f3f0" }, ":european_post_office:": { "category": "travel", "name": "post office", "unicode": "1f3e4" }, ":evergreen_tree:": { "category": "nature", "name": "evergreen tree", "unicode": "1f332" }, ":exclamation:": { "category": "symbols", "name": "exclamation mark", "unicode": "2757" }, ":exploding_head:": { "category": "people", "name": "exploding head", "unicode": "1f92f" }, ":expressionless:": { "category": "people", "name": "expressionless face", "unicode": "1f611" }, ":eye:": { "category": "people", "name": "eye", "unicode": "1f441" }, ":eye_in_speech_bubble:": { "category": "symbols", "name": "eye in speech bubble", "unicode": "1f441-200d-1f5e8" }, ":eyeglasses:": { "category": "people", "name": "glasses", "unicode": "1f453" }, ":eyes:": { "category": "people", "name": "eyes", "unicode": "1f440" }, ":face_exhaling:": { "category": "people", "name": "face exhaling", "unicode": "1f62e-200d-1f4a8" }, ":face_holding_back_tears:": { "category": "people", "name": "face holding back tears", "unicode": "1f979" }, ":face_in_clouds:": { "category": "people", "name": "face in clouds", "unicode": "1f636-200d-1f32b-fe0f" }, ":face_vomiting:": { "category": "people", "name": "face vomiting", "unicode": "1f92e" }, ":face_with_diagonal_mouth:": { "category": "people", "name": "face with diagonal mouth", "unicode": "1fae4" }, ":face_with_hand_over_mouth:": { "category": "people", "name": "face with hand over mouth", "unicode": "1f92d" }, ":face_with_monocle:": { "category": "people", "name": "face with monocle", "unicode": "1f9d0" }, ":face_with_open_eyes_and_hand_over_mouth:": { "category": "people", "name": "face with open eyes and hand over mouth", "unicode": "1fae2" }, ":face_with_peeking_eye:": { "category": "people", "name": "face with peeking eye", "unicode": "1fae3" }, ":face_with_raised_eyebrow:": { "category": "people", "name": "face with raised eyebrow", "unicode": "1f928" }, ":face_with_spiral_eyes:": { "category": "people", "name": "face with spiral eyes", "unicode": "1f635-200d-1f4ab" }, ":face_with_symbols_over_mouth:": { "category": "people", "name": "face with symbols on mouth", "unicode": "1f92c" }, ":factory:": { "category": "travel", "name": "factory", "unicode": "1f3ed" }, ":factory_worker:": { "category": "people", "name": "factory worker", "unicode": "1f9d1-200d-1f3ed" }, ":factory_worker_tone1:": { "category": "people", "name": "factory worker: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f3ed" }, ":factory_worker_tone2:": { "category": "people", "name": "factory worker: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f3ed" }, ":factory_worker_tone3:": { "category": "people", "name": "factory worker: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f3ed" }, ":factory_worker_tone4:": { "category": "people", "name": "factory worker: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f3ed" }, ":factory_worker_tone5:": { "category": "people", "name": "factory worker: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f3ed" }, ":fairy:": { "category": "people", "name": "fairy", "unicode": "1f9da" }, ":fairy_tone1:": { "category": "people", "name": "fairy: light skin tone", "unicode": "1f9da-1f3fb" }, ":fairy_tone2:": { "category": "people", "name": "fairy: medium-light skin tone", "unicode": "1f9da-1f3fc" }, ":fairy_tone3:": { "category": "people", "name": "fairy: medium skin tone", "unicode": "1f9da-1f3fd" }, ":fairy_tone4:": { "category": "people", "name": "fairy: medium-dark skin tone", "unicode": "1f9da-1f3fe" }, ":fairy_tone5:": { "category": "people", "name": "fairy: dark skin tone", "unicode": "1f9da-1f3ff" }, ":falafel:": { "category": "food", "name": "falafel", "unicode": "1f9c6" }, ":fallen_leaf:": { "category": "nature", "name": "fallen leaf", "unicode": "1f342" }, ":family:": { "category": "people", "name": "family", "unicode": "1f46a" }, ":family_man_boy:": { "category": "people", "name": "family: man, boy", "unicode": "1f468-200d-1f466" }, ":family_man_boy_boy:": { "category": "people", "name": "family: man, boy, boy", "unicode": "1f468-200d-1f466-200d-1f466" }, ":family_man_girl:": { "category": "people", "name": "family: man, girl", "unicode": "1f468-200d-1f467" }, ":family_man_girl_boy:": { "category": "people", "name": "family: man, girl, boy", "unicode": "1f468-200d-1f467-200d-1f466" }, ":family_man_girl_girl:": { "category": "people", "name": "family: man, girl, girl", "unicode": "1f468-200d-1f467-200d-1f467" }, ":family_man_woman_boy:": { "category": "people", "name": "family: man, woman, boy", "unicode": "1f468-200d-1f469-200d-1f466" }, ":family_mmb:": { "category": "people", "name": "family: man, man, boy", "unicode": "1f468-200d-1f468-200d-1f466" }, ":family_mmbb:": { "category": "people", "name": "family: man, man, boy, boy", "unicode": "1f468-200d-1f468-200d-1f466-200d-1f466" }, ":family_mmg:": { "category": "people", "name": "family: man, man, girl", "unicode": "1f468-200d-1f468-200d-1f467" }, ":family_mmgb:": { "category": "people", "name": "family: man, man, girl, boy", "unicode": "1f468-200d-1f468-200d-1f467-200d-1f466" }, ":family_mmgg:": { "category": "people", "name": "family: man, man, girl, girl", "unicode": "1f468-200d-1f468-200d-1f467-200d-1f467" }, ":family_mwbb:": { "category": "people", "name": "family: man, woman, boy, boy", "unicode": "1f468-200d-1f469-200d-1f466-200d-1f466" }, ":family_mwg:": { "category": "people", "name": "family: man, woman, girl", "unicode": "1f468-200d-1f469-200d-1f467" }, ":family_mwgb:": { "category": "people", "name": "family: man, woman, girl, boy", "unicode": "1f468-200d-1f469-200d-1f467-200d-1f466" }, ":family_mwgg:": { "category": "people", "name": "family: man, woman, girl, girl", "unicode": "1f468-200d-1f469-200d-1f467-200d-1f467" }, ":family_woman_boy:": { "category": "people", "name": "family: woman, boy", "unicode": "1f469-200d-1f466" }, ":family_woman_boy_boy:": { "category": "people", "name": "family: woman, boy, boy", "unicode": "1f469-200d-1f466-200d-1f466" }, ":family_woman_girl:": { "category": "people", "name": "family: woman, girl", "unicode": "1f469-200d-1f467" }, ":family_woman_girl_boy:": { "category": "people", "name": "family: woman, girl, boy", "unicode": "1f469-200d-1f467-200d-1f466" }, ":family_woman_girl_girl:": { "category": "people", "name": "family: woman, girl, girl", "unicode": "1f469-200d-1f467-200d-1f467" }, ":family_wwb:": { "category": "people", "name": "family: woman, woman, boy", "unicode": "1f469-200d-1f469-200d-1f466" }, ":family_wwbb:": { "category": "people", "name": "family: woman, woman, boy, boy", "unicode": "1f469-200d-1f469-200d-1f466-200d-1f466" }, ":family_wwg:": { "category": "people", "name": "family: woman, woman, girl", "unicode": "1f469-200d-1f469-200d-1f467" }, ":family_wwgb:": { "category": "people", "name": "family: woman, woman, girl, boy", "unicode": "1f469-200d-1f469-200d-1f467-200d-1f466" }, ":family_wwgg:": { "category": "people", "name": "family: woman, woman, girl, girl", "unicode": "1f469-200d-1f469-200d-1f467-200d-1f467" }, ":farmer:": { "category": "people", "name": "farmer", "unicode": "1f9d1-200d-1f33e" }, ":farmer_tone1:": { "category": "people", "name": "farmer: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f33e" }, ":farmer_tone2:": { "category": "people", "name": "farmer: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f33e" }, ":farmer_tone3:": { "category": "people", "name": "farmer: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f33e" }, ":farmer_tone4:": { "category": "people", "name": "farmer: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f33e" }, ":farmer_tone5:": { "category": "people", "name": "farmer: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f33e" }, ":fast_forward:": { "category": "symbols", "name": "fast-forward button", "unicode": "23e9" }, ":fax:": { "category": "objects", "name": "fax machine", "unicode": "1f4e0" }, ":fearful:": { "category": "people", "name": "fearful face", "unicode": "1f628" }, ":feather:": { "category": "nature", "name": "feather", "unicode": "1fab6" }, ":feet:": { "category": "nature", "name": "paw prints", "unicode": "1f43e" }, ":female_sign:": { "category": "symbols", "name": "female sign", "unicode": "2640" }, ":ferris_wheel:": { "category": "travel", "name": "ferris wheel", "unicode": "1f3a1" }, ":ferry:": { "category": "travel", "name": "ferry", "unicode": "26f4" }, ":field_hockey:": { "category": "activity", "name": "field hockey", "unicode": "1f3d1" }, ":file_cabinet:": { "category": "objects", "name": "file cabinet", "unicode": "1f5c4" }, ":file_folder:": { "category": "objects", "name": "file folder", "unicode": "1f4c1" }, ":film_frames:": { "category": "objects", "name": "film frames", "unicode": "1f39e" }, ":fingers_crossed:": { "category": "people", "name": "crossed fingers", "unicode": "1f91e" }, ":fingers_crossed_tone1:": { "category": "people", "name": "crossed fingers: light skin tone", "unicode": "1f91e-1f3fb" }, ":fingers_crossed_tone2:": { "category": "people", "name": "crossed fingers: medium-light skin tone", "unicode": "1f91e-1f3fc" }, ":fingers_crossed_tone3:": { "category": "people", "name": "crossed fingers: medium skin tone", "unicode": "1f91e-1f3fd" }, ":fingers_crossed_tone4:": { "category": "people", "name": "crossed fingers: medium-dark skin tone", "unicode": "1f91e-1f3fe" }, ":fingers_crossed_tone5:": { "category": "people", "name": "crossed fingers: dark skin tone", "unicode": "1f91e-1f3ff" }, ":fire:": { "category": "nature", "name": "fire", "unicode": "1f525" }, ":fire_engine:": { "category": "travel", "name": "fire engine", "unicode": "1f692" }, ":fire_extinguisher:": { "category": "objects", "name": "fire extinguisher", "unicode": "1f9ef" }, ":firecracker:": { "category": "objects", "name": "firecracker", "unicode": "1f9e8" }, ":firefighter:": { "category": "people", "name": "firefighter", "unicode": "1f9d1-200d-1f692" }, ":firefighter_tone1:": { "category": "people", "name": "firefighter: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f692" }, ":firefighter_tone2:": { "category": "people", "name": "firefighter: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f692" }, ":firefighter_tone3:": { "category": "people", "name": "firefighter: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f692" }, ":firefighter_tone4:": { "category": "people", "name": "firefighter: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f692" }, ":firefighter_tone5:": { "category": "people", "name": "firefighter: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f692" }, ":fireworks:": { "category": "travel", "name": "fireworks", "unicode": "1f386" }, ":first_place:": { "category": "activity", "name": "1st place medal", "unicode": "1f947" }, ":first_quarter_moon:": { "category": "nature", "name": "first quarter moon", "unicode": "1f313" }, ":first_quarter_moon_with_face:": { "category": "nature", "name": "first quarter moon face", "unicode": "1f31b" }, ":fish:": { "category": "nature", "name": "fish", "unicode": "1f41f" }, ":fish_cake:": { "category": "food", "name": "fish cake with swirl", "unicode": "1f365" }, ":fishing_pole_and_fish:": { "category": "activity", "name": "fishing pole", "unicode": "1f3a3" }, ":fist:": { "category": "people", "name": "raised fist", "unicode": "270a" }, ":fist_tone1:": { "category": "people", "name": "raised fist: light skin tone", "unicode": "270a-1f3fb" }, ":fist_tone2:": { "category": "people", "name": "raised fist: medium-light skin tone", "unicode": "270a-1f3fc" }, ":fist_tone3:": { "category": "people", "name": "raised fist: medium skin tone", "unicode": "270a-1f3fd" }, ":fist_tone4:": { "category": "people", "name": "raised fist: medium-dark skin tone", "unicode": "270a-1f3fe" }, ":fist_tone5:": { "category": "people", "name": "raised fist: dark skin tone", "unicode": "270a-1f3ff" }, ":five:": { "category": "symbols", "name": "keycap: 5", "unicode": "35-20e3", "unicode_alt": "0035-20e3" }, ":flag_ac:": { "category": "flags", "name": "flag: Ascension Island", "unicode": "1f1e6-1f1e8" }, ":flag_ad:": { "category": "flags", "name": "flag: Andorra", "unicode": "1f1e6-1f1e9" }, ":flag_ae:": { "category": "flags", "name": "flag: United Arab Emirates", "unicode": "1f1e6-1f1ea" }, ":flag_af:": { "category": "flags", "name": "flag: Afghanistan", "unicode": "1f1e6-1f1eb" }, ":flag_ag:": { "category": "flags", "name": "flag: Antigua & Barbuda", "unicode": "1f1e6-1f1ec" }, ":flag_ai:": { "category": "flags", "name": "flag: Anguilla", "unicode": "1f1e6-1f1ee" }, ":flag_al:": { "category": "flags", "name": "flag: Albania", "unicode": "1f1e6-1f1f1" }, ":flag_am:": { "category": "flags", "name": "flag: Armenia", "unicode": "1f1e6-1f1f2" }, ":flag_ao:": { "category": "flags", "name": "flag: Angola", "unicode": "1f1e6-1f1f4" }, ":flag_aq:": { "category": "flags", "name": "flag: Antarctica", "unicode": "1f1e6-1f1f6" }, ":flag_ar:": { "category": "flags", "name": "flag: Argentina", "unicode": "1f1e6-1f1f7" }, ":flag_as:": { "category": "flags", "name": "flag: American Samoa", "unicode": "1f1e6-1f1f8" }, ":flag_at:": { "category": "flags", "name": "flag: Austria", "unicode": "1f1e6-1f1f9" }, ":flag_au:": { "category": "flags", "name": "flag: Australia", "unicode": "1f1e6-1f1fa" }, ":flag_aw:": { "category": "flags", "name": "flag: Aruba", "unicode": "1f1e6-1f1fc" }, ":flag_ax:": { "category": "flags", "name": "flag: \u00c5land Islands", "unicode": "1f1e6-1f1fd" }, ":flag_az:": { "category": "flags", "name": "flag: Azerbaijan", "unicode": "1f1e6-1f1ff" }, ":flag_ba:": { "category": "flags", "name": "flag: Bosnia & Herzegovina", "unicode": "1f1e7-1f1e6" }, ":flag_bb:": { "category": "flags", "name": "flag: Barbados", "unicode": "1f1e7-1f1e7" }, ":flag_bd:": { "category": "flags", "name": "flag: Bangladesh", "unicode": "1f1e7-1f1e9" }, ":flag_be:": { "category": "flags", "name": "flag: Belgium", "unicode": "1f1e7-1f1ea" }, ":flag_bf:": { "category": "flags", "name": "flag: Burkina Faso", "unicode": "1f1e7-1f1eb" }, ":flag_bg:": { "category": "flags", "name": "flag: Bulgaria", "unicode": "1f1e7-1f1ec" }, ":flag_bh:": { "category": "flags", "name": "flag: Bahrain", "unicode": "1f1e7-1f1ed" }, ":flag_bi:": { "category": "flags", "name": "flag: Burundi", "unicode": "1f1e7-1f1ee" }, ":flag_bj:": { "category": "flags", "name": "flag: Benin", "unicode": "1f1e7-1f1ef" }, ":flag_bl:": { "category": "flags", "name": "flag: St. Barth\u00e9lemy", "unicode": "1f1e7-1f1f1" }, ":flag_black:": { "category": "flags", "name": "black flag", "unicode": "1f3f4" }, ":flag_bm:": { "category": "flags", "name": "flag: Bermuda", "unicode": "1f1e7-1f1f2" }, ":flag_bn:": { "category": "flags", "name": "flag: Brunei", "unicode": "1f1e7-1f1f3" }, ":flag_bo:": { "category": "flags", "name": "flag: Bolivia", "unicode": "1f1e7-1f1f4" }, ":flag_bq:": { "category": "flags", "name": "flag: Caribbean Netherlands", "unicode": "1f1e7-1f1f6" }, ":flag_br:": { "category": "flags", "name": "flag: Brazil", "unicode": "1f1e7-1f1f7" }, ":flag_bs:": { "category": "flags", "name": "flag: Bahamas", "unicode": "1f1e7-1f1f8" }, ":flag_bt:": { "category": "flags", "name": "flag: Bhutan", "unicode": "1f1e7-1f1f9" }, ":flag_bv:": { "category": "flags", "name": "flag: Bouvet Island", "unicode": "1f1e7-1f1fb" }, ":flag_bw:": { "category": "flags", "name": "flag: Botswana", "unicode": "1f1e7-1f1fc" }, ":flag_by:": { "category": "flags", "name": "flag: Belarus", "unicode": "1f1e7-1f1fe" }, ":flag_bz:": { "category": "flags", "name": "flag: Belize", "unicode": "1f1e7-1f1ff" }, ":flag_ca:": { "category": "flags", "name": "flag: Canada", "unicode": "1f1e8-1f1e6" }, ":flag_cc:": { "category": "flags", "name": "flag: Cocos (Keeling) Islands", "unicode": "1f1e8-1f1e8" }, ":flag_cd:": { "category": "flags", "name": "flag: Congo - Kinshasa", "unicode": "1f1e8-1f1e9" }, ":flag_cf:": { "category": "flags", "name": "flag: Central African Republic", "unicode": "1f1e8-1f1eb" }, ":flag_cg:": { "category": "flags", "name": "flag: Congo - Brazzaville", "unicode": "1f1e8-1f1ec" }, ":flag_ch:": { "category": "flags", "name": "flag: Switzerland", "unicode": "1f1e8-1f1ed" }, ":flag_ci:": { "category": "flags", "name": "flag: C\u00f4te d\u2019Ivoire", "unicode": "1f1e8-1f1ee" }, ":flag_ck:": { "category": "flags", "name": "flag: Cook Islands", "unicode": "1f1e8-1f1f0" }, ":flag_cl:": { "category": "flags", "name": "flag: Chile", "unicode": "1f1e8-1f1f1" }, ":flag_cm:": { "category": "flags", "name": "flag: Cameroon", "unicode": "1f1e8-1f1f2" }, ":flag_cn:": { "category": "flags", "name": "flag: China", "unicode": "1f1e8-1f1f3" }, ":flag_co:": { "category": "flags", "name": "flag: Colombia", "unicode": "1f1e8-1f1f4" }, ":flag_cp:": { "category": "flags", "name": "flag: Clipperton Island", "unicode": "1f1e8-1f1f5" }, ":flag_cr:": { "category": "flags", "name": "flag: Costa Rica", "unicode": "1f1e8-1f1f7" }, ":flag_cu:": { "category": "flags", "name": "flag: Cuba", "unicode": "1f1e8-1f1fa" }, ":flag_cv:": { "category": "flags", "name": "flag: Cape Verde", "unicode": "1f1e8-1f1fb" }, ":flag_cw:": { "category": "flags", "name": "flag: Cura\u00e7ao", "unicode": "1f1e8-1f1fc" }, ":flag_cx:": { "category": "flags", "name": "flag: Christmas Island", "unicode": "1f1e8-1f1fd" }, ":flag_cy:": { "category": "flags", "name": "flag: Cyprus", "unicode": "1f1e8-1f1fe" }, ":flag_cz:": { "category": "flags", "name": "flag: Czechia", "unicode": "1f1e8-1f1ff" }, ":flag_de:": { "category": "flags", "name": "flag: Germany", "unicode": "1f1e9-1f1ea" }, ":flag_dg:": { "category": "flags", "name": "flag: Diego Garcia", "unicode": "1f1e9-1f1ec" }, ":flag_dj:": { "category": "flags", "name": "flag: Djibouti", "unicode": "1f1e9-1f1ef" }, ":flag_dk:": { "category": "flags", "name": "flag: Denmark", "unicode": "1f1e9-1f1f0" }, ":flag_dm:": { "category": "flags", "name": "flag: Dominica", "unicode": "1f1e9-1f1f2" }, ":flag_do:": { "category": "flags", "name": "flag: Dominican Republic", "unicode": "1f1e9-1f1f4" }, ":flag_dz:": { "category": "flags", "name": "flag: Algeria", "unicode": "1f1e9-1f1ff" }, ":flag_ea:": { "category": "flags", "name": "flag: Ceuta & Melilla", "unicode": "1f1ea-1f1e6" }, ":flag_ec:": { "category": "flags", "name": "flag: Ecuador", "unicode": "1f1ea-1f1e8" }, ":flag_ee:": { "category": "flags", "name": "flag: Estonia", "unicode": "1f1ea-1f1ea" }, ":flag_eg:": { "category": "flags", "name": "flag: Egypt", "unicode": "1f1ea-1f1ec" }, ":flag_eh:": { "category": "flags", "name": "flag: Western Sahara", "unicode": "1f1ea-1f1ed" }, ":flag_er:": { "category": "flags", "name": "flag: Eritrea", "unicode": "1f1ea-1f1f7" }, ":flag_es:": { "category": "flags", "name": "flag: Spain", "unicode": "1f1ea-1f1f8" }, ":flag_et:": { "category": "flags", "name": "flag: Ethiopia", "unicode": "1f1ea-1f1f9" }, ":flag_eu:": { "category": "flags", "name": "flag: European Union", "unicode": "1f1ea-1f1fa" }, ":flag_fi:": { "category": "flags", "name": "flag: Finland", "unicode": "1f1eb-1f1ee" }, ":flag_fj:": { "category": "flags", "name": "flag: Fiji", "unicode": "1f1eb-1f1ef" }, ":flag_fk:": { "category": "flags", "name": "flag: Falkland Islands", "unicode": "1f1eb-1f1f0" }, ":flag_fm:": { "category": "flags", "name": "flag: Micronesia", "unicode": "1f1eb-1f1f2" }, ":flag_fo:": { "category": "flags", "name": "flag: Faroe Islands", "unicode": "1f1eb-1f1f4" }, ":flag_fr:": { "category": "flags", "name": "flag: France", "unicode": "1f1eb-1f1f7" }, ":flag_ga:": { "category": "flags", "name": "flag: Gabon", "unicode": "1f1ec-1f1e6" }, ":flag_gb:": { "category": "flags", "name": "flag: United Kingdom", "unicode": "1f1ec-1f1e7" }, ":flag_gd:": { "category": "flags", "name": "flag: Grenada", "unicode": "1f1ec-1f1e9" }, ":flag_ge:": { "category": "flags", "name": "flag: Georgia", "unicode": "1f1ec-1f1ea" }, ":flag_gf:": { "category": "flags", "name": "flag: French Guiana", "unicode": "1f1ec-1f1eb" }, ":flag_gg:": { "category": "flags", "name": "flag: Guernsey", "unicode": "1f1ec-1f1ec" }, ":flag_gh:": { "category": "flags", "name": "flag: Ghana", "unicode": "1f1ec-1f1ed" }, ":flag_gi:": { "category": "flags", "name": "flag: Gibraltar", "unicode": "1f1ec-1f1ee" }, ":flag_gl:": { "category": "flags", "name": "flag: Greenland", "unicode": "1f1ec-1f1f1" }, ":flag_gm:": { "category": "flags", "name": "flag: Gambia", "unicode": "1f1ec-1f1f2" }, ":flag_gn:": { "category": "flags", "name": "flag: Guinea", "unicode": "1f1ec-1f1f3" }, ":flag_gp:": { "category": "flags", "name": "flag: Guadeloupe", "unicode": "1f1ec-1f1f5" }, ":flag_gq:": { "category": "flags", "name": "flag: Equatorial Guinea", "unicode": "1f1ec-1f1f6" }, ":flag_gr:": { "category": "flags", "name": "flag: Greece", "unicode": "1f1ec-1f1f7" }, ":flag_gs:": { "category": "flags", "name": "flag: South Georgia & South Sandwich Islands", "unicode": "1f1ec-1f1f8" }, ":flag_gt:": { "category": "flags", "name": "flag: Guatemala", "unicode": "1f1ec-1f1f9" }, ":flag_gu:": { "category": "flags", "name": "flag: Guam", "unicode": "1f1ec-1f1fa" }, ":flag_gw:": { "category": "flags", "name": "flag: Guinea-Bissau", "unicode": "1f1ec-1f1fc" }, ":flag_gy:": { "category": "flags", "name": "flag: Guyana", "unicode": "1f1ec-1f1fe" }, ":flag_hk:": { "category": "flags", "name": "flag: Hong Kong SAR China", "unicode": "1f1ed-1f1f0" }, ":flag_hm:": { "category": "flags", "name": "flag: Heard & McDonald Islands", "unicode": "1f1ed-1f1f2" }, ":flag_hn:": { "category": "flags", "name": "flag: Honduras", "unicode": "1f1ed-1f1f3" }, ":flag_hr:": { "category": "flags", "name": "flag: Croatia", "unicode": "1f1ed-1f1f7" }, ":flag_ht:": { "category": "flags", "name": "flag: Haiti", "unicode": "1f1ed-1f1f9" }, ":flag_hu:": { "category": "flags", "name": "flag: Hungary", "unicode": "1f1ed-1f1fa" }, ":flag_ic:": { "category": "flags", "name": "flag: Canary Islands", "unicode": "1f1ee-1f1e8" }, ":flag_id:": { "category": "flags", "name": "flag: Indonesia", "unicode": "1f1ee-1f1e9" }, ":flag_ie:": { "category": "flags", "name": "flag: Ireland", "unicode": "1f1ee-1f1ea" }, ":flag_il:": { "category": "flags", "name": "flag: Israel", "unicode": "1f1ee-1f1f1" }, ":flag_im:": { "category": "flags", "name": "flag: Isle of Man", "unicode": "1f1ee-1f1f2" }, ":flag_in:": { "category": "flags", "name": "flag: India", "unicode": "1f1ee-1f1f3" }, ":flag_io:": { "category": "flags", "name": "flag: British Indian Ocean Territory", "unicode": "1f1ee-1f1f4" }, ":flag_iq:": { "category": "flags", "name": "flag: Iraq", "unicode": "1f1ee-1f1f6" }, ":flag_ir:": { "category": "flags", "name": "flag: Iran", "unicode": "1f1ee-1f1f7" }, ":flag_is:": { "category": "flags", "name": "flag: Iceland", "unicode": "1f1ee-1f1f8" }, ":flag_it:": { "category": "flags", "name": "flag: Italy", "unicode": "1f1ee-1f1f9" }, ":flag_je:": { "category": "flags", "name": "flag: Jersey", "unicode": "1f1ef-1f1ea" }, ":flag_jm:": { "category": "flags", "name": "flag: Jamaica", "unicode": "1f1ef-1f1f2" }, ":flag_jo:": { "category": "flags", "name": "flag: Jordan", "unicode": "1f1ef-1f1f4" }, ":flag_jp:": { "category": "flags", "name": "flag: Japan", "unicode": "1f1ef-1f1f5" }, ":flag_ke:": { "category": "flags", "name": "flag: Kenya", "unicode": "1f1f0-1f1ea" }, ":flag_kg:": { "category": "flags", "name": "flag: Kyrgyzstan", "unicode": "1f1f0-1f1ec" }, ":flag_kh:": { "category": "flags", "name": "flag: Cambodia", "unicode": "1f1f0-1f1ed" }, ":flag_ki:": { "category": "flags", "name": "flag: Kiribati", "unicode": "1f1f0-1f1ee" }, ":flag_km:": { "category": "flags", "name": "flag: Comoros", "unicode": "1f1f0-1f1f2" }, ":flag_kn:": { "category": "flags", "name": "flag: St. Kitts & Nevis", "unicode": "1f1f0-1f1f3" }, ":flag_kp:": { "category": "flags", "name": "flag: North Korea", "unicode": "1f1f0-1f1f5" }, ":flag_kr:": { "category": "flags", "name": "flag: South Korea", "unicode": "1f1f0-1f1f7" }, ":flag_kw:": { "category": "flags", "name": "flag: Kuwait", "unicode": "1f1f0-1f1fc" }, ":flag_ky:": { "category": "flags", "name": "flag: Cayman Islands", "unicode": "1f1f0-1f1fe" }, ":flag_kz:": { "category": "flags", "name": "flag: Kazakhstan", "unicode": "1f1f0-1f1ff" }, ":flag_la:": { "category": "flags", "name": "flag: Laos", "unicode": "1f1f1-1f1e6" }, ":flag_lb:": { "category": "flags", "name": "flag: Lebanon", "unicode": "1f1f1-1f1e7" }, ":flag_lc:": { "category": "flags", "name": "flag: St. Lucia", "unicode": "1f1f1-1f1e8" }, ":flag_li:": { "category": "flags", "name": "flag: Liechtenstein", "unicode": "1f1f1-1f1ee" }, ":flag_lk:": { "category": "flags", "name": "flag: Sri Lanka", "unicode": "1f1f1-1f1f0" }, ":flag_lr:": { "category": "flags", "name": "flag: Liberia", "unicode": "1f1f1-1f1f7" }, ":flag_ls:": { "category": "flags", "name": "flag: Lesotho", "unicode": "1f1f1-1f1f8" }, ":flag_lt:": { "category": "flags", "name": "flag: Lithuania", "unicode": "1f1f1-1f1f9" }, ":flag_lu:": { "category": "flags", "name": "flag: Luxembourg", "unicode": "1f1f1-1f1fa" }, ":flag_lv:": { "category": "flags", "name": "flag: Latvia", "unicode": "1f1f1-1f1fb" }, ":flag_ly:": { "category": "flags", "name": "flag: Libya", "unicode": "1f1f1-1f1fe" }, ":flag_ma:": { "category": "flags", "name": "flag: Morocco", "unicode": "1f1f2-1f1e6" }, ":flag_mc:": { "category": "flags", "name": "flag: Monaco", "unicode": "1f1f2-1f1e8" }, ":flag_md:": { "category": "flags", "name": "flag: Moldova", "unicode": "1f1f2-1f1e9" }, ":flag_me:": { "category": "flags", "name": "flag: Montenegro", "unicode": "1f1f2-1f1ea" }, ":flag_mf:": { "category": "flags", "name": "flag: St. Martin", "unicode": "1f1f2-1f1eb" }, ":flag_mg:": { "category": "flags", "name": "flag: Madagascar", "unicode": "1f1f2-1f1ec" }, ":flag_mh:": { "category": "flags", "name": "flag: Marshall Islands", "unicode": "1f1f2-1f1ed" }, ":flag_mk:": { "category": "flags", "name": "flag: Macedonia", "unicode": "1f1f2-1f1f0" }, ":flag_ml:": { "category": "flags", "name": "flag: Mali", "unicode": "1f1f2-1f1f1" }, ":flag_mm:": { "category": "flags", "name": "flag: Myanmar (Burma)", "unicode": "1f1f2-1f1f2" }, ":flag_mn:": { "category": "flags", "name": "flag: Mongolia", "unicode": "1f1f2-1f1f3" }, ":flag_mo:": { "category": "flags", "name": "flag: Macao SAR China", "unicode": "1f1f2-1f1f4" }, ":flag_mp:": { "category": "flags", "name": "flag: Northern Mariana Islands", "unicode": "1f1f2-1f1f5" }, ":flag_mq:": { "category": "flags", "name": "flag: Martinique", "unicode": "1f1f2-1f1f6" }, ":flag_mr:": { "category": "flags", "name": "flag: Mauritania", "unicode": "1f1f2-1f1f7" }, ":flag_ms:": { "category": "flags", "name": "flag: Montserrat", "unicode": "1f1f2-1f1f8" }, ":flag_mt:": { "category": "flags", "name": "flag: Malta", "unicode": "1f1f2-1f1f9" }, ":flag_mu:": { "category": "flags", "name": "flag: Mauritius", "unicode": "1f1f2-1f1fa" }, ":flag_mv:": { "category": "flags", "name": "flag: Maldives", "unicode": "1f1f2-1f1fb" }, ":flag_mw:": { "category": "flags", "name": "flag: Malawi", "unicode": "1f1f2-1f1fc" }, ":flag_mx:": { "category": "flags", "name": "flag: Mexico", "unicode": "1f1f2-1f1fd" }, ":flag_my:": { "category": "flags", "name": "flag: Malaysia", "unicode": "1f1f2-1f1fe" }, ":flag_mz:": { "category": "flags", "name": "flag: Mozambique", "unicode": "1f1f2-1f1ff" }, ":flag_na:": { "category": "flags", "name": "flag: Namibia", "unicode": "1f1f3-1f1e6" }, ":flag_nc:": { "category": "flags", "name": "flag: New Caledonia", "unicode": "1f1f3-1f1e8" }, ":flag_ne:": { "category": "flags", "name": "flag: Niger", "unicode": "1f1f3-1f1ea" }, ":flag_nf:": { "category": "flags", "name": "flag: Norfolk Island", "unicode": "1f1f3-1f1eb" }, ":flag_ng:": { "category": "flags", "name": "flag: Nigeria", "unicode": "1f1f3-1f1ec" }, ":flag_ni:": { "category": "flags", "name": "flag: Nicaragua", "unicode": "1f1f3-1f1ee" }, ":flag_nl:": { "category": "flags", "name": "flag: Netherlands", "unicode": "1f1f3-1f1f1" }, ":flag_no:": { "category": "flags", "name": "flag: Norway", "unicode": "1f1f3-1f1f4" }, ":flag_np:": { "category": "flags", "name": "flag: Nepal", "unicode": "1f1f3-1f1f5" }, ":flag_nr:": { "category": "flags", "name": "flag: Nauru", "unicode": "1f1f3-1f1f7" }, ":flag_nu:": { "category": "flags", "name": "flag: Niue", "unicode": "1f1f3-1f1fa" }, ":flag_nz:": { "category": "flags", "name": "flag: New Zealand", "unicode": "1f1f3-1f1ff" }, ":flag_om:": { "category": "flags", "name": "flag: Oman", "unicode": "1f1f4-1f1f2" }, ":flag_pa:": { "category": "flags", "name": "flag: Panama", "unicode": "1f1f5-1f1e6" }, ":flag_pe:": { "category": "flags", "name": "flag: Peru", "unicode": "1f1f5-1f1ea" }, ":flag_pf:": { "category": "flags", "name": "flag: French Polynesia", "unicode": "1f1f5-1f1eb" }, ":flag_pg:": { "category": "flags", "name": "flag: Papua New Guinea", "unicode": "1f1f5-1f1ec" }, ":flag_ph:": { "category": "flags", "name": "flag: Philippines", "unicode": "1f1f5-1f1ed" }, ":flag_pk:": { "category": "flags", "name": "flag: Pakistan", "unicode": "1f1f5-1f1f0" }, ":flag_pl:": { "category": "flags", "name": "flag: Poland", "unicode": "1f1f5-1f1f1" }, ":flag_pm:": { "category": "flags", "name": "flag: St. Pierre & Miquelon", "unicode": "1f1f5-1f1f2" }, ":flag_pn:": { "category": "flags", "name": "flag: Pitcairn Islands", "unicode": "1f1f5-1f1f3" }, ":flag_pr:": { "category": "flags", "name": "flag: Puerto Rico", "unicode": "1f1f5-1f1f7" }, ":flag_ps:": { "category": "flags", "name": "flag: Palestinian Territories", "unicode": "1f1f5-1f1f8" }, ":flag_pt:": { "category": "flags", "name": "flag: Portugal", "unicode": "1f1f5-1f1f9" }, ":flag_pw:": { "category": "flags", "name": "flag: Palau", "unicode": "1f1f5-1f1fc" }, ":flag_py:": { "category": "flags", "name": "flag: Paraguay", "unicode": "1f1f5-1f1fe" }, ":flag_qa:": { "category": "flags", "name": "flag: Qatar", "unicode": "1f1f6-1f1e6" }, ":flag_re:": { "category": "flags", "name": "flag: R\u00e9union", "unicode": "1f1f7-1f1ea" }, ":flag_ro:": { "category": "flags", "name": "flag: Romania", "unicode": "1f1f7-1f1f4" }, ":flag_rs:": { "category": "flags", "name": "flag: Serbia", "unicode": "1f1f7-1f1f8" }, ":flag_ru:": { "category": "flags", "name": "flag: Russia", "unicode": "1f1f7-1f1fa" }, ":flag_rw:": { "category": "flags", "name": "flag: Rwanda", "unicode": "1f1f7-1f1fc" }, ":flag_sa:": { "category": "flags", "name": "flag: Saudi Arabia", "unicode": "1f1f8-1f1e6" }, ":flag_sb:": { "category": "flags", "name": "flag: Solomon Islands", "unicode": "1f1f8-1f1e7" }, ":flag_sc:": { "category": "flags", "name": "flag: Seychelles", "unicode": "1f1f8-1f1e8" }, ":flag_sd:": { "category": "flags", "name": "flag: Sudan", "unicode": "1f1f8-1f1e9" }, ":flag_se:": { "category": "flags", "name": "flag: Sweden", "unicode": "1f1f8-1f1ea" }, ":flag_sg:": { "category": "flags", "name": "flag: Singapore", "unicode": "1f1f8-1f1ec" }, ":flag_sh:": { "category": "flags", "name": "flag: St. Helena", "unicode": "1f1f8-1f1ed" }, ":flag_si:": { "category": "flags", "name": "flag: Slovenia", "unicode": "1f1f8-1f1ee" }, ":flag_sj:": { "category": "flags", "name": "flag: Svalbard & Jan Mayen", "unicode": "1f1f8-1f1ef" }, ":flag_sk:": { "category": "flags", "name": "flag: Slovakia", "unicode": "1f1f8-1f1f0" }, ":flag_sl:": { "category": "flags", "name": "flag: Sierra Leone", "unicode": "1f1f8-1f1f1" }, ":flag_sm:": { "category": "flags", "name": "flag: San Marino", "unicode": "1f1f8-1f1f2" }, ":flag_sn:": { "category": "flags", "name": "flag: Senegal", "unicode": "1f1f8-1f1f3" }, ":flag_so:": { "category": "flags", "name": "flag: Somalia", "unicode": "1f1f8-1f1f4" }, ":flag_sr:": { "category": "flags", "name": "flag: Suriname", "unicode": "1f1f8-1f1f7" }, ":flag_ss:": { "category": "flags", "name": "flag: South Sudan", "unicode": "1f1f8-1f1f8" }, ":flag_st:": { "category": "flags", "name": "flag: S\u00e3o Tom\u00e9 & Pr\u00edncipe", "unicode": "1f1f8-1f1f9" }, ":flag_sv:": { "category": "flags", "name": "flag: El Salvador", "unicode": "1f1f8-1f1fb" }, ":flag_sx:": { "category": "flags", "name": "flag: Sint Maarten", "unicode": "1f1f8-1f1fd" }, ":flag_sy:": { "category": "flags", "name": "flag: Syria", "unicode": "1f1f8-1f1fe" }, ":flag_sz:": { "category": "flags", "name": "flag: Eswatini", "unicode": "1f1f8-1f1ff" }, ":flag_ta:": { "category": "flags", "name": "flag: Tristan da Cunha", "unicode": "1f1f9-1f1e6" }, ":flag_tc:": { "category": "flags", "name": "flag: Turks & Caicos Islands", "unicode": "1f1f9-1f1e8" }, ":flag_td:": { "category": "flags", "name": "flag: Chad", "unicode": "1f1f9-1f1e9" }, ":flag_tf:": { "category": "flags", "name": "flag: French Southern Territories", "unicode": "1f1f9-1f1eb" }, ":flag_tg:": { "category": "flags", "name": "flag: Togo", "unicode": "1f1f9-1f1ec" }, ":flag_th:": { "category": "flags", "name": "flag: Thailand", "unicode": "1f1f9-1f1ed" }, ":flag_tj:": { "category": "flags", "name": "flag: Tajikistan", "unicode": "1f1f9-1f1ef" }, ":flag_tk:": { "category": "flags", "name": "flag: Tokelau", "unicode": "1f1f9-1f1f0" }, ":flag_tl:": { "category": "flags", "name": "flag: Timor-Leste", "unicode": "1f1f9-1f1f1" }, ":flag_tm:": { "category": "flags", "name": "flag: Turkmenistan", "unicode": "1f1f9-1f1f2" }, ":flag_tn:": { "category": "flags", "name": "flag: Tunisia", "unicode": "1f1f9-1f1f3" }, ":flag_to:": { "category": "flags", "name": "flag: Tonga", "unicode": "1f1f9-1f1f4" }, ":flag_tr:": { "category": "flags", "name": "flag: Turkey", "unicode": "1f1f9-1f1f7" }, ":flag_tt:": { "category": "flags", "name": "flag: Trinidad & Tobago", "unicode": "1f1f9-1f1f9" }, ":flag_tv:": { "category": "flags", "name": "flag: Tuvalu", "unicode": "1f1f9-1f1fb" }, ":flag_tw:": { "category": "flags", "name": "flag: Taiwan", "unicode": "1f1f9-1f1fc" }, ":flag_tz:": { "category": "flags", "name": "flag: Tanzania", "unicode": "1f1f9-1f1ff" }, ":flag_ua:": { "category": "flags", "name": "flag: Ukraine", "unicode": "1f1fa-1f1e6" }, ":flag_ug:": { "category": "flags", "name": "flag: Uganda", "unicode": "1f1fa-1f1ec" }, ":flag_um:": { "category": "flags", "name": "flag: U.S. Outlying Islands", "unicode": "1f1fa-1f1f2" }, ":flag_us:": { "category": "flags", "name": "flag: United States", "unicode": "1f1fa-1f1f8" }, ":flag_uy:": { "category": "flags", "name": "flag: Uruguay", "unicode": "1f1fa-1f1fe" }, ":flag_uz:": { "category": "flags", "name": "flag: Uzbekistan", "unicode": "1f1fa-1f1ff" }, ":flag_va:": { "category": "flags", "name": "flag: Vatican City", "unicode": "1f1fb-1f1e6" }, ":flag_vc:": { "category": "flags", "name": "flag: St. Vincent & Grenadines", "unicode": "1f1fb-1f1e8" }, ":flag_ve:": { "category": "flags", "name": "flag: Venezuela", "unicode": "1f1fb-1f1ea" }, ":flag_vg:": { "category": "flags", "name": "flag: British Virgin Islands", "unicode": "1f1fb-1f1ec" }, ":flag_vi:": { "category": "flags", "name": "flag: U.S. Virgin Islands", "unicode": "1f1fb-1f1ee" }, ":flag_vn:": { "category": "flags", "name": "flag: Vietnam", "unicode": "1f1fb-1f1f3" }, ":flag_vu:": { "category": "flags", "name": "flag: Vanuatu", "unicode": "1f1fb-1f1fa" }, ":flag_wf:": { "category": "flags", "name": "flag: Wallis & Futuna", "unicode": "1f1fc-1f1eb" }, ":flag_white:": { "category": "flags", "name": "white flag", "unicode": "1f3f3" }, ":flag_ws:": { "category": "flags", "name": "flag: Samoa", "unicode": "1f1fc-1f1f8" }, ":flag_xk:": { "category": "flags", "name": "flag: Kosovo", "unicode": "1f1fd-1f1f0" }, ":flag_ye:": { "category": "flags", "name": "flag: Yemen", "unicode": "1f1fe-1f1ea" }, ":flag_yt:": { "category": "flags", "name": "flag: Mayotte", "unicode": "1f1fe-1f1f9" }, ":flag_za:": { "category": "flags", "name": "flag: South Africa", "unicode": "1f1ff-1f1e6" }, ":flag_zm:": { "category": "flags", "name": "flag: Zambia", "unicode": "1f1ff-1f1f2" }, ":flag_zw:": { "category": "flags", "name": "flag: Zimbabwe", "unicode": "1f1ff-1f1fc" }, ":flags:": { "category": "objects", "name": "carp streamer", "unicode": "1f38f" }, ":flamingo:": { "category": "nature", "name": "flamingo", "unicode": "1f9a9" }, ":flashlight:": { "category": "objects", "name": "flashlight", "unicode": "1f526" }, ":flatbread:": { "category": "food", "name": "flatbread", "unicode": "1fad3" }, ":fleur-de-lis:": { "category": "symbols", "name": "fleur-de-lis", "unicode": "269c" }, ":floppy_disk:": { "category": "objects", "name": "floppy disk", "unicode": "1f4be" }, ":flower_playing_cards:": { "category": "symbols", "name": "flower playing cards", "unicode": "1f3b4" }, ":flushed:": { "category": "people", "name": "flushed face", "unicode": "1f633" }, ":flute:": { "category": "activity", "name": "flute", "unicode": "1fa88" }, ":fly:": { "category": "nature", "name": "fly", "unicode": "1fab0" }, ":flying_disc:": { "category": "activity", "name": "flying disc", "unicode": "1f94f" }, ":flying_saucer:": { "category": "travel", "name": "flying saucer", "unicode": "1f6f8" }, ":fog:": { "category": "nature", "name": "fog", "unicode": "1f32b" }, ":foggy:": { "category": "travel", "name": "foggy", "unicode": "1f301" }, ":folding_hand_fan:": { "category": "objects", "name": "folding hand fan", "unicode": "1faad" }, ":fondue:": { "category": "food", "name": "fondue", "unicode": "1fad5" }, ":foot:": { "category": "people", "name": "foot", "unicode": "1f9b6" }, ":foot_tone1:": { "category": "people", "name": "foot: light skin tone", "unicode": "1f9b6-1f3fb" }, ":foot_tone2:": { "category": "people", "name": "foot: medium-light skin tone", "unicode": "1f9b6-1f3fc" }, ":foot_tone3:": { "category": "people", "name": "foot: medium skin tone", "unicode": "1f9b6-1f3fd" }, ":foot_tone4:": { "category": "people", "name": "foot: medium-dark skin tone", "unicode": "1f9b6-1f3fe" }, ":foot_tone5:": { "category": "people", "name": "foot: dark skin tone", "unicode": "1f9b6-1f3ff" }, ":football:": { "category": "activity", "name": "american football", "unicode": "1f3c8" }, ":footprints:": { "category": "people", "name": "footprints", "unicode": "1f463" }, ":fork_and_knife:": { "category": "food", "name": "fork and knife", "unicode": "1f374" }, ":fork_knife_plate:": { "category": "food", "name": "fork and knife with plate", "unicode": "1f37d" }, ":fortune_cookie:": { "category": "food", "name": "fortune cookie", "unicode": "1f960" }, ":fountain:": { "category": "travel", "name": "fountain", "unicode": "26f2" }, ":four:": { "category": "symbols", "name": "keycap: 4", "unicode": "34-20e3", "unicode_alt": "0034-20e3" }, ":four_leaf_clover:": { "category": "nature", "name": "four leaf clover", "unicode": "1f340" }, ":fox:": { "category": "nature", "name": "fox", "unicode": "1f98a" }, ":frame_photo:": { "category": "objects", "name": "framed picture", "unicode": "1f5bc" }, ":free:": { "category": "symbols", "name": "FREE button", "unicode": "1f193" }, ":french_bread:": { "category": "food", "name": "baguette bread", "unicode": "1f956" }, ":fried_shrimp:": { "category": "food", "name": "fried shrimp", "unicode": "1f364" }, ":fries:": { "category": "food", "name": "french fries", "unicode": "1f35f" }, ":frog:": { "category": "nature", "name": "frog", "unicode": "1f438" }, ":frowning2:": { "category": "people", "name": "frowning face", "unicode": "2639" }, ":frowning:": { "category": "people", "name": "frowning face with open mouth", "unicode": "1f626" }, ":fuelpump:": { "category": "travel", "name": "fuel pump", "unicode": "26fd" }, ":full_moon:": { "category": "nature", "name": "full moon", "unicode": "1f315" }, ":full_moon_with_face:": { "category": "nature", "name": "full moon face", "unicode": "1f31d" }, ":game_die:": { "category": "activity", "name": "game die", "unicode": "1f3b2" }, ":garlic:": { "category": "food", "name": "garlic", "unicode": "1f9c4" }, ":gear:": { "category": "objects", "name": "gear", "unicode": "2699" }, ":gem:": { "category": "objects", "name": "gem stone", "unicode": "1f48e" }, ":gemini:": { "category": "symbols", "name": "Gemini", "unicode": "264a" }, ":genie:": { "category": "people", "name": "genie", "unicode": "1f9de" }, ":ghost:": { "category": "people", "name": "ghost", "unicode": "1f47b" }, ":gift:": { "category": "objects", "name": "wrapped gift", "unicode": "1f381" }, ":gift_heart:": { "category": "symbols", "name": "heart with ribbon", "unicode": "1f49d" }, ":ginger_root:": { "category": "food", "name": "ginger root", "unicode": "1fada" }, ":giraffe:": { "category": "nature", "name": "giraffe", "unicode": "1f992" }, ":girl:": { "category": "people", "name": "girl", "unicode": "1f467" }, ":girl_tone1:": { "category": "people", "name": "girl: light skin tone", "unicode": "1f467-1f3fb" }, ":girl_tone2:": { "category": "people", "name": "girl: medium-light skin tone", "unicode": "1f467-1f3fc" }, ":girl_tone3:": { "category": "people", "name": "girl: medium skin tone", "unicode": "1f467-1f3fd" }, ":girl_tone4:": { "category": "people", "name": "girl: medium-dark skin tone", "unicode": "1f467-1f3fe" }, ":girl_tone5:": { "category": "people", "name": "girl: dark skin tone", "unicode": "1f467-1f3ff" }, ":globe_with_meridians:": { "category": "symbols", "name": "globe with meridians", "unicode": "1f310" }, ":gloves:": { "category": "people", "name": "gloves", "unicode": "1f9e4" }, ":goal:": { "category": "activity", "name": "goal net", "unicode": "1f945" }, ":goat:": { "category": "nature", "name": "goat", "unicode": "1f410" }, ":goggles:": { "category": "people", "name": "goggles", "unicode": "1f97d" }, ":golf:": { "category": "activity", "name": "flag in hole", "unicode": "26f3" }, ":goose:": { "category": "nature", "name": "goose", "unicode": "1fabf" }, ":gorilla:": { "category": "nature", "name": "gorilla", "unicode": "1f98d" }, ":grapes:": { "category": "food", "name": "grapes", "unicode": "1f347" }, ":green_apple:": { "category": "food", "name": "green apple", "unicode": "1f34f" }, ":green_book:": { "category": "objects", "name": "green book", "unicode": "1f4d7" }, ":green_circle:": { "category": "symbols", "name": "green circle", "unicode": "1f7e2" }, ":green_heart:": { "category": "symbols", "name": "green heart", "unicode": "1f49a" }, ":green_square:": { "category": "symbols", "name": "green square", "unicode": "1f7e9" }, ":grey_exclamation:": { "category": "symbols", "name": "white exclamation mark", "unicode": "2755" }, ":grey_heart:": { "category": "symbols", "name": "grey heart", "unicode": "1fa76" }, ":grey_question:": { "category": "symbols", "name": "white question mark", "unicode": "2754" }, ":grimacing:": { "category": "people", "name": "grimacing face", "unicode": "1f62c" }, ":grin:": { "category": "people", "name": "beaming face with smiling eyes", "unicode": "1f601" }, ":grinning:": { "category": "people", "name": "grinning face", "unicode": "1f600" }, ":guard:": { "category": "people", "name": "guard", "unicode": "1f482" }, ":guard_tone1:": { "category": "people", "name": "guard: light skin tone", "unicode": "1f482-1f3fb" }, ":guard_tone2:": { "category": "people", "name": "guard: medium-light skin tone", "unicode": "1f482-1f3fc" }, ":guard_tone3:": { "category": "people", "name": "guard: medium skin tone", "unicode": "1f482-1f3fd" }, ":guard_tone4:": { "category": "people", "name": "guard: medium-dark skin tone", "unicode": "1f482-1f3fe" }, ":guard_tone5:": { "category": "people", "name": "guard: dark skin tone", "unicode": "1f482-1f3ff" }, ":guide_dog:": { "category": "nature", "name": "guide dog", "unicode": "1f9ae" }, ":guitar:": { "category": "activity", "name": "guitar", "unicode": "1f3b8" }, ":gun:": { "category": "objects", "name": "pistol", "unicode": "1f52b" }, ":hair_pick:": { "category": "objects", "name": "hair pick", "unicode": "1faae" }, ":hamburger:": { "category": "food", "name": "hamburger", "unicode": "1f354" }, ":hammer:": { "category": "objects", "name": "hammer", "unicode": "1f528" }, ":hammer_pick:": { "category": "objects", "name": "hammer and pick", "unicode": "2692" }, ":hamsa:": { "category": "objects", "name": "hamsa", "unicode": "1faac" }, ":hamster:": { "category": "nature", "name": "hamster", "unicode": "1f439" }, ":hand_splayed:": { "category": "people", "name": "hand with fingers splayed", "unicode": "1f590" }, ":hand_splayed_tone1:": { "category": "people", "name": "hand with fingers splayed: light skin tone", "unicode": "1f590-1f3fb" }, ":hand_splayed_tone2:": { "category": "people", "name": "hand with fingers splayed: medium-light skin tone", "unicode": "1f590-1f3fc" }, ":hand_splayed_tone3:": { "category": "people", "name": "hand with fingers splayed: medium skin tone", "unicode": "1f590-1f3fd" }, ":hand_splayed_tone4:": { "category": "people", "name": "hand with fingers splayed: medium-dark skin tone", "unicode": "1f590-1f3fe" }, ":hand_splayed_tone5:": { "category": "people", "name": "hand with fingers splayed: dark skin tone", "unicode": "1f590-1f3ff" }, ":hand_with_index_finger_and_thumb_crossed:": { "category": "people", "name": "hand with index finger and thumb crossed", "unicode": "1faf0" }, ":hand_with_index_finger_and_thumb_crossed_tone1:": { "category": "people", "name": "hand with index finger and thumb crossed: light skin tone", "unicode": "1faf0-1f3fb" }, ":hand_with_index_finger_and_thumb_crossed_tone2:": { "category": "people", "name": "hand with index finger and thumb crossed: medium-light skin tone", "unicode": "1faf0-1f3fc" }, ":hand_with_index_finger_and_thumb_crossed_tone3:": { "category": "people", "name": "hand with index finger and thumb crossed: medium skin tone", "unicode": "1faf0-1f3fd" }, ":hand_with_index_finger_and_thumb_crossed_tone4:": { "category": "people", "name": "hand with index finger and thumb crossed: medium-dark skin tone", "unicode": "1faf0-1f3fe" }, ":hand_with_index_finger_and_thumb_crossed_tone5:": { "category": "people", "name": "hand with index finger and thumb crossed: dark skin tone", "unicode": "1faf0-1f3ff" }, ":handbag:": { "category": "people", "name": "handbag", "unicode": "1f45c" }, ":handshake:": { "category": "people", "name": "handshake", "unicode": "1f91d" }, ":handshake_tone1:": { "category": "people", "name": "handshake: light skin tone", "unicode": "1f91d-1f3fb" }, ":handshake_tone1_tone2:": { "category": "people", "name": "handshake: light skin tone, medium-light skin tone", "unicode": "1faf1-1f3fb-200d-1faf2-1f3fc" }, ":handshake_tone1_tone3:": { "category": "people", "name": "handshake: light skin tone, medium skin tone", "unicode": "1faf1-1f3fb-200d-1faf2-1f3fd" }, ":handshake_tone1_tone4:": { "category": "people", "name": "handshake: light skin tone, medium-dark skin tone", "unicode": "1faf1-1f3fb-200d-1faf2-1f3fe" }, ":handshake_tone1_tone5:": { "category": "people", "name": "handshake: light skin tone, dark skin tone", "unicode": "1faf1-1f3fb-200d-1faf2-1f3ff" }, ":handshake_tone2:": { "category": "people", "name": "handshake: medium-light skin tone", "unicode": "1f91d-1f3fc" }, ":handshake_tone2_tone1:": { "category": "people", "name": "handshake: medium-light skin tone, light skin tone", "unicode": "1faf1-1f3fc-200d-1faf2-1f3fb" }, ":handshake_tone2_tone3:": { "category": "people", "name": "handshake: medium-light skin tone, medium skin tone", "unicode": "1faf1-1f3fc-200d-1faf2-1f3fd" }, ":handshake_tone2_tone4:": { "category": "people", "name": "handshake: medium-light skin tone, medium-dark skin tone", "unicode": "1faf1-1f3fc-200d-1faf2-1f3fe" }, ":handshake_tone2_tone5:": { "category": "people", "name": "handshake: medium-light skin tone, dark skin tone", "unicode": "1faf1-1f3fc-200d-1faf2-1f3ff" }, ":handshake_tone3:": { "category": "people", "name": "handshake: medium skin tone", "unicode": "1f91d-1f3fd" }, ":handshake_tone3_tone1:": { "category": "people", "name": "handshake: medium skin tone, light skin tone", "unicode": "1faf1-1f3fd-200d-1faf2-1f3fb" }, ":handshake_tone3_tone2:": { "category": "people", "name": "handshake: medium skin tone, medium-light skin tone", "unicode": "1faf1-1f3fd-200d-1faf2-1f3fc" }, ":handshake_tone3_tone4:": { "category": "people", "name": "handshake: medium skin tone, medium-dark skin tone", "unicode": "1faf1-1f3fd-200d-1faf2-1f3fe" }, ":handshake_tone3_tone5:": { "category": "people", "name": "handshake: medium skin tone, dark skin tone", "unicode": "1faf1-1f3fd-200d-1faf2-1f3ff" }, ":handshake_tone4:": { "category": "people", "name": "handshake: medium-dark skin tone", "unicode": "1f91d-1f3fe" }, ":handshake_tone4_tone1:": { "category": "people", "name": "handshake: medium-dark skin tone, light skin tone", "unicode": "1faf1-1f3fe-200d-1faf2-1f3fb" }, ":handshake_tone4_tone2:": { "category": "people", "name": "handshake: medium-dark skin tone, medium-light skin tone", "unicode": "1faf1-1f3fe-200d-1faf2-1f3fc" }, ":handshake_tone4_tone3:": { "category": "people", "name": "handshake: medium-dark skin tone, medium skin tone", "unicode": "1faf1-1f3fe-200d-1faf2-1f3fd" }, ":handshake_tone4_tone5:": { "category": "people", "name": "handshake: medium-dark skin tone, dark skin tone", "unicode": "1faf1-1f3fe-200d-1faf2-1f3ff" }, ":handshake_tone5:": { "category": "people", "name": "handshake: dark skin tone", "unicode": "1f91d-1f3ff" }, ":handshake_tone5_tone1:": { "category": "people", "name": "handshake: dark skin tone, light skin tone", "unicode": "1faf1-1f3ff-200d-1faf2-1f3fb" }, ":handshake_tone5_tone2:": { "category": "people", "name": "handshake: dark skin tone, medium-light skin tone", "unicode": "1faf1-1f3ff-200d-1faf2-1f3fc" }, ":handshake_tone5_tone3:": { "category": "people", "name": "handshake: dark skin tone, medium skin tone", "unicode": "1faf1-1f3ff-200d-1faf2-1f3fd" }, ":handshake_tone5_tone4:": { "category": "people", "name": "handshake: dark skin tone, medium-dark skin tone", "unicode": "1faf1-1f3ff-200d-1faf2-1f3fe" }, ":hash:": { "category": "symbols", "name": "keycap: #", "unicode": "23-20e3", "unicode_alt": "0023-20e3" }, ":hatched_chick:": { "category": "nature", "name": "front-facing baby chick", "unicode": "1f425" }, ":hatching_chick:": { "category": "nature", "name": "hatching chick", "unicode": "1f423" }, ":head_bandage:": { "category": "people", "name": "face with head-bandage", "unicode": "1f915" }, ":headphones:": { "category": "activity", "name": "headphone", "unicode": "1f3a7" }, ":headstone:": { "category": "objects", "name": "headstone", "unicode": "1faa6" }, ":health_worker:": { "category": "people", "name": "health worker", "unicode": "1f9d1-200d-2695-fe0f" }, ":health_worker_tone1:": { "category": "people", "name": "health worker: light skin tone", "unicode": "1f9d1-1f3fb-200d-2695-fe0f" }, ":health_worker_tone2:": { "category": "people", "name": "health worker: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-2695-fe0f" }, ":health_worker_tone3:": { "category": "people", "name": "health worker: medium skin tone", "unicode": "1f9d1-1f3fd-200d-2695-fe0f" }, ":health_worker_tone4:": { "category": "people", "name": "health worker: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-2695-fe0f" }, ":health_worker_tone5:": { "category": "people", "name": "health worker: dark skin tone", "unicode": "1f9d1-1f3ff-200d-2695-fe0f" }, ":hear_no_evil:": { "category": "nature", "name": "hear-no-evil monkey", "unicode": "1f649" }, ":heart:": { "category": "symbols", "name": "red heart", "unicode": "2764" }, ":heart_decoration:": { "category": "symbols", "name": "heart decoration", "unicode": "1f49f" }, ":heart_exclamation:": { "category": "symbols", "name": "heart exclamation", "unicode": "2763" }, ":heart_eyes:": { "category": "people", "name": "smiling face with heart-eyes", "unicode": "1f60d" }, ":heart_eyes_cat:": { "category": "people", "name": "smiling cat with heart-eyes", "unicode": "1f63b" }, ":heart_hands:": { "category": "people", "name": "heart hands", "unicode": "1faf6" }, ":heart_hands_tone1:": { "category": "people", "name": "heart hands: light skin tone", "unicode": "1faf6-1f3fb" }, ":heart_hands_tone2:": { "category": "people", "name": "heart hands: medium-light skin tone", "unicode": "1faf6-1f3fc" }, ":heart_hands_tone3:": { "category": "people", "name": "heart hands: medium skin tone", "unicode": "1faf6-1f3fd" }, ":heart_hands_tone4:": { "category": "people", "name": "heart hands: medium-dark skin tone", "unicode": "1faf6-1f3fe" }, ":heart_hands_tone5:": { "category": "people", "name": "heart hands: dark skin tone", "unicode": "1faf6-1f3ff" }, ":heart_on_fire:": { "category": "symbols", "name": "heart on fire", "unicode": "2764-fe0f-200d-1f525" }, ":heartbeat:": { "category": "symbols", "name": "beating heart", "unicode": "1f493" }, ":heartpulse:": { "category": "symbols", "name": "growing heart", "unicode": "1f497" }, ":hearts:": { "category": "symbols", "name": "heart suit", "unicode": "2665" }, ":heavy_check_mark:": { "category": "symbols", "name": "check mark", "unicode": "2714" }, ":heavy_division_sign:": { "category": "symbols", "name": "division sign", "unicode": "2797" }, ":heavy_dollar_sign:": { "category": "symbols", "name": "heavy dollar sign", "unicode": "1f4b2" }, ":heavy_equals_sign:": { "category": "symbols", "name": "heavy equals sign", "unicode": "1f7f0" }, ":heavy_minus_sign:": { "category": "symbols", "name": "minus sign", "unicode": "2796" }, ":heavy_multiplication_x:": { "category": "symbols", "name": "multiplication sign", "unicode": "2716" }, ":heavy_plus_sign:": { "category": "symbols", "name": "plus sign", "unicode": "2795" }, ":hedgehog:": { "category": "nature", "name": "hedgehog", "unicode": "1f994" }, ":helicopter:": { "category": "travel", "name": "helicopter", "unicode": "1f681" }, ":helmet_with_cross:": { "category": "people", "name": "rescue worker\u2019s helmet", "unicode": "26d1" }, ":herb:": { "category": "nature", "name": "herb", "unicode": "1f33f" }, ":hibiscus:": { "category": "nature", "name": "hibiscus", "unicode": "1f33a" }, ":high_brightness:": { "category": "symbols", "name": "bright button", "unicode": "1f506" }, ":high_heel:": { "category": "people", "name": "high-heeled shoe", "unicode": "1f460" }, ":hiking_boot:": { "category": "people", "name": "hiking boot", "unicode": "1f97e" }, ":hindu_temple:": { "category": "travel", "name": "hindu temple", "unicode": "1f6d5" }, ":hippopotamus:": { "category": "nature", "name": "hippopotamus", "unicode": "1f99b" }, ":hockey:": { "category": "activity", "name": "ice hockey", "unicode": "1f3d2" }, ":hole:": { "category": "objects", "name": "hole", "unicode": "1f573" }, ":homes:": { "category": "travel", "name": "houses", "unicode": "1f3d8" }, ":honey_pot:": { "category": "food", "name": "honey pot", "unicode": "1f36f" }, ":hook:": { "category": "travel", "name": "hook", "unicode": "1fa9d" }, ":horse:": { "category": "nature", "name": "horse face", "unicode": "1f434" }, ":horse_racing:": { "category": "activity", "name": "horse racing", "unicode": "1f3c7" }, ":horse_racing_tone1:": { "category": "activity", "name": "horse racing: light skin tone", "unicode": "1f3c7-1f3fb" }, ":horse_racing_tone2:": { "category": "activity", "name": "horse racing: medium-light skin tone", "unicode": "1f3c7-1f3fc" }, ":horse_racing_tone3:": { "category": "activity", "name": "horse racing: medium skin tone", "unicode": "1f3c7-1f3fd" }, ":horse_racing_tone4:": { "category": "activity", "name": "horse racing: medium-dark skin tone", "unicode": "1f3c7-1f3fe" }, ":horse_racing_tone5:": { "category": "activity", "name": "horse racing: dark skin tone", "unicode": "1f3c7-1f3ff" }, ":hospital:": { "category": "travel", "name": "hospital", "unicode": "1f3e5" }, ":hot_face:": { "category": "people", "name": "hot face", "unicode": "1f975" }, ":hot_pepper:": { "category": "food", "name": "hot pepper", "unicode": "1f336" }, ":hotdog:": { "category": "food", "name": "hot dog", "unicode": "1f32d" }, ":hotel:": { "category": "travel", "name": "hotel", "unicode": "1f3e8" }, ":hotsprings:": { "category": "symbols", "name": "hot springs", "unicode": "2668" }, ":hourglass:": { "category": "objects", "name": "hourglass done", "unicode": "231b" }, ":hourglass_flowing_sand:": { "category": "objects", "name": "hourglass not done", "unicode": "23f3" }, ":house:": { "category": "travel", "name": "house", "unicode": "1f3e0" }, ":house_abandoned:": { "category": "travel", "name": "derelict house", "unicode": "1f3da" }, ":house_with_garden:": { "category": "travel", "name": "house with garden", "unicode": "1f3e1" }, ":hugging:": { "category": "people", "name": "hugging face", "unicode": "1f917" }, ":hushed:": { "category": "people", "name": "hushed face", "unicode": "1f62f" }, ":hut:": { "category": "travel", "name": "hut", "unicode": "1f6d6" }, ":hyacinth:": { "category": "nature", "name": "hyacinth", "unicode": "1fabb" }, ":ice_cream:": { "category": "food", "name": "ice cream", "unicode": "1f368" }, ":ice_cube:": { "category": "food", "name": "ice cube", "unicode": "1f9ca" }, ":ice_skate:": { "category": "activity", "name": "ice skate", "unicode": "26f8" }, ":icecream:": { "category": "food", "name": "soft ice cream", "unicode": "1f366" }, ":id:": { "category": "symbols", "name": "ID button", "unicode": "1f194" }, ":identification_card:": { "category": "objects", "name": "identification card", "unicode": "1faaa" }, ":ideograph_advantage:": { "category": "symbols", "name": "Japanese \u201cbargain\u201d button", "unicode": "1f250" }, ":imp:": { "category": "people", "name": "angry face with horns", "unicode": "1f47f" }, ":inbox_tray:": { "category": "objects", "name": "inbox tray", "unicode": "1f4e5" }, ":incoming_envelope:": { "category": "objects", "name": "incoming envelope", "unicode": "1f4e8" }, ":index_pointing_at_the_viewer:": { "category": "people", "name": "index pointing at the viewer", "unicode": "1faf5" }, ":index_pointing_at_the_viewer_tone1:": { "category": "people", "name": "index pointing at the viewer: light skin tone", "unicode": "1faf5-1f3fb" }, ":index_pointing_at_the_viewer_tone2:": { "category": "people", "name": "index pointing at the viewer: medium-light skin tone", "unicode": "1faf5-1f3fc" }, ":index_pointing_at_the_viewer_tone3:": { "category": "people", "name": "index pointing at the viewer: medium skin tone", "unicode": "1faf5-1f3fd" }, ":index_pointing_at_the_viewer_tone4:": { "category": "people", "name": "index pointing at the viewer: medium-dark skin tone", "unicode": "1faf5-1f3fe" }, ":index_pointing_at_the_viewer_tone5:": { "category": "people", "name": "index pointing at the viewer: dark skin tone", "unicode": "1faf5-1f3ff" }, ":infinity:": { "category": "symbols", "name": "infinity", "unicode": "267e" }, ":information_source:": { "category": "symbols", "name": "information", "unicode": "2139" }, ":innocent:": { "category": "people", "name": "smiling face with halo", "unicode": "1f607" }, ":interrobang:": { "category": "symbols", "name": "exclamation question mark", "unicode": "2049" }, ":island:": { "category": "travel", "name": "desert island", "unicode": "1f3dd" }, ":izakaya_lantern:": { "category": "objects", "name": "red paper lantern", "unicode": "1f3ee" }, ":jack_o_lantern:": { "category": "people", "name": "jack-o-lantern", "unicode": "1f383" }, ":japan:": { "category": "travel", "name": "map of Japan", "unicode": "1f5fe" }, ":japanese_castle:": { "category": "travel", "name": "Japanese castle", "unicode": "1f3ef" }, ":japanese_goblin:": { "category": "people", "name": "goblin", "unicode": "1f47a" }, ":japanese_ogre:": { "category": "people", "name": "ogre", "unicode": "1f479" }, ":jar:": { "category": "food", "name": "jar", "unicode": "1fad9" }, ":jeans:": { "category": "people", "name": "jeans", "unicode": "1f456" }, ":jellyfish:": { "category": "nature", "name": "jellyfish", "unicode": "1fabc" }, ":jigsaw:": { "category": "activity", "name": "puzzle piece", "unicode": "1f9e9" }, ":joy:": { "category": "people", "name": "face with tears of joy", "unicode": "1f602" }, ":joy_cat:": { "category": "people", "name": "cat with tears of joy", "unicode": "1f639" }, ":joystick:": { "category": "objects", "name": "joystick", "unicode": "1f579" }, ":judge:": { "category": "people", "name": "judge", "unicode": "1f9d1-200d-2696-fe0f" }, ":judge_tone1:": { "category": "people", "name": "judge: light skin tone", "unicode": "1f9d1-1f3fb-200d-2696-fe0f" }, ":judge_tone2:": { "category": "people", "name": "judge: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-2696-fe0f" }, ":judge_tone3:": { "category": "people", "name": "judge: medium skin tone", "unicode": "1f9d1-1f3fd-200d-2696-fe0f" }, ":judge_tone4:": { "category": "people", "name": "judge: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-2696-fe0f" }, ":judge_tone5:": { "category": "people", "name": "judge: dark skin tone", "unicode": "1f9d1-1f3ff-200d-2696-fe0f" }, ":kaaba:": { "category": "travel", "name": "kaaba", "unicode": "1f54b" }, ":kangaroo:": { "category": "nature", "name": "kangaroo", "unicode": "1f998" }, ":key2:": { "category": "objects", "name": "old key", "unicode": "1f5dd" }, ":key:": { "category": "objects", "name": "key", "unicode": "1f511" }, ":keyboard:": { "category": "objects", "name": "keyboard", "unicode": "2328" }, ":keycap_ten:": { "category": "symbols", "name": "keycap: 10", "unicode": "1f51f" }, ":khanda:": { "category": "symbols", "name": "khanda", "unicode": "1faaf" }, ":kimono:": { "category": "people", "name": "kimono", "unicode": "1f458" }, ":kiss:": { "category": "people", "name": "kiss mark", "unicode": "1f48b" }, ":kiss_man_man_tone1:": { "category": "people", "name": "kiss: man, man, light skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_man_man_tone1_tone2:": { "category": "people", "name": "kiss: man, man, light skin tone, medium-light skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_man_man_tone1_tone3:": { "category": "people", "name": "kiss: man, man, light skin tone, medium skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_man_man_tone1_tone4:": { "category": "people", "name": "kiss: man, man, light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_man_man_tone1_tone5:": { "category": "people", "name": "kiss: man, man, light skin tone, dark skin tone", "unicode": "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_man_man_tone2:": { "category": "people", "name": "kiss: man, man, medium-light skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_man_man_tone2_tone1:": { "category": "people", "name": "kiss: man, man, medium-light skin tone, light skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_man_man_tone2_tone3:": { "category": "people", "name": "kiss: man, man, medium-light skin tone, medium skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_man_man_tone2_tone4:": { "category": "people", "name": "kiss: man, man, medium-light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_man_man_tone2_tone5:": { "category": "people", "name": "kiss: man, man, medium-light skin tone, dark skin tone", "unicode": "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_man_man_tone3:": { "category": "people", "name": "kiss: man, man, medium skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_man_man_tone3_tone1:": { "category": "people", "name": "kiss: man, man, medium skin tone, light skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_man_man_tone3_tone2:": { "category": "people", "name": "kiss: man, man, medium skin tone, medium-light skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_man_man_tone3_tone4:": { "category": "people", "name": "kiss: man, man, medium skin tone, medium-dark skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_man_man_tone3_tone5:": { "category": "people", "name": "kiss: man, man, medium skin tone, dark skin tone", "unicode": "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_man_man_tone4:": { "category": "people", "name": "kiss: man, man, medium-dark skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_man_man_tone4_tone1:": { "category": "people", "name": "kiss: man, man, medium-dark skin tone, light skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_man_man_tone4_tone2:": { "category": "people", "name": "kiss: man, man, medium-dark skin tone, medium-light skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_man_man_tone4_tone3:": { "category": "people", "name": "kiss: man, man, medium-dark skin tone, medium skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_man_man_tone4_tone5:": { "category": "people", "name": "kiss: man, man, medium-dark skin tone, dark skin tone", "unicode": "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_man_man_tone5:": { "category": "people", "name": "kiss: man, man, dark skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_man_man_tone5_tone1:": { "category": "people", "name": "kiss: man, man, dark skin tone, light skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_man_man_tone5_tone2:": { "category": "people", "name": "kiss: man, man, dark skin tone, medium-light skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_man_man_tone5_tone3:": { "category": "people", "name": "kiss: man, man, dark skin tone, medium skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_man_man_tone5_tone4:": { "category": "people", "name": "kiss: man, man, dark skin tone, medium-dark skin tone", "unicode": "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_mm:": { "category": "people", "name": "kiss: man, man", "unicode": "1f468-200d-2764-fe0f-200d-1f48b-200d-1f468" }, ":kiss_person_person_tone1_tone2:": { "category": "people", "name": "kiss: person, person, light skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc" }, ":kiss_person_person_tone1_tone3:": { "category": "people", "name": "kiss: person, person, light skin tone, medium skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd" }, ":kiss_person_person_tone1_tone4:": { "category": "people", "name": "kiss: person, person, light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe" }, ":kiss_person_person_tone1_tone5:": { "category": "people", "name": "kiss: person, person, light skin tone, dark skin tone", "unicode": "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff" }, ":kiss_person_person_tone2_tone1:": { "category": "people", "name": "kiss: person, person, medium-light skin tone, light skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb" }, ":kiss_person_person_tone2_tone3:": { "category": "people", "name": "kiss: person, person, medium-light skin tone, medium skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd" }, ":kiss_person_person_tone2_tone4:": { "category": "people", "name": "kiss: person, person, medium-light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe" }, ":kiss_person_person_tone2_tone5:": { "category": "people", "name": "kiss: person, person, medium-light skin tone, dark skin tone", "unicode": "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff" }, ":kiss_person_person_tone3_tone1:": { "category": "people", "name": "kiss: person, person, medium skin tone, light skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb" }, ":kiss_person_person_tone3_tone2:": { "category": "people", "name": "kiss: person, person, medium skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc" }, ":kiss_person_person_tone3_tone4:": { "category": "people", "name": "kiss: person, person, medium skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe" }, ":kiss_person_person_tone3_tone5:": { "category": "people", "name": "kiss: person, person, medium skin tone, dark skin tone", "unicode": "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff" }, ":kiss_person_person_tone4_tone1:": { "category": "people", "name": "kiss: person, person, medium-dark skin tone, light skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb" }, ":kiss_person_person_tone4_tone2:": { "category": "people", "name": "kiss: person, person, medium-dark skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc" }, ":kiss_person_person_tone4_tone3:": { "category": "people", "name": "kiss: person, person, medium-dark skin tone, medium skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd" }, ":kiss_person_person_tone4_tone5:": { "category": "people", "name": "kiss: person, person, medium-dark skin tone, dark skin tone", "unicode": "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff" }, ":kiss_person_person_tone5_tone1:": { "category": "people", "name": "kiss: person, person, dark skin tone, light skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb" }, ":kiss_person_person_tone5_tone2:": { "category": "people", "name": "kiss: person, person, dark skin tone, medium-light skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc" }, ":kiss_person_person_tone5_tone3:": { "category": "people", "name": "kiss: person, person, dark skin tone, medium skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd" }, ":kiss_person_person_tone5_tone4:": { "category": "people", "name": "kiss: person, person, dark skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe" }, ":kiss_tone1:": { "category": "people", "name": "kiss: light skin tone", "unicode": "1f48f-1f3fb" }, ":kiss_tone2:": { "category": "people", "name": "kiss: medium-light skin tone", "unicode": "1f48f-1f3fc" }, ":kiss_tone3:": { "category": "people", "name": "kiss: medium skin tone", "unicode": "1f48f-1f3fd" }, ":kiss_tone4:": { "category": "people", "name": "kiss: medium-dark skin tone", "unicode": "1f48f-1f3fe" }, ":kiss_tone5:": { "category": "people", "name": "kiss: dark skin tone", "unicode": "1f48f-1f3ff" }, ":kiss_woman_man:": { "category": "people", "name": "kiss: woman, man", "unicode": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f468" }, ":kiss_woman_man_tone1:": { "category": "people", "name": "kiss: woman, man, light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_woman_man_tone1_tone2:": { "category": "people", "name": "kiss: woman, man, light skin tone, medium-light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_woman_man_tone1_tone3:": { "category": "people", "name": "kiss: woman, man, light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_woman_man_tone1_tone4:": { "category": "people", "name": "kiss: woman, man, light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_woman_man_tone1_tone5:": { "category": "people", "name": "kiss: woman, man, light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_woman_man_tone2:": { "category": "people", "name": "kiss: woman, man, medium-light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_woman_man_tone2_tone1:": { "category": "people", "name": "kiss: woman, man, medium-light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_woman_man_tone2_tone3:": { "category": "people", "name": "kiss: woman, man, medium-light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_woman_man_tone2_tone4:": { "category": "people", "name": "kiss: woman, man, medium-light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_woman_man_tone2_tone5:": { "category": "people", "name": "kiss: woman, man, medium-light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_woman_man_tone3:": { "category": "people", "name": "kiss: woman, man, medium skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_woman_man_tone3_tone1:": { "category": "people", "name": "kiss: woman, man, medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_woman_man_tone3_tone2:": { "category": "people", "name": "kiss: woman, man, medium skin tone, medium-light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_woman_man_tone3_tone4:": { "category": "people", "name": "kiss: woman, man, medium skin tone, medium-dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_woman_man_tone3_tone5:": { "category": "people", "name": "kiss: woman, man, medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_woman_man_tone4:": { "category": "people", "name": "kiss: woman, man, medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_woman_man_tone4_tone1:": { "category": "people", "name": "kiss: woman, man, medium-dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_woman_man_tone4_tone2:": { "category": "people", "name": "kiss: woman, man, medium-dark skin tone, medium-light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_woman_man_tone4_tone3:": { "category": "people", "name": "kiss: woman, man, medium-dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_woman_man_tone4_tone5:": { "category": "people", "name": "kiss: woman, man, medium-dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_woman_man_tone5:": { "category": "people", "name": "kiss: woman, man, dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff" }, ":kiss_woman_man_tone5_tone1:": { "category": "people", "name": "kiss: woman, man, dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb" }, ":kiss_woman_man_tone5_tone2:": { "category": "people", "name": "kiss: woman, man, dark skin tone, medium-light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc" }, ":kiss_woman_man_tone5_tone3:": { "category": "people", "name": "kiss: woman, man, dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd" }, ":kiss_woman_man_tone5_tone4:": { "category": "people", "name": "kiss: woman, man, dark skin tone, medium-dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe" }, ":kiss_woman_woman_tone1:": { "category": "people", "name": "kiss: woman, woman, light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb" }, ":kiss_woman_woman_tone1_tone2:": { "category": "people", "name": "kiss: woman, woman, light skin tone, medium-light skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc" }, ":kiss_woman_woman_tone1_tone3:": { "category": "people", "name": "kiss: woman, woman, light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd" }, ":kiss_woman_woman_tone1_tone4:": { "category": "people", "name": "kiss: woman, woman, light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe" }, ":kiss_woman_woman_tone1_tone5:": { "category": "people", "name": "kiss: woman, woman, light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff" }, ":kiss_woman_woman_tone2:": { "category": "people", "name": "kiss: woman, woman, medium-light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc" }, ":kiss_woman_woman_tone2_tone1:": { "category": "people", "name": "kiss: woman, woman, medium-light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb" }, ":kiss_woman_woman_tone2_tone3:": { "category": "people", "name": "kiss: woman, woman, medium-light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd" }, ":kiss_woman_woman_tone2_tone4:": { "category": "people", "name": "kiss: woman, woman, medium-light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe" }, ":kiss_woman_woman_tone2_tone5:": { "category": "people", "name": "kiss: woman, woman, medium-light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff" }, ":kiss_woman_woman_tone3:": { "category": "people", "name": "kiss: woman, woman, medium skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd" }, ":kiss_woman_woman_tone3_tone1:": { "category": "people", "name": "kiss: woman, woman, medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb" }, ":kiss_woman_woman_tone3_tone2:": { "category": "people", "name": "kiss: woman, woman, medium skin tone, medium-light skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc" }, ":kiss_woman_woman_tone3_tone4:": { "category": "people", "name": "kiss: woman, woman, medium skin tone, medium-dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe" }, ":kiss_woman_woman_tone3_tone5:": { "category": "people", "name": "kiss: woman, woman, medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff" }, ":kiss_woman_woman_tone4:": { "category": "people", "name": "kiss: woman, woman, medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe" }, ":kiss_woman_woman_tone4_tone1:": { "category": "people", "name": "kiss: woman, woman, medium-dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb" }, ":kiss_woman_woman_tone4_tone2:": { "category": "people", "name": "kiss: woman, woman, medium-dark skin tone, medium-light skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc" }, ":kiss_woman_woman_tone4_tone3:": { "category": "people", "name": "kiss: woman, woman, medium-dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd" }, ":kiss_woman_woman_tone4_tone5:": { "category": "people", "name": "kiss: woman, woman, medium-dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff" }, ":kiss_woman_woman_tone5:": { "category": "people", "name": "kiss: woman, woman, dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff" }, ":kiss_woman_woman_tone5_tone1:": { "category": "people", "name": "kiss: woman, woman, dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb" }, ":kiss_woman_woman_tone5_tone2:": { "category": "people", "name": "kiss: woman, woman, dark skin tone, medium-light skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc" }, ":kiss_woman_woman_tone5_tone3:": { "category": "people", "name": "kiss: woman, woman, dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd" }, ":kiss_woman_woman_tone5_tone4:": { "category": "people", "name": "kiss: woman, woman, dark skin tone, medium-dark skin tone", "unicode": "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe" }, ":kiss_ww:": { "category": "people", "name": "kiss: woman, woman", "unicode": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f469" }, ":kissing:": { "category": "people", "name": "kissing face", "unicode": "1f617" }, ":kissing_cat:": { "category": "people", "name": "kissing cat", "unicode": "1f63d" }, ":kissing_closed_eyes:": { "category": "people", "name": "kissing face with closed eyes", "unicode": "1f61a" }, ":kissing_heart:": { "category": "people", "name": "face blowing a kiss", "unicode": "1f618" }, ":kissing_smiling_eyes:": { "category": "people", "name": "kissing face with smiling eyes", "unicode": "1f619" }, ":kite:": { "category": "activity", "name": "kite", "unicode": "1fa81" }, ":kiwi:": { "category": "food", "name": "kiwi fruit", "unicode": "1f95d" }, ":knife:": { "category": "objects", "name": "kitchen knife", "unicode": "1f52a" }, ":knot:": { "category": "people", "name": "knot", "unicode": "1faa2" }, ":koala:": { "category": "nature", "name": "koala", "unicode": "1f428" }, ":koko:": { "category": "symbols", "name": "Japanese \u201chere\u201d button", "unicode": "1f201" }, ":lab_coat:": { "category": "people", "name": "lab coat", "unicode": "1f97c" }, ":label:": { "category": "objects", "name": "label", "unicode": "1f3f7" }, ":lacrosse:": { "category": "activity", "name": "lacrosse", "unicode": "1f94d" }, ":ladder:": { "category": "objects", "name": "ladder", "unicode": "1fa9c" }, ":lady_beetle:": { "category": "nature", "name": "lady beetle", "unicode": "1f41e" }, ":large_blue_diamond:": { "category": "symbols", "name": "large blue diamond", "unicode": "1f537" }, ":large_orange_diamond:": { "category": "symbols", "name": "large orange diamond", "unicode": "1f536" }, ":last_quarter_moon:": { "category": "nature", "name": "last quarter moon", "unicode": "1f317" }, ":last_quarter_moon_with_face:": { "category": "nature", "name": "last quarter moon face", "unicode": "1f31c" }, ":laughing:": { "category": "people", "name": "grinning squinting face", "unicode": "1f606" }, ":leafy_green:": { "category": "food", "name": "leafy green", "unicode": "1f96c" }, ":leaves:": { "category": "nature", "name": "leaf fluttering in wind", "unicode": "1f343" }, ":ledger:": { "category": "objects", "name": "ledger", "unicode": "1f4d2" }, ":left_facing_fist:": { "category": "people", "name": "left-facing fist", "unicode": "1f91b" }, ":left_facing_fist_tone1:": { "category": "people", "name": "left-facing fist: light skin tone", "unicode": "1f91b-1f3fb" }, ":left_facing_fist_tone2:": { "category": "people", "name": "left-facing fist: medium-light skin tone", "unicode": "1f91b-1f3fc" }, ":left_facing_fist_tone3:": { "category": "people", "name": "left-facing fist: medium skin tone", "unicode": "1f91b-1f3fd" }, ":left_facing_fist_tone4:": { "category": "people", "name": "left-facing fist: medium-dark skin tone", "unicode": "1f91b-1f3fe" }, ":left_facing_fist_tone5:": { "category": "people", "name": "left-facing fist: dark skin tone", "unicode": "1f91b-1f3ff" }, ":left_luggage:": { "category": "symbols", "name": "left luggage", "unicode": "1f6c5" }, ":left_right_arrow:": { "category": "symbols", "name": "left-right arrow", "unicode": "2194" }, ":leftwards_arrow_with_hook:": { "category": "symbols", "name": "right arrow curving left", "unicode": "21a9" }, ":leftwards_hand:": { "category": "people", "name": "leftwards hand", "unicode": "1faf2" }, ":leftwards_hand_tone1:": { "category": "people", "name": "leftwards hand: light skin tone", "unicode": "1faf2-1f3fb" }, ":leftwards_hand_tone2:": { "category": "people", "name": "leftwards hand: medium-light skin tone", "unicode": "1faf2-1f3fc" }, ":leftwards_hand_tone3:": { "category": "people", "name": "leftwards hand: medium skin tone", "unicode": "1faf2-1f3fd" }, ":leftwards_hand_tone4:": { "category": "people", "name": "leftwards hand: medium-dark skin tone", "unicode": "1faf2-1f3fe" }, ":leftwards_hand_tone5:": { "category": "people", "name": "leftwards hand: dark skin tone", "unicode": "1faf2-1f3ff" }, ":leftwards_pushing_hand:": { "category": "people", "name": "leftwards pushing hand", "unicode": "1faf7" }, ":leftwards_pushing_hand_tone1:": { "category": "people", "name": "leftwards pushing hand: light skin tone", "unicode": "1faf7-1f3fb" }, ":leftwards_pushing_hand_tone2:": { "category": "people", "name": "leftwards pushing hand: medium-light skin tone", "unicode": "1faf7-1f3fc" }, ":leftwards_pushing_hand_tone3:": { "category": "people", "name": "leftwards pushing hand: medium skin tone", "unicode": "1faf7-1f3fd" }, ":leftwards_pushing_hand_tone4:": { "category": "people", "name": "leftwards pushing hand: medium-dark skin tone", "unicode": "1faf7-1f3fe" }, ":leftwards_pushing_hand_tone5:": { "category": "people", "name": "leftwards pushing hand: dark skin tone", "unicode": "1faf7-1f3ff" }, ":leg:": { "category": "people", "name": "leg", "unicode": "1f9b5" }, ":leg_tone1:": { "category": "people", "name": "leg: light skin tone", "unicode": "1f9b5-1f3fb" }, ":leg_tone2:": { "category": "people", "name": "leg: medium-light skin tone", "unicode": "1f9b5-1f3fc" }, ":leg_tone3:": { "category": "people", "name": "leg: medium skin tone", "unicode": "1f9b5-1f3fd" }, ":leg_tone4:": { "category": "people", "name": "leg: medium-dark skin tone", "unicode": "1f9b5-1f3fe" }, ":leg_tone5:": { "category": "people", "name": "leg: dark skin tone", "unicode": "1f9b5-1f3ff" }, ":lemon:": { "category": "food", "name": "lemon", "unicode": "1f34b" }, ":leo:": { "category": "symbols", "name": "Leo", "unicode": "264c" }, ":leopard:": { "category": "nature", "name": "leopard", "unicode": "1f406" }, ":level_slider:": { "category": "objects", "name": "level slider", "unicode": "1f39a" }, ":levitate:": { "category": "people", "name": "man in suit levitating", "unicode": "1f574" }, ":levitate_tone1:": { "category": "people", "name": "man in suit levitating: light skin tone", "unicode": "1f574-1f3fb" }, ":levitate_tone2:": { "category": "people", "name": "man in suit levitating: medium-light skin tone", "unicode": "1f574-1f3fc" }, ":levitate_tone3:": { "category": "people", "name": "man in suit levitating: medium skin tone", "unicode": "1f574-1f3fd" }, ":levitate_tone4:": { "category": "people", "name": "man in suit levitating: medium-dark skin tone", "unicode": "1f574-1f3fe" }, ":levitate_tone5:": { "category": "people", "name": "man in suit levitating: dark skin tone", "unicode": "1f574-1f3ff" }, ":libra:": { "category": "symbols", "name": "Libra", "unicode": "264e" }, ":light_blue_heart:": { "category": "symbols", "name": "light blue heart", "unicode": "1fa75" }, ":light_rail:": { "category": "travel", "name": "light rail", "unicode": "1f688" }, ":link:": { "category": "objects", "name": "link", "unicode": "1f517" }, ":lion_face:": { "category": "nature", "name": "lion", "unicode": "1f981" }, ":lips:": { "category": "people", "name": "mouth", "unicode": "1f444" }, ":lipstick:": { "category": "people", "name": "lipstick", "unicode": "1f484" }, ":lizard:": { "category": "nature", "name": "lizard", "unicode": "1f98e" }, ":llama:": { "category": "nature", "name": "llama", "unicode": "1f999" }, ":lobster:": { "category": "nature", "name": "lobster", "unicode": "1f99e" }, ":lock:": { "category": "objects", "name": "locked", "unicode": "1f512" }, ":lock_with_ink_pen:": { "category": "objects", "name": "locked with pen", "unicode": "1f50f" }, ":lollipop:": { "category": "food", "name": "lollipop", "unicode": "1f36d" }, ":long_drum:": { "category": "activity", "name": "long drum", "unicode": "1fa98" }, ":loop:": { "category": "symbols", "name": "double curly loop", "unicode": "27bf" }, ":lotus:": { "category": "nature", "name": "lotus", "unicode": "1fab7" }, ":loud_sound:": { "category": "symbols", "name": "speaker high volume", "unicode": "1f50a" }, ":loudspeaker:": { "category": "symbols", "name": "loudspeaker", "unicode": "1f4e2" }, ":love_hotel:": { "category": "travel", "name": "love hotel", "unicode": "1f3e9" }, ":love_letter:": { "category": "objects", "name": "love letter", "unicode": "1f48c" }, ":love_you_gesture:": { "category": "people", "name": "love-you gesture", "unicode": "1f91f" }, ":love_you_gesture_tone1:": { "category": "people", "name": "love-you gesture: light skin tone", "unicode": "1f91f-1f3fb" }, ":love_you_gesture_tone2:": { "category": "people", "name": "love-you gesture: medium-light skin tone", "unicode": "1f91f-1f3fc" }, ":love_you_gesture_tone3:": { "category": "people", "name": "love-you gesture: medium skin tone", "unicode": "1f91f-1f3fd" }, ":love_you_gesture_tone4:": { "category": "people", "name": "love-you gesture: medium-dark skin tone", "unicode": "1f91f-1f3fe" }, ":love_you_gesture_tone5:": { "category": "people", "name": "love-you gesture: dark skin tone", "unicode": "1f91f-1f3ff" }, ":low_battery:": { "category": "objects", "name": "low battery", "unicode": "1faab" }, ":low_brightness:": { "category": "symbols", "name": "dim button", "unicode": "1f505" }, ":luggage:": { "category": "people", "name": "luggage", "unicode": "1f9f3" }, ":lungs:": { "category": "people", "name": "lungs", "unicode": "1fac1" }, ":lying_face:": { "category": "people", "name": "lying face", "unicode": "1f925" }, ":m:": { "category": "symbols", "name": "circled M", "unicode": "24c2" }, ":mag:": { "category": "objects", "name": "magnifying glass tilted left", "unicode": "1f50d" }, ":mag_right:": { "category": "objects", "name": "magnifying glass tilted right", "unicode": "1f50e" }, ":mage:": { "category": "people", "name": "mage", "unicode": "1f9d9" }, ":mage_tone1:": { "category": "people", "name": "mage: light skin tone", "unicode": "1f9d9-1f3fb" }, ":mage_tone2:": { "category": "people", "name": "mage: medium-light skin tone", "unicode": "1f9d9-1f3fc" }, ":mage_tone3:": { "category": "people", "name": "mage: medium skin tone", "unicode": "1f9d9-1f3fd" }, ":mage_tone4:": { "category": "people", "name": "mage: medium-dark skin tone", "unicode": "1f9d9-1f3fe" }, ":mage_tone5:": { "category": "people", "name": "mage: dark skin tone", "unicode": "1f9d9-1f3ff" }, ":magic_wand:": { "category": "objects", "name": "magic wand", "unicode": "1fa84" }, ":magnet:": { "category": "objects", "name": "magnet", "unicode": "1f9f2" }, ":mahjong:": { "category": "symbols", "name": "mahjong red dragon", "unicode": "1f004" }, ":mailbox:": { "category": "objects", "name": "closed mailbox with raised flag", "unicode": "1f4eb" }, ":mailbox_closed:": { "category": "objects", "name": "closed mailbox with lowered flag", "unicode": "1f4ea" }, ":mailbox_with_mail:": { "category": "objects", "name": "open mailbox with raised flag", "unicode": "1f4ec" }, ":mailbox_with_no_mail:": { "category": "objects", "name": "open mailbox with lowered flag", "unicode": "1f4ed" }, ":male_sign:": { "category": "symbols", "name": "male sign", "unicode": "2642" }, ":mammoth:": { "category": "nature", "name": "mammoth", "unicode": "1f9a3" }, ":man:": { "category": "people", "name": "man", "unicode": "1f468" }, ":man_artist:": { "category": "people", "name": "man artist", "unicode": "1f468-200d-1f3a8" }, ":man_artist_tone1:": { "category": "people", "name": "man artist: light skin tone", "unicode": "1f468-1f3fb-200d-1f3a8" }, ":man_artist_tone2:": { "category": "people", "name": "man artist: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f3a8" }, ":man_artist_tone3:": { "category": "people", "name": "man artist: medium skin tone", "unicode": "1f468-1f3fd-200d-1f3a8" }, ":man_artist_tone4:": { "category": "people", "name": "man artist: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f3a8" }, ":man_artist_tone5:": { "category": "people", "name": "man artist: dark skin tone", "unicode": "1f468-1f3ff-200d-1f3a8" }, ":man_astronaut:": { "category": "people", "name": "man astronaut", "unicode": "1f468-200d-1f680" }, ":man_astronaut_tone1:": { "category": "people", "name": "man astronaut: light skin tone", "unicode": "1f468-1f3fb-200d-1f680" }, ":man_astronaut_tone2:": { "category": "people", "name": "man astronaut: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f680" }, ":man_astronaut_tone3:": { "category": "people", "name": "man astronaut: medium skin tone", "unicode": "1f468-1f3fd-200d-1f680" }, ":man_astronaut_tone4:": { "category": "people", "name": "man astronaut: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f680" }, ":man_astronaut_tone5:": { "category": "people", "name": "man astronaut: dark skin tone", "unicode": "1f468-1f3ff-200d-1f680" }, ":man_bald:": { "category": "people", "name": "man: bald", "unicode": "1f468-200d-1f9b2" }, ":man_bald_tone1:": { "category": "people", "name": "man, bald: light skin tone", "unicode": "1f468-1f3fb-200d-1f9b2" }, ":man_bald_tone2:": { "category": "people", "name": "man, bald: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9b2" }, ":man_bald_tone3:": { "category": "people", "name": "man, bald: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9b2" }, ":man_bald_tone4:": { "category": "people", "name": "man, bald: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9b2" }, ":man_bald_tone5:": { "category": "people", "name": "man, bald: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9b2" }, ":man_beard:": { "category": "people", "name": "man: beard", "unicode": "1f9d4-200d-2642-fe0f" }, ":man_biking:": { "category": "activity", "name": "man biking", "unicode": "1f6b4-200d-2642-fe0f" }, ":man_biking_tone1:": { "category": "activity", "name": "man biking: light skin tone", "unicode": "1f6b4-1f3fb-200d-2642-fe0f" }, ":man_biking_tone2:": { "category": "activity", "name": "man biking: medium-light skin tone", "unicode": "1f6b4-1f3fc-200d-2642-fe0f" }, ":man_biking_tone3:": { "category": "activity", "name": "man biking: medium skin tone", "unicode": "1f6b4-1f3fd-200d-2642-fe0f" }, ":man_biking_tone4:": { "category": "activity", "name": "man biking: medium-dark skin tone", "unicode": "1f6b4-1f3fe-200d-2642-fe0f" }, ":man_biking_tone5:": { "category": "activity", "name": "man biking: dark skin tone", "unicode": "1f6b4-1f3ff-200d-2642-fe0f" }, ":man_bouncing_ball:": { "category": "activity", "name": "man bouncing ball", "unicode": "26f9-fe0f-200d-2642-fe0f" }, ":man_bouncing_ball_tone1:": { "category": "activity", "name": "man bouncing ball: light skin tone", "unicode": "26f9-1f3fb-200d-2642-fe0f" }, ":man_bouncing_ball_tone2:": { "category": "activity", "name": "man bouncing ball: medium-light skin tone", "unicode": "26f9-1f3fc-200d-2642-fe0f" }, ":man_bouncing_ball_tone3:": { "category": "activity", "name": "man bouncing ball: medium skin tone", "unicode": "26f9-1f3fd-200d-2642-fe0f" }, ":man_bouncing_ball_tone4:": { "category": "activity", "name": "man bouncing ball: medium-dark skin tone", "unicode": "26f9-1f3fe-200d-2642-fe0f" }, ":man_bouncing_ball_tone5:": { "category": "activity", "name": "man bouncing ball: dark skin tone", "unicode": "26f9-1f3ff-200d-2642-fe0f" }, ":man_bowing:": { "category": "people", "name": "man bowing", "unicode": "1f647-200d-2642-fe0f" }, ":man_bowing_tone1:": { "category": "people", "name": "man bowing: light skin tone", "unicode": "1f647-1f3fb-200d-2642-fe0f" }, ":man_bowing_tone2:": { "category": "people", "name": "man bowing: medium-light skin tone", "unicode": "1f647-1f3fc-200d-2642-fe0f" }, ":man_bowing_tone3:": { "category": "people", "name": "man bowing: medium skin tone", "unicode": "1f647-1f3fd-200d-2642-fe0f" }, ":man_bowing_tone4:": { "category": "people", "name": "man bowing: medium-dark skin tone", "unicode": "1f647-1f3fe-200d-2642-fe0f" }, ":man_bowing_tone5:": { "category": "people", "name": "man bowing: dark skin tone", "unicode": "1f647-1f3ff-200d-2642-fe0f" }, ":man_cartwheeling:": { "category": "activity", "name": "man cartwheeling", "unicode": "1f938-200d-2642-fe0f" }, ":man_cartwheeling_tone1:": { "category": "activity", "name": "man cartwheeling: light skin tone", "unicode": "1f938-1f3fb-200d-2642-fe0f" }, ":man_cartwheeling_tone2:": { "category": "activity", "name": "man cartwheeling: medium-light skin tone", "unicode": "1f938-1f3fc-200d-2642-fe0f" }, ":man_cartwheeling_tone3:": { "category": "activity", "name": "man cartwheeling: medium skin tone", "unicode": "1f938-1f3fd-200d-2642-fe0f" }, ":man_cartwheeling_tone4:": { "category": "activity", "name": "man cartwheeling: medium-dark skin tone", "unicode": "1f938-1f3fe-200d-2642-fe0f" }, ":man_cartwheeling_tone5:": { "category": "activity", "name": "man cartwheeling: dark skin tone", "unicode": "1f938-1f3ff-200d-2642-fe0f" }, ":man_climbing:": { "category": "activity", "name": "man climbing", "unicode": "1f9d7-200d-2642-fe0f" }, ":man_climbing_tone1:": { "category": "activity", "name": "man climbing: light skin tone", "unicode": "1f9d7-1f3fb-200d-2642-fe0f" }, ":man_climbing_tone2:": { "category": "activity", "name": "man climbing: medium-light skin tone", "unicode": "1f9d7-1f3fc-200d-2642-fe0f" }, ":man_climbing_tone3:": { "category": "activity", "name": "man climbing: medium skin tone", "unicode": "1f9d7-1f3fd-200d-2642-fe0f" }, ":man_climbing_tone4:": { "category": "activity", "name": "man climbing: medium-dark skin tone", "unicode": "1f9d7-1f3fe-200d-2642-fe0f" }, ":man_climbing_tone5:": { "category": "activity", "name": "man climbing: dark skin tone", "unicode": "1f9d7-1f3ff-200d-2642-fe0f" }, ":man_construction_worker:": { "category": "people", "name": "man construction worker", "unicode": "1f477-200d-2642-fe0f" }, ":man_construction_worker_tone1:": { "category": "people", "name": "man construction worker: light skin tone", "unicode": "1f477-1f3fb-200d-2642-fe0f" }, ":man_construction_worker_tone2:": { "category": "people", "name": "man construction worker: medium-light skin tone", "unicode": "1f477-1f3fc-200d-2642-fe0f" }, ":man_construction_worker_tone3:": { "category": "people", "name": "man construction worker: medium skin tone", "unicode": "1f477-1f3fd-200d-2642-fe0f" }, ":man_construction_worker_tone4:": { "category": "people", "name": "man construction worker: medium-dark skin tone", "unicode": "1f477-1f3fe-200d-2642-fe0f" }, ":man_construction_worker_tone5:": { "category": "people", "name": "man construction worker: dark skin tone", "unicode": "1f477-1f3ff-200d-2642-fe0f" }, ":man_cook:": { "category": "people", "name": "man cook", "unicode": "1f468-200d-1f373" }, ":man_cook_tone1:": { "category": "people", "name": "man cook: light skin tone", "unicode": "1f468-1f3fb-200d-1f373" }, ":man_cook_tone2:": { "category": "people", "name": "man cook: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f373" }, ":man_cook_tone3:": { "category": "people", "name": "man cook: medium skin tone", "unicode": "1f468-1f3fd-200d-1f373" }, ":man_cook_tone4:": { "category": "people", "name": "man cook: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f373" }, ":man_cook_tone5:": { "category": "people", "name": "man cook: dark skin tone", "unicode": "1f468-1f3ff-200d-1f373" }, ":man_curly_haired:": { "category": "people", "name": "man: curly hair", "unicode": "1f468-200d-1f9b1" }, ":man_curly_haired_tone1:": { "category": "people", "name": "man, curly haired: light skin tone", "unicode": "1f468-1f3fb-200d-1f9b1" }, ":man_curly_haired_tone2:": { "category": "people", "name": "man, curly haired: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9b1" }, ":man_curly_haired_tone3:": { "category": "people", "name": "man, curly haired: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9b1" }, ":man_curly_haired_tone4:": { "category": "people", "name": "man, curly haired: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9b1" }, ":man_curly_haired_tone5:": { "category": "people", "name": "man, curly haired: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9b1" }, ":man_dancing:": { "category": "people", "name": "man dancing", "unicode": "1f57a" }, ":man_dancing_tone1:": { "category": "people", "name": "man dancing: light skin tone", "unicode": "1f57a-1f3fb" }, ":man_dancing_tone2:": { "category": "people", "name": "man dancing: medium-light skin tone", "unicode": "1f57a-1f3fc" }, ":man_dancing_tone3:": { "category": "people", "name": "man dancing: medium skin tone", "unicode": "1f57a-1f3fd" }, ":man_dancing_tone4:": { "category": "people", "name": "man dancing: medium-dark skin tone", "unicode": "1f57a-1f3fe" }, ":man_dancing_tone5:": { "category": "people", "name": "man dancing: dark skin tone", "unicode": "1f57a-1f3ff" }, ":man_detective:": { "category": "people", "name": "man detective", "unicode": "1f575-fe0f-200d-2642-fe0f" }, ":man_detective_tone1:": { "category": "people", "name": "man detective: light skin tone", "unicode": "1f575-1f3fb-200d-2642-fe0f" }, ":man_detective_tone2:": { "category": "people", "name": "man detective: medium-light skin tone", "unicode": "1f575-1f3fc-200d-2642-fe0f" }, ":man_detective_tone3:": { "category": "people", "name": "man detective: medium skin tone", "unicode": "1f575-1f3fd-200d-2642-fe0f" }, ":man_detective_tone4:": { "category": "people", "name": "man detective: medium-dark skin tone", "unicode": "1f575-1f3fe-200d-2642-fe0f" }, ":man_detective_tone5:": { "category": "people", "name": "man detective: dark skin tone", "unicode": "1f575-1f3ff-200d-2642-fe0f" }, ":man_elf:": { "category": "people", "name": "man elf", "unicode": "1f9dd-200d-2642-fe0f" }, ":man_elf_tone1:": { "category": "people", "name": "man elf: light skin tone", "unicode": "1f9dd-1f3fb-200d-2642-fe0f" }, ":man_elf_tone2:": { "category": "people", "name": "man elf: medium-light skin tone", "unicode": "1f9dd-1f3fc-200d-2642-fe0f" }, ":man_elf_tone3:": { "category": "people", "name": "man elf: medium skin tone", "unicode": "1f9dd-1f3fd-200d-2642-fe0f" }, ":man_elf_tone4:": { "category": "people", "name": "man elf: medium-dark skin tone", "unicode": "1f9dd-1f3fe-200d-2642-fe0f" }, ":man_elf_tone5:": { "category": "people", "name": "man elf: dark skin tone", "unicode": "1f9dd-1f3ff-200d-2642-fe0f" }, ":man_facepalming:": { "category": "people", "name": "man facepalming", "unicode": "1f926-200d-2642-fe0f" }, ":man_facepalming_tone1:": { "category": "people", "name": "man facepalming: light skin tone", "unicode": "1f926-1f3fb-200d-2642-fe0f" }, ":man_facepalming_tone2:": { "category": "people", "name": "man facepalming: medium-light skin tone", "unicode": "1f926-1f3fc-200d-2642-fe0f" }, ":man_facepalming_tone3:": { "category": "people", "name": "man facepalming: medium skin tone", "unicode": "1f926-1f3fd-200d-2642-fe0f" }, ":man_facepalming_tone4:": { "category": "people", "name": "man facepalming: medium-dark skin tone", "unicode": "1f926-1f3fe-200d-2642-fe0f" }, ":man_facepalming_tone5:": { "category": "people", "name": "man facepalming: dark skin tone", "unicode": "1f926-1f3ff-200d-2642-fe0f" }, ":man_factory_worker:": { "category": "people", "name": "man factory worker", "unicode": "1f468-200d-1f3ed" }, ":man_factory_worker_tone1:": { "category": "people", "name": "man factory worker: light skin tone", "unicode": "1f468-1f3fb-200d-1f3ed" }, ":man_factory_worker_tone2:": { "category": "people", "name": "man factory worker: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f3ed" }, ":man_factory_worker_tone3:": { "category": "people", "name": "man factory worker: medium skin tone", "unicode": "1f468-1f3fd-200d-1f3ed" }, ":man_factory_worker_tone4:": { "category": "people", "name": "man factory worker: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f3ed" }, ":man_factory_worker_tone5:": { "category": "people", "name": "man factory worker: dark skin tone", "unicode": "1f468-1f3ff-200d-1f3ed" }, ":man_fairy:": { "category": "people", "name": "man fairy", "unicode": "1f9da-200d-2642-fe0f" }, ":man_fairy_tone1:": { "category": "people", "name": "man fairy: light skin tone", "unicode": "1f9da-1f3fb-200d-2642-fe0f" }, ":man_fairy_tone2:": { "category": "people", "name": "man fairy: medium-light skin tone", "unicode": "1f9da-1f3fc-200d-2642-fe0f" }, ":man_fairy_tone3:": { "category": "people", "name": "man fairy: medium skin tone", "unicode": "1f9da-1f3fd-200d-2642-fe0f" }, ":man_fairy_tone4:": { "category": "people", "name": "man fairy: medium-dark skin tone", "unicode": "1f9da-1f3fe-200d-2642-fe0f" }, ":man_fairy_tone5:": { "category": "people", "name": "man fairy: dark skin tone", "unicode": "1f9da-1f3ff-200d-2642-fe0f" }, ":man_farmer:": { "category": "people", "name": "man farmer", "unicode": "1f468-200d-1f33e" }, ":man_farmer_tone1:": { "category": "people", "name": "man farmer: light skin tone", "unicode": "1f468-1f3fb-200d-1f33e" }, ":man_farmer_tone2:": { "category": "people", "name": "man farmer: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f33e" }, ":man_farmer_tone3:": { "category": "people", "name": "man farmer: medium skin tone", "unicode": "1f468-1f3fd-200d-1f33e" }, ":man_farmer_tone4:": { "category": "people", "name": "man farmer: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f33e" }, ":man_farmer_tone5:": { "category": "people", "name": "man farmer: dark skin tone", "unicode": "1f468-1f3ff-200d-1f33e" }, ":man_feeding_baby:": { "category": "people", "name": "man feeding baby", "unicode": "1f468-200d-1f37c" }, ":man_feeding_baby_tone1:": { "category": "people", "name": "man feeding baby: light skin tone", "unicode": "1f468-1f3fb-200d-1f37c" }, ":man_feeding_baby_tone2:": { "category": "people", "name": "man feeding baby: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f37c" }, ":man_feeding_baby_tone3:": { "category": "people", "name": "man feeding baby: medium skin tone", "unicode": "1f468-1f3fd-200d-1f37c" }, ":man_feeding_baby_tone4:": { "category": "people", "name": "man feeding baby: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f37c" }, ":man_feeding_baby_tone5:": { "category": "people", "name": "man feeding baby: dark skin tone", "unicode": "1f468-1f3ff-200d-1f37c" }, ":man_firefighter:": { "category": "people", "name": "man firefighter", "unicode": "1f468-200d-1f692" }, ":man_firefighter_tone1:": { "category": "people", "name": "man firefighter: light skin tone", "unicode": "1f468-1f3fb-200d-1f692" }, ":man_firefighter_tone2:": { "category": "people", "name": "man firefighter: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f692" }, ":man_firefighter_tone3:": { "category": "people", "name": "man firefighter: medium skin tone", "unicode": "1f468-1f3fd-200d-1f692" }, ":man_firefighter_tone4:": { "category": "people", "name": "man firefighter: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f692" }, ":man_firefighter_tone5:": { "category": "people", "name": "man firefighter: dark skin tone", "unicode": "1f468-1f3ff-200d-1f692" }, ":man_frowning:": { "category": "people", "name": "man frowning", "unicode": "1f64d-200d-2642-fe0f" }, ":man_frowning_tone1:": { "category": "people", "name": "man frowning: light skin tone", "unicode": "1f64d-1f3fb-200d-2642-fe0f" }, ":man_frowning_tone2:": { "category": "people", "name": "man frowning: medium-light skin tone", "unicode": "1f64d-1f3fc-200d-2642-fe0f" }, ":man_frowning_tone3:": { "category": "people", "name": "man frowning: medium skin tone", "unicode": "1f64d-1f3fd-200d-2642-fe0f" }, ":man_frowning_tone4:": { "category": "people", "name": "man frowning: medium-dark skin tone", "unicode": "1f64d-1f3fe-200d-2642-fe0f" }, ":man_frowning_tone5:": { "category": "people", "name": "man frowning: dark skin tone", "unicode": "1f64d-1f3ff-200d-2642-fe0f" }, ":man_genie:": { "category": "people", "name": "man genie", "unicode": "1f9de-200d-2642-fe0f" }, ":man_gesturing_no:": { "category": "people", "name": "man gesturing NO", "unicode": "1f645-200d-2642-fe0f" }, ":man_gesturing_no_tone1:": { "category": "people", "name": "man gesturing NO: light skin tone", "unicode": "1f645-1f3fb-200d-2642-fe0f" }, ":man_gesturing_no_tone2:": { "category": "people", "name": "man gesturing NO: medium-light skin tone", "unicode": "1f645-1f3fc-200d-2642-fe0f" }, ":man_gesturing_no_tone3:": { "category": "people", "name": "man gesturing NO: medium skin tone", "unicode": "1f645-1f3fd-200d-2642-fe0f" }, ":man_gesturing_no_tone4:": { "category": "people", "name": "man gesturing NO: medium-dark skin tone", "unicode": "1f645-1f3fe-200d-2642-fe0f" }, ":man_gesturing_no_tone5:": { "category": "people", "name": "man gesturing NO: dark skin tone", "unicode": "1f645-1f3ff-200d-2642-fe0f" }, ":man_gesturing_ok:": { "category": "people", "name": "man gesturing OK", "unicode": "1f646-200d-2642-fe0f" }, ":man_gesturing_ok_tone1:": { "category": "people", "name": "man gesturing OK: light skin tone", "unicode": "1f646-1f3fb-200d-2642-fe0f" }, ":man_gesturing_ok_tone2:": { "category": "people", "name": "man gesturing OK: medium-light skin tone", "unicode": "1f646-1f3fc-200d-2642-fe0f" }, ":man_gesturing_ok_tone3:": { "category": "people", "name": "man gesturing OK: medium skin tone", "unicode": "1f646-1f3fd-200d-2642-fe0f" }, ":man_gesturing_ok_tone4:": { "category": "people", "name": "man gesturing OK: medium-dark skin tone", "unicode": "1f646-1f3fe-200d-2642-fe0f" }, ":man_gesturing_ok_tone5:": { "category": "people", "name": "man gesturing OK: dark skin tone", "unicode": "1f646-1f3ff-200d-2642-fe0f" }, ":man_getting_face_massage:": { "category": "people", "name": "man getting massage", "unicode": "1f486-200d-2642-fe0f" }, ":man_getting_face_massage_tone1:": { "category": "people", "name": "man getting massage: light skin tone", "unicode": "1f486-1f3fb-200d-2642-fe0f" }, ":man_getting_face_massage_tone2:": { "category": "people", "name": "man getting massage: medium-light skin tone", "unicode": "1f486-1f3fc-200d-2642-fe0f" }, ":man_getting_face_massage_tone3:": { "category": "people", "name": "man getting massage: medium skin tone", "unicode": "1f486-1f3fd-200d-2642-fe0f" }, ":man_getting_face_massage_tone4:": { "category": "people", "name": "man getting massage: medium-dark skin tone", "unicode": "1f486-1f3fe-200d-2642-fe0f" }, ":man_getting_face_massage_tone5:": { "category": "people", "name": "man getting massage: dark skin tone", "unicode": "1f486-1f3ff-200d-2642-fe0f" }, ":man_getting_haircut:": { "category": "people", "name": "man getting haircut", "unicode": "1f487-200d-2642-fe0f" }, ":man_getting_haircut_tone1:": { "category": "people", "name": "man getting haircut: light skin tone", "unicode": "1f487-1f3fb-200d-2642-fe0f" }, ":man_getting_haircut_tone2:": { "category": "people", "name": "man getting haircut: medium-light skin tone", "unicode": "1f487-1f3fc-200d-2642-fe0f" }, ":man_getting_haircut_tone3:": { "category": "people", "name": "man getting haircut: medium skin tone", "unicode": "1f487-1f3fd-200d-2642-fe0f" }, ":man_getting_haircut_tone4:": { "category": "people", "name": "man getting haircut: medium-dark skin tone", "unicode": "1f487-1f3fe-200d-2642-fe0f" }, ":man_getting_haircut_tone5:": { "category": "people", "name": "man getting haircut: dark skin tone", "unicode": "1f487-1f3ff-200d-2642-fe0f" }, ":man_golfing:": { "category": "activity", "name": "man golfing", "unicode": "1f3cc-fe0f-200d-2642-fe0f" }, ":man_golfing_tone1:": { "category": "activity", "name": "man golfing: light skin tone", "unicode": "1f3cc-1f3fb-200d-2642-fe0f" }, ":man_golfing_tone2:": { "category": "activity", "name": "man golfing: medium-light skin tone", "unicode": "1f3cc-1f3fc-200d-2642-fe0f" }, ":man_golfing_tone3:": { "category": "activity", "name": "man golfing: medium skin tone", "unicode": "1f3cc-1f3fd-200d-2642-fe0f" }, ":man_golfing_tone4:": { "category": "activity", "name": "man golfing: medium-dark skin tone", "unicode": "1f3cc-1f3fe-200d-2642-fe0f" }, ":man_golfing_tone5:": { "category": "activity", "name": "man golfing: dark skin tone", "unicode": "1f3cc-1f3ff-200d-2642-fe0f" }, ":man_guard:": { "category": "people", "name": "man guard", "unicode": "1f482-200d-2642-fe0f" }, ":man_guard_tone1:": { "category": "people", "name": "man guard: light skin tone", "unicode": "1f482-1f3fb-200d-2642-fe0f" }, ":man_guard_tone2:": { "category": "people", "name": "man guard: medium-light skin tone", "unicode": "1f482-1f3fc-200d-2642-fe0f" }, ":man_guard_tone3:": { "category": "people", "name": "man guard: medium skin tone", "unicode": "1f482-1f3fd-200d-2642-fe0f" }, ":man_guard_tone4:": { "category": "people", "name": "man guard: medium-dark skin tone", "unicode": "1f482-1f3fe-200d-2642-fe0f" }, ":man_guard_tone5:": { "category": "people", "name": "man guard: dark skin tone", "unicode": "1f482-1f3ff-200d-2642-fe0f" }, ":man_health_worker:": { "category": "people", "name": "man health worker", "unicode": "1f468-200d-2695-fe0f" }, ":man_health_worker_tone1:": { "category": "people", "name": "man health worker: light skin tone", "unicode": "1f468-1f3fb-200d-2695-fe0f" }, ":man_health_worker_tone2:": { "category": "people", "name": "man health worker: medium-light skin tone", "unicode": "1f468-1f3fc-200d-2695-fe0f" }, ":man_health_worker_tone3:": { "category": "people", "name": "man health worker: medium skin tone", "unicode": "1f468-1f3fd-200d-2695-fe0f" }, ":man_health_worker_tone4:": { "category": "people", "name": "man health worker: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-2695-fe0f" }, ":man_health_worker_tone5:": { "category": "people", "name": "man health worker: dark skin tone", "unicode": "1f468-1f3ff-200d-2695-fe0f" }, ":man_in_lotus_position:": { "category": "activity", "name": "man in lotus position", "unicode": "1f9d8-200d-2642-fe0f" }, ":man_in_lotus_position_tone1:": { "category": "activity", "name": "man in lotus position: light skin tone", "unicode": "1f9d8-1f3fb-200d-2642-fe0f" }, ":man_in_lotus_position_tone2:": { "category": "activity", "name": "man in lotus position: medium-light skin tone", "unicode": "1f9d8-1f3fc-200d-2642-fe0f" }, ":man_in_lotus_position_tone3:": { "category": "activity", "name": "man in lotus position: medium skin tone", "unicode": "1f9d8-1f3fd-200d-2642-fe0f" }, ":man_in_lotus_position_tone4:": { "category": "activity", "name": "man in lotus position: medium-dark skin tone", "unicode": "1f9d8-1f3fe-200d-2642-fe0f" }, ":man_in_lotus_position_tone5:": { "category": "activity", "name": "man in lotus position: dark skin tone", "unicode": "1f9d8-1f3ff-200d-2642-fe0f" }, ":man_in_manual_wheelchair:": { "category": "people", "name": "man in manual wheelchair", "unicode": "1f468-200d-1f9bd" }, ":man_in_manual_wheelchair_tone1:": { "category": "people", "name": "man in manual wheelchair: light skin tone", "unicode": "1f468-1f3fb-200d-1f9bd" }, ":man_in_manual_wheelchair_tone2:": { "category": "people", "name": "man in manual wheelchair: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9bd" }, ":man_in_manual_wheelchair_tone3:": { "category": "people", "name": "man in manual wheelchair: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9bd" }, ":man_in_manual_wheelchair_tone4:": { "category": "people", "name": "man in manual wheelchair: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9bd" }, ":man_in_manual_wheelchair_tone5:": { "category": "people", "name": "man in manual wheelchair: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9bd" }, ":man_in_motorized_wheelchair:": { "category": "people", "name": "man in motorized wheelchair", "unicode": "1f468-200d-1f9bc" }, ":man_in_motorized_wheelchair_tone1:": { "category": "people", "name": "man in motorized wheelchair: light skin tone", "unicode": "1f468-1f3fb-200d-1f9bc" }, ":man_in_motorized_wheelchair_tone2:": { "category": "people", "name": "man in motorized wheelchair: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9bc" }, ":man_in_motorized_wheelchair_tone3:": { "category": "people", "name": "man in motorized wheelchair: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9bc" }, ":man_in_motorized_wheelchair_tone4:": { "category": "people", "name": "man in motorized wheelchair: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9bc" }, ":man_in_motorized_wheelchair_tone5:": { "category": "people", "name": "man in motorized wheelchair: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9bc" }, ":man_in_santa_hat:": { "category": "people", "name": "man in santa hat", "unicode": "1f468-200d-1f384" }, ":man_in_santa_hat_tone1:": { "category": "people", "name": "man in santa hat: light skin tone", "unicode": "1f468-1f3fb-200d-1f384" }, ":man_in_santa_hat_tone2:": { "category": "people", "name": "man in santa hat: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f384" }, ":man_in_santa_hat_tone3:": { "category": "people", "name": "man in santa hat: medium skin tone", "unicode": "1f468-1f3fd-200d-1f384" }, ":man_in_santa_hat_tone4:": { "category": "people", "name": "man in santa hat: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f384" }, ":man_in_santa_hat_tone5:": { "category": "people", "name": "man in santa hat: dark skin tone", "unicode": "1f469-1f3ff-200d-1f384" }, ":man_in_steamy_room:": { "category": "people", "name": "man in steamy room", "unicode": "1f9d6-200d-2642-fe0f" }, ":man_in_steamy_room_tone1:": { "category": "people", "name": "man in steamy room: light skin tone", "unicode": "1f9d6-1f3fb-200d-2642-fe0f" }, ":man_in_steamy_room_tone2:": { "category": "people", "name": "man in steamy room: medium-light skin tone", "unicode": "1f9d6-1f3fc-200d-2642-fe0f" }, ":man_in_steamy_room_tone3:": { "category": "people", "name": "man in steamy room: medium skin tone", "unicode": "1f9d6-1f3fd-200d-2642-fe0f" }, ":man_in_steamy_room_tone4:": { "category": "people", "name": "man in steamy room: medium-dark skin tone", "unicode": "1f9d6-1f3fe-200d-2642-fe0f" }, ":man_in_steamy_room_tone5:": { "category": "people", "name": "man in steamy room: dark skin tone", "unicode": "1f9d6-1f3ff-200d-2642-fe0f" }, ":man_in_tuxedo:": { "category": "people", "name": "man in tuxedo", "unicode": "1f935-200d-2642-fe0f" }, ":man_in_tuxedo_tone1:": { "category": "people", "name": "man in tuxedo: light skin tone", "unicode": "1f935-1f3fb-200d-2642-fe0f" }, ":man_in_tuxedo_tone2:": { "category": "people", "name": "man in tuxedo: medium-light skin tone", "unicode": "1f935-1f3fc-200d-2642-fe0f" }, ":man_in_tuxedo_tone3:": { "category": "people", "name": "man in tuxedo: medium skin tone", "unicode": "1f935-1f3fd-200d-2642-fe0f" }, ":man_in_tuxedo_tone4:": { "category": "people", "name": "man in tuxedo: medium-dark skin tone", "unicode": "1f935-1f3fe-200d-2642-fe0f" }, ":man_in_tuxedo_tone5:": { "category": "people", "name": "man in tuxedo: dark skin tone", "unicode": "1f935-1f3ff-200d-2642-fe0f" }, ":man_judge:": { "category": "people", "name": "man judge", "unicode": "1f468-200d-2696-fe0f" }, ":man_judge_tone1:": { "category": "people", "name": "man judge: light skin tone", "unicode": "1f468-1f3fb-200d-2696-fe0f" }, ":man_judge_tone2:": { "category": "people", "name": "man judge: medium-light skin tone", "unicode": "1f468-1f3fc-200d-2696-fe0f" }, ":man_judge_tone3:": { "category": "people", "name": "man judge: medium skin tone", "unicode": "1f468-1f3fd-200d-2696-fe0f" }, ":man_judge_tone4:": { "category": "people", "name": "man judge: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-2696-fe0f" }, ":man_judge_tone5:": { "category": "people", "name": "man judge: dark skin tone", "unicode": "1f468-1f3ff-200d-2696-fe0f" }, ":man_juggling:": { "category": "activity", "name": "man juggling", "unicode": "1f939-200d-2642-fe0f" }, ":man_juggling_tone1:": { "category": "activity", "name": "man juggling: light skin tone", "unicode": "1f939-1f3fb-200d-2642-fe0f" }, ":man_juggling_tone2:": { "category": "activity", "name": "man juggling: medium-light skin tone", "unicode": "1f939-1f3fc-200d-2642-fe0f" }, ":man_juggling_tone3:": { "category": "activity", "name": "man juggling: medium skin tone", "unicode": "1f939-1f3fd-200d-2642-fe0f" }, ":man_juggling_tone4:": { "category": "activity", "name": "man juggling: medium-dark skin tone", "unicode": "1f939-1f3fe-200d-2642-fe0f" }, ":man_juggling_tone5:": { "category": "activity", "name": "man juggling: dark skin tone", "unicode": "1f939-1f3ff-200d-2642-fe0f" }, ":man_kneeling:": { "category": "people", "name": "man kneeling", "unicode": "1f9ce-200d-2642-fe0f" }, ":man_kneeling_tone1:": { "category": "people", "name": "man kneeling: light skin tone", "unicode": "1f9ce-1f3fb-200d-2642-fe0f" }, ":man_kneeling_tone2:": { "category": "people", "name": "man kneeling: medium-light skin tone", "unicode": "1f9ce-1f3fc-200d-2642-fe0f" }, ":man_kneeling_tone3:": { "category": "people", "name": "man kneeling: medium skin tone", "unicode": "1f9ce-1f3fd-200d-2642-fe0f" }, ":man_kneeling_tone4:": { "category": "people", "name": "man kneeling: medium-dark skin tone", "unicode": "1f9ce-1f3fe-200d-2642-fe0f" }, ":man_kneeling_tone5:": { "category": "people", "name": "man kneeling: dark skin tone", "unicode": "1f9ce-1f3ff-200d-2642-fe0f" }, ":man_lifting_weights:": { "category": "activity", "name": "man lifting weights", "unicode": "1f3cb-fe0f-200d-2642-fe0f" }, ":man_lifting_weights_tone1:": { "category": "activity", "name": "man lifting weights: light skin tone", "unicode": "1f3cb-1f3fb-200d-2642-fe0f" }, ":man_lifting_weights_tone2:": { "category": "activity", "name": "man lifting weights: medium-light skin tone", "unicode": "1f3cb-1f3fc-200d-2642-fe0f" }, ":man_lifting_weights_tone3:": { "category": "activity", "name": "man lifting weights: medium skin tone", "unicode": "1f3cb-1f3fd-200d-2642-fe0f" }, ":man_lifting_weights_tone4:": { "category": "activity", "name": "man lifting weights: medium-dark skin tone", "unicode": "1f3cb-1f3fe-200d-2642-fe0f" }, ":man_lifting_weights_tone5:": { "category": "activity", "name": "man lifting weights: dark skin tone", "unicode": "1f3cb-1f3ff-200d-2642-fe0f" }, ":man_mage:": { "category": "people", "name": "man mage", "unicode": "1f9d9-200d-2642-fe0f" }, ":man_mage_tone1:": { "category": "people", "name": "man mage: light skin tone", "unicode": "1f9d9-1f3fb-200d-2642-fe0f" }, ":man_mage_tone2:": { "category": "people", "name": "man mage: medium-light skin tone", "unicode": "1f9d9-1f3fc-200d-2642-fe0f" }, ":man_mage_tone3:": { "category": "people", "name": "man mage: medium skin tone", "unicode": "1f9d9-1f3fd-200d-2642-fe0f" }, ":man_mage_tone4:": { "category": "people", "name": "man mage: medium-dark skin tone", "unicode": "1f9d9-1f3fe-200d-2642-fe0f" }, ":man_mage_tone5:": { "category": "people", "name": "man mage: dark skin tone", "unicode": "1f9d9-1f3ff-200d-2642-fe0f" }, ":man_mechanic:": { "category": "people", "name": "man mechanic", "unicode": "1f468-200d-1f527" }, ":man_mechanic_tone1:": { "category": "people", "name": "man mechanic: light skin tone", "unicode": "1f468-1f3fb-200d-1f527" }, ":man_mechanic_tone2:": { "category": "people", "name": "man mechanic: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f527" }, ":man_mechanic_tone3:": { "category": "people", "name": "man mechanic: medium skin tone", "unicode": "1f468-1f3fd-200d-1f527" }, ":man_mechanic_tone4:": { "category": "people", "name": "man mechanic: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f527" }, ":man_mechanic_tone5:": { "category": "people", "name": "man mechanic: dark skin tone", "unicode": "1f468-1f3ff-200d-1f527" }, ":man_mountain_biking:": { "category": "activity", "name": "man mountain biking", "unicode": "1f6b5-200d-2642-fe0f" }, ":man_mountain_biking_tone1:": { "category": "activity", "name": "man mountain biking: light skin tone", "unicode": "1f6b5-1f3fb-200d-2642-fe0f" }, ":man_mountain_biking_tone2:": { "category": "activity", "name": "man mountain biking: medium-light skin tone", "unicode": "1f6b5-1f3fc-200d-2642-fe0f" }, ":man_mountain_biking_tone3:": { "category": "activity", "name": "man mountain biking: medium skin tone", "unicode": "1f6b5-1f3fd-200d-2642-fe0f" }, ":man_mountain_biking_tone4:": { "category": "activity", "name": "man mountain biking: medium-dark skin tone", "unicode": "1f6b5-1f3fe-200d-2642-fe0f" }, ":man_mountain_biking_tone5:": { "category": "activity", "name": "man mountain biking: dark skin tone", "unicode": "1f6b5-1f3ff-200d-2642-fe0f" }, ":man_office_worker:": { "category": "people", "name": "man office worker", "unicode": "1f468-200d-1f4bc" }, ":man_office_worker_tone1:": { "category": "people", "name": "man office worker: light skin tone", "unicode": "1f468-1f3fb-200d-1f4bc" }, ":man_office_worker_tone2:": { "category": "people", "name": "man office worker: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f4bc" }, ":man_office_worker_tone3:": { "category": "people", "name": "man office worker: medium skin tone", "unicode": "1f468-1f3fd-200d-1f4bc" }, ":man_office_worker_tone4:": { "category": "people", "name": "man office worker: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f4bc" }, ":man_office_worker_tone5:": { "category": "people", "name": "man office worker: dark skin tone", "unicode": "1f468-1f3ff-200d-1f4bc" }, ":man_pilot:": { "category": "people", "name": "man pilot", "unicode": "1f468-200d-2708-fe0f" }, ":man_pilot_tone1:": { "category": "people", "name": "man pilot: light skin tone", "unicode": "1f468-1f3fb-200d-2708-fe0f" }, ":man_pilot_tone2:": { "category": "people", "name": "man pilot: medium-light skin tone", "unicode": "1f468-1f3fc-200d-2708-fe0f" }, ":man_pilot_tone3:": { "category": "people", "name": "man pilot: medium skin tone", "unicode": "1f468-1f3fd-200d-2708-fe0f" }, ":man_pilot_tone4:": { "category": "people", "name": "man pilot: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-2708-fe0f" }, ":man_pilot_tone5:": { "category": "people", "name": "man pilot: dark skin tone", "unicode": "1f468-1f3ff-200d-2708-fe0f" }, ":man_playing_handball:": { "category": "activity", "name": "man playing handball", "unicode": "1f93e-200d-2642-fe0f" }, ":man_playing_handball_tone1:": { "category": "activity", "name": "man playing handball: light skin tone", "unicode": "1f93e-1f3fb-200d-2642-fe0f" }, ":man_playing_handball_tone2:": { "category": "activity", "name": "man playing handball: medium-light skin tone", "unicode": "1f93e-1f3fc-200d-2642-fe0f" }, ":man_playing_handball_tone3:": { "category": "activity", "name": "man playing handball: medium skin tone", "unicode": "1f93e-1f3fd-200d-2642-fe0f" }, ":man_playing_handball_tone4:": { "category": "activity", "name": "man playing handball: medium-dark skin tone", "unicode": "1f93e-1f3fe-200d-2642-fe0f" }, ":man_playing_handball_tone5:": { "category": "activity", "name": "man playing handball: dark skin tone", "unicode": "1f93e-1f3ff-200d-2642-fe0f" }, ":man_playing_water_polo:": { "category": "activity", "name": "man playing water polo", "unicode": "1f93d-200d-2642-fe0f" }, ":man_playing_water_polo_tone1:": { "category": "activity", "name": "man playing water polo: light skin tone", "unicode": "1f93d-1f3fb-200d-2642-fe0f" }, ":man_playing_water_polo_tone2:": { "category": "activity", "name": "man playing water polo: medium-light skin tone", "unicode": "1f93d-1f3fc-200d-2642-fe0f" }, ":man_playing_water_polo_tone3:": { "category": "activity", "name": "man playing water polo: medium skin tone", "unicode": "1f93d-1f3fd-200d-2642-fe0f" }, ":man_playing_water_polo_tone4:": { "category": "activity", "name": "man playing water polo: medium-dark skin tone", "unicode": "1f93d-1f3fe-200d-2642-fe0f" }, ":man_playing_water_polo_tone5:": { "category": "activity", "name": "man playing water polo: dark skin tone", "unicode": "1f93d-1f3ff-200d-2642-fe0f" }, ":man_police_officer:": { "category": "people", "name": "man police officer", "unicode": "1f46e-200d-2642-fe0f" }, ":man_police_officer_tone1:": { "category": "people", "name": "man police officer: light skin tone", "unicode": "1f46e-1f3fb-200d-2642-fe0f" }, ":man_police_officer_tone2:": { "category": "people", "name": "man police officer: medium-light skin tone", "unicode": "1f46e-1f3fc-200d-2642-fe0f" }, ":man_police_officer_tone3:": { "category": "people", "name": "man police officer: medium skin tone", "unicode": "1f46e-1f3fd-200d-2642-fe0f" }, ":man_police_officer_tone4:": { "category": "people", "name": "man police officer: medium-dark skin tone", "unicode": "1f46e-1f3fe-200d-2642-fe0f" }, ":man_police_officer_tone5:": { "category": "people", "name": "man police officer: dark skin tone", "unicode": "1f46e-1f3ff-200d-2642-fe0f" }, ":man_pouting:": { "category": "people", "name": "man pouting", "unicode": "1f64e-200d-2642-fe0f" }, ":man_pouting_tone1:": { "category": "people", "name": "man pouting: light skin tone", "unicode": "1f64e-1f3fb-200d-2642-fe0f" }, ":man_pouting_tone2:": { "category": "people", "name": "man pouting: medium-light skin tone", "unicode": "1f64e-1f3fc-200d-2642-fe0f" }, ":man_pouting_tone3:": { "category": "people", "name": "man pouting: medium skin tone", "unicode": "1f64e-1f3fd-200d-2642-fe0f" }, ":man_pouting_tone4:": { "category": "people", "name": "man pouting: medium-dark skin tone", "unicode": "1f64e-1f3fe-200d-2642-fe0f" }, ":man_pouting_tone5:": { "category": "people", "name": "man pouting: dark skin tone", "unicode": "1f64e-1f3ff-200d-2642-fe0f" }, ":man_raising_hand:": { "category": "people", "name": "man raising hand", "unicode": "1f64b-200d-2642-fe0f" }, ":man_raising_hand_tone1:": { "category": "people", "name": "man raising hand: light skin tone", "unicode": "1f64b-1f3fb-200d-2642-fe0f" }, ":man_raising_hand_tone2:": { "category": "people", "name": "man raising hand: medium-light skin tone", "unicode": "1f64b-1f3fc-200d-2642-fe0f" }, ":man_raising_hand_tone3:": { "category": "people", "name": "man raising hand: medium skin tone", "unicode": "1f64b-1f3fd-200d-2642-fe0f" }, ":man_raising_hand_tone4:": { "category": "people", "name": "man raising hand: medium-dark skin tone", "unicode": "1f64b-1f3fe-200d-2642-fe0f" }, ":man_raising_hand_tone5:": { "category": "people", "name": "man raising hand: dark skin tone", "unicode": "1f64b-1f3ff-200d-2642-fe0f" }, ":man_red_haired:": { "category": "people", "name": "man: red hair", "unicode": "1f468-200d-1f9b0" }, ":man_red_haired_tone1:": { "category": "people", "name": "man, red haired: light skin tone", "unicode": "1f468-1f3fb-200d-1f9b0" }, ":man_red_haired_tone2:": { "category": "people", "name": "man, red haired: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9b0" }, ":man_red_haired_tone3:": { "category": "people", "name": "man, red haired: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9b0" }, ":man_red_haired_tone4:": { "category": "people", "name": "man, red haired: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9b0" }, ":man_red_haired_tone5:": { "category": "people", "name": "man, red haired: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9b0" }, ":man_rowing_boat:": { "category": "activity", "name": "man rowing boat", "unicode": "1f6a3-200d-2642-fe0f" }, ":man_rowing_boat_tone1:": { "category": "activity", "name": "man rowing boat: light skin tone", "unicode": "1f6a3-1f3fb-200d-2642-fe0f" }, ":man_rowing_boat_tone2:": { "category": "activity", "name": "man rowing boat: medium-light skin tone", "unicode": "1f6a3-1f3fc-200d-2642-fe0f" }, ":man_rowing_boat_tone3:": { "category": "activity", "name": "man rowing boat: medium skin tone", "unicode": "1f6a3-1f3fd-200d-2642-fe0f" }, ":man_rowing_boat_tone4:": { "category": "activity", "name": "man rowing boat: medium-dark skin tone", "unicode": "1f6a3-1f3fe-200d-2642-fe0f" }, ":man_rowing_boat_tone5:": { "category": "activity", "name": "man rowing boat: dark skin tone", "unicode": "1f6a3-1f3ff-200d-2642-fe0f" }, ":man_running:": { "category": "people", "name": "man running", "unicode": "1f3c3-200d-2642-fe0f" }, ":man_running_tone1:": { "category": "people", "name": "man running: light skin tone", "unicode": "1f3c3-1f3fb-200d-2642-fe0f" }, ":man_running_tone2:": { "category": "people", "name": "man running: medium-light skin tone", "unicode": "1f3c3-1f3fc-200d-2642-fe0f" }, ":man_running_tone3:": { "category": "people", "name": "man running: medium skin tone", "unicode": "1f3c3-1f3fd-200d-2642-fe0f" }, ":man_running_tone4:": { "category": "people", "name": "man running: medium-dark skin tone", "unicode": "1f3c3-1f3fe-200d-2642-fe0f" }, ":man_running_tone5:": { "category": "people", "name": "man running: dark skin tone", "unicode": "1f3c3-1f3ff-200d-2642-fe0f" }, ":man_scientist:": { "category": "people", "name": "man scientist", "unicode": "1f468-200d-1f52c" }, ":man_scientist_tone1:": { "category": "people", "name": "man scientist: light skin tone", "unicode": "1f468-1f3fb-200d-1f52c" }, ":man_scientist_tone2:": { "category": "people", "name": "man scientist: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f52c" }, ":man_scientist_tone3:": { "category": "people", "name": "man scientist: medium skin tone", "unicode": "1f468-1f3fd-200d-1f52c" }, ":man_scientist_tone4:": { "category": "people", "name": "man scientist: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f52c" }, ":man_scientist_tone5:": { "category": "people", "name": "man scientist: dark skin tone", "unicode": "1f468-1f3ff-200d-1f52c" }, ":man_shrugging:": { "category": "people", "name": "man shrugging", "unicode": "1f937-200d-2642-fe0f" }, ":man_shrugging_tone1:": { "category": "people", "name": "man shrugging: light skin tone", "unicode": "1f937-1f3fb-200d-2642-fe0f" }, ":man_shrugging_tone2:": { "category": "people", "name": "man shrugging: medium-light skin tone", "unicode": "1f937-1f3fc-200d-2642-fe0f" }, ":man_shrugging_tone3:": { "category": "people", "name": "man shrugging: medium skin tone", "unicode": "1f937-1f3fd-200d-2642-fe0f" }, ":man_shrugging_tone4:": { "category": "people", "name": "man shrugging: medium-dark skin tone", "unicode": "1f937-1f3fe-200d-2642-fe0f" }, ":man_shrugging_tone5:": { "category": "people", "name": "man shrugging: dark skin tone", "unicode": "1f937-1f3ff-200d-2642-fe0f" }, ":man_singer:": { "category": "people", "name": "man singer", "unicode": "1f468-200d-1f3a4" }, ":man_singer_tone1:": { "category": "people", "name": "man singer: light skin tone", "unicode": "1f468-1f3fb-200d-1f3a4" }, ":man_singer_tone2:": { "category": "people", "name": "man singer: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f3a4" }, ":man_singer_tone3:": { "category": "people", "name": "man singer: medium skin tone", "unicode": "1f468-1f3fd-200d-1f3a4" }, ":man_singer_tone4:": { "category": "people", "name": "man singer: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f3a4" }, ":man_singer_tone5:": { "category": "people", "name": "man singer: dark skin tone", "unicode": "1f468-1f3ff-200d-1f3a4" }, ":man_standing:": { "category": "people", "name": "man standing", "unicode": "1f9cd-200d-2642-fe0f" }, ":man_standing_tone1:": { "category": "people", "name": "man standing: light skin tone", "unicode": "1f9cd-1f3fb-200d-2642-fe0f" }, ":man_standing_tone2:": { "category": "people", "name": "man standing: medium-light skin tone", "unicode": "1f9cd-1f3fc-200d-2642-fe0f" }, ":man_standing_tone3:": { "category": "people", "name": "man standing: medium skin tone", "unicode": "1f9cd-1f3fd-200d-2642-fe0f" }, ":man_standing_tone4:": { "category": "people", "name": "man standing: medium-dark skin tone", "unicode": "1f9cd-1f3fe-200d-2642-fe0f" }, ":man_standing_tone5:": { "category": "people", "name": "man standing: dark skin tone", "unicode": "1f9cd-1f3ff-200d-2642-fe0f" }, ":man_student:": { "category": "people", "name": "man student", "unicode": "1f468-200d-1f393" }, ":man_student_tone1:": { "category": "people", "name": "man student: light skin tone", "unicode": "1f468-1f3fb-200d-1f393" }, ":man_student_tone2:": { "category": "people", "name": "man student: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f393" }, ":man_student_tone3:": { "category": "people", "name": "man student: medium skin tone", "unicode": "1f468-1f3fd-200d-1f393" }, ":man_student_tone4:": { "category": "people", "name": "man student: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f393" }, ":man_student_tone5:": { "category": "people", "name": "man student: dark skin tone", "unicode": "1f468-1f3ff-200d-1f393" }, ":man_superhero:": { "category": "people", "name": "man superhero", "unicode": "1f9b8-200d-2642-fe0f" }, ":man_superhero_tone1:": { "category": "people", "name": "man superhero: light skin tone", "unicode": "1f9b8-1f3fb-200d-2642-fe0f" }, ":man_superhero_tone2:": { "category": "people", "name": "man superhero: medium-light skin tone", "unicode": "1f9b8-1f3fc-200d-2642-fe0f" }, ":man_superhero_tone3:": { "category": "people", "name": "man superhero: medium skin tone", "unicode": "1f9b8-1f3fd-200d-2642-fe0f" }, ":man_superhero_tone4:": { "category": "people", "name": "man superhero: medium-dark skin tone", "unicode": "1f9b8-1f3fe-200d-2642-fe0f" }, ":man_superhero_tone5:": { "category": "people", "name": "man superhero: dark skin tone", "unicode": "1f9b8-1f3ff-200d-2642-fe0f" }, ":man_supervillain:": { "category": "people", "name": "man supervillain", "unicode": "1f9b9-200d-2642-fe0f" }, ":man_supervillain_tone1:": { "category": "people", "name": "man supervillain: light skin tone", "unicode": "1f9b9-1f3fb-200d-2642-fe0f" }, ":man_supervillain_tone2:": { "category": "people", "name": "man supervillain: medium-light skin tone", "unicode": "1f9b9-1f3fc-200d-2642-fe0f" }, ":man_supervillain_tone3:": { "category": "people", "name": "man supervillain: medium skin tone", "unicode": "1f9b9-1f3fd-200d-2642-fe0f" }, ":man_supervillain_tone4:": { "category": "people", "name": "man supervillain: medium-dark skin tone", "unicode": "1f9b9-1f3fe-200d-2642-fe0f" }, ":man_supervillain_tone5:": { "category": "people", "name": "man supervillain: dark skin tone", "unicode": "1f9b9-1f3ff-200d-2642-fe0f" }, ":man_surfing:": { "category": "activity", "name": "man surfing", "unicode": "1f3c4-200d-2642-fe0f" }, ":man_surfing_tone1:": { "category": "activity", "name": "man surfing: light skin tone", "unicode": "1f3c4-1f3fb-200d-2642-fe0f" }, ":man_surfing_tone2:": { "category": "activity", "name": "man surfing: medium-light skin tone", "unicode": "1f3c4-1f3fc-200d-2642-fe0f" }, ":man_surfing_tone3:": { "category": "activity", "name": "man surfing: medium skin tone", "unicode": "1f3c4-1f3fd-200d-2642-fe0f" }, ":man_surfing_tone4:": { "category": "activity", "name": "man surfing: medium-dark skin tone", "unicode": "1f3c4-1f3fe-200d-2642-fe0f" }, ":man_surfing_tone5:": { "category": "activity", "name": "man surfing: dark skin tone", "unicode": "1f3c4-1f3ff-200d-2642-fe0f" }, ":man_swimming:": { "category": "activity", "name": "man swimming", "unicode": "1f3ca-200d-2642-fe0f" }, ":man_swimming_tone1:": { "category": "activity", "name": "man swimming: light skin tone", "unicode": "1f3ca-1f3fb-200d-2642-fe0f" }, ":man_swimming_tone2:": { "category": "activity", "name": "man swimming: medium-light skin tone", "unicode": "1f3ca-1f3fc-200d-2642-fe0f" }, ":man_swimming_tone3:": { "category": "activity", "name": "man swimming: medium skin tone", "unicode": "1f3ca-1f3fd-200d-2642-fe0f" }, ":man_swimming_tone4:": { "category": "activity", "name": "man swimming: medium-dark skin tone", "unicode": "1f3ca-1f3fe-200d-2642-fe0f" }, ":man_swimming_tone5:": { "category": "activity", "name": "man swimming: dark skin tone", "unicode": "1f3ca-1f3ff-200d-2642-fe0f" }, ":man_teacher:": { "category": "people", "name": "man teacher", "unicode": "1f468-200d-1f3eb" }, ":man_teacher_tone1:": { "category": "people", "name": "man teacher: light skin tone", "unicode": "1f468-1f3fb-200d-1f3eb" }, ":man_teacher_tone2:": { "category": "people", "name": "man teacher: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f3eb" }, ":man_teacher_tone3:": { "category": "people", "name": "man teacher: medium skin tone", "unicode": "1f468-1f3fd-200d-1f3eb" }, ":man_teacher_tone4:": { "category": "people", "name": "man teacher: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f3eb" }, ":man_teacher_tone5:": { "category": "people", "name": "man teacher: dark skin tone", "unicode": "1f468-1f3ff-200d-1f3eb" }, ":man_technologist:": { "category": "people", "name": "man technologist", "unicode": "1f468-200d-1f4bb" }, ":man_technologist_tone1:": { "category": "people", "name": "man technologist: light skin tone", "unicode": "1f468-1f3fb-200d-1f4bb" }, ":man_technologist_tone2:": { "category": "people", "name": "man technologist: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f4bb" }, ":man_technologist_tone3:": { "category": "people", "name": "man technologist: medium skin tone", "unicode": "1f468-1f3fd-200d-1f4bb" }, ":man_technologist_tone4:": { "category": "people", "name": "man technologist: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f4bb" }, ":man_technologist_tone5:": { "category": "people", "name": "man technologist: dark skin tone", "unicode": "1f468-1f3ff-200d-1f4bb" }, ":man_tipping_hand:": { "category": "people", "name": "man tipping hand", "unicode": "1f481-200d-2642-fe0f" }, ":man_tipping_hand_tone1:": { "category": "people", "name": "man tipping hand: light skin tone", "unicode": "1f481-1f3fb-200d-2642-fe0f" }, ":man_tipping_hand_tone2:": { "category": "people", "name": "man tipping hand: medium-light skin tone", "unicode": "1f481-1f3fc-200d-2642-fe0f" }, ":man_tipping_hand_tone3:": { "category": "people", "name": "man tipping hand: medium skin tone", "unicode": "1f481-1f3fd-200d-2642-fe0f" }, ":man_tipping_hand_tone4:": { "category": "people", "name": "man tipping hand: medium-dark skin tone", "unicode": "1f481-1f3fe-200d-2642-fe0f" }, ":man_tipping_hand_tone5:": { "category": "people", "name": "man tipping hand: dark skin tone", "unicode": "1f481-1f3ff-200d-2642-fe0f" }, ":man_tone1:": { "category": "people", "name": "man: light skin tone", "unicode": "1f468-1f3fb" }, ":man_tone1_beard:": { "category": "people", "name": "man: light skin tone, beard", "unicode": "1f9d4-1f3fb-200d-2642-fe0f" }, ":man_tone2:": { "category": "people", "name": "man: medium-light skin tone", "unicode": "1f468-1f3fc" }, ":man_tone2_beard:": { "category": "people", "name": "man: medium-light skin tone, beard", "unicode": "1f9d4-1f3fc-200d-2642-fe0f" }, ":man_tone3:": { "category": "people", "name": "man: medium skin tone", "unicode": "1f468-1f3fd" }, ":man_tone3_beard:": { "category": "people", "name": "man: medium skin tone, beard", "unicode": "1f9d4-1f3fd-200d-2642-fe0f" }, ":man_tone4:": { "category": "people", "name": "man: medium-dark skin tone", "unicode": "1f468-1f3fe" }, ":man_tone4_beard:": { "category": "people", "name": "man: medium-dark skin tone, beard", "unicode": "1f9d4-1f3fe-200d-2642-fe0f" }, ":man_tone5:": { "category": "people", "name": "man: dark skin tone", "unicode": "1f468-1f3ff" }, ":man_tone5_beard:": { "category": "people", "name": "man: dark skin tone, beard", "unicode": "1f9d4-1f3ff-200d-2642-fe0f" }, ":man_vampire:": { "category": "people", "name": "man vampire", "unicode": "1f9db-200d-2642-fe0f" }, ":man_vampire_tone1:": { "category": "people", "name": "man vampire: light skin tone", "unicode": "1f9db-1f3fb-200d-2642-fe0f" }, ":man_vampire_tone2:": { "category": "people", "name": "man vampire: medium-light skin tone", "unicode": "1f9db-1f3fc-200d-2642-fe0f" }, ":man_vampire_tone3:": { "category": "people", "name": "man vampire: medium skin tone", "unicode": "1f9db-1f3fd-200d-2642-fe0f" }, ":man_vampire_tone4:": { "category": "people", "name": "man vampire: medium-dark skin tone", "unicode": "1f9db-1f3fe-200d-2642-fe0f" }, ":man_vampire_tone5:": { "category": "people", "name": "man vampire: dark skin tone", "unicode": "1f9db-1f3ff-200d-2642-fe0f" }, ":man_walking:": { "category": "people", "name": "man walking", "unicode": "1f6b6-200d-2642-fe0f" }, ":man_walking_tone1:": { "category": "people", "name": "man walking: light skin tone", "unicode": "1f6b6-1f3fb-200d-2642-fe0f" }, ":man_walking_tone2:": { "category": "people", "name": "man walking: medium-light skin tone", "unicode": "1f6b6-1f3fc-200d-2642-fe0f" }, ":man_walking_tone3:": { "category": "people", "name": "man walking: medium skin tone", "unicode": "1f6b6-1f3fd-200d-2642-fe0f" }, ":man_walking_tone4:": { "category": "people", "name": "man walking: medium-dark skin tone", "unicode": "1f6b6-1f3fe-200d-2642-fe0f" }, ":man_walking_tone5:": { "category": "people", "name": "man walking: dark skin tone", "unicode": "1f6b6-1f3ff-200d-2642-fe0f" }, ":man_wearing_turban:": { "category": "people", "name": "man wearing turban", "unicode": "1f473-200d-2642-fe0f" }, ":man_wearing_turban_tone1:": { "category": "people", "name": "man wearing turban: light skin tone", "unicode": "1f473-1f3fb-200d-2642-fe0f" }, ":man_wearing_turban_tone2:": { "category": "people", "name": "man wearing turban: medium-light skin tone", "unicode": "1f473-1f3fc-200d-2642-fe0f" }, ":man_wearing_turban_tone3:": { "category": "people", "name": "man wearing turban: medium skin tone", "unicode": "1f473-1f3fd-200d-2642-fe0f" }, ":man_wearing_turban_tone4:": { "category": "people", "name": "man wearing turban: medium-dark skin tone", "unicode": "1f473-1f3fe-200d-2642-fe0f" }, ":man_wearing_turban_tone5:": { "category": "people", "name": "man wearing turban: dark skin tone", "unicode": "1f473-1f3ff-200d-2642-fe0f" }, ":man_white_haired:": { "category": "people", "name": "man: white hair", "unicode": "1f468-200d-1f9b3" }, ":man_white_haired_tone1:": { "category": "people", "name": "man, white haired: light skin tone", "unicode": "1f468-1f3fb-200d-1f9b3" }, ":man_white_haired_tone2:": { "category": "people", "name": "man, white haired: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9b3" }, ":man_white_haired_tone3:": { "category": "people", "name": "man, white haired: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9b3" }, ":man_white_haired_tone4:": { "category": "people", "name": "man, white haired: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9b3" }, ":man_white_haired_tone5:": { "category": "people", "name": "man, white haired: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9b3" }, ":man_with_chinese_cap:": { "category": "people", "name": "man with Chinese cap", "unicode": "1f472" }, ":man_with_chinese_cap_tone1:": { "category": "people", "name": "man with Chinese cap: light skin tone", "unicode": "1f472-1f3fb" }, ":man_with_chinese_cap_tone2:": { "category": "people", "name": "man with Chinese cap: medium-light skin tone", "unicode": "1f472-1f3fc" }, ":man_with_chinese_cap_tone3:": { "category": "people", "name": "man with Chinese cap: medium skin tone", "unicode": "1f472-1f3fd" }, ":man_with_chinese_cap_tone4:": { "category": "people", "name": "man with Chinese cap: medium-dark skin tone", "unicode": "1f472-1f3fe" }, ":man_with_chinese_cap_tone5:": { "category": "people", "name": "man with Chinese cap: dark skin tone", "unicode": "1f472-1f3ff" }, ":man_with_probing_cane:": { "category": "people", "name": "man with probing cane", "unicode": "1f468-200d-1f9af" }, ":man_with_probing_cane_tone1:": { "category": "people", "name": "man with probing cane: light skin tone", "unicode": "1f468-1f3fb-200d-1f9af" }, ":man_with_probing_cane_tone2:": { "category": "people", "name": "man with probing cane: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f9af" }, ":man_with_probing_cane_tone3:": { "category": "people", "name": "man with probing cane: medium skin tone", "unicode": "1f468-1f3fd-200d-1f9af" }, ":man_with_probing_cane_tone4:": { "category": "people", "name": "man with probing cane: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f9af" }, ":man_with_probing_cane_tone5:": { "category": "people", "name": "man with probing cane: dark skin tone", "unicode": "1f468-1f3ff-200d-1f9af" }, ":man_with_veil:": { "category": "people", "name": "man with veil", "unicode": "1f470-200d-2642-fe0f" }, ":man_with_veil_tone1:": { "category": "people", "name": "man with veil: light skin tone", "unicode": "1f470-1f3fb-200d-2642-fe0f" }, ":man_with_veil_tone2:": { "category": "people", "name": "man with veil: medium-light skin tone", "unicode": "1f470-1f3fc-200d-2642-fe0f" }, ":man_with_veil_tone3:": { "category": "people", "name": "man with veil: medium skin tone", "unicode": "1f470-1f3fd-200d-2642-fe0f" }, ":man_with_veil_tone4:": { "category": "people", "name": "man with veil: medium-dark skin tone", "unicode": "1f470-1f3fe-200d-2642-fe0f" }, ":man_with_veil_tone5:": { "category": "people", "name": "man with veil: dark skin tone", "unicode": "1f470-1f3ff-200d-2642-fe0f" }, ":man_zombie:": { "category": "people", "name": "man zombie", "unicode": "1f9df-200d-2642-fe0f" }, ":mango:": { "category": "food", "name": "mango", "unicode": "1f96d" }, ":mans_shoe:": { "category": "people", "name": "man\u2019s shoe", "unicode": "1f45e" }, ":manual_wheelchair:": { "category": "travel", "name": "manual wheelchair", "unicode": "1f9bd" }, ":map:": { "category": "travel", "name": "world map", "unicode": "1f5fa" }, ":maple_leaf:": { "category": "nature", "name": "maple leaf", "unicode": "1f341" }, ":maracas:": { "category": "activity", "name": "maracas", "unicode": "1fa87" }, ":martial_arts_uniform:": { "category": "activity", "name": "martial arts uniform", "unicode": "1f94b" }, ":mask:": { "category": "people", "name": "face with medical mask", "unicode": "1f637" }, ":mate:": { "category": "food", "name": "mate", "unicode": "1f9c9" }, ":meat_on_bone:": { "category": "food", "name": "meat on bone", "unicode": "1f356" }, ":mechanic:": { "category": "people", "name": "mechanic", "unicode": "1f9d1-200d-1f527" }, ":mechanic_tone1:": { "category": "people", "name": "mechanic: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f527" }, ":mechanic_tone2:": { "category": "people", "name": "mechanic: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f527" }, ":mechanic_tone3:": { "category": "people", "name": "mechanic: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f527" }, ":mechanic_tone4:": { "category": "people", "name": "mechanic: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f527" }, ":mechanic_tone5:": { "category": "people", "name": "mechanic: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f527" }, ":mechanical_arm:": { "category": "people", "name": "mechanical arm", "unicode": "1f9be" }, ":mechanical_leg:": { "category": "people", "name": "mechanical leg", "unicode": "1f9bf" }, ":medal:": { "category": "activity", "name": "sports medal", "unicode": "1f3c5" }, ":medical_symbol:": { "category": "symbols", "name": "medical symbol", "unicode": "2695" }, ":mega:": { "category": "symbols", "name": "megaphone", "unicode": "1f4e3" }, ":melon:": { "category": "food", "name": "melon", "unicode": "1f348" }, ":melting_face:": { "category": "people", "name": "melting face", "unicode": "1fae0" }, ":men_holding_hands_tone1:": { "category": "people", "name": "men holding hands: light skin tone", "unicode": "1f46c-1f3fb" }, ":men_holding_hands_tone1_tone2:": { "category": "people", "name": "men holding hands: light skin tone, medium-light skin tone", "unicode": "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc" }, ":men_holding_hands_tone1_tone3:": { "category": "people", "name": "men holding hands: light skin tone, medium skin tone", "unicode": "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd" }, ":men_holding_hands_tone1_tone4:": { "category": "people", "name": "men holding hands: light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe" }, ":men_holding_hands_tone1_tone5:": { "category": "people", "name": "men holding hands: light skin tone, dark skin tone", "unicode": "1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff" }, ":men_holding_hands_tone2:": { "category": "people", "name": "men holding hands: medium-light skin tone", "unicode": "1f46c-1f3fc" }, ":men_holding_hands_tone2_tone1:": { "category": "people", "name": "men holding hands: medium-light skin tone, light skin tone", "unicode": "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb" }, ":men_holding_hands_tone2_tone3:": { "category": "people", "name": "men holding hands: medium-light skin tone, medium skin tone", "unicode": "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd" }, ":men_holding_hands_tone2_tone4:": { "category": "people", "name": "men holding hands: medium-light skin tone, medium-dark skin tone", "unicode": "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe" }, ":men_holding_hands_tone2_tone5:": { "category": "people", "name": "men holding hands: medium-light skin tone, dark skin tone", "unicode": "1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff" }, ":men_holding_hands_tone3:": { "category": "people", "name": "men holding hands: medium skin tone", "unicode": "1f46c-1f3fd" }, ":men_holding_hands_tone3_tone1:": { "category": "people", "name": "men holding hands: medium skin tone, light skin tone", "unicode": "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb" }, ":men_holding_hands_tone3_tone2:": { "category": "people", "name": "men holding hands: medium skin tone, medium-light skin tone", "unicode": "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc" }, ":men_holding_hands_tone3_tone4:": { "category": "people", "name": "men holding hands: medium skin tone, medium-dark skin tone", "unicode": "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe" }, ":men_holding_hands_tone3_tone5:": { "category": "people", "name": "men holding hands: medium skin tone, dark skin tone", "unicode": "1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff" }, ":men_holding_hands_tone4:": { "category": "people", "name": "men holding hands: medium-dark skin tone", "unicode": "1f46c-1f3fe" }, ":men_holding_hands_tone4_tone1:": { "category": "people", "name": "men holding hands: medium-dark skin tone, light skin tone", "unicode": "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb" }, ":men_holding_hands_tone4_tone2:": { "category": "people", "name": "men holding hands: medium dark skin tone, medium light skin tone", "unicode": "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc" }, ":men_holding_hands_tone4_tone3:": { "category": "people", "name": "men holding hands: medium-dark skin tone, medium skin tone", "unicode": "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd" }, ":men_holding_hands_tone4_tone5:": { "category": "people", "name": "men holding hands: medium-dark skin tone, dark skin tone", "unicode": "1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff" }, ":men_holding_hands_tone5:": { "category": "people", "name": "men holding hands: dark skin tone", "unicode": "1f46c-1f3ff" }, ":men_holding_hands_tone5_tone1:": { "category": "people", "name": "men holding hands: dark skin tone, light skin tone", "unicode": "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb" }, ":men_holding_hands_tone5_tone2:": { "category": "people", "name": "men holding hands: dark skin tone, medium-light skin tone", "unicode": "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc" }, ":men_holding_hands_tone5_tone3:": { "category": "people", "name": "men holding hands: dark skin tone, medium skin tone", "unicode": "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd" }, ":men_holding_hands_tone5_tone4:": { "category": "people", "name": "men holding hands: dark skin tone, medium-dark skin tone", "unicode": "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe" }, ":men_with_bunny_ears_partying:": { "category": "people", "name": "men with bunny ears", "unicode": "1f46f-200d-2642-fe0f" }, ":men_wrestling:": { "category": "activity", "name": "men wrestling", "unicode": "1f93c-200d-2642-fe0f" }, ":mending_heart:": { "category": "symbols", "name": "mending heart", "unicode": "2764-fe0f-200d-1fa79" }, ":menorah:": { "category": "symbols", "name": "menorah", "unicode": "1f54e" }, ":mens:": { "category": "symbols", "name": "men\u2019s room", "unicode": "1f6b9" }, ":mermaid:": { "category": "people", "name": "mermaid", "unicode": "1f9dc-200d-2640-fe0f" }, ":mermaid_tone1:": { "category": "people", "name": "mermaid: light skin tone", "unicode": "1f9dc-1f3fb-200d-2640-fe0f" }, ":mermaid_tone2:": { "category": "people", "name": "mermaid: medium-light skin tone", "unicode": "1f9dc-1f3fc-200d-2640-fe0f" }, ":mermaid_tone3:": { "category": "people", "name": "mermaid: medium skin tone", "unicode": "1f9dc-1f3fd-200d-2640-fe0f" }, ":mermaid_tone4:": { "category": "people", "name": "mermaid: medium-dark skin tone", "unicode": "1f9dc-1f3fe-200d-2640-fe0f" }, ":mermaid_tone5:": { "category": "people", "name": "mermaid: dark skin tone", "unicode": "1f9dc-1f3ff-200d-2640-fe0f" }, ":merman:": { "category": "people", "name": "merman", "unicode": "1f9dc-200d-2642-fe0f" }, ":merman_tone1:": { "category": "people", "name": "merman: light skin tone", "unicode": "1f9dc-1f3fb-200d-2642-fe0f" }, ":merman_tone2:": { "category": "people", "name": "merman: medium-light skin tone", "unicode": "1f9dc-1f3fc-200d-2642-fe0f" }, ":merman_tone3:": { "category": "people", "name": "merman: medium skin tone", "unicode": "1f9dc-1f3fd-200d-2642-fe0f" }, ":merman_tone4:": { "category": "people", "name": "merman: medium-dark skin tone", "unicode": "1f9dc-1f3fe-200d-2642-fe0f" }, ":merman_tone5:": { "category": "people", "name": "merman: dark skin tone", "unicode": "1f9dc-1f3ff-200d-2642-fe0f" }, ":merperson:": { "category": "people", "name": "merperson", "unicode": "1f9dc" }, ":merperson_tone1:": { "category": "people", "name": "merperson: light skin tone", "unicode": "1f9dc-1f3fb" }, ":merperson_tone2:": { "category": "people", "name": "merperson: medium-light skin tone", "unicode": "1f9dc-1f3fc" }, ":merperson_tone3:": { "category": "people", "name": "merperson: medium skin tone", "unicode": "1f9dc-1f3fd" }, ":merperson_tone4:": { "category": "people", "name": "merperson: medium-dark skin tone", "unicode": "1f9dc-1f3fe" }, ":merperson_tone5:": { "category": "people", "name": "merperson: dark skin tone", "unicode": "1f9dc-1f3ff" }, ":metal:": { "category": "people", "name": "sign of the horns", "unicode": "1f918" }, ":metal_tone1:": { "category": "people", "name": "sign of the horns: light skin tone", "unicode": "1f918-1f3fb" }, ":metal_tone2:": { "category": "people", "name": "sign of the horns: medium-light skin tone", "unicode": "1f918-1f3fc" }, ":metal_tone3:": { "category": "people", "name": "sign of the horns: medium skin tone", "unicode": "1f918-1f3fd" }, ":metal_tone4:": { "category": "people", "name": "sign of the horns: medium-dark skin tone", "unicode": "1f918-1f3fe" }, ":metal_tone5:": { "category": "people", "name": "sign of the horns: dark skin tone", "unicode": "1f918-1f3ff" }, ":metro:": { "category": "travel", "name": "metro", "unicode": "1f687" }, ":microbe:": { "category": "objects", "name": "microbe", "unicode": "1f9a0" }, ":microphone2:": { "category": "objects", "name": "studio microphone", "unicode": "1f399" }, ":microphone:": { "category": "activity", "name": "microphone", "unicode": "1f3a4" }, ":microscope:": { "category": "objects", "name": "microscope", "unicode": "1f52c" }, ":middle_finger:": { "category": "people", "name": "middle finger", "unicode": "1f595" }, ":middle_finger_tone1:": { "category": "people", "name": "middle finger: light skin tone", "unicode": "1f595-1f3fb" }, ":middle_finger_tone2:": { "category": "people", "name": "middle finger: medium-light skin tone", "unicode": "1f595-1f3fc" }, ":middle_finger_tone3:": { "category": "people", "name": "middle finger: medium skin tone", "unicode": "1f595-1f3fd" }, ":middle_finger_tone4:": { "category": "people", "name": "middle finger: medium-dark skin tone", "unicode": "1f595-1f3fe" }, ":middle_finger_tone5:": { "category": "people", "name": "middle finger: dark skin tone", "unicode": "1f595-1f3ff" }, ":military_helmet:": { "category": "people", "name": "military helmet", "unicode": "1fa96" }, ":military_medal:": { "category": "activity", "name": "military medal", "unicode": "1f396" }, ":milk:": { "category": "food", "name": "glass of milk", "unicode": "1f95b" }, ":milky_way:": { "category": "travel", "name": "milky way", "unicode": "1f30c" }, ":minibus:": { "category": "travel", "name": "minibus", "unicode": "1f690" }, ":minidisc:": { "category": "objects", "name": "computer disk", "unicode": "1f4bd" }, ":mirror:": { "category": "objects", "name": "mirror", "unicode": "1fa9e" }, ":mirror_ball:": { "category": "objects", "name": "mirror ball", "unicode": "1faa9" }, ":mobile_phone:": { "category": "objects", "name": "mobile phone", "unicode": "1f4f1" }, ":mobile_phone_off:": { "category": "symbols", "name": "mobile phone off", "unicode": "1f4f4" }, ":money_mouth:": { "category": "people", "name": "money-mouth face", "unicode": "1f911" }, ":money_with_wings:": { "category": "objects", "name": "money with wings", "unicode": "1f4b8" }, ":moneybag:": { "category": "objects", "name": "money bag", "unicode": "1f4b0" }, ":monkey:": { "category": "nature", "name": "monkey", "unicode": "1f412" }, ":monkey_face:": { "category": "nature", "name": "monkey face", "unicode": "1f435" }, ":monorail:": { "category": "travel", "name": "monorail", "unicode": "1f69d" }, ":moon_cake:": { "category": "food", "name": "moon cake", "unicode": "1f96e" }, ":moose:": { "category": "nature", "name": "moose", "unicode": "1face" }, ":mortar_board:": { "category": "people", "name": "graduation cap", "unicode": "1f393" }, ":mosque:": { "category": "travel", "name": "mosque", "unicode": "1f54c" }, ":mosquito:": { "category": "nature", "name": "mosquito", "unicode": "1f99f" }, ":motor_scooter:": { "category": "travel", "name": "motor scooter", "unicode": "1f6f5" }, ":motorboat:": { "category": "travel", "name": "motor boat", "unicode": "1f6e5" }, ":motorcycle:": { "category": "travel", "name": "motorcycle", "unicode": "1f3cd" }, ":motorized_wheelchair:": { "category": "travel", "name": "motorized wheelchair", "unicode": "1f9bc" }, ":motorway:": { "category": "travel", "name": "motorway", "unicode": "1f6e3" }, ":mount_fuji:": { "category": "travel", "name": "mount fuji", "unicode": "1f5fb" }, ":mountain:": { "category": "travel", "name": "mountain", "unicode": "26f0" }, ":mountain_cableway:": { "category": "travel", "name": "mountain cableway", "unicode": "1f6a0" }, ":mountain_railway:": { "category": "travel", "name": "mountain railway", "unicode": "1f69e" }, ":mountain_snow:": { "category": "travel", "name": "snow-capped mountain", "unicode": "1f3d4" }, ":mouse2:": { "category": "nature", "name": "mouse", "unicode": "1f401" }, ":mouse:": { "category": "nature", "name": "mouse face", "unicode": "1f42d" }, ":mouse_three_button:": { "category": "objects", "name": "computer mouse", "unicode": "1f5b1" }, ":mouse_trap:": { "category": "objects", "name": "mouse trap", "unicode": "1faa4" }, ":movie_camera:": { "category": "objects", "name": "movie camera", "unicode": "1f3a5" }, ":moyai:": { "category": "travel", "name": "moai", "unicode": "1f5ff" }, ":mrs_claus:": { "category": "people", "name": "Mrs. Claus", "unicode": "1f936" }, ":mrs_claus_tone1:": { "category": "people", "name": "Mrs. Claus: light skin tone", "unicode": "1f936-1f3fb" }, ":mrs_claus_tone2:": { "category": "people", "name": "Mrs. Claus: medium-light skin tone", "unicode": "1f936-1f3fc" }, ":mrs_claus_tone3:": { "category": "people", "name": "Mrs. Claus: medium skin tone", "unicode": "1f936-1f3fd" }, ":mrs_claus_tone4:": { "category": "people", "name": "Mrs. Claus: medium-dark skin tone", "unicode": "1f936-1f3fe" }, ":mrs_claus_tone5:": { "category": "people", "name": "Mrs. Claus: dark skin tone", "unicode": "1f936-1f3ff" }, ":muscle:": { "category": "people", "name": "flexed biceps", "unicode": "1f4aa" }, ":muscle_tone1:": { "category": "people", "name": "flexed biceps: light skin tone", "unicode": "1f4aa-1f3fb" }, ":muscle_tone2:": { "category": "people", "name": "flexed biceps: medium-light skin tone", "unicode": "1f4aa-1f3fc" }, ":muscle_tone3:": { "category": "people", "name": "flexed biceps: medium skin tone", "unicode": "1f4aa-1f3fd" }, ":muscle_tone4:": { "category": "people", "name": "flexed biceps: medium-dark skin tone", "unicode": "1f4aa-1f3fe" }, ":muscle_tone5:": { "category": "people", "name": "flexed biceps: dark skin tone", "unicode": "1f4aa-1f3ff" }, ":mushroom:": { "category": "nature", "name": "mushroom", "unicode": "1f344" }, ":musical_keyboard:": { "category": "activity", "name": "musical keyboard", "unicode": "1f3b9" }, ":musical_note:": { "category": "symbols", "name": "musical note", "unicode": "1f3b5" }, ":musical_score:": { "category": "activity", "name": "musical score", "unicode": "1f3bc" }, ":mute:": { "category": "symbols", "name": "muted speaker", "unicode": "1f507" }, ":mx_claus:": { "category": "people", "name": "mx claus", "unicode": "1f9d1-200d-1f384" }, ":mx_claus_tone1:": { "category": "people", "name": "mx claus: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f384" }, ":mx_claus_tone2:": { "category": "people", "name": "mx claus: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f384" }, ":mx_claus_tone3:": { "category": "people", "name": "mx claus: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f384" }, ":mx_claus_tone4:": { "category": "people", "name": "mx claus: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f384" }, ":mx_claus_tone5:": { "category": "people", "name": "mx claus: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f384" }, ":nail_care:": { "category": "people", "name": "nail polish", "unicode": "1f485" }, ":nail_care_tone1:": { "category": "people", "name": "nail polish: light skin tone", "unicode": "1f485-1f3fb" }, ":nail_care_tone2:": { "category": "people", "name": "nail polish: medium-light skin tone", "unicode": "1f485-1f3fc" }, ":nail_care_tone3:": { "category": "people", "name": "nail polish: medium skin tone", "unicode": "1f485-1f3fd" }, ":nail_care_tone4:": { "category": "people", "name": "nail polish: medium-dark skin tone", "unicode": "1f485-1f3fe" }, ":nail_care_tone5:": { "category": "people", "name": "nail polish: dark skin tone", "unicode": "1f485-1f3ff" }, ":name_badge:": { "category": "symbols", "name": "name badge", "unicode": "1f4db" }, ":nauseated_face:": { "category": "people", "name": "nauseated face", "unicode": "1f922" }, ":nazar_amulet:": { "category": "objects", "name": "nazar amulet", "unicode": "1f9ff" }, ":necktie:": { "category": "people", "name": "necktie", "unicode": "1f454" }, ":negative_squared_cross_mark:": { "category": "symbols", "name": "cross mark button", "unicode": "274e" }, ":nerd:": { "category": "people", "name": "nerd face", "unicode": "1f913" }, ":nest_with_eggs:": { "category": "nature", "name": "nest with eggs", "unicode": "1faba" }, ":nesting_dolls:": { "category": "objects", "name": "nesting dolls", "unicode": "1fa86" }, ":neutral_face:": { "category": "people", "name": "neutral face", "unicode": "1f610" }, ":new:": { "category": "symbols", "name": "NEW button", "unicode": "1f195" }, ":new_moon:": { "category": "nature", "name": "new moon", "unicode": "1f311" }, ":new_moon_with_face:": { "category": "nature", "name": "new moon face", "unicode": "1f31a" }, ":newspaper2:": { "category": "objects", "name": "rolled-up newspaper", "unicode": "1f5de" }, ":newspaper:": { "category": "objects", "name": "newspaper", "unicode": "1f4f0" }, ":ng:": { "category": "symbols", "name": "NG button", "unicode": "1f196" }, ":night_with_stars:": { "category": "travel", "name": "night with stars", "unicode": "1f303" }, ":nine:": { "category": "symbols", "name": "keycap: 9", "unicode": "39-20e3", "unicode_alt": "0039-20e3" }, ":ninja:": { "category": "people", "name": "ninja", "unicode": "1f977" }, ":ninja_tone1:": { "category": "people", "name": "ninja: light skin tone", "unicode": "1f977-1f3fb" }, ":ninja_tone2:": { "category": "people", "name": "ninja: medium-light skin tone", "unicode": "1f977-1f3fc" }, ":ninja_tone3:": { "category": "people", "name": "ninja: medium skin tone", "unicode": "1f977-1f3fd" }, ":ninja_tone4:": { "category": "people", "name": "ninja: medium-dark skin tone", "unicode": "1f977-1f3fe" }, ":ninja_tone5:": { "category": "people", "name": "ninja: dark skin tone", "unicode": "1f977-1f3ff" }, ":no_bell:": { "category": "symbols", "name": "bell with slash", "unicode": "1f515" }, ":no_bicycles:": { "category": "symbols", "name": "no bicycles", "unicode": "1f6b3" }, ":no_entry:": { "category": "symbols", "name": "no entry", "unicode": "26d4" }, ":no_entry_sign:": { "category": "symbols", "name": "prohibited", "unicode": "1f6ab" }, ":no_mobile_phones:": { "category": "symbols", "name": "no mobile phones", "unicode": "1f4f5" }, ":no_mouth:": { "category": "people", "name": "face without mouth", "unicode": "1f636" }, ":no_pedestrians:": { "category": "symbols", "name": "no pedestrians", "unicode": "1f6b7" }, ":no_smoking:": { "category": "symbols", "name": "no smoking", "unicode": "1f6ad" }, ":non-potable_water:": { "category": "symbols", "name": "non-potable water", "unicode": "1f6b1" }, ":nose:": { "category": "people", "name": "nose", "unicode": "1f443" }, ":nose_tone1:": { "category": "people", "name": "nose: light skin tone", "unicode": "1f443-1f3fb" }, ":nose_tone2:": { "category": "people", "name": "nose: medium-light skin tone", "unicode": "1f443-1f3fc" }, ":nose_tone3:": { "category": "people", "name": "nose: medium skin tone", "unicode": "1f443-1f3fd" }, ":nose_tone4:": { "category": "people", "name": "nose: medium-dark skin tone", "unicode": "1f443-1f3fe" }, ":nose_tone5:": { "category": "people", "name": "nose: dark skin tone", "unicode": "1f443-1f3ff" }, ":notebook:": { "category": "objects", "name": "notebook", "unicode": "1f4d3" }, ":notebook_with_decorative_cover:": { "category": "objects", "name": "notebook with decorative cover", "unicode": "1f4d4" }, ":notepad_spiral:": { "category": "objects", "name": "spiral notepad", "unicode": "1f5d2" }, ":notes:": { "category": "symbols", "name": "musical notes", "unicode": "1f3b6" }, ":nut_and_bolt:": { "category": "objects", "name": "nut and bolt", "unicode": "1f529" }, ":o2:": { "category": "symbols", "name": "O button (blood type)", "unicode": "1f17e" }, ":o:": { "category": "symbols", "name": "hollow red circle", "unicode": "2b55" }, ":ocean:": { "category": "nature", "name": "water wave", "unicode": "1f30a" }, ":octagonal_sign:": { "category": "symbols", "name": "stop sign", "unicode": "1f6d1" }, ":octopus:": { "category": "nature", "name": "octopus", "unicode": "1f419" }, ":oden:": { "category": "food", "name": "oden", "unicode": "1f362" }, ":office:": { "category": "travel", "name": "office building", "unicode": "1f3e2" }, ":office_worker:": { "category": "people", "name": "office worker", "unicode": "1f9d1-200d-1f4bc" }, ":office_worker_tone1:": { "category": "people", "name": "office worker: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f4bc" }, ":office_worker_tone2:": { "category": "people", "name": "office worker: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f4bc" }, ":office_worker_tone3:": { "category": "people", "name": "office worker: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f4bc" }, ":office_worker_tone4:": { "category": "people", "name": "office worker: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f4bc" }, ":office_worker_tone5:": { "category": "people", "name": "office worker: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f4bc" }, ":oil:": { "category": "objects", "name": "oil drum", "unicode": "1f6e2" }, ":ok:": { "category": "symbols", "name": "OK button", "unicode": "1f197" }, ":ok_hand:": { "category": "people", "name": "OK hand", "unicode": "1f44c" }, ":ok_hand_tone1:": { "category": "people", "name": "OK hand: light skin tone", "unicode": "1f44c-1f3fb" }, ":ok_hand_tone2:": { "category": "people", "name": "OK hand: medium-light skin tone", "unicode": "1f44c-1f3fc" }, ":ok_hand_tone3:": { "category": "people", "name": "OK hand: medium skin tone", "unicode": "1f44c-1f3fd" }, ":ok_hand_tone4:": { "category": "people", "name": "OK hand: medium-dark skin tone", "unicode": "1f44c-1f3fe" }, ":ok_hand_tone5:": { "category": "people", "name": "OK hand: dark skin tone", "unicode": "1f44c-1f3ff" }, ":older_adult:": { "category": "people", "name": "older person", "unicode": "1f9d3" }, ":older_adult_tone1:": { "category": "people", "name": "older person: light skin tone", "unicode": "1f9d3-1f3fb" }, ":older_adult_tone2:": { "category": "people", "name": "older person: medium-light skin tone", "unicode": "1f9d3-1f3fc" }, ":older_adult_tone3:": { "category": "people", "name": "older person: medium skin tone", "unicode": "1f9d3-1f3fd" }, ":older_adult_tone4:": { "category": "people", "name": "older person: medium-dark skin tone", "unicode": "1f9d3-1f3fe" }, ":older_adult_tone5:": { "category": "people", "name": "older person: dark skin tone", "unicode": "1f9d3-1f3ff" }, ":older_man:": { "category": "people", "name": "old man", "unicode": "1f474" }, ":older_man_tone1:": { "category": "people", "name": "old man: light skin tone", "unicode": "1f474-1f3fb" }, ":older_man_tone2:": { "category": "people", "name": "old man: medium-light skin tone", "unicode": "1f474-1f3fc" }, ":older_man_tone3:": { "category": "people", "name": "old man: medium skin tone", "unicode": "1f474-1f3fd" }, ":older_man_tone4:": { "category": "people", "name": "old man: medium-dark skin tone", "unicode": "1f474-1f3fe" }, ":older_man_tone5:": { "category": "people", "name": "old man: dark skin tone", "unicode": "1f474-1f3ff" }, ":older_woman:": { "category": "people", "name": "old woman", "unicode": "1f475" }, ":older_woman_tone1:": { "category": "people", "name": "old woman: light skin tone", "unicode": "1f475-1f3fb" }, ":older_woman_tone2:": { "category": "people", "name": "old woman: medium-light skin tone", "unicode": "1f475-1f3fc" }, ":older_woman_tone3:": { "category": "people", "name": "old woman: medium skin tone", "unicode": "1f475-1f3fd" }, ":older_woman_tone4:": { "category": "people", "name": "old woman: medium-dark skin tone", "unicode": "1f475-1f3fe" }, ":older_woman_tone5:": { "category": "people", "name": "old woman: dark skin tone", "unicode": "1f475-1f3ff" }, ":olive:": { "category": "food", "name": "olive", "unicode": "1fad2" }, ":om_symbol:": { "category": "symbols", "name": "om", "unicode": "1f549" }, ":on:": { "category": "symbols", "name": "ON! arrow", "unicode": "1f51b" }, ":oncoming_automobile:": { "category": "travel", "name": "oncoming automobile", "unicode": "1f698" }, ":oncoming_bus:": { "category": "travel", "name": "oncoming bus", "unicode": "1f68d" }, ":oncoming_police_car:": { "category": "travel", "name": "oncoming police car", "unicode": "1f694" }, ":oncoming_taxi:": { "category": "travel", "name": "oncoming taxi", "unicode": "1f696" }, ":one:": { "category": "symbols", "name": "keycap: 1", "unicode": "31-20e3", "unicode_alt": "0031-20e3" }, ":one_piece_swimsuit:": { "category": "people", "name": "one-piece swimsuit", "unicode": "1fa71" }, ":onion:": { "category": "food", "name": "onion", "unicode": "1f9c5" }, ":open_file_folder:": { "category": "objects", "name": "open file folder", "unicode": "1f4c2" }, ":open_hands:": { "category": "people", "name": "open hands", "unicode": "1f450" }, ":open_hands_tone1:": { "category": "people", "name": "open hands: light skin tone", "unicode": "1f450-1f3fb" }, ":open_hands_tone2:": { "category": "people", "name": "open hands: medium-light skin tone", "unicode": "1f450-1f3fc" }, ":open_hands_tone3:": { "category": "people", "name": "open hands: medium skin tone", "unicode": "1f450-1f3fd" }, ":open_hands_tone4:": { "category": "people", "name": "open hands: medium-dark skin tone", "unicode": "1f450-1f3fe" }, ":open_hands_tone5:": { "category": "people", "name": "open hands: dark skin tone", "unicode": "1f450-1f3ff" }, ":open_mouth:": { "category": "people", "name": "face with open mouth", "unicode": "1f62e" }, ":ophiuchus:": { "category": "symbols", "name": "Ophiuchus", "unicode": "26ce" }, ":orange_book:": { "category": "objects", "name": "orange book", "unicode": "1f4d9" }, ":orange_circle:": { "category": "symbols", "name": "orange circle", "unicode": "1f7e0" }, ":orange_heart:": { "category": "symbols", "name": "orange heart", "unicode": "1f9e1" }, ":orange_square:": { "category": "symbols", "name": "orange square", "unicode": "1f7e7" }, ":orangutan:": { "category": "nature", "name": "orangutan", "unicode": "1f9a7" }, ":orthodox_cross:": { "category": "symbols", "name": "orthodox cross", "unicode": "2626" }, ":otter:": { "category": "nature", "name": "otter", "unicode": "1f9a6" }, ":outbox_tray:": { "category": "objects", "name": "outbox tray", "unicode": "1f4e4" }, ":owl:": { "category": "nature", "name": "owl", "unicode": "1f989" }, ":ox:": { "category": "nature", "name": "ox", "unicode": "1f402" }, ":oyster:": { "category": "food", "name": "oyster", "unicode": "1f9aa" }, ":package:": { "category": "objects", "name": "package", "unicode": "1f4e6" }, ":page_facing_up:": { "category": "objects", "name": "page facing up", "unicode": "1f4c4" }, ":page_with_curl:": { "category": "objects", "name": "page with curl", "unicode": "1f4c3" }, ":pager:": { "category": "objects", "name": "pager", "unicode": "1f4df" }, ":paintbrush:": { "category": "objects", "name": "paintbrush", "unicode": "1f58c" }, ":palm_down_hand:": { "category": "people", "name": "palm down hand", "unicode": "1faf3" }, ":palm_down_hand_tone1:": { "category": "people", "name": "palm down hand: light skin tone", "unicode": "1faf3-1f3fb" }, ":palm_down_hand_tone2:": { "category": "people", "name": "palm down hand: medium-light skin tone", "unicode": "1faf3-1f3fc" }, ":palm_down_hand_tone3:": { "category": "people", "name": "palm down hand: medium skin tone", "unicode": "1faf3-1f3fd" }, ":palm_down_hand_tone4:": { "category": "people", "name": "palm down hand: medium-dark skin tone", "unicode": "1faf3-1f3fe" }, ":palm_down_hand_tone5:": { "category": "people", "name": "palm down hand: dark skin tone", "unicode": "1faf3-1f3ff" }, ":palm_tree:": { "category": "nature", "name": "palm tree", "unicode": "1f334" }, ":palm_up_hand:": { "category": "people", "name": "palm up hand", "unicode": "1faf4" }, ":palm_up_hand_tone1:": { "category": "people", "name": "palm up hand: light skin tone", "unicode": "1faf4-1f3fb" }, ":palm_up_hand_tone2:": { "category": "people", "name": "palm up hand: medium-light skin tone", "unicode": "1faf4-1f3fc" }, ":palm_up_hand_tone3:": { "category": "people", "name": "palm up hand: medium skin tone", "unicode": "1faf4-1f3fd" }, ":palm_up_hand_tone4:": { "category": "people", "name": "palm up hand: medium-dark skin tone", "unicode": "1faf4-1f3fe" }, ":palm_up_hand_tone5:": { "category": "people", "name": "palm up hand: dark skin tone", "unicode": "1faf4-1f3ff" }, ":palms_up_together:": { "category": "people", "name": "palms up together", "unicode": "1f932" }, ":palms_up_together_tone1:": { "category": "people", "name": "palms up together: light skin tone", "unicode": "1f932-1f3fb" }, ":palms_up_together_tone2:": { "category": "people", "name": "palms up together: medium-light skin tone", "unicode": "1f932-1f3fc" }, ":palms_up_together_tone3:": { "category": "people", "name": "palms up together: medium skin tone", "unicode": "1f932-1f3fd" }, ":palms_up_together_tone4:": { "category": "people", "name": "palms up together: medium-dark skin tone", "unicode": "1f932-1f3fe" }, ":palms_up_together_tone5:": { "category": "people", "name": "palms up together: dark skin tone", "unicode": "1f932-1f3ff" }, ":pancakes:": { "category": "food", "name": "pancakes", "unicode": "1f95e" }, ":panda_face:": { "category": "nature", "name": "panda", "unicode": "1f43c" }, ":paperclip:": { "category": "objects", "name": "paperclip", "unicode": "1f4ce" }, ":paperclips:": { "category": "objects", "name": "linked paperclips", "unicode": "1f587" }, ":parachute:": { "category": "activity", "name": "parachute", "unicode": "1fa82" }, ":park:": { "category": "travel", "name": "national park", "unicode": "1f3de" }, ":parking:": { "category": "symbols", "name": "P button", "unicode": "1f17f" }, ":parrot:": { "category": "nature", "name": "parrot", "unicode": "1f99c" }, ":part_alternation_mark:": { "category": "symbols", "name": "part alternation mark", "unicode": "303d" }, ":partly_sunny:": { "category": "nature", "name": "sun behind cloud", "unicode": "26c5" }, ":partying_face:": { "category": "people", "name": "partying face", "unicode": "1f973" }, ":passport_control:": { "category": "symbols", "name": "passport control", "unicode": "1f6c2" }, ":pause_button:": { "category": "symbols", "name": "pause button", "unicode": "23f8" }, ":pea_pod:": { "category": "food", "name": "pea pod", "unicode": "1fadb" }, ":peace:": { "category": "symbols", "name": "peace symbol", "unicode": "262e" }, ":peach:": { "category": "food", "name": "peach", "unicode": "1f351" }, ":peacock:": { "category": "nature", "name": "peacock", "unicode": "1f99a" }, ":peanuts:": { "category": "food", "name": "peanuts", "unicode": "1f95c" }, ":pear:": { "category": "food", "name": "pear", "unicode": "1f350" }, ":pen_ballpoint:": { "category": "objects", "name": "pen", "unicode": "1f58a" }, ":pen_fountain:": { "category": "objects", "name": "fountain pen", "unicode": "1f58b" }, ":pencil2:": { "category": "objects", "name": "pencil", "unicode": "270f" }, ":pencil:": { "category": "objects", "name": "memo", "unicode": "1f4dd" }, ":penguin:": { "category": "nature", "name": "penguin", "unicode": "1f427" }, ":pensive:": { "category": "people", "name": "pensive face", "unicode": "1f614" }, ":people_holding_hands:": { "category": "people", "name": "people holding hands", "unicode": "1f9d1-200d-1f91d-200d-1f9d1" }, ":people_holding_hands_tone1:": { "category": "people", "name": "people holding hands: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb" }, ":people_holding_hands_tone1_tone2:": { "category": "people", "name": "people holding hands: light skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc" }, ":people_holding_hands_tone1_tone3:": { "category": "people", "name": "people holding hands: light skin tone, medium skin tone", "unicode": "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd" }, ":people_holding_hands_tone1_tone4:": { "category": "people", "name": "people holding hands: light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe" }, ":people_holding_hands_tone1_tone5:": { "category": "people", "name": "people holding hands: light skin tone, dark skin tone", "unicode": "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff" }, ":people_holding_hands_tone2:": { "category": "people", "name": "people holding hands: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc" }, ":people_holding_hands_tone2_tone1:": { "category": "people", "name": "people holding hands: medium-light skin tone, light skin tone", "unicode": "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb" }, ":people_holding_hands_tone2_tone3:": { "category": "people", "name": "people holding hands: medium-light skin tone, medium skin tone", "unicode": "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd" }, ":people_holding_hands_tone2_tone4:": { "category": "people", "name": "people holding hands: medium-light skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe" }, ":people_holding_hands_tone2_tone5:": { "category": "people", "name": "people holding hands: medium-light skin tone, dark skin tone", "unicode": "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff" }, ":people_holding_hands_tone3:": { "category": "people", "name": "people holding hands: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd" }, ":people_holding_hands_tone3_tone1:": { "category": "people", "name": "people holding hands: medium skin tone, light skin tone", "unicode": "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb" }, ":people_holding_hands_tone3_tone2:": { "category": "people", "name": "people holding hands: medium skin tone, medium-light skin tone", "unicode": "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc" }, ":people_holding_hands_tone3_tone4:": { "category": "people", "name": "people holding hands: medium skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe" }, ":people_holding_hands_tone3_tone5:": { "category": "people", "name": "people holding hands: medium skin tone, dark skin tone", "unicode": "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff" }, ":people_holding_hands_tone4:": { "category": "people", "name": "people holding hands: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe" }, ":people_holding_hands_tone4_tone1:": { "category": "people", "name": "people holding hands: medium-dark skin tone, light skin tone", "unicode": "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb" }, ":people_holding_hands_tone4_tone2:": { "category": "people", "name": "people holding hands: medium dark skin tone, medium light skin tone", "unicode": "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc" }, ":people_holding_hands_tone4_tone3:": { "category": "people", "name": "people holding hands: medium-dark skin tone, medium skin tone", "unicode": "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd" }, ":people_holding_hands_tone4_tone5:": { "category": "people", "name": "people holding hands: medium-dark skin tone, dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff" }, ":people_holding_hands_tone5:": { "category": "people", "name": "people holding hands: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff" }, ":people_holding_hands_tone5_tone1:": { "category": "people", "name": "people holding hands: dark skin tone, light skin tone", "unicode": "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb" }, ":people_holding_hands_tone5_tone2:": { "category": "people", "name": "people holding hands: dark skin tone, medium-light skin tone", "unicode": "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc" }, ":people_holding_hands_tone5_tone3:": { "category": "people", "name": "people holding hands: dark skin tone, medium skin tone", "unicode": "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd" }, ":people_holding_hands_tone5_tone4:": { "category": "people", "name": "people holding hands: dark skin tone, medium-dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe" }, ":people_hugging:": { "category": "people", "name": "people hugging", "unicode": "1fac2" }, ":people_with_bunny_ears_partying:": { "category": "people", "name": "people with bunny ears", "unicode": "1f46f" }, ":people_wrestling:": { "category": "activity", "name": "people wrestling", "unicode": "1f93c" }, ":performing_arts:": { "category": "activity", "name": "performing arts", "unicode": "1f3ad" }, ":persevere:": { "category": "people", "name": "persevering face", "unicode": "1f623" }, ":person_bald:": { "category": "people", "name": "person: bald", "unicode": "1f9d1-200d-1f9b2" }, ":person_biking:": { "category": "activity", "name": "person biking", "unicode": "1f6b4" }, ":person_biking_tone1:": { "category": "activity", "name": "person biking: light skin tone", "unicode": "1f6b4-1f3fb" }, ":person_biking_tone2:": { "category": "activity", "name": "person biking: medium-light skin tone", "unicode": "1f6b4-1f3fc" }, ":person_biking_tone3:": { "category": "activity", "name": "person biking: medium skin tone", "unicode": "1f6b4-1f3fd" }, ":person_biking_tone4:": { "category": "activity", "name": "person biking: medium-dark skin tone", "unicode": "1f6b4-1f3fe" }, ":person_biking_tone5:": { "category": "activity", "name": "person biking: dark skin tone", "unicode": "1f6b4-1f3ff" }, ":person_bouncing_ball:": { "category": "activity", "name": "person bouncing ball", "unicode": "26f9" }, ":person_bouncing_ball_tone1:": { "category": "activity", "name": "person bouncing ball: light skin tone", "unicode": "26f9-1f3fb" }, ":person_bouncing_ball_tone2:": { "category": "activity", "name": "person bouncing ball: medium-light skin tone", "unicode": "26f9-1f3fc" }, ":person_bouncing_ball_tone3:": { "category": "activity", "name": "person bouncing ball: medium skin tone", "unicode": "26f9-1f3fd" }, ":person_bouncing_ball_tone4:": { "category": "activity", "name": "person bouncing ball: medium-dark skin tone", "unicode": "26f9-1f3fe" }, ":person_bouncing_ball_tone5:": { "category": "activity", "name": "person bouncing ball: dark skin tone", "unicode": "26f9-1f3ff" }, ":person_bowing:": { "category": "people", "name": "person bowing", "unicode": "1f647" }, ":person_bowing_tone1:": { "category": "people", "name": "person bowing: light skin tone", "unicode": "1f647-1f3fb" }, ":person_bowing_tone2:": { "category": "people", "name": "person bowing: medium-light skin tone", "unicode": "1f647-1f3fc" }, ":person_bowing_tone3:": { "category": "people", "name": "person bowing: medium skin tone", "unicode": "1f647-1f3fd" }, ":person_bowing_tone4:": { "category": "people", "name": "person bowing: medium-dark skin tone", "unicode": "1f647-1f3fe" }, ":person_bowing_tone5:": { "category": "people", "name": "person bowing: dark skin tone", "unicode": "1f647-1f3ff" }, ":person_climbing:": { "category": "activity", "name": "person climbing", "unicode": "1f9d7" }, ":person_climbing_tone1:": { "category": "activity", "name": "person climbing: light skin tone", "unicode": "1f9d7-1f3fb" }, ":person_climbing_tone2:": { "category": "activity", "name": "person climbing: medium-light skin tone", "unicode": "1f9d7-1f3fc" }, ":person_climbing_tone3:": { "category": "activity", "name": "person climbing: medium skin tone", "unicode": "1f9d7-1f3fd" }, ":person_climbing_tone4:": { "category": "activity", "name": "person climbing: medium-dark skin tone", "unicode": "1f9d7-1f3fe" }, ":person_climbing_tone5:": { "category": "activity", "name": "person climbing: dark skin tone", "unicode": "1f9d7-1f3ff" }, ":person_curly_hair:": { "category": "people", "name": "person: curly hair", "unicode": "1f9d1-200d-1f9b1" }, ":person_doing_cartwheel:": { "category": "activity", "name": "person cartwheeling", "unicode": "1f938" }, ":person_doing_cartwheel_tone1:": { "category": "activity", "name": "person cartwheeling: light skin tone", "unicode": "1f938-1f3fb" }, ":person_doing_cartwheel_tone2:": { "category": "activity", "name": "person cartwheeling: medium-light skin tone", "unicode": "1f938-1f3fc" }, ":person_doing_cartwheel_tone3:": { "category": "activity", "name": "person cartwheeling: medium skin tone", "unicode": "1f938-1f3fd" }, ":person_doing_cartwheel_tone4:": { "category": "activity", "name": "person cartwheeling: medium-dark skin tone", "unicode": "1f938-1f3fe" }, ":person_doing_cartwheel_tone5:": { "category": "activity", "name": "person cartwheeling: dark skin tone", "unicode": "1f938-1f3ff" }, ":person_facepalming:": { "category": "people", "name": "person facepalming", "unicode": "1f926" }, ":person_facepalming_tone1:": { "category": "people", "name": "person facepalming: light skin tone", "unicode": "1f926-1f3fb" }, ":person_facepalming_tone2:": { "category": "people", "name": "person facepalming: medium-light skin tone", "unicode": "1f926-1f3fc" }, ":person_facepalming_tone3:": { "category": "people", "name": "person facepalming: medium skin tone", "unicode": "1f926-1f3fd" }, ":person_facepalming_tone4:": { "category": "people", "name": "person facepalming: medium-dark skin tone", "unicode": "1f926-1f3fe" }, ":person_facepalming_tone5:": { "category": "people", "name": "person facepalming: dark skin tone", "unicode": "1f926-1f3ff" }, ":person_feeding_baby:": { "category": "people", "name": "person feeding baby", "unicode": "1f9d1-200d-1f37c" }, ":person_feeding_baby_tone1:": { "category": "people", "name": "person feeding baby: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f37c" }, ":person_feeding_baby_tone2:": { "category": "people", "name": "person feeding baby: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f37c" }, ":person_feeding_baby_tone3:": { "category": "people", "name": "person feeding baby: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f37c" }, ":person_feeding_baby_tone4:": { "category": "people", "name": "person feeding baby: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f37c" }, ":person_feeding_baby_tone5:": { "category": "people", "name": "person feeding baby: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f37c" }, ":person_fencing:": { "category": "activity", "name": "person fencing", "unicode": "1f93a" }, ":person_frowning:": { "category": "people", "name": "person frowning", "unicode": "1f64d" }, ":person_frowning_tone1:": { "category": "people", "name": "person frowning: light skin tone", "unicode": "1f64d-1f3fb" }, ":person_frowning_tone2:": { "category": "people", "name": "person frowning: medium-light skin tone", "unicode": "1f64d-1f3fc" }, ":person_frowning_tone3:": { "category": "people", "name": "person frowning: medium skin tone", "unicode": "1f64d-1f3fd" }, ":person_frowning_tone4:": { "category": "people", "name": "person frowning: medium-dark skin tone", "unicode": "1f64d-1f3fe" }, ":person_frowning_tone5:": { "category": "people", "name": "person frowning: dark skin tone", "unicode": "1f64d-1f3ff" }, ":person_gesturing_no:": { "category": "people", "name": "person gesturing NO", "unicode": "1f645" }, ":person_gesturing_no_tone1:": { "category": "people", "name": "person gesturing NO: light skin tone", "unicode": "1f645-1f3fb" }, ":person_gesturing_no_tone2:": { "category": "people", "name": "person gesturing NO: medium-light skin tone", "unicode": "1f645-1f3fc" }, ":person_gesturing_no_tone3:": { "category": "people", "name": "person gesturing NO: medium skin tone", "unicode": "1f645-1f3fd" }, ":person_gesturing_no_tone4:": { "category": "people", "name": "person gesturing NO: medium-dark skin tone", "unicode": "1f645-1f3fe" }, ":person_gesturing_no_tone5:": { "category": "people", "name": "person gesturing NO: dark skin tone", "unicode": "1f645-1f3ff" }, ":person_gesturing_ok:": { "category": "people", "name": "person gesturing OK", "unicode": "1f646" }, ":person_gesturing_ok_tone1:": { "category": "people", "name": "person gesturing OK: light skin tone", "unicode": "1f646-1f3fb" }, ":person_gesturing_ok_tone2:": { "category": "people", "name": "person gesturing OK: medium-light skin tone", "unicode": "1f646-1f3fc" }, ":person_gesturing_ok_tone3:": { "category": "people", "name": "person gesturing OK: medium skin tone", "unicode": "1f646-1f3fd" }, ":person_gesturing_ok_tone4:": { "category": "people", "name": "person gesturing OK: medium-dark skin tone", "unicode": "1f646-1f3fe" }, ":person_gesturing_ok_tone5:": { "category": "people", "name": "person gesturing OK: dark skin tone", "unicode": "1f646-1f3ff" }, ":person_getting_haircut:": { "category": "people", "name": "person getting haircut", "unicode": "1f487" }, ":person_getting_haircut_tone1:": { "category": "people", "name": "person getting haircut: light skin tone", "unicode": "1f487-1f3fb" }, ":person_getting_haircut_tone2:": { "category": "people", "name": "person getting haircut: medium-light skin tone", "unicode": "1f487-1f3fc" }, ":person_getting_haircut_tone3:": { "category": "people", "name": "person getting haircut: medium skin tone", "unicode": "1f487-1f3fd" }, ":person_getting_haircut_tone4:": { "category": "people", "name": "person getting haircut: medium-dark skin tone", "unicode": "1f487-1f3fe" }, ":person_getting_haircut_tone5:": { "category": "people", "name": "person getting haircut: dark skin tone", "unicode": "1f487-1f3ff" }, ":person_getting_massage:": { "category": "people", "name": "person getting massage", "unicode": "1f486" }, ":person_getting_massage_tone1:": { "category": "people", "name": "person getting massage: light skin tone", "unicode": "1f486-1f3fb" }, ":person_getting_massage_tone2:": { "category": "people", "name": "person getting massage: medium-light skin tone", "unicode": "1f486-1f3fc" }, ":person_getting_massage_tone3:": { "category": "people", "name": "person getting massage: medium skin tone", "unicode": "1f486-1f3fd" }, ":person_getting_massage_tone4:": { "category": "people", "name": "person getting massage: medium-dark skin tone", "unicode": "1f486-1f3fe" }, ":person_getting_massage_tone5:": { "category": "people", "name": "person getting massage: dark skin tone", "unicode": "1f486-1f3ff" }, ":person_golfing:": { "category": "activity", "name": "person golfing", "unicode": "1f3cc" }, ":person_golfing_tone1:": { "category": "activity", "name": "person golfing: light skin tone", "unicode": "1f3cc-1f3fb" }, ":person_golfing_tone2:": { "category": "activity", "name": "person golfing: medium-light skin tone", "unicode": "1f3cc-1f3fc" }, ":person_golfing_tone3:": { "category": "activity", "name": "person golfing: medium skin tone", "unicode": "1f3cc-1f3fd" }, ":person_golfing_tone4:": { "category": "activity", "name": "person golfing: medium-dark skin tone", "unicode": "1f3cc-1f3fe" }, ":person_golfing_tone5:": { "category": "activity", "name": "person golfing: dark skin tone", "unicode": "1f3cc-1f3ff" }, ":person_in_bed_tone1:": { "category": "objects", "name": "person in bed: light skin tone", "unicode": "1f6cc-1f3fb" }, ":person_in_bed_tone2:": { "category": "objects", "name": "person in bed: medium-light skin tone", "unicode": "1f6cc-1f3fc" }, ":person_in_bed_tone3:": { "category": "objects", "name": "person in bed: medium skin tone", "unicode": "1f6cc-1f3fd" }, ":person_in_bed_tone4:": { "category": "objects", "name": "person in bed: medium-dark skin tone", "unicode": "1f6cc-1f3fe" }, ":person_in_bed_tone5:": { "category": "objects", "name": "person in bed: dark skin tone", "unicode": "1f6cc-1f3ff" }, ":person_in_lotus_position:": { "category": "activity", "name": "person in lotus position", "unicode": "1f9d8" }, ":person_in_lotus_position_tone1:": { "category": "activity", "name": "person in lotus position: light skin tone", "unicode": "1f9d8-1f3fb" }, ":person_in_lotus_position_tone2:": { "category": "activity", "name": "person in lotus position: medium-light skin tone", "unicode": "1f9d8-1f3fc" }, ":person_in_lotus_position_tone3:": { "category": "activity", "name": "person in lotus position: medium skin tone", "unicode": "1f9d8-1f3fd" }, ":person_in_lotus_position_tone4:": { "category": "activity", "name": "person in lotus position: medium-dark skin tone", "unicode": "1f9d8-1f3fe" }, ":person_in_lotus_position_tone5:": { "category": "activity", "name": "person in lotus position: dark skin tone", "unicode": "1f9d8-1f3ff" }, ":person_in_manual_wheelchair:": { "category": "people", "name": "person in manual wheelchair", "unicode": "1f9d1-200d-1f9bd" }, ":person_in_manual_wheelchair_tone1:": { "category": "people", "name": "person in manual wheelchair: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f9bd" }, ":person_in_manual_wheelchair_tone2:": { "category": "people", "name": "person in manual wheelchair: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f9bd" }, ":person_in_manual_wheelchair_tone3:": { "category": "people", "name": "person in manual wheelchair: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f9bd" }, ":person_in_manual_wheelchair_tone4:": { "category": "people", "name": "person in manual wheelchair: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f9bd" }, ":person_in_manual_wheelchair_tone5:": { "category": "people", "name": "person in manual wheelchair: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f9bd" }, ":person_in_motorized_wheelchair:": { "category": "people", "name": "person in motorized wheelchair", "unicode": "1f9d1-200d-1f9bc" }, ":person_in_motorized_wheelchair_tone1:": { "category": "people", "name": "person in motorized wheelchair: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f9bc" }, ":person_in_motorized_wheelchair_tone2:": { "category": "people", "name": "person in motorized wheelchair: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f9bc" }, ":person_in_motorized_wheelchair_tone3:": { "category": "people", "name": "person in motorized wheelchair: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f9bc" }, ":person_in_motorized_wheelchair_tone4:": { "category": "people", "name": "person in motorized wheelchair: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f9bc" }, ":person_in_motorized_wheelchair_tone5:": { "category": "people", "name": "person in motorized wheelchair: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f9bc" }, ":person_in_steamy_room:": { "category": "people", "name": "person in steamy room", "unicode": "1f9d6" }, ":person_in_steamy_room_tone1:": { "category": "people", "name": "person in steamy room: light skin tone", "unicode": "1f9d6-1f3fb" }, ":person_in_steamy_room_tone2:": { "category": "people", "name": "person in steamy room: medium-light skin tone", "unicode": "1f9d6-1f3fc" }, ":person_in_steamy_room_tone3:": { "category": "people", "name": "person in steamy room: medium skin tone", "unicode": "1f9d6-1f3fd" }, ":person_in_steamy_room_tone4:": { "category": "people", "name": "person in steamy room: medium-dark skin tone", "unicode": "1f9d6-1f3fe" }, ":person_in_steamy_room_tone5:": { "category": "people", "name": "person in steamy room: dark skin tone", "unicode": "1f9d6-1f3ff" }, ":person_in_tuxedo:": { "category": "people", "name": "person in tuxedo", "unicode": "1f935" }, ":person_in_tuxedo_tone1:": { "category": "people", "name": "person in tuxedo: light skin tone", "unicode": "1f935-1f3fb" }, ":person_in_tuxedo_tone2:": { "category": "people", "name": "person in tuxedo: medium-light skin tone", "unicode": "1f935-1f3fc" }, ":person_in_tuxedo_tone3:": { "category": "people", "name": "person in tuxedo: medium skin tone", "unicode": "1f935-1f3fd" }, ":person_in_tuxedo_tone4:": { "category": "people", "name": "person in tuxedo: medium-dark skin tone", "unicode": "1f935-1f3fe" }, ":person_in_tuxedo_tone5:": { "category": "people", "name": "person in tuxedo: dark skin tone", "unicode": "1f935-1f3ff" }, ":person_juggling:": { "category": "activity", "name": "person juggling", "unicode": "1f939" }, ":person_juggling_tone1:": { "category": "activity", "name": "person juggling: light skin tone", "unicode": "1f939-1f3fb" }, ":person_juggling_tone2:": { "category": "activity", "name": "person juggling: medium-light skin tone", "unicode": "1f939-1f3fc" }, ":person_juggling_tone3:": { "category": "activity", "name": "person juggling: medium skin tone", "unicode": "1f939-1f3fd" }, ":person_juggling_tone4:": { "category": "activity", "name": "person juggling: medium-dark skin tone", "unicode": "1f939-1f3fe" }, ":person_juggling_tone5:": { "category": "activity", "name": "person juggling: dark skin tone", "unicode": "1f939-1f3ff" }, ":person_kneeling:": { "category": "people", "name": "person kneeling", "unicode": "1f9ce" }, ":person_kneeling_tone1:": { "category": "people", "name": "person kneeling: light skin tone", "unicode": "1f9ce-1f3fb" }, ":person_kneeling_tone2:": { "category": "people", "name": "person kneeling: medium-light skin tone", "unicode": "1f9ce-1f3fc" }, ":person_kneeling_tone3:": { "category": "people", "name": "person kneeling: medium skin tone", "unicode": "1f9ce-1f3fd" }, ":person_kneeling_tone4:": { "category": "people", "name": "person kneeling: medium-dark skin tone", "unicode": "1f9ce-1f3fe" }, ":person_kneeling_tone5:": { "category": "people", "name": "person kneeling: dark skin tone", "unicode": "1f9ce-1f3ff" }, ":person_lifting_weights:": { "category": "activity", "name": "person lifting weights", "unicode": "1f3cb" }, ":person_lifting_weights_tone1:": { "category": "activity", "name": "person lifting weights: light skin tone", "unicode": "1f3cb-1f3fb" }, ":person_lifting_weights_tone2:": { "category": "activity", "name": "person lifting weights: medium-light skin tone", "unicode": "1f3cb-1f3fc" }, ":person_lifting_weights_tone3:": { "category": "activity", "name": "person lifting weights: medium skin tone", "unicode": "1f3cb-1f3fd" }, ":person_lifting_weights_tone4:": { "category": "activity", "name": "person lifting weights: medium-dark skin tone", "unicode": "1f3cb-1f3fe" }, ":person_lifting_weights_tone5:": { "category": "activity", "name": "person lifting weights: dark skin tone", "unicode": "1f3cb-1f3ff" }, ":person_mountain_biking:": { "category": "activity", "name": "person mountain biking", "unicode": "1f6b5" }, ":person_mountain_biking_tone1:": { "category": "activity", "name": "person mountain biking: light skin tone", "unicode": "1f6b5-1f3fb" }, ":person_mountain_biking_tone2:": { "category": "activity", "name": "person mountain biking: medium-light skin tone", "unicode": "1f6b5-1f3fc" }, ":person_mountain_biking_tone3:": { "category": "activity", "name": "person mountain biking: medium skin tone", "unicode": "1f6b5-1f3fd" }, ":person_mountain_biking_tone4:": { "category": "activity", "name": "person mountain biking: medium-dark skin tone", "unicode": "1f6b5-1f3fe" }, ":person_mountain_biking_tone5:": { "category": "activity", "name": "person mountain biking: dark skin tone", "unicode": "1f6b5-1f3ff" }, ":person_playing_handball:": { "category": "activity", "name": "person playing handball", "unicode": "1f93e" }, ":person_playing_handball_tone1:": { "category": "activity", "name": "person playing handball: light skin tone", "unicode": "1f93e-1f3fb" }, ":person_playing_handball_tone2:": { "category": "activity", "name": "person playing handball: medium-light skin tone", "unicode": "1f93e-1f3fc" }, ":person_playing_handball_tone3:": { "category": "activity", "name": "person playing handball: medium skin tone", "unicode": "1f93e-1f3fd" }, ":person_playing_handball_tone4:": { "category": "activity", "name": "person playing handball: medium-dark skin tone", "unicode": "1f93e-1f3fe" }, ":person_playing_handball_tone5:": { "category": "activity", "name": "person playing handball: dark skin tone", "unicode": "1f93e-1f3ff" }, ":person_playing_water_polo:": { "category": "activity", "name": "person playing water polo", "unicode": "1f93d" }, ":person_playing_water_polo_tone1:": { "category": "activity", "name": "person playing water polo: light skin tone", "unicode": "1f93d-1f3fb" }, ":person_playing_water_polo_tone2:": { "category": "activity", "name": "person playing water polo: medium-light skin tone", "unicode": "1f93d-1f3fc" }, ":person_playing_water_polo_tone3:": { "category": "activity", "name": "person playing water polo: medium skin tone", "unicode": "1f93d-1f3fd" }, ":person_playing_water_polo_tone4:": { "category": "activity", "name": "person playing water polo: medium-dark skin tone", "unicode": "1f93d-1f3fe" }, ":person_playing_water_polo_tone5:": { "category": "activity", "name": "person playing water polo: dark skin tone", "unicode": "1f93d-1f3ff" }, ":person_pouting:": { "category": "people", "name": "person pouting", "unicode": "1f64e" }, ":person_pouting_tone1:": { "category": "people", "name": "person pouting: light skin tone", "unicode": "1f64e-1f3fb" }, ":person_pouting_tone2:": { "category": "people", "name": "person pouting: medium-light skin tone", "unicode": "1f64e-1f3fc" }, ":person_pouting_tone3:": { "category": "people", "name": "person pouting: medium skin tone", "unicode": "1f64e-1f3fd" }, ":person_pouting_tone4:": { "category": "people", "name": "person pouting: medium-dark skin tone", "unicode": "1f64e-1f3fe" }, ":person_pouting_tone5:": { "category": "people", "name": "person pouting: dark skin tone", "unicode": "1f64e-1f3ff" }, ":person_raising_hand:": { "category": "people", "name": "person raising hand", "unicode": "1f64b" }, ":person_raising_hand_tone1:": { "category": "people", "name": "person raising hand: light skin tone", "unicode": "1f64b-1f3fb" }, ":person_raising_hand_tone2:": { "category": "people", "name": "person raising hand: medium-light skin tone", "unicode": "1f64b-1f3fc" }, ":person_raising_hand_tone3:": { "category": "people", "name": "person raising hand: medium skin tone", "unicode": "1f64b-1f3fd" }, ":person_raising_hand_tone4:": { "category": "people", "name": "person raising hand: medium-dark skin tone", "unicode": "1f64b-1f3fe" }, ":person_raising_hand_tone5:": { "category": "people", "name": "person raising hand: dark skin tone", "unicode": "1f64b-1f3ff" }, ":person_red_hair:": { "category": "people", "name": "person: red hair", "unicode": "1f9d1-200d-1f9b0" }, ":person_rowing_boat:": { "category": "activity", "name": "person rowing boat", "unicode": "1f6a3" }, ":person_rowing_boat_tone1:": { "category": "activity", "name": "person rowing boat: light skin tone", "unicode": "1f6a3-1f3fb" }, ":person_rowing_boat_tone2:": { "category": "activity", "name": "person rowing boat: medium-light skin tone", "unicode": "1f6a3-1f3fc" }, ":person_rowing_boat_tone3:": { "category": "activity", "name": "person rowing boat: medium skin tone", "unicode": "1f6a3-1f3fd" }, ":person_rowing_boat_tone4:": { "category": "activity", "name": "person rowing boat: medium-dark skin tone", "unicode": "1f6a3-1f3fe" }, ":person_rowing_boat_tone5:": { "category": "activity", "name": "person rowing boat: dark skin tone", "unicode": "1f6a3-1f3ff" }, ":person_running:": { "category": "people", "name": "person running", "unicode": "1f3c3" }, ":person_running_tone1:": { "category": "people", "name": "person running: light skin tone", "unicode": "1f3c3-1f3fb" }, ":person_running_tone2:": { "category": "people", "name": "person running: medium-light skin tone", "unicode": "1f3c3-1f3fc" }, ":person_running_tone3:": { "category": "people", "name": "person running: medium skin tone", "unicode": "1f3c3-1f3fd" }, ":person_running_tone4:": { "category": "people", "name": "person running: medium-dark skin tone", "unicode": "1f3c3-1f3fe" }, ":person_running_tone5:": { "category": "people", "name": "person running: dark skin tone", "unicode": "1f3c3-1f3ff" }, ":person_shrugging:": { "category": "people", "name": "person shrugging", "unicode": "1f937" }, ":person_shrugging_tone1:": { "category": "people", "name": "person shrugging: light skin tone", "unicode": "1f937-1f3fb" }, ":person_shrugging_tone2:": { "category": "people", "name": "person shrugging: medium-light skin tone", "unicode": "1f937-1f3fc" }, ":person_shrugging_tone3:": { "category": "people", "name": "person shrugging: medium skin tone", "unicode": "1f937-1f3fd" }, ":person_shrugging_tone4:": { "category": "people", "name": "person shrugging: medium-dark skin tone", "unicode": "1f937-1f3fe" }, ":person_shrugging_tone5:": { "category": "people", "name": "person shrugging: dark skin tone", "unicode": "1f937-1f3ff" }, ":person_standing:": { "category": "people", "name": "person standing", "unicode": "1f9cd" }, ":person_standing_tone1:": { "category": "people", "name": "person standing: light skin tone", "unicode": "1f9cd-1f3fb" }, ":person_standing_tone2:": { "category": "people", "name": "person standing: medium-light skin tone", "unicode": "1f9cd-1f3fc" }, ":person_standing_tone3:": { "category": "people", "name": "person standing: medium skin tone", "unicode": "1f9cd-1f3fd" }, ":person_standing_tone4:": { "category": "people", "name": "person standing: medium-dark skin tone", "unicode": "1f9cd-1f3fe" }, ":person_standing_tone5:": { "category": "people", "name": "person standing: dark skin tone", "unicode": "1f9cd-1f3ff" }, ":person_surfing:": { "category": "activity", "name": "person surfing", "unicode": "1f3c4" }, ":person_surfing_tone1:": { "category": "activity", "name": "person surfing: light skin tone", "unicode": "1f3c4-1f3fb" }, ":person_surfing_tone2:": { "category": "activity", "name": "person surfing: medium-light skin tone", "unicode": "1f3c4-1f3fc" }, ":person_surfing_tone3:": { "category": "activity", "name": "person surfing: medium skin tone", "unicode": "1f3c4-1f3fd" }, ":person_surfing_tone4:": { "category": "activity", "name": "person surfing: medium-dark skin tone", "unicode": "1f3c4-1f3fe" }, ":person_surfing_tone5:": { "category": "activity", "name": "person surfing: dark skin tone", "unicode": "1f3c4-1f3ff" }, ":person_swimming:": { "category": "activity", "name": "person swimming", "unicode": "1f3ca" }, ":person_swimming_tone1:": { "category": "activity", "name": "person swimming: light skin tone", "unicode": "1f3ca-1f3fb" }, ":person_swimming_tone2:": { "category": "activity", "name": "person swimming: medium-light skin tone", "unicode": "1f3ca-1f3fc" }, ":person_swimming_tone3:": { "category": "activity", "name": "person swimming: medium skin tone", "unicode": "1f3ca-1f3fd" }, ":person_swimming_tone4:": { "category": "activity", "name": "person swimming: medium-dark skin tone", "unicode": "1f3ca-1f3fe" }, ":person_swimming_tone5:": { "category": "activity", "name": "person swimming: dark skin tone", "unicode": "1f3ca-1f3ff" }, ":person_tipping_hand:": { "category": "people", "name": "person tipping hand", "unicode": "1f481" }, ":person_tipping_hand_tone1:": { "category": "people", "name": "person tipping hand: light skin tone", "unicode": "1f481-1f3fb" }, ":person_tipping_hand_tone2:": { "category": "people", "name": "person tipping hand: medium-light skin tone", "unicode": "1f481-1f3fc" }, ":person_tipping_hand_tone3:": { "category": "people", "name": "person tipping hand: medium skin tone", "unicode": "1f481-1f3fd" }, ":person_tipping_hand_tone4:": { "category": "people", "name": "person tipping hand: medium-dark skin tone", "unicode": "1f481-1f3fe" }, ":person_tipping_hand_tone5:": { "category": "people", "name": "person tipping hand: dark skin tone", "unicode": "1f481-1f3ff" }, ":person_tone1_bald:": { "category": "people", "name": "person: light skin tone, bald", "unicode": "1f9d1-1f3fb-200d-1f9b2" }, ":person_tone1_curly_hair:": { "category": "people", "name": "person: light skin tone, curly hair", "unicode": "1f9d1-1f3fb-200d-1f9b1" }, ":person_tone1_red_hair:": { "category": "people", "name": "person: light skin tone, red hair", "unicode": "1f9d1-1f3fb-200d-1f9b0" }, ":person_tone1_white_hair:": { "category": "people", "name": "person: light skin tone, white hair", "unicode": "1f9d1-1f3fb-200d-1f9b3" }, ":person_tone2_bald:": { "category": "people", "name": "person: medium-light skin tone, bald", "unicode": "1f9d1-1f3fc-200d-1f9b2" }, ":person_tone2_curly_hair:": { "category": "people", "name": "person: medium-light skin tone, curly hair", "unicode": "1f9d1-1f3fc-200d-1f9b1" }, ":person_tone2_red_hair:": { "category": "people", "name": "person: medium-light skin tone, red hair", "unicode": "1f9d1-1f3fc-200d-1f9b0" }, ":person_tone2_white_hair:": { "category": "people", "name": "person: medium-light skin tone, white hair", "unicode": "1f9d1-1f3fc-200d-1f9b3" }, ":person_tone3_bald:": { "category": "people", "name": "person: medium skin tone, bald", "unicode": "1f9d1-1f3fd-200d-1f9b2" }, ":person_tone3_curly_hair:": { "category": "people", "name": "person: medium skin tone, curly hair", "unicode": "1f9d1-1f3fd-200d-1f9b1" }, ":person_tone3_red_hair:": { "category": "people", "name": "person: medium skin tone, red hair", "unicode": "1f9d1-1f3fd-200d-1f9b0" }, ":person_tone3_white_hair:": { "category": "people", "name": "person: medium skin tone, white hair", "unicode": "1f9d1-1f3fd-200d-1f9b3" }, ":person_tone4_bald:": { "category": "people", "name": "person: medium-dark skin tone, bald", "unicode": "1f9d1-1f3fe-200d-1f9b2" }, ":person_tone4_curly_hair:": { "category": "people", "name": "person: medium-dark skin tone, curly hair", "unicode": "1f9d1-1f3fe-200d-1f9b1" }, ":person_tone4_red_hair:": { "category": "people", "name": "person: medium-dark skin tone, red hair", "unicode": "1f9d1-1f3fe-200d-1f9b0" }, ":person_tone4_white_hair:": { "category": "people", "name": "person: medium-dark skin tone, white hair", "unicode": "1f9d1-1f3fe-200d-1f9b3" }, ":person_tone5_bald:": { "category": "people", "name": "person: dark skin tone, bald", "unicode": "1f9d1-1f3ff-200d-1f9b2" }, ":person_tone5_curly_hair:": { "category": "people", "name": "person: dark skin tone, curly hair", "unicode": "1f9d1-1f3ff-200d-1f9b1" }, ":person_tone5_red_hair:": { "category": "people", "name": "person: dark skin tone, red hair", "unicode": "1f9d1-1f3ff-200d-1f9b0" }, ":person_tone5_white_hair:": { "category": "people", "name": "person: dark skin tone, white hair", "unicode": "1f9d1-1f3ff-200d-1f9b3" }, ":person_walking:": { "category": "people", "name": "person walking", "unicode": "1f6b6" }, ":person_walking_tone1:": { "category": "people", "name": "person walking: light skin tone", "unicode": "1f6b6-1f3fb" }, ":person_walking_tone2:": { "category": "people", "name": "person walking: medium-light skin tone", "unicode": "1f6b6-1f3fc" }, ":person_walking_tone3:": { "category": "people", "name": "person walking: medium skin tone", "unicode": "1f6b6-1f3fd" }, ":person_walking_tone4:": { "category": "people", "name": "person walking: medium-dark skin tone", "unicode": "1f6b6-1f3fe" }, ":person_walking_tone5:": { "category": "people", "name": "person walking: dark skin tone", "unicode": "1f6b6-1f3ff" }, ":person_wearing_turban:": { "category": "people", "name": "person wearing turban", "unicode": "1f473" }, ":person_wearing_turban_tone1:": { "category": "people", "name": "person wearing turban: light skin tone", "unicode": "1f473-1f3fb" }, ":person_wearing_turban_tone2:": { "category": "people", "name": "person wearing turban: medium-light skin tone", "unicode": "1f473-1f3fc" }, ":person_wearing_turban_tone3:": { "category": "people", "name": "person wearing turban: medium skin tone", "unicode": "1f473-1f3fd" }, ":person_wearing_turban_tone4:": { "category": "people", "name": "person wearing turban: medium-dark skin tone", "unicode": "1f473-1f3fe" }, ":person_wearing_turban_tone5:": { "category": "people", "name": "person wearing turban: dark skin tone", "unicode": "1f473-1f3ff" }, ":person_white_hair:": { "category": "people", "name": "person: white hair", "unicode": "1f9d1-200d-1f9b3" }, ":person_with_crown:": { "category": "people", "name": "person with crown", "unicode": "1fac5" }, ":person_with_crown_tone1:": { "category": "people", "name": "person with crown: light skin tone", "unicode": "1fac5-1f3fb" }, ":person_with_crown_tone2:": { "category": "people", "name": "person with crown: medium-light skin tone", "unicode": "1fac5-1f3fc" }, ":person_with_crown_tone3:": { "category": "people", "name": "person with crown: medium skin tone", "unicode": "1fac5-1f3fd" }, ":person_with_crown_tone4:": { "category": "people", "name": "person with crown: medium-dark skin tone", "unicode": "1fac5-1f3fe" }, ":person_with_crown_tone5:": { "category": "people", "name": "person with crown: dark skin tone", "unicode": "1fac5-1f3ff" }, ":person_with_probing_cane:": { "category": "people", "name": "person with probing cane", "unicode": "1f9d1-200d-1f9af" }, ":person_with_probing_cane_tone1:": { "category": "people", "name": "person with probing cane: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f9af" }, ":person_with_probing_cane_tone2:": { "category": "people", "name": "person with probing cane: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f9af" }, ":person_with_probing_cane_tone3:": { "category": "people", "name": "person with probing cane: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f9af" }, ":person_with_probing_cane_tone4:": { "category": "people", "name": "person with probing cane: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f9af" }, ":person_with_probing_cane_tone5:": { "category": "people", "name": "person with probing cane: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f9af" }, ":person_with_veil:": { "category": "people", "name": "person with veil", "unicode": "1f470" }, ":person_with_veil_tone1:": { "category": "people", "name": "person with veil: light skin tone", "unicode": "1f470-1f3fb" }, ":person_with_veil_tone2:": { "category": "people", "name": "person with veil: medium-light skin tone", "unicode": "1f470-1f3fc" }, ":person_with_veil_tone3:": { "category": "people", "name": "person with veil: medium skin tone", "unicode": "1f470-1f3fd" }, ":person_with_veil_tone4:": { "category": "people", "name": "person with veil: medium-dark skin tone", "unicode": "1f470-1f3fe" }, ":person_with_veil_tone5:": { "category": "people", "name": "person with veil: dark skin tone", "unicode": "1f470-1f3ff" }, ":petri_dish:": { "category": "objects", "name": "petri dish", "unicode": "1f9eb" }, ":pick:": { "category": "objects", "name": "pick", "unicode": "26cf" }, ":pickup_truck:": { "category": "travel", "name": "pickup truck", "unicode": "1f6fb" }, ":pie:": { "category": "food", "name": "pie", "unicode": "1f967" }, ":pig2:": { "category": "nature", "name": "pig", "unicode": "1f416" }, ":pig:": { "category": "nature", "name": "pig face", "unicode": "1f437" }, ":pig_nose:": { "category": "nature", "name": "pig nose", "unicode": "1f43d" }, ":pill:": { "category": "objects", "name": "pill", "unicode": "1f48a" }, ":pilot:": { "category": "people", "name": "pilot", "unicode": "1f9d1-200d-2708-fe0f" }, ":pilot_tone1:": { "category": "people", "name": "pilot: light skin tone", "unicode": "1f9d1-1f3fb-200d-2708-fe0f" }, ":pilot_tone2:": { "category": "people", "name": "pilot: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-2708-fe0f" }, ":pilot_tone3:": { "category": "people", "name": "pilot: medium skin tone", "unicode": "1f9d1-1f3fd-200d-2708-fe0f" }, ":pilot_tone4:": { "category": "people", "name": "pilot: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-2708-fe0f" }, ":pilot_tone5:": { "category": "people", "name": "pilot: dark skin tone", "unicode": "1f9d1-1f3ff-200d-2708-fe0f" }, ":pinched_fingers:": { "category": "people", "name": "pinched fingers", "unicode": "1f90c" }, ":pinched_fingers_tone1:": { "category": "people", "name": "pinched fingers: light skin tone", "unicode": "1f90c-1f3fb" }, ":pinched_fingers_tone2:": { "category": "people", "name": "pinched fingers: medium-light skin tone", "unicode": "1f90c-1f3fc" }, ":pinched_fingers_tone3:": { "category": "people", "name": "pinched fingers: medium skin tone", "unicode": "1f90c-1f3fd" }, ":pinched_fingers_tone4:": { "category": "people", "name": "pinched fingers: medium-dark skin tone", "unicode": "1f90c-1f3fe" }, ":pinched_fingers_tone5:": { "category": "people", "name": "pinched fingers: dark skin tone", "unicode": "1f90c-1f3ff" }, ":pinching_hand:": { "category": "people", "name": "pinching hand", "unicode": "1f90f" }, ":pinching_hand_tone1:": { "category": "people", "name": "pinching hand: light skin tone", "unicode": "1f90f-1f3fb" }, ":pinching_hand_tone2:": { "category": "people", "name": "pinching hand: medium-light skin tone", "unicode": "1f90f-1f3fc" }, ":pinching_hand_tone3:": { "category": "people", "name": "pinching hand: medium skin tone", "unicode": "1f90f-1f3fd" }, ":pinching_hand_tone4:": { "category": "people", "name": "pinching hand: medium-dark skin tone", "unicode": "1f90f-1f3fe" }, ":pinching_hand_tone5:": { "category": "people", "name": "pinching hand: dark skin tone", "unicode": "1f90f-1f3ff" }, ":pineapple:": { "category": "food", "name": "pineapple", "unicode": "1f34d" }, ":ping_pong:": { "category": "activity", "name": "ping pong", "unicode": "1f3d3" }, ":pink_heart:": { "category": "symbols", "name": "pink heart", "unicode": "1fa77" }, ":pirate_flag:": { "category": "flags", "name": "pirate flag", "unicode": "1f3f4-200d-2620-fe0f" }, ":pisces:": { "category": "symbols", "name": "Pisces", "unicode": "2653" }, ":pizza:": { "category": "food", "name": "pizza", "unicode": "1f355" }, ":pi\u00f1ata:": { "category": "objects", "name": "pi\u00f1ata", "unicode": "1fa85" }, ":placard:": { "category": "objects", "name": "placard", "unicode": "1faa7" }, ":place_of_worship:": { "category": "symbols", "name": "place of worship", "unicode": "1f6d0" }, ":play_pause:": { "category": "symbols", "name": "play or pause button", "unicode": "23ef" }, ":playground_slide:": { "category": "activity", "name": "playground slide", "unicode": "1f6dd" }, ":pleading_face:": { "category": "people", "name": "pleading face", "unicode": "1f97a" }, ":plunger:": { "category": "objects", "name": "plunger", "unicode": "1faa0" }, ":point_down:": { "category": "people", "name": "backhand index pointing down", "unicode": "1f447" }, ":point_down_tone1:": { "category": "people", "name": "backhand index pointing down: light skin tone", "unicode": "1f447-1f3fb" }, ":point_down_tone2:": { "category": "people", "name": "backhand index pointing down: medium-light skin tone", "unicode": "1f447-1f3fc" }, ":point_down_tone3:": { "category": "people", "name": "backhand index pointing down: medium skin tone", "unicode": "1f447-1f3fd" }, ":point_down_tone4:": { "category": "people", "name": "backhand index pointing down: medium-dark skin tone", "unicode": "1f447-1f3fe" }, ":point_down_tone5:": { "category": "people", "name": "backhand index pointing down: dark skin tone", "unicode": "1f447-1f3ff" }, ":point_left:": { "category": "people", "name": "backhand index pointing left", "unicode": "1f448" }, ":point_left_tone1:": { "category": "people", "name": "backhand index pointing left: light skin tone", "unicode": "1f448-1f3fb" }, ":point_left_tone2:": { "category": "people", "name": "backhand index pointing left: medium-light skin tone", "unicode": "1f448-1f3fc" }, ":point_left_tone3:": { "category": "people", "name": "backhand index pointing left: medium skin tone", "unicode": "1f448-1f3fd" }, ":point_left_tone4:": { "category": "people", "name": "backhand index pointing left: medium-dark skin tone", "unicode": "1f448-1f3fe" }, ":point_left_tone5:": { "category": "people", "name": "backhand index pointing left: dark skin tone", "unicode": "1f448-1f3ff" }, ":point_right:": { "category": "people", "name": "backhand index pointing right", "unicode": "1f449" }, ":point_right_tone1:": { "category": "people", "name": "backhand index pointing right: light skin tone", "unicode": "1f449-1f3fb" }, ":point_right_tone2:": { "category": "people", "name": "backhand index pointing right: medium-light skin tone", "unicode": "1f449-1f3fc" }, ":point_right_tone3:": { "category": "people", "name": "backhand index pointing right: medium skin tone", "unicode": "1f449-1f3fd" }, ":point_right_tone4:": { "category": "people", "name": "backhand index pointing right: medium-dark skin tone", "unicode": "1f449-1f3fe" }, ":point_right_tone5:": { "category": "people", "name": "backhand index pointing right: dark skin tone", "unicode": "1f449-1f3ff" }, ":point_up:": { "category": "people", "name": "index pointing up", "unicode": "261d" }, ":point_up_2:": { "category": "people", "name": "backhand index pointing up", "unicode": "1f446" }, ":point_up_2_tone1:": { "category": "people", "name": "backhand index pointing up: light skin tone", "unicode": "1f446-1f3fb" }, ":point_up_2_tone2:": { "category": "people", "name": "backhand index pointing up: medium-light skin tone", "unicode": "1f446-1f3fc" }, ":point_up_2_tone3:": { "category": "people", "name": "backhand index pointing up: medium skin tone", "unicode": "1f446-1f3fd" }, ":point_up_2_tone4:": { "category": "people", "name": "backhand index pointing up: medium-dark skin tone", "unicode": "1f446-1f3fe" }, ":point_up_2_tone5:": { "category": "people", "name": "backhand index pointing up: dark skin tone", "unicode": "1f446-1f3ff" }, ":point_up_tone1:": { "category": "people", "name": "index pointing up: light skin tone", "unicode": "261d-1f3fb" }, ":point_up_tone2:": { "category": "people", "name": "index pointing up: medium-light skin tone", "unicode": "261d-1f3fc" }, ":point_up_tone3:": { "category": "people", "name": "index pointing up: medium skin tone", "unicode": "261d-1f3fd" }, ":point_up_tone4:": { "category": "people", "name": "index pointing up: medium-dark skin tone", "unicode": "261d-1f3fe" }, ":point_up_tone5:": { "category": "people", "name": "index pointing up: dark skin tone", "unicode": "261d-1f3ff" }, ":polar_bear:": { "category": "nature", "name": "polar bear", "unicode": "1f43b-200d-2744-fe0f" }, ":police_car:": { "category": "travel", "name": "police car", "unicode": "1f693" }, ":police_officer:": { "category": "people", "name": "police officer", "unicode": "1f46e" }, ":police_officer_tone1:": { "category": "people", "name": "police officer: light skin tone", "unicode": "1f46e-1f3fb" }, ":police_officer_tone2:": { "category": "people", "name": "police officer: medium-light skin tone", "unicode": "1f46e-1f3fc" }, ":police_officer_tone3:": { "category": "people", "name": "police officer: medium skin tone", "unicode": "1f46e-1f3fd" }, ":police_officer_tone4:": { "category": "people", "name": "police officer: medium-dark skin tone", "unicode": "1f46e-1f3fe" }, ":police_officer_tone5:": { "category": "people", "name": "police officer: dark skin tone", "unicode": "1f46e-1f3ff" }, ":poodle:": { "category": "nature", "name": "poodle", "unicode": "1f429" }, ":poop:": { "category": "people", "name": "pile of poo", "unicode": "1f4a9" }, ":popcorn:": { "category": "food", "name": "popcorn", "unicode": "1f37f" }, ":post_office:": { "category": "travel", "name": "Japanese post office", "unicode": "1f3e3" }, ":postal_horn:": { "category": "objects", "name": "postal horn", "unicode": "1f4ef" }, ":postbox:": { "category": "objects", "name": "postbox", "unicode": "1f4ee" }, ":potable_water:": { "category": "objects", "name": "potable water", "unicode": "1f6b0" }, ":potato:": { "category": "food", "name": "potato", "unicode": "1f954" }, ":potted_plant:": { "category": "nature", "name": "potted plant", "unicode": "1fab4" }, ":pouch:": { "category": "people", "name": "clutch bag", "unicode": "1f45d" }, ":poultry_leg:": { "category": "food", "name": "poultry leg", "unicode": "1f357" }, ":pound:": { "category": "objects", "name": "pound banknote", "unicode": "1f4b7" }, ":pouring_liquid:": { "category": "food", "name": "pouring liquid", "unicode": "1fad7" }, ":pouting_cat:": { "category": "people", "name": "pouting cat", "unicode": "1f63e" }, ":pray:": { "category": "people", "name": "folded hands", "unicode": "1f64f" }, ":pray_tone1:": { "category": "people", "name": "folded hands: light skin tone", "unicode": "1f64f-1f3fb" }, ":pray_tone2:": { "category": "people", "name": "folded hands: medium-light skin tone", "unicode": "1f64f-1f3fc" }, ":pray_tone3:": { "category": "people", "name": "folded hands: medium skin tone", "unicode": "1f64f-1f3fd" }, ":pray_tone4:": { "category": "people", "name": "folded hands: medium-dark skin tone", "unicode": "1f64f-1f3fe" }, ":pray_tone5:": { "category": "people", "name": "folded hands: dark skin tone", "unicode": "1f64f-1f3ff" }, ":prayer_beads:": { "category": "objects", "name": "prayer beads", "unicode": "1f4ff" }, ":pregnant_man:": { "category": "people", "name": "pregnant man", "unicode": "1fac3" }, ":pregnant_man_tone1:": { "category": "people", "name": "pregnant man: light skin tone", "unicode": "1fac3-1f3fb" }, ":pregnant_man_tone2:": { "category": "people", "name": "pregnant man: medium-light skin tone", "unicode": "1fac3-1f3fc" }, ":pregnant_man_tone3:": { "category": "people", "name": "pregnant man: medium skin tone", "unicode": "1fac3-1f3fd" }, ":pregnant_man_tone4:": { "category": "people", "name": "pregnant man: medium-dark skin tone", "unicode": "1fac3-1f3fe" }, ":pregnant_man_tone5:": { "category": "people", "name": "pregnant man: dark skin tone", "unicode": "1fac3-1f3ff" }, ":pregnant_person:": { "category": "people", "name": "pregnant person", "unicode": "1fac4" }, ":pregnant_person_tone1:": { "category": "people", "name": "pregnant person: light skin tone", "unicode": "1fac4-1f3fb" }, ":pregnant_person_tone2:": { "category": "people", "name": "pregnant person: medium-light skin tone", "unicode": "1fac4-1f3fc" }, ":pregnant_person_tone3:": { "category": "people", "name": "pregnant person: medium skin tone", "unicode": "1fac4-1f3fd" }, ":pregnant_person_tone4:": { "category": "people", "name": "pregnant person: medium-dark skin tone", "unicode": "1fac4-1f3fe" }, ":pregnant_person_tone5:": { "category": "people", "name": "pregnant person: dark skin tone", "unicode": "1fac4-1f3ff" }, ":pregnant_woman:": { "category": "people", "name": "pregnant woman", "unicode": "1f930" }, ":pregnant_woman_tone1:": { "category": "people", "name": "pregnant woman: light skin tone", "unicode": "1f930-1f3fb" }, ":pregnant_woman_tone2:": { "category": "people", "name": "pregnant woman: medium-light skin tone", "unicode": "1f930-1f3fc" }, ":pregnant_woman_tone3:": { "category": "people", "name": "pregnant woman: medium skin tone", "unicode": "1f930-1f3fd" }, ":pregnant_woman_tone4:": { "category": "people", "name": "pregnant woman: medium-dark skin tone", "unicode": "1f930-1f3fe" }, ":pregnant_woman_tone5:": { "category": "people", "name": "pregnant woman: dark skin tone", "unicode": "1f930-1f3ff" }, ":pretzel:": { "category": "food", "name": "pretzel", "unicode": "1f968" }, ":prince:": { "category": "people", "name": "prince", "unicode": "1f934" }, ":prince_tone1:": { "category": "people", "name": "prince: light skin tone", "unicode": "1f934-1f3fb" }, ":prince_tone2:": { "category": "people", "name": "prince: medium-light skin tone", "unicode": "1f934-1f3fc" }, ":prince_tone3:": { "category": "people", "name": "prince: medium skin tone", "unicode": "1f934-1f3fd" }, ":prince_tone4:": { "category": "people", "name": "prince: medium-dark skin tone", "unicode": "1f934-1f3fe" }, ":prince_tone5:": { "category": "people", "name": "prince: dark skin tone", "unicode": "1f934-1f3ff" }, ":princess:": { "category": "people", "name": "princess", "unicode": "1f478" }, ":princess_tone1:": { "category": "people", "name": "princess: light skin tone", "unicode": "1f478-1f3fb" }, ":princess_tone2:": { "category": "people", "name": "princess: medium-light skin tone", "unicode": "1f478-1f3fc" }, ":princess_tone3:": { "category": "people", "name": "princess: medium skin tone", "unicode": "1f478-1f3fd" }, ":princess_tone4:": { "category": "people", "name": "princess: medium-dark skin tone", "unicode": "1f478-1f3fe" }, ":princess_tone5:": { "category": "people", "name": "princess: dark skin tone", "unicode": "1f478-1f3ff" }, ":printer:": { "category": "objects", "name": "printer", "unicode": "1f5a8" }, ":probing_cane:": { "category": "travel", "name": "probing cane", "unicode": "1f9af" }, ":projector:": { "category": "objects", "name": "film projector", "unicode": "1f4fd" }, ":punch:": { "category": "people", "name": "oncoming fist", "unicode": "1f44a" }, ":punch_tone1:": { "category": "people", "name": "oncoming fist: light skin tone", "unicode": "1f44a-1f3fb" }, ":punch_tone2:": { "category": "people", "name": "oncoming fist: medium-light skin tone", "unicode": "1f44a-1f3fc" }, ":punch_tone3:": { "category": "people", "name": "oncoming fist: medium skin tone", "unicode": "1f44a-1f3fd" }, ":punch_tone4:": { "category": "people", "name": "oncoming fist: medium-dark skin tone", "unicode": "1f44a-1f3fe" }, ":punch_tone5:": { "category": "people", "name": "oncoming fist: dark skin tone", "unicode": "1f44a-1f3ff" }, ":purple_circle:": { "category": "symbols", "name": "purple circle", "unicode": "1f7e3" }, ":purple_heart:": { "category": "symbols", "name": "purple heart", "unicode": "1f49c" }, ":purple_square:": { "category": "symbols", "name": "purple square", "unicode": "1f7ea" }, ":purse:": { "category": "people", "name": "purse", "unicode": "1f45b" }, ":pushpin:": { "category": "objects", "name": "pushpin", "unicode": "1f4cc" }, ":put_litter_in_its_place:": { "category": "symbols", "name": "litter in bin sign", "unicode": "1f6ae" }, ":question:": { "category": "symbols", "name": "question mark", "unicode": "2753" }, ":rabbit2:": { "category": "nature", "name": "rabbit", "unicode": "1f407" }, ":rabbit:": { "category": "nature", "name": "rabbit face", "unicode": "1f430" }, ":raccoon:": { "category": "nature", "name": "raccoon", "unicode": "1f99d" }, ":race_car:": { "category": "travel", "name": "racing car", "unicode": "1f3ce" }, ":racehorse:": { "category": "nature", "name": "horse", "unicode": "1f40e" }, ":radio:": { "category": "objects", "name": "radio", "unicode": "1f4fb" }, ":radio_button:": { "category": "symbols", "name": "radio button", "unicode": "1f518" }, ":radioactive:": { "category": "symbols", "name": "radioactive", "unicode": "2622" }, ":rage:": { "category": "people", "name": "pouting face", "unicode": "1f621" }, ":railway_car:": { "category": "travel", "name": "railway car", "unicode": "1f683" }, ":railway_track:": { "category": "travel", "name": "railway track", "unicode": "1f6e4" }, ":rainbow:": { "category": "nature", "name": "rainbow", "unicode": "1f308" }, ":rainbow_flag:": { "category": "flags", "name": "rainbow flag", "unicode": "1f3f3-fe0f-200d-1f308" }, ":raised_back_of_hand:": { "category": "people", "name": "raised back of hand", "unicode": "1f91a" }, ":raised_back_of_hand_tone1:": { "category": "people", "name": "raised back of hand: light skin tone", "unicode": "1f91a-1f3fb" }, ":raised_back_of_hand_tone2:": { "category": "people", "name": "raised back of hand: medium-light skin tone", "unicode": "1f91a-1f3fc" }, ":raised_back_of_hand_tone3:": { "category": "people", "name": "raised back of hand: medium skin tone", "unicode": "1f91a-1f3fd" }, ":raised_back_of_hand_tone4:": { "category": "people", "name": "raised back of hand: medium-dark skin tone", "unicode": "1f91a-1f3fe" }, ":raised_back_of_hand_tone5:": { "category": "people", "name": "raised back of hand: dark skin tone", "unicode": "1f91a-1f3ff" }, ":raised_hand:": { "category": "people", "name": "raised hand", "unicode": "270b" }, ":raised_hand_tone1:": { "category": "people", "name": "raised hand: light skin tone", "unicode": "270b-1f3fb" }, ":raised_hand_tone2:": { "category": "people", "name": "raised hand: medium-light skin tone", "unicode": "270b-1f3fc" }, ":raised_hand_tone3:": { "category": "people", "name": "raised hand: medium skin tone", "unicode": "270b-1f3fd" }, ":raised_hand_tone4:": { "category": "people", "name": "raised hand: medium-dark skin tone", "unicode": "270b-1f3fe" }, ":raised_hand_tone5:": { "category": "people", "name": "raised hand: dark skin tone", "unicode": "270b-1f3ff" }, ":raised_hands:": { "category": "people", "name": "raising hands", "unicode": "1f64c" }, ":raised_hands_tone1:": { "category": "people", "name": "raising hands: light skin tone", "unicode": "1f64c-1f3fb" }, ":raised_hands_tone2:": { "category": "people", "name": "raising hands: medium-light skin tone", "unicode": "1f64c-1f3fc" }, ":raised_hands_tone3:": { "category": "people", "name": "raising hands: medium skin tone", "unicode": "1f64c-1f3fd" }, ":raised_hands_tone4:": { "category": "people", "name": "raising hands: medium-dark skin tone", "unicode": "1f64c-1f3fe" }, ":raised_hands_tone5:": { "category": "people", "name": "raising hands: dark skin tone", "unicode": "1f64c-1f3ff" }, ":ram:": { "category": "nature", "name": "ram", "unicode": "1f40f" }, ":ramen:": { "category": "food", "name": "steaming bowl", "unicode": "1f35c" }, ":rat:": { "category": "nature", "name": "rat", "unicode": "1f400" }, ":razor:": { "category": "objects", "name": "razor", "unicode": "1fa92" }, ":receipt:": { "category": "objects", "name": "receipt", "unicode": "1f9fe" }, ":record_button:": { "category": "symbols", "name": "record button", "unicode": "23fa" }, ":recycle:": { "category": "symbols", "name": "recycling symbol", "unicode": "267b" }, ":red_car:": { "category": "travel", "name": "automobile", "unicode": "1f697" }, ":red_circle:": { "category": "symbols", "name": "red circle", "unicode": "1f534" }, ":red_envelope:": { "category": "objects", "name": "red envelope", "unicode": "1f9e7" }, ":red_haired:": { "category": "people", "name": "red hair", "unicode": "1f9b0" }, ":red_square:": { "category": "symbols", "name": "red square", "unicode": "1f7e5" }, ":regional_indicator_a:": { "category": "regional", "name": "regional indicator symbol letter a", "unicode": "1f1e6" }, ":regional_indicator_b:": { "category": "regional", "name": "regional indicator symbol letter b", "unicode": "1f1e7" }, ":regional_indicator_c:": { "category": "regional", "name": "regional indicator symbol letter c", "unicode": "1f1e8" }, ":regional_indicator_d:": { "category": "regional", "name": "regional indicator symbol letter d", "unicode": "1f1e9" }, ":regional_indicator_e:": { "category": "regional", "name": "regional indicator symbol letter e", "unicode": "1f1ea" }, ":regional_indicator_f:": { "category": "regional", "name": "regional indicator symbol letter f", "unicode": "1f1eb" }, ":regional_indicator_g:": { "category": "regional", "name": "regional indicator symbol letter g", "unicode": "1f1ec" }, ":regional_indicator_h:": { "category": "regional", "name": "regional indicator symbol letter h", "unicode": "1f1ed" }, ":regional_indicator_i:": { "category": "regional", "name": "regional indicator symbol letter i", "unicode": "1f1ee" }, ":regional_indicator_j:": { "category": "regional", "name": "regional indicator symbol letter j", "unicode": "1f1ef" }, ":regional_indicator_k:": { "category": "regional", "name": "regional indicator symbol letter k", "unicode": "1f1f0" }, ":regional_indicator_l:": { "category": "regional", "name": "regional indicator symbol letter l", "unicode": "1f1f1" }, ":regional_indicator_m:": { "category": "regional", "name": "regional indicator symbol letter m", "unicode": "1f1f2" }, ":regional_indicator_n:": { "category": "regional", "name": "regional indicator symbol letter n", "unicode": "1f1f3" }, ":regional_indicator_o:": { "category": "regional", "name": "regional indicator symbol letter o", "unicode": "1f1f4" }, ":regional_indicator_p:": { "category": "regional", "name": "regional indicator symbol letter p", "unicode": "1f1f5" }, ":regional_indicator_q:": { "category": "regional", "name": "regional indicator symbol letter q", "unicode": "1f1f6" }, ":regional_indicator_r:": { "category": "regional", "name": "regional indicator symbol letter r", "unicode": "1f1f7" }, ":regional_indicator_s:": { "category": "regional", "name": "regional indicator symbol letter s", "unicode": "1f1f8" }, ":regional_indicator_t:": { "category": "regional", "name": "regional indicator symbol letter t", "unicode": "1f1f9" }, ":regional_indicator_u:": { "category": "regional", "name": "regional indicator symbol letter u", "unicode": "1f1fa" }, ":regional_indicator_v:": { "category": "regional", "name": "regional indicator symbol letter v", "unicode": "1f1fb" }, ":regional_indicator_w:": { "category": "regional", "name": "regional indicator symbol letter w", "unicode": "1f1fc" }, ":regional_indicator_x:": { "category": "regional", "name": "regional indicator symbol letter x", "unicode": "1f1fd" }, ":regional_indicator_y:": { "category": "regional", "name": "regional indicator symbol letter y", "unicode": "1f1fe" }, ":regional_indicator_z:": { "category": "regional", "name": "regional indicator symbol letter z", "unicode": "1f1ff" }, ":registered:": { "category": "symbols", "name": "registered", "unicode": "ae", "unicode_alt": "00ae" }, ":relaxed:": { "category": "people", "name": "smiling face", "unicode": "263a" }, ":relieved:": { "category": "people", "name": "relieved face", "unicode": "1f60c" }, ":reminder_ribbon:": { "category": "activity", "name": "reminder ribbon", "unicode": "1f397" }, ":repeat:": { "category": "symbols", "name": "repeat button", "unicode": "1f501" }, ":repeat_one:": { "category": "symbols", "name": "repeat single button", "unicode": "1f502" }, ":restroom:": { "category": "symbols", "name": "restroom", "unicode": "1f6bb" }, ":revolving_hearts:": { "category": "symbols", "name": "revolving hearts", "unicode": "1f49e" }, ":rewind:": { "category": "symbols", "name": "fast reverse button", "unicode": "23ea" }, ":rhino:": { "category": "nature", "name": "rhinoceros", "unicode": "1f98f" }, ":ribbon:": { "category": "objects", "name": "ribbon", "unicode": "1f380" }, ":rice:": { "category": "food", "name": "cooked rice", "unicode": "1f35a" }, ":rice_ball:": { "category": "food", "name": "rice ball", "unicode": "1f359" }, ":rice_cracker:": { "category": "food", "name": "rice cracker", "unicode": "1f358" }, ":rice_scene:": { "category": "travel", "name": "moon viewing ceremony", "unicode": "1f391" }, ":right_facing_fist:": { "category": "people", "name": "right-facing fist", "unicode": "1f91c" }, ":right_facing_fist_tone1:": { "category": "people", "name": "right-facing fist: light skin tone", "unicode": "1f91c-1f3fb" }, ":right_facing_fist_tone2:": { "category": "people", "name": "right-facing fist: medium-light skin tone", "unicode": "1f91c-1f3fc" }, ":right_facing_fist_tone3:": { "category": "people", "name": "right-facing fist: medium skin tone", "unicode": "1f91c-1f3fd" }, ":right_facing_fist_tone4:": { "category": "people", "name": "right-facing fist: medium-dark skin tone", "unicode": "1f91c-1f3fe" }, ":right_facing_fist_tone5:": { "category": "people", "name": "right-facing fist: dark skin tone", "unicode": "1f91c-1f3ff" }, ":rightwards_hand:": { "category": "people", "name": "rightwards hand", "unicode": "1faf1" }, ":rightwards_hand_tone1:": { "category": "people", "name": "rightwards hand: light skin tone", "unicode": "1faf1-1f3fb" }, ":rightwards_hand_tone2:": { "category": "people", "name": "rightwards hand: medium-light skin tone", "unicode": "1faf1-1f3fc" }, ":rightwards_hand_tone3:": { "category": "people", "name": "rightwards hand: medium skin tone", "unicode": "1faf1-1f3fd" }, ":rightwards_hand_tone4:": { "category": "people", "name": "rightwards hand: medium-dark skin tone", "unicode": "1faf1-1f3fe" }, ":rightwards_hand_tone5:": { "category": "people", "name": "rightwards hand: dark skin tone", "unicode": "1faf1-1f3ff" }, ":rightwards_pushing_hand:": { "category": "people", "name": "rightwards pushing hand", "unicode": "1faf8" }, ":rightwards_pushing_hand_tone1:": { "category": "people", "name": "rightwards pushing hand: light skin tone", "unicode": "1faf8-1f3fb" }, ":rightwards_pushing_hand_tone2:": { "category": "people", "name": "rightwards pushing hand: medium-light skin tone", "unicode": "1faf8-1f3fc" }, ":rightwards_pushing_hand_tone3:": { "category": "people", "name": "rightwards pushing hand: medium skin tone", "unicode": "1faf8-1f3fd" }, ":rightwards_pushing_hand_tone4:": { "category": "people", "name": "rightwards pushing hand: medium-dark skin tone", "unicode": "1faf8-1f3fe" }, ":rightwards_pushing_hand_tone5:": { "category": "people", "name": "rightwards pushing hand: dark skin tone", "unicode": "1faf8-1f3ff" }, ":ring:": { "category": "people", "name": "ring", "unicode": "1f48d" }, ":ring_buoy:": { "category": "travel", "name": "ring buoy", "unicode": "1f6df" }, ":ringed_planet:": { "category": "nature", "name": "ringed planet", "unicode": "1fa90" }, ":robot:": { "category": "people", "name": "robot", "unicode": "1f916" }, ":rock:": { "category": "nature", "name": "rock", "unicode": "1faa8" }, ":rocket:": { "category": "travel", "name": "rocket", "unicode": "1f680" }, ":rofl:": { "category": "people", "name": "rolling on the floor laughing", "unicode": "1f923" }, ":roll_of_paper:": { "category": "objects", "name": "roll of paper", "unicode": "1f9fb" }, ":roller_coaster:": { "category": "travel", "name": "roller coaster", "unicode": "1f3a2" }, ":roller_skate:": { "category": "activity", "name": "roller skate", "unicode": "1f6fc" }, ":rolling_eyes:": { "category": "people", "name": "face with rolling eyes", "unicode": "1f644" }, ":rooster:": { "category": "nature", "name": "rooster", "unicode": "1f413" }, ":rose:": { "category": "nature", "name": "rose", "unicode": "1f339" }, ":rosette:": { "category": "activity", "name": "rosette", "unicode": "1f3f5" }, ":rotating_light:": { "category": "travel", "name": "police car light", "unicode": "1f6a8" }, ":round_pushpin:": { "category": "objects", "name": "round pushpin", "unicode": "1f4cd" }, ":rugby_football:": { "category": "activity", "name": "rugby football", "unicode": "1f3c9" }, ":running_shirt_with_sash:": { "category": "activity", "name": "running shirt", "unicode": "1f3bd" }, ":sa:": { "category": "symbols", "name": "Japanese \u201cservice charge\u201d button", "unicode": "1f202" }, ":safety_pin:": { "category": "objects", "name": "safety pin", "unicode": "1f9f7" }, ":safety_vest:": { "category": "people", "name": "safety vest", "unicode": "1f9ba" }, ":sagittarius:": { "category": "symbols", "name": "Sagittarius", "unicode": "2650" }, ":sailboat:": { "category": "travel", "name": "sailboat", "unicode": "26f5" }, ":sake:": { "category": "food", "name": "sake", "unicode": "1f376" }, ":salad:": { "category": "food", "name": "green salad", "unicode": "1f957" }, ":salt:": { "category": "food", "name": "salt", "unicode": "1f9c2" }, ":saluting_face:": { "category": "people", "name": "saluting face", "unicode": "1fae1" }, ":sandal:": { "category": "people", "name": "woman\u2019s sandal", "unicode": "1f461" }, ":sandwich:": { "category": "food", "name": "sandwich", "unicode": "1f96a" }, ":santa:": { "category": "people", "name": "Santa Claus", "unicode": "1f385" }, ":santa_tone1:": { "category": "people", "name": "Santa Claus: light skin tone", "unicode": "1f385-1f3fb" }, ":santa_tone2:": { "category": "people", "name": "Santa Claus: medium-light skin tone", "unicode": "1f385-1f3fc" }, ":santa_tone3:": { "category": "people", "name": "Santa Claus: medium skin tone", "unicode": "1f385-1f3fd" }, ":santa_tone4:": { "category": "people", "name": "Santa Claus: medium-dark skin tone", "unicode": "1f385-1f3fe" }, ":santa_tone5:": { "category": "people", "name": "Santa Claus: dark skin tone", "unicode": "1f385-1f3ff" }, ":sari:": { "category": "people", "name": "sari", "unicode": "1f97b" }, ":satellite:": { "category": "objects", "name": "satellite antenna", "unicode": "1f4e1" }, ":satellite_orbital:": { "category": "travel", "name": "satellite", "unicode": "1f6f0" }, ":sauropod:": { "category": "nature", "name": "sauropod", "unicode": "1f995" }, ":saxophone:": { "category": "activity", "name": "saxophone", "unicode": "1f3b7" }, ":scales:": { "category": "objects", "name": "balance scale", "unicode": "2696" }, ":scarf:": { "category": "people", "name": "scarf", "unicode": "1f9e3" }, ":school:": { "category": "travel", "name": "school", "unicode": "1f3eb" }, ":school_satchel:": { "category": "people", "name": "backpack", "unicode": "1f392" }, ":scientist:": { "category": "people", "name": "scientist", "unicode": "1f9d1-200d-1f52c" }, ":scientist_tone1:": { "category": "people", "name": "scientist: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f52c" }, ":scientist_tone2:": { "category": "people", "name": "scientist: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f52c" }, ":scientist_tone3:": { "category": "people", "name": "scientist: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f52c" }, ":scientist_tone4:": { "category": "people", "name": "scientist: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f52c" }, ":scientist_tone5:": { "category": "people", "name": "scientist: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f52c" }, ":scissors:": { "category": "objects", "name": "scissors", "unicode": "2702" }, ":scooter:": { "category": "travel", "name": "kick scooter", "unicode": "1f6f4" }, ":scorpion:": { "category": "nature", "name": "scorpion", "unicode": "1f982" }, ":scorpius:": { "category": "symbols", "name": "Scorpio", "unicode": "264f" }, ":scotland:": { "category": "flags", "name": "flag: Scotland", "unicode": "1f3f4-e0067-e0062-e0073-e0063-e0074-e007f" }, ":scream:": { "category": "people", "name": "face screaming in fear", "unicode": "1f631" }, ":scream_cat:": { "category": "people", "name": "weary cat", "unicode": "1f640" }, ":screwdriver:": { "category": "objects", "name": "screwdriver", "unicode": "1fa9b" }, ":scroll:": { "category": "objects", "name": "scroll", "unicode": "1f4dc" }, ":seal:": { "category": "nature", "name": "seal", "unicode": "1f9ad" }, ":seat:": { "category": "travel", "name": "seat", "unicode": "1f4ba" }, ":second_place:": { "category": "activity", "name": "2nd place medal", "unicode": "1f948" }, ":secret:": { "category": "symbols", "name": "Japanese \u201csecret\u201d button", "unicode": "3299" }, ":see_no_evil:": { "category": "nature", "name": "see-no-evil monkey", "unicode": "1f648" }, ":seedling:": { "category": "nature", "name": "seedling", "unicode": "1f331" }, ":selfie:": { "category": "people", "name": "selfie", "unicode": "1f933" }, ":selfie_tone1:": { "category": "people", "name": "selfie: light skin tone", "unicode": "1f933-1f3fb" }, ":selfie_tone2:": { "category": "people", "name": "selfie: medium-light skin tone", "unicode": "1f933-1f3fc" }, ":selfie_tone3:": { "category": "people", "name": "selfie: medium skin tone", "unicode": "1f933-1f3fd" }, ":selfie_tone4:": { "category": "people", "name": "selfie: medium-dark skin tone", "unicode": "1f933-1f3fe" }, ":selfie_tone5:": { "category": "people", "name": "selfie: dark skin tone", "unicode": "1f933-1f3ff" }, ":service_dog:": { "category": "nature", "name": "service dog", "unicode": "1f415-200d-1f9ba" }, ":seven:": { "category": "symbols", "name": "keycap: 7", "unicode": "37-20e3", "unicode_alt": "0037-20e3" }, ":sewing_needle:": { "category": "people", "name": "sewing needle", "unicode": "1faa1" }, ":shaking_face:": { "category": "people", "name": "shaking face", "unicode": "1fae8" }, ":shallow_pan_of_food:": { "category": "food", "name": "shallow pan of food", "unicode": "1f958" }, ":shamrock:": { "category": "nature", "name": "shamrock", "unicode": "2618" }, ":shark:": { "category": "nature", "name": "shark", "unicode": "1f988" }, ":shaved_ice:": { "category": "food", "name": "shaved ice", "unicode": "1f367" }, ":sheep:": { "category": "nature", "name": "ewe", "unicode": "1f411" }, ":shell:": { "category": "nature", "name": "spiral shell", "unicode": "1f41a" }, ":shibuya:": { "category": "travel", "name": "Shibuya 109", "unicode": "e50a" }, ":shield:": { "category": "objects", "name": "shield", "unicode": "1f6e1" }, ":shinto_shrine:": { "category": "travel", "name": "shinto shrine", "unicode": "26e9" }, ":ship:": { "category": "travel", "name": "ship", "unicode": "1f6a2" }, ":shirt:": { "category": "people", "name": "t-shirt", "unicode": "1f455" }, ":shopping_bags:": { "category": "objects", "name": "shopping bags", "unicode": "1f6cd" }, ":shopping_cart:": { "category": "objects", "name": "shopping cart", "unicode": "1f6d2" }, ":shorts:": { "category": "people", "name": "shorts", "unicode": "1fa73" }, ":shower:": { "category": "objects", "name": "shower", "unicode": "1f6bf" }, ":shrimp:": { "category": "nature", "name": "shrimp", "unicode": "1f990" }, ":shushing_face:": { "category": "people", "name": "shushing face", "unicode": "1f92b" }, ":signal_strength:": { "category": "symbols", "name": "antenna bars", "unicode": "1f4f6" }, ":singer:": { "category": "people", "name": "singer", "unicode": "1f9d1-200d-1f3a4" }, ":singer_tone1:": { "category": "people", "name": "singer: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f3a4" }, ":singer_tone2:": { "category": "people", "name": "singer: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f3a4" }, ":singer_tone3:": { "category": "people", "name": "singer: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f3a4" }, ":singer_tone4:": { "category": "people", "name": "singer: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f3a4" }, ":singer_tone5:": { "category": "people", "name": "singer: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f3a4" }, ":six:": { "category": "symbols", "name": "keycap: 6", "unicode": "36-20e3", "unicode_alt": "0036-20e3" }, ":six_pointed_star:": { "category": "symbols", "name": "dotted six-pointed star", "unicode": "1f52f" }, ":skateboard:": { "category": "activity", "name": "skateboard", "unicode": "1f6f9" }, ":ski:": { "category": "activity", "name": "skis", "unicode": "1f3bf" }, ":skier:": { "category": "activity", "name": "skier", "unicode": "26f7" }, ":skier_tone1:": { "category": "activity", "name": "skier: light skin tone", "unicode": "26f7-1f3fb" }, ":skier_tone2:": { "category": "activity", "name": "skier: medium-light skin tone", "unicode": "26f7-1f3fc" }, ":skier_tone3:": { "category": "activity", "name": "skier: medium skin tone", "unicode": "26f7-1f3fd" }, ":skier_tone4:": { "category": "activity", "name": "skier: medium-dark skin tone", "unicode": "26f7-1f3fe" }, ":skier_tone5:": { "category": "activity", "name": "skier: dark skin tone", "unicode": "26f7-1f3ff" }, ":skull:": { "category": "people", "name": "skull", "unicode": "1f480" }, ":skull_crossbones:": { "category": "people", "name": "skull and crossbones", "unicode": "2620" }, ":skunk:": { "category": "nature", "name": "skunk", "unicode": "1f9a8" }, ":sled:": { "category": "activity", "name": "sled", "unicode": "1f6f7" }, ":sleeping:": { "category": "people", "name": "sleeping face", "unicode": "1f634" }, ":sleeping_accommodation:": { "category": "objects", "name": "person in bed", "unicode": "1f6cc" }, ":sleepy:": { "category": "people", "name": "sleepy face", "unicode": "1f62a" }, ":slight_frown:": { "category": "people", "name": "slightly frowning face", "unicode": "1f641" }, ":slight_smile:": { "category": "people", "name": "slightly smiling face", "unicode": "1f642" }, ":slot_machine:": { "category": "activity", "name": "slot machine", "unicode": "1f3b0" }, ":sloth:": { "category": "nature", "name": "sloth", "unicode": "1f9a5" }, ":small_blue_diamond:": { "category": "symbols", "name": "small blue diamond", "unicode": "1f539" }, ":small_orange_diamond:": { "category": "symbols", "name": "small orange diamond", "unicode": "1f538" }, ":small_red_triangle:": { "category": "symbols", "name": "red triangle pointed up", "unicode": "1f53a" }, ":small_red_triangle_down:": { "category": "symbols", "name": "red triangle pointed down", "unicode": "1f53b" }, ":smile:": { "category": "people", "name": "grinning face with smiling eyes", "unicode": "1f604" }, ":smile_cat:": { "category": "people", "name": "grinning cat with smiling eyes", "unicode": "1f638" }, ":smiley:": { "category": "people", "name": "grinning face with big eyes", "unicode": "1f603" }, ":smiley_cat:": { "category": "people", "name": "grinning cat", "unicode": "1f63a" }, ":smiling_face_with_3_hearts:": { "category": "people", "name": "smiling face with hearts", "unicode": "1f970" }, ":smiling_face_with_tear:": { "category": "people", "name": "smiling face with tear", "unicode": "1f972" }, ":smiling_imp:": { "category": "people", "name": "smiling face with horns", "unicode": "1f608" }, ":smirk:": { "category": "people", "name": "smirking face", "unicode": "1f60f" }, ":smirk_cat:": { "category": "people", "name": "cat with wry smile", "unicode": "1f63c" }, ":smoking:": { "category": "objects", "name": "cigarette", "unicode": "1f6ac" }, ":snail:": { "category": "nature", "name": "snail", "unicode": "1f40c" }, ":snake:": { "category": "nature", "name": "snake", "unicode": "1f40d" }, ":sneezing_face:": { "category": "people", "name": "sneezing face", "unicode": "1f927" }, ":snowboarder:": { "category": "activity", "name": "snowboarder", "unicode": "1f3c2" }, ":snowboarder_tone1:": { "category": "activity", "name": "snowboarder: light skin tone", "unicode": "1f3c2-1f3fb" }, ":snowboarder_tone2:": { "category": "activity", "name": "snowboarder: medium-light skin tone", "unicode": "1f3c2-1f3fc" }, ":snowboarder_tone3:": { "category": "activity", "name": "snowboarder: medium skin tone", "unicode": "1f3c2-1f3fd" }, ":snowboarder_tone4:": { "category": "activity", "name": "snowboarder: medium-dark skin tone", "unicode": "1f3c2-1f3fe" }, ":snowboarder_tone5:": { "category": "activity", "name": "snowboarder: dark skin tone", "unicode": "1f3c2-1f3ff" }, ":snowflake:": { "category": "nature", "name": "snowflake", "unicode": "2744" }, ":snowman2:": { "category": "nature", "name": "snowman", "unicode": "2603" }, ":snowman:": { "category": "nature", "name": "snowman without snow", "unicode": "26c4" }, ":soap:": { "category": "objects", "name": "soap", "unicode": "1f9fc" }, ":sob:": { "category": "people", "name": "loudly crying face", "unicode": "1f62d" }, ":soccer:": { "category": "activity", "name": "soccer ball", "unicode": "26bd" }, ":socks:": { "category": "people", "name": "socks", "unicode": "1f9e6" }, ":softball:": { "category": "activity", "name": "softball", "unicode": "1f94e" }, ":soon:": { "category": "symbols", "name": "SOON arrow", "unicode": "1f51c" }, ":sos:": { "category": "symbols", "name": "SOS button", "unicode": "1f198" }, ":sound:": { "category": "symbols", "name": "speaker medium volume", "unicode": "1f509" }, ":space_invader:": { "category": "people", "name": "alien monster", "unicode": "1f47e" }, ":spades:": { "category": "symbols", "name": "spade suit", "unicode": "2660" }, ":spaghetti:": { "category": "food", "name": "spaghetti", "unicode": "1f35d" }, ":sparkle:": { "category": "symbols", "name": "sparkle", "unicode": "2747" }, ":sparkler:": { "category": "travel", "name": "sparkler", "unicode": "1f387" }, ":sparkles:": { "category": "nature", "name": "sparkles", "unicode": "2728" }, ":sparkling_heart:": { "category": "symbols", "name": "sparkling heart", "unicode": "1f496" }, ":speak_no_evil:": { "category": "nature", "name": "speak-no-evil monkey", "unicode": "1f64a" }, ":speaker:": { "category": "symbols", "name": "speaker low volume", "unicode": "1f508" }, ":speaking_head:": { "category": "people", "name": "speaking head", "unicode": "1f5e3" }, ":speech_balloon:": { "category": "symbols", "name": "speech balloon", "unicode": "1f4ac" }, ":speech_left:": { "category": "symbols", "name": "left speech bubble", "unicode": "1f5e8" }, ":speedboat:": { "category": "travel", "name": "speedboat", "unicode": "1f6a4" }, ":spider:": { "category": "nature", "name": "spider", "unicode": "1f577" }, ":spider_web:": { "category": "nature", "name": "spider web", "unicode": "1f578" }, ":sponge:": { "category": "objects", "name": "sponge", "unicode": "1f9fd" }, ":spoon:": { "category": "food", "name": "spoon", "unicode": "1f944" }, ":squeeze_bottle:": { "category": "objects", "name": "lotion bottle", "unicode": "1f9f4" }, ":squid:": { "category": "nature", "name": "squid", "unicode": "1f991" }, ":stadium:": { "category": "travel", "name": "stadium", "unicode": "1f3df" }, ":star2:": { "category": "nature", "name": "glowing star", "unicode": "1f31f" }, ":star:": { "category": "nature", "name": "star", "unicode": "2b50" }, ":star_and_crescent:": { "category": "symbols", "name": "star and crescent", "unicode": "262a" }, ":star_of_david:": { "category": "symbols", "name": "star of David", "unicode": "2721" }, ":star_struck:": { "category": "people", "name": "star-struck", "unicode": "1f929" }, ":stars:": { "category": "travel", "name": "shooting star", "unicode": "1f320" }, ":station:": { "category": "travel", "name": "station", "unicode": "1f689" }, ":statue_of_liberty:": { "category": "travel", "name": "Statue of Liberty", "unicode": "1f5fd" }, ":steam_locomotive:": { "category": "travel", "name": "locomotive", "unicode": "1f682" }, ":stethoscope:": { "category": "objects", "name": "stethoscope", "unicode": "1fa7a" }, ":stew:": { "category": "food", "name": "pot of food", "unicode": "1f372" }, ":stop_button:": { "category": "symbols", "name": "stop button", "unicode": "23f9" }, ":stopwatch:": { "category": "objects", "name": "stopwatch", "unicode": "23f1" }, ":straight_ruler:": { "category": "objects", "name": "straight ruler", "unicode": "1f4cf" }, ":strawberry:": { "category": "food", "name": "strawberry", "unicode": "1f353" }, ":stuck_out_tongue:": { "category": "people", "name": "face with tongue", "unicode": "1f61b" }, ":stuck_out_tongue_closed_eyes:": { "category": "people", "name": "squinting face with tongue", "unicode": "1f61d" }, ":stuck_out_tongue_winking_eye:": { "category": "people", "name": "winking face with tongue", "unicode": "1f61c" }, ":student:": { "category": "people", "name": "student", "unicode": "1f9d1-200d-1f393" }, ":student_tone1:": { "category": "people", "name": "student: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f393" }, ":student_tone2:": { "category": "people", "name": "student: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f393" }, ":student_tone3:": { "category": "people", "name": "student: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f393" }, ":student_tone4:": { "category": "people", "name": "student: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f393" }, ":student_tone5:": { "category": "people", "name": "student: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f393" }, ":stuffed_flatbread:": { "category": "food", "name": "stuffed flatbread", "unicode": "1f959" }, ":sun_with_face:": { "category": "nature", "name": "sun with face", "unicode": "1f31e" }, ":sunflower:": { "category": "nature", "name": "sunflower", "unicode": "1f33b" }, ":sunglasses:": { "category": "people", "name": "smiling face with sunglasses", "unicode": "1f60e" }, ":sunny:": { "category": "nature", "name": "sun", "unicode": "2600" }, ":sunrise:": { "category": "travel", "name": "sunrise", "unicode": "1f305" }, ":sunrise_over_mountains:": { "category": "travel", "name": "sunrise over mountains", "unicode": "1f304" }, ":superhero:": { "category": "people", "name": "superhero", "unicode": "1f9b8" }, ":superhero_tone1:": { "category": "people", "name": "superhero: light skin tone", "unicode": "1f9b8-1f3fb" }, ":superhero_tone2:": { "category": "people", "name": "superhero: medium-light skin tone", "unicode": "1f9b8-1f3fc" }, ":superhero_tone3:": { "category": "people", "name": "superhero: medium skin tone", "unicode": "1f9b8-1f3fd" }, ":superhero_tone4:": { "category": "people", "name": "superhero: medium-dark skin tone", "unicode": "1f9b8-1f3fe" }, ":superhero_tone5:": { "category": "people", "name": "superhero: dark skin tone", "unicode": "1f9b8-1f3ff" }, ":supervillain:": { "category": "people", "name": "supervillain", "unicode": "1f9b9" }, ":supervillain_tone1:": { "category": "people", "name": "supervillain: light skin tone", "unicode": "1f9b9-1f3fb" }, ":supervillain_tone2:": { "category": "people", "name": "supervillain: medium-light skin tone", "unicode": "1f9b9-1f3fc" }, ":supervillain_tone3:": { "category": "people", "name": "supervillain: medium skin tone", "unicode": "1f9b9-1f3fd" }, ":supervillain_tone4:": { "category": "people", "name": "supervillain: medium-dark skin tone", "unicode": "1f9b9-1f3fe" }, ":supervillain_tone5:": { "category": "people", "name": "supervillain: dark skin tone", "unicode": "1f9b9-1f3ff" }, ":sushi:": { "category": "food", "name": "sushi", "unicode": "1f363" }, ":suspension_railway:": { "category": "travel", "name": "suspension railway", "unicode": "1f69f" }, ":swan:": { "category": "nature", "name": "swan", "unicode": "1f9a2" }, ":sweat:": { "category": "people", "name": "downcast face with sweat", "unicode": "1f613" }, ":sweat_drops:": { "category": "nature", "name": "sweat droplets", "unicode": "1f4a6" }, ":sweat_smile:": { "category": "people", "name": "grinning face with sweat", "unicode": "1f605" }, ":sweet_potato:": { "category": "food", "name": "roasted sweet potato", "unicode": "1f360" }, ":symbols:": { "category": "symbols", "name": "input symbols", "unicode": "1f523" }, ":synagogue:": { "category": "travel", "name": "synagogue", "unicode": "1f54d" }, ":syringe:": { "category": "objects", "name": "syringe", "unicode": "1f489" }, ":t_rex:": { "category": "nature", "name": "T-Rex", "unicode": "1f996" }, ":taco:": { "category": "food", "name": "taco", "unicode": "1f32e" }, ":tada:": { "category": "objects", "name": "party popper", "unicode": "1f389" }, ":takeout_box:": { "category": "food", "name": "takeout box", "unicode": "1f961" }, ":tamale:": { "category": "food", "name": "tamale", "unicode": "1fad4" }, ":tanabata_tree:": { "category": "nature", "name": "tanabata tree", "unicode": "1f38b" }, ":tangerine:": { "category": "food", "name": "tangerine", "unicode": "1f34a" }, ":taurus:": { "category": "symbols", "name": "Taurus", "unicode": "2649" }, ":taxi:": { "category": "travel", "name": "taxi", "unicode": "1f695" }, ":tea:": { "category": "food", "name": "teacup without handle", "unicode": "1f375" }, ":teacher:": { "category": "people", "name": "teacher", "unicode": "1f9d1-200d-1f3eb" }, ":teacher_tone1:": { "category": "people", "name": "teacher: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f3eb" }, ":teacher_tone2:": { "category": "people", "name": "teacher: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f3eb" }, ":teacher_tone3:": { "category": "people", "name": "teacher: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f3eb" }, ":teacher_tone4:": { "category": "people", "name": "teacher: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f3eb" }, ":teacher_tone5:": { "category": "people", "name": "teacher: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f3eb" }, ":teapot:": { "category": "food", "name": "teapot", "unicode": "1fad6" }, ":technologist:": { "category": "people", "name": "technologist", "unicode": "1f9d1-200d-1f4bb" }, ":technologist_tone1:": { "category": "people", "name": "technologist: light skin tone", "unicode": "1f9d1-1f3fb-200d-1f4bb" }, ":technologist_tone2:": { "category": "people", "name": "technologist: medium-light skin tone", "unicode": "1f9d1-1f3fc-200d-1f4bb" }, ":technologist_tone3:": { "category": "people", "name": "technologist: medium skin tone", "unicode": "1f9d1-1f3fd-200d-1f4bb" }, ":technologist_tone4:": { "category": "people", "name": "technologist: medium-dark skin tone", "unicode": "1f9d1-1f3fe-200d-1f4bb" }, ":technologist_tone5:": { "category": "people", "name": "technologist: dark skin tone", "unicode": "1f9d1-1f3ff-200d-1f4bb" }, ":teddy_bear:": { "category": "objects", "name": "teddy bear", "unicode": "1f9f8" }, ":telephone:": { "category": "objects", "name": "telephone", "unicode": "260e" }, ":telephone_receiver:": { "category": "objects", "name": "telephone receiver", "unicode": "1f4de" }, ":telescope:": { "category": "objects", "name": "telescope", "unicode": "1f52d" }, ":tennis:": { "category": "activity", "name": "tennis", "unicode": "1f3be" }, ":tent:": { "category": "travel", "name": "tent", "unicode": "26fa" }, ":test_tube:": { "category": "objects", "name": "test tube", "unicode": "1f9ea" }, ":thermometer:": { "category": "objects", "name": "thermometer", "unicode": "1f321" }, ":thermometer_face:": { "category": "people", "name": "face with thermometer", "unicode": "1f912" }, ":thinking:": { "category": "people", "name": "thinking face", "unicode": "1f914" }, ":third_place:": { "category": "activity", "name": "3rd place medal", "unicode": "1f949" }, ":thong_sandal:": { "category": "people", "name": "thong sandal", "unicode": "1fa74" }, ":thought_balloon:": { "category": "symbols", "name": "thought balloon", "unicode": "1f4ad" }, ":thread:": { "category": "people", "name": "thread", "unicode": "1f9f5" }, ":three:": { "category": "symbols", "name": "keycap: 3", "unicode": "33-20e3", "unicode_alt": "0033-20e3" }, ":thumbsdown:": { "category": "people", "name": "thumbs down", "unicode": "1f44e" }, ":thumbsdown_tone1:": { "category": "people", "name": "thumbs down: light skin tone", "unicode": "1f44e-1f3fb" }, ":thumbsdown_tone2:": { "category": "people", "name": "thumbs down: medium-light skin tone", "unicode": "1f44e-1f3fc" }, ":thumbsdown_tone3:": { "category": "people", "name": "thumbs down: medium skin tone", "unicode": "1f44e-1f3fd" }, ":thumbsdown_tone4:": { "category": "people", "name": "thumbs down: medium-dark skin tone", "unicode": "1f44e-1f3fe" }, ":thumbsdown_tone5:": { "category": "people", "name": "thumbs down: dark skin tone", "unicode": "1f44e-1f3ff" }, ":thumbsup:": { "category": "people", "name": "thumbs up", "unicode": "1f44d" }, ":thumbsup_tone1:": { "category": "people", "name": "thumbs up: light skin tone", "unicode": "1f44d-1f3fb" }, ":thumbsup_tone2:": { "category": "people", "name": "thumbs up: medium-light skin tone", "unicode": "1f44d-1f3fc" }, ":thumbsup_tone3:": { "category": "people", "name": "thumbs up: medium skin tone", "unicode": "1f44d-1f3fd" }, ":thumbsup_tone4:": { "category": "people", "name": "thumbs up: medium-dark skin tone", "unicode": "1f44d-1f3fe" }, ":thumbsup_tone5:": { "category": "people", "name": "thumbs up: dark skin tone", "unicode": "1f44d-1f3ff" }, ":thunder_cloud_rain:": { "category": "nature", "name": "cloud with lightning and rain", "unicode": "26c8" }, ":ticket:": { "category": "activity", "name": "ticket", "unicode": "1f3ab" }, ":tickets:": { "category": "activity", "name": "admission tickets", "unicode": "1f39f" }, ":tiger2:": { "category": "nature", "name": "tiger", "unicode": "1f405" }, ":tiger:": { "category": "nature", "name": "tiger face", "unicode": "1f42f" }, ":timer:": { "category": "objects", "name": "timer clock", "unicode": "23f2" }, ":tired_face:": { "category": "people", "name": "tired face", "unicode": "1f62b" }, ":tm:": { "category": "symbols", "name": "trade mark", "unicode": "2122" }, ":toilet:": { "category": "objects", "name": "toilet", "unicode": "1f6bd" }, ":tokyo_tower:": { "category": "travel", "name": "Tokyo tower", "unicode": "1f5fc" }, ":tomato:": { "category": "food", "name": "tomato", "unicode": "1f345" }, ":tone1:": { "category": "modifier", "name": "light skin tone", "unicode": "1f3fb" }, ":tone2:": { "category": "modifier", "name": "medium-light skin tone", "unicode": "1f3fc" }, ":tone3:": { "category": "modifier", "name": "medium skin tone", "unicode": "1f3fd" }, ":tone4:": { "category": "modifier", "name": "medium-dark skin tone", "unicode": "1f3fe" }, ":tone5:": { "category": "modifier", "name": "dark skin tone", "unicode": "1f3ff" }, ":tongue:": { "category": "people", "name": "tongue", "unicode": "1f445" }, ":toolbox:": { "category": "objects", "name": "toolbox", "unicode": "1f9f0" }, ":tools:": { "category": "objects", "name": "hammer and wrench", "unicode": "1f6e0" }, ":tooth:": { "category": "people", "name": "tooth", "unicode": "1f9b7" }, ":toothbrush:": { "category": "objects", "name": "toothbrush", "unicode": "1faa5" }, ":top:": { "category": "symbols", "name": "TOP arrow", "unicode": "1f51d" }, ":tophat:": { "category": "people", "name": "top hat", "unicode": "1f3a9" }, ":track_next:": { "category": "symbols", "name": "next track button", "unicode": "23ed" }, ":track_previous:": { "category": "symbols", "name": "last track button", "unicode": "23ee" }, ":trackball:": { "category": "objects", "name": "trackball", "unicode": "1f5b2" }, ":tractor:": { "category": "travel", "name": "tractor", "unicode": "1f69c" }, ":traffic_light:": { "category": "travel", "name": "horizontal traffic light", "unicode": "1f6a5" }, ":train2:": { "category": "travel", "name": "train", "unicode": "1f686" }, ":train:": { "category": "travel", "name": "tram car", "unicode": "1f68b" }, ":tram:": { "category": "travel", "name": "tram", "unicode": "1f68a" }, ":transgender_flag:": { "category": "flags", "name": "transgender flag", "unicode": "1f3f3-fe0f-200d-26a7-fe0f" }, ":transgender_symbol:": { "category": "symbols", "name": "transgender symbol", "unicode": "26a7" }, ":triangular_flag_on_post:": { "category": "flags", "name": "triangular flag", "unicode": "1f6a9" }, ":triangular_ruler:": { "category": "objects", "name": "triangular ruler", "unicode": "1f4d0" }, ":trident:": { "category": "symbols", "name": "trident emblem", "unicode": "1f531" }, ":triumph:": { "category": "people", "name": "face with steam from nose", "unicode": "1f624" }, ":troll:": { "category": "people", "name": "troll", "unicode": "1f9cc" }, ":trolleybus:": { "category": "travel", "name": "trolleybus", "unicode": "1f68e" }, ":trophy:": { "category": "activity", "name": "trophy", "unicode": "1f3c6" }, ":tropical_drink:": { "category": "food", "name": "tropical drink", "unicode": "1f379" }, ":tropical_fish:": { "category": "nature", "name": "tropical fish", "unicode": "1f420" }, ":truck:": { "category": "travel", "name": "delivery truck", "unicode": "1f69a" }, ":trumpet:": { "category": "activity", "name": "trumpet", "unicode": "1f3ba" }, ":tulip:": { "category": "nature", "name": "tulip", "unicode": "1f337" }, ":tumbler_glass:": { "category": "food", "name": "tumbler glass", "unicode": "1f943" }, ":turkey:": { "category": "nature", "name": "turkey", "unicode": "1f983" }, ":turtle:": { "category": "nature", "name": "turtle", "unicode": "1f422" }, ":tv:": { "category": "objects", "name": "television", "unicode": "1f4fa" }, ":twisted_rightwards_arrows:": { "category": "symbols", "name": "shuffle tracks button", "unicode": "1f500" }, ":two:": { "category": "symbols", "name": "keycap: 2", "unicode": "32-20e3", "unicode_alt": "0032-20e3" }, ":two_hearts:": { "category": "symbols", "name": "two hearts", "unicode": "1f495" }, ":two_men_holding_hands:": { "category": "people", "name": "men holding hands", "unicode": "1f46c" }, ":two_women_holding_hands:": { "category": "people", "name": "women holding hands", "unicode": "1f46d" }, ":u5272:": { "category": "symbols", "name": "Japanese \u201cdiscount\u201d button", "unicode": "1f239" }, ":u5408:": { "category": "symbols", "name": "Japanese \u201cpassing grade\u201d button", "unicode": "1f234" }, ":u55b6:": { "category": "symbols", "name": "Japanese \u201copen for business\u201d button", "unicode": "1f23a" }, ":u6307:": { "category": "symbols", "name": "Japanese \u201creserved\u201d button", "unicode": "1f22f" }, ":u6708:": { "category": "symbols", "name": "Japanese \u201cmonthly amount\u201d button", "unicode": "1f237" }, ":u6709:": { "category": "symbols", "name": "Japanese \u201cnot free of charge\u201d button", "unicode": "1f236" }, ":u6e80:": { "category": "symbols", "name": "Japanese \u201cno vacancy\u201d button", "unicode": "1f235" }, ":u7121:": { "category": "symbols", "name": "Japanese \u201cfree of charge\u201d button", "unicode": "1f21a" }, ":u7533:": { "category": "symbols", "name": "Japanese \u201capplication\u201d button", "unicode": "1f238" }, ":u7981:": { "category": "symbols", "name": "Japanese \u201cprohibited\u201d button", "unicode": "1f232" }, ":u7a7a:": { "category": "symbols", "name": "Japanese \u201cvacancy\u201d button", "unicode": "1f233" }, ":umbrella2:": { "category": "nature", "name": "umbrella", "unicode": "2602" }, ":umbrella:": { "category": "nature", "name": "umbrella with rain drops", "unicode": "2614" }, ":unamused:": { "category": "people", "name": "unamused face", "unicode": "1f612" }, ":underage:": { "category": "symbols", "name": "no one under eighteen", "unicode": "1f51e" }, ":unicorn:": { "category": "nature", "name": "unicorn", "unicode": "1f984" }, ":united_nations:": { "category": "flags", "name": "flag: United Nations", "unicode": "1f1fa-1f1f3" }, ":unlock:": { "category": "objects", "name": "unlocked", "unicode": "1f513" }, ":up:": { "category": "symbols", "name": "UP! button", "unicode": "1f199" }, ":upside_down:": { "category": "people", "name": "upside-down face", "unicode": "1f643" }, ":urn:": { "category": "objects", "name": "funeral urn", "unicode": "26b1" }, ":v:": { "category": "people", "name": "victory hand", "unicode": "270c" }, ":v_tone1:": { "category": "people", "name": "victory hand: light skin tone", "unicode": "270c-1f3fb" }, ":v_tone2:": { "category": "people", "name": "victory hand: medium-light skin tone", "unicode": "270c-1f3fc" }, ":v_tone3:": { "category": "people", "name": "victory hand: medium skin tone", "unicode": "270c-1f3fd" }, ":v_tone4:": { "category": "people", "name": "victory hand: medium-dark skin tone", "unicode": "270c-1f3fe" }, ":v_tone5:": { "category": "people", "name": "victory hand: dark skin tone", "unicode": "270c-1f3ff" }, ":vampire:": { "category": "people", "name": "vampire", "unicode": "1f9db" }, ":vampire_tone1:": { "category": "people", "name": "vampire: light skin tone", "unicode": "1f9db-1f3fb" }, ":vampire_tone2:": { "category": "people", "name": "vampire: medium-light skin tone", "unicode": "1f9db-1f3fc" }, ":vampire_tone3:": { "category": "people", "name": "vampire: medium skin tone", "unicode": "1f9db-1f3fd" }, ":vampire_tone4:": { "category": "people", "name": "vampire: medium-dark skin tone", "unicode": "1f9db-1f3fe" }, ":vampire_tone5:": { "category": "people", "name": "vampire: dark skin tone", "unicode": "1f9db-1f3ff" }, ":vertical_traffic_light:": { "category": "travel", "name": "vertical traffic light", "unicode": "1f6a6" }, ":vhs:": { "category": "objects", "name": "videocassette", "unicode": "1f4fc" }, ":vibration_mode:": { "category": "symbols", "name": "vibration mode", "unicode": "1f4f3" }, ":video_camera:": { "category": "objects", "name": "video camera", "unicode": "1f4f9" }, ":video_game:": { "category": "activity", "name": "video game", "unicode": "1f3ae" }, ":violin:": { "category": "activity", "name": "violin", "unicode": "1f3bb" }, ":virgo:": { "category": "symbols", "name": "Virgo", "unicode": "264d" }, ":volcano:": { "category": "travel", "name": "volcano", "unicode": "1f30b" }, ":volleyball:": { "category": "activity", "name": "volleyball", "unicode": "1f3d0" }, ":vs:": { "category": "symbols", "name": "VS button", "unicode": "1f19a" }, ":vulcan:": { "category": "people", "name": "vulcan salute", "unicode": "1f596" }, ":vulcan_tone1:": { "category": "people", "name": "vulcan salute: light skin tone", "unicode": "1f596-1f3fb" }, ":vulcan_tone2:": { "category": "people", "name": "vulcan salute: medium-light skin tone", "unicode": "1f596-1f3fc" }, ":vulcan_tone3:": { "category": "people", "name": "vulcan salute: medium skin tone", "unicode": "1f596-1f3fd" }, ":vulcan_tone4:": { "category": "people", "name": "vulcan salute: medium-dark skin tone", "unicode": "1f596-1f3fe" }, ":vulcan_tone5:": { "category": "people", "name": "vulcan salute: dark skin tone", "unicode": "1f596-1f3ff" }, ":waffle:": { "category": "food", "name": "waffle", "unicode": "1f9c7" }, ":wales:": { "category": "flags", "name": "flag: Wales", "unicode": "1f3f4-e0067-e0062-e0077-e006c-e0073-e007f" }, ":waning_crescent_moon:": { "category": "nature", "name": "waning crescent moon", "unicode": "1f318" }, ":waning_gibbous_moon:": { "category": "nature", "name": "waning gibbous moon", "unicode": "1f316" }, ":warning:": { "category": "symbols", "name": "warning", "unicode": "26a0" }, ":wastebasket:": { "category": "objects", "name": "wastebasket", "unicode": "1f5d1" }, ":watch:": { "category": "objects", "name": "watch", "unicode": "231a" }, ":water_buffalo:": { "category": "nature", "name": "water buffalo", "unicode": "1f403" }, ":watermelon:": { "category": "food", "name": "watermelon", "unicode": "1f349" }, ":wave:": { "category": "people", "name": "waving hand", "unicode": "1f44b" }, ":wave_tone1:": { "category": "people", "name": "waving hand: light skin tone", "unicode": "1f44b-1f3fb" }, ":wave_tone2:": { "category": "people", "name": "waving hand: medium-light skin tone", "unicode": "1f44b-1f3fc" }, ":wave_tone3:": { "category": "people", "name": "waving hand: medium skin tone", "unicode": "1f44b-1f3fd" }, ":wave_tone4:": { "category": "people", "name": "waving hand: medium-dark skin tone", "unicode": "1f44b-1f3fe" }, ":wave_tone5:": { "category": "people", "name": "waving hand: dark skin tone", "unicode": "1f44b-1f3ff" }, ":wavy_dash:": { "category": "symbols", "name": "wavy dash", "unicode": "3030" }, ":waxing_crescent_moon:": { "category": "nature", "name": "waxing crescent moon", "unicode": "1f312" }, ":waxing_gibbous_moon:": { "category": "nature", "name": "waxing gibbous moon", "unicode": "1f314" }, ":wc:": { "category": "symbols", "name": "water closet", "unicode": "1f6be" }, ":weary:": { "category": "people", "name": "weary face", "unicode": "1f629" }, ":wedding:": { "category": "travel", "name": "wedding", "unicode": "1f492" }, ":whale2:": { "category": "nature", "name": "whale", "unicode": "1f40b" }, ":whale:": { "category": "nature", "name": "spouting whale", "unicode": "1f433" }, ":wheel:": { "category": "travel", "name": "wheel", "unicode": "1f6de" }, ":wheel_of_dharma:": { "category": "symbols", "name": "wheel of dharma", "unicode": "2638" }, ":wheelchair:": { "category": "symbols", "name": "wheelchair symbol", "unicode": "267f" }, ":white_check_mark:": { "category": "symbols", "name": "check mark button", "unicode": "2705" }, ":white_circle:": { "category": "symbols", "name": "white circle", "unicode": "26aa" }, ":white_flower:": { "category": "symbols", "name": "white flower", "unicode": "1f4ae" }, ":white_haired:": { "category": "people", "name": "white hair", "unicode": "1f9b3" }, ":white_heart:": { "category": "symbols", "name": "white heart", "unicode": "1f90d" }, ":white_large_square:": { "category": "symbols", "name": "white large square", "unicode": "2b1c" }, ":white_medium_small_square:": { "category": "symbols", "name": "white medium-small square", "unicode": "25fd" }, ":white_medium_square:": { "category": "symbols", "name": "white medium square", "unicode": "25fb" }, ":white_small_square:": { "category": "symbols", "name": "white small square", "unicode": "25ab" }, ":white_square_button:": { "category": "symbols", "name": "white square button", "unicode": "1f533" }, ":white_sun_cloud:": { "category": "nature", "name": "sun behind large cloud", "unicode": "1f325" }, ":white_sun_rain_cloud:": { "category": "nature", "name": "sun behind rain cloud", "unicode": "1f326" }, ":white_sun_small_cloud:": { "category": "nature", "name": "sun behind small cloud", "unicode": "1f324" }, ":wilted_rose:": { "category": "nature", "name": "wilted flower", "unicode": "1f940" }, ":wind_blowing_face:": { "category": "nature", "name": "wind face", "unicode": "1f32c" }, ":wind_chime:": { "category": "objects", "name": "wind chime", "unicode": "1f390" }, ":window:": { "category": "objects", "name": "window", "unicode": "1fa9f" }, ":wine_glass:": { "category": "food", "name": "wine glass", "unicode": "1f377" }, ":wing:": { "category": "nature", "name": "wing", "unicode": "1fabd" }, ":wink:": { "category": "people", "name": "winking face", "unicode": "1f609" }, ":wireless:": { "category": "symbols", "name": "wireless", "unicode": "1f6dc" }, ":wolf:": { "category": "nature", "name": "wolf", "unicode": "1f43a" }, ":woman:": { "category": "people", "name": "woman", "unicode": "1f469" }, ":woman_and_man_holding_hands_tone1:": { "category": "people", "name": "woman and man holding hands: light skin tone", "unicode": "1f46b-1f3fb" }, ":woman_and_man_holding_hands_tone1_tone2:": { "category": "people", "name": "woman and man holding hands: light skin tone, medium light skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc" }, ":woman_and_man_holding_hands_tone1_tone3:": { "category": "people", "name": "woman and man holding hands: light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd" }, ":woman_and_man_holding_hands_tone1_tone4:": { "category": "people", "name": "woman and man holding hands: light skin tone, medium dark skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe" }, ":woman_and_man_holding_hands_tone1_tone5:": { "category": "people", "name": "woman and man holding hands: light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff" }, ":woman_and_man_holding_hands_tone2:": { "category": "people", "name": "woman and man holding hands: medium-light skin tone", "unicode": "1f46b-1f3fc" }, ":woman_and_man_holding_hands_tone2_tone1:": { "category": "people", "name": "woman and man holding hands: medium light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb" }, ":woman_and_man_holding_hands_tone2_tone3:": { "category": "people", "name": "woman and man holding hands: medium light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd" }, ":woman_and_man_holding_hands_tone2_tone4:": { "category": "people", "name": "woman and man holding hands: medium light skin tone, medium dark skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe" }, ":woman_and_man_holding_hands_tone2_tone5:": { "category": "people", "name": "woman and man holding hands: medium light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff" }, ":woman_and_man_holding_hands_tone3:": { "category": "people", "name": "woman and man holding hands: medium skin tone", "unicode": "1f46b-1f3fd" }, ":woman_and_man_holding_hands_tone3_tone1:": { "category": "people", "name": "woman and man holding hands: medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb" }, ":woman_and_man_holding_hands_tone3_tone2:": { "category": "people", "name": "woman and man holding hands: medium skin tone, medium light skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc" }, ":woman_and_man_holding_hands_tone3_tone4:": { "category": "people", "name": "woman and man holding hands: medium skin tone, medium dark skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe" }, ":woman_and_man_holding_hands_tone3_tone5:": { "category": "people", "name": "woman and man holding hands: medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff" }, ":woman_and_man_holding_hands_tone4:": { "category": "people", "name": "woman and man holding hands: medium-dark skin tone", "unicode": "1f46b-1f3fe" }, ":woman_and_man_holding_hands_tone4_tone1:": { "category": "people", "name": "woman and man holding hands: medium dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb" }, ":woman_and_man_holding_hands_tone4_tone2:": { "category": "people", "name": "woman and man holding hands: medium dark skin tone, medium light skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc" }, ":woman_and_man_holding_hands_tone4_tone3:": { "category": "people", "name": "woman and man holding hands: medium dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd" }, ":woman_and_man_holding_hands_tone4_tone5:": { "category": "people", "name": "woman and man holding hands: medium dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff" }, ":woman_and_man_holding_hands_tone5:": { "category": "people", "name": "woman and man holding hands: dark skin tone", "unicode": "1f46b-1f3ff" }, ":woman_and_man_holding_hands_tone5_tone1:": { "category": "people", "name": "woman and man holding hands: dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb" }, ":woman_and_man_holding_hands_tone5_tone2:": { "category": "people", "name": "woman and man holding hands: dark skin tone, medium light skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc" }, ":woman_and_man_holding_hands_tone5_tone3:": { "category": "people", "name": "woman and man holding hands: dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd" }, ":woman_and_man_holding_hands_tone5_tone4:": { "category": "people", "name": "woman and man holding hands: dark skin tone, medium dark skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe" }, ":woman_artist:": { "category": "people", "name": "woman artist", "unicode": "1f469-200d-1f3a8" }, ":woman_artist_tone1:": { "category": "people", "name": "woman artist: light skin tone", "unicode": "1f469-1f3fb-200d-1f3a8" }, ":woman_artist_tone2:": { "category": "people", "name": "woman artist: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f3a8" }, ":woman_artist_tone3:": { "category": "people", "name": "woman artist: medium skin tone", "unicode": "1f469-1f3fd-200d-1f3a8" }, ":woman_artist_tone4:": { "category": "people", "name": "woman artist: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f3a8" }, ":woman_artist_tone5:": { "category": "people", "name": "woman artist: dark skin tone", "unicode": "1f469-1f3ff-200d-1f3a8" }, ":woman_astronaut:": { "category": "people", "name": "woman astronaut", "unicode": "1f469-200d-1f680" }, ":woman_astronaut_tone1:": { "category": "people", "name": "woman astronaut: light skin tone", "unicode": "1f469-1f3fb-200d-1f680" }, ":woman_astronaut_tone2:": { "category": "people", "name": "woman astronaut: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f680" }, ":woman_astronaut_tone3:": { "category": "people", "name": "woman astronaut: medium skin tone", "unicode": "1f469-1f3fd-200d-1f680" }, ":woman_astronaut_tone4:": { "category": "people", "name": "woman astronaut: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f680" }, ":woman_astronaut_tone5:": { "category": "people", "name": "woman astronaut: dark skin tone", "unicode": "1f469-1f3ff-200d-1f680" }, ":woman_bald:": { "category": "people", "name": "woman: bald", "unicode": "1f469-200d-1f9b2" }, ":woman_bald_tone1:": { "category": "people", "name": "woman, bald: light skin tone", "unicode": "1f469-1f3fb-200d-1f9b2" }, ":woman_bald_tone2:": { "category": "people", "name": "woman, bald: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9b2" }, ":woman_bald_tone3:": { "category": "people", "name": "woman, bald: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9b2" }, ":woman_bald_tone4:": { "category": "people", "name": "woman, bald: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9b2" }, ":woman_bald_tone5:": { "category": "people", "name": "woman, bald: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9b2" }, ":woman_beard:": { "category": "people", "name": "woman: beard", "unicode": "1f9d4-200d-2640-fe0f" }, ":woman_biking:": { "category": "activity", "name": "woman biking", "unicode": "1f6b4-200d-2640-fe0f" }, ":woman_biking_tone1:": { "category": "activity", "name": "woman biking: light skin tone", "unicode": "1f6b4-1f3fb-200d-2640-fe0f" }, ":woman_biking_tone2:": { "category": "activity", "name": "woman biking: medium-light skin tone", "unicode": "1f6b4-1f3fc-200d-2640-fe0f" }, ":woman_biking_tone3:": { "category": "activity", "name": "woman biking: medium skin tone", "unicode": "1f6b4-1f3fd-200d-2640-fe0f" }, ":woman_biking_tone4:": { "category": "activity", "name": "woman biking: medium-dark skin tone", "unicode": "1f6b4-1f3fe-200d-2640-fe0f" }, ":woman_biking_tone5:": { "category": "activity", "name": "woman biking: dark skin tone", "unicode": "1f6b4-1f3ff-200d-2640-fe0f" }, ":woman_bouncing_ball:": { "category": "activity", "name": "woman bouncing ball", "unicode": "26f9-fe0f-200d-2640-fe0f" }, ":woman_bouncing_ball_tone1:": { "category": "activity", "name": "woman bouncing ball: light skin tone", "unicode": "26f9-1f3fb-200d-2640-fe0f" }, ":woman_bouncing_ball_tone2:": { "category": "activity", "name": "woman bouncing ball: medium-light skin tone", "unicode": "26f9-1f3fc-200d-2640-fe0f" }, ":woman_bouncing_ball_tone3:": { "category": "activity", "name": "woman bouncing ball: medium skin tone", "unicode": "26f9-1f3fd-200d-2640-fe0f" }, ":woman_bouncing_ball_tone4:": { "category": "activity", "name": "woman bouncing ball: medium-dark skin tone", "unicode": "26f9-1f3fe-200d-2640-fe0f" }, ":woman_bouncing_ball_tone5:": { "category": "activity", "name": "woman bouncing ball: dark skin tone", "unicode": "26f9-1f3ff-200d-2640-fe0f" }, ":woman_bowing:": { "category": "people", "name": "woman bowing", "unicode": "1f647-200d-2640-fe0f" }, ":woman_bowing_tone1:": { "category": "people", "name": "woman bowing: light skin tone", "unicode": "1f647-1f3fb-200d-2640-fe0f" }, ":woman_bowing_tone2:": { "category": "people", "name": "woman bowing: medium-light skin tone", "unicode": "1f647-1f3fc-200d-2640-fe0f" }, ":woman_bowing_tone3:": { "category": "people", "name": "woman bowing: medium skin tone", "unicode": "1f647-1f3fd-200d-2640-fe0f" }, ":woman_bowing_tone4:": { "category": "people", "name": "woman bowing: medium-dark skin tone", "unicode": "1f647-1f3fe-200d-2640-fe0f" }, ":woman_bowing_tone5:": { "category": "people", "name": "woman bowing: dark skin tone", "unicode": "1f647-1f3ff-200d-2640-fe0f" }, ":woman_cartwheeling:": { "category": "activity", "name": "woman cartwheeling", "unicode": "1f938-200d-2640-fe0f" }, ":woman_cartwheeling_tone1:": { "category": "activity", "name": "woman cartwheeling: light skin tone", "unicode": "1f938-1f3fb-200d-2640-fe0f" }, ":woman_cartwheeling_tone2:": { "category": "activity", "name": "woman cartwheeling: medium-light skin tone", "unicode": "1f938-1f3fc-200d-2640-fe0f" }, ":woman_cartwheeling_tone3:": { "category": "activity", "name": "woman cartwheeling: medium skin tone", "unicode": "1f938-1f3fd-200d-2640-fe0f" }, ":woman_cartwheeling_tone4:": { "category": "activity", "name": "woman cartwheeling: medium-dark skin tone", "unicode": "1f938-1f3fe-200d-2640-fe0f" }, ":woman_cartwheeling_tone5:": { "category": "activity", "name": "woman cartwheeling: dark skin tone", "unicode": "1f938-1f3ff-200d-2640-fe0f" }, ":woman_climbing:": { "category": "activity", "name": "woman climbing", "unicode": "1f9d7-200d-2640-fe0f" }, ":woman_climbing_tone1:": { "category": "activity", "name": "woman climbing: light skin tone", "unicode": "1f9d7-1f3fb-200d-2640-fe0f" }, ":woman_climbing_tone2:": { "category": "activity", "name": "woman climbing: medium-light skin tone", "unicode": "1f9d7-1f3fc-200d-2640-fe0f" }, ":woman_climbing_tone3:": { "category": "activity", "name": "woman climbing: medium skin tone", "unicode": "1f9d7-1f3fd-200d-2640-fe0f" }, ":woman_climbing_tone4:": { "category": "activity", "name": "woman climbing: medium-dark skin tone", "unicode": "1f9d7-1f3fe-200d-2640-fe0f" }, ":woman_climbing_tone5:": { "category": "activity", "name": "woman climbing: dark skin tone", "unicode": "1f9d7-1f3ff-200d-2640-fe0f" }, ":woman_construction_worker:": { "category": "people", "name": "woman construction worker", "unicode": "1f477-200d-2640-fe0f" }, ":woman_construction_worker_tone1:": { "category": "people", "name": "woman construction worker: light skin tone", "unicode": "1f477-1f3fb-200d-2640-fe0f" }, ":woman_construction_worker_tone2:": { "category": "people", "name": "woman construction worker: medium-light skin tone", "unicode": "1f477-1f3fc-200d-2640-fe0f" }, ":woman_construction_worker_tone3:": { "category": "people", "name": "woman construction worker: medium skin tone", "unicode": "1f477-1f3fd-200d-2640-fe0f" }, ":woman_construction_worker_tone4:": { "category": "people", "name": "woman construction worker: medium-dark skin tone", "unicode": "1f477-1f3fe-200d-2640-fe0f" }, ":woman_construction_worker_tone5:": { "category": "people", "name": "woman construction worker: dark skin tone", "unicode": "1f477-1f3ff-200d-2640-fe0f" }, ":woman_cook:": { "category": "people", "name": "woman cook", "unicode": "1f469-200d-1f373" }, ":woman_cook_tone1:": { "category": "people", "name": "woman cook: light skin tone", "unicode": "1f469-1f3fb-200d-1f373" }, ":woman_cook_tone2:": { "category": "people", "name": "woman cook: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f373" }, ":woman_cook_tone3:": { "category": "people", "name": "woman cook: medium skin tone", "unicode": "1f469-1f3fd-200d-1f373" }, ":woman_cook_tone4:": { "category": "people", "name": "woman cook: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f373" }, ":woman_cook_tone5:": { "category": "people", "name": "woman cook: dark skin tone", "unicode": "1f469-1f3ff-200d-1f373" }, ":woman_curly_haired:": { "category": "people", "name": "woman: curly hair", "unicode": "1f469-200d-1f9b1" }, ":woman_curly_haired_tone1:": { "category": "people", "name": "woman, curly haired: light skin tone", "unicode": "1f469-1f3fb-200d-1f9b1" }, ":woman_curly_haired_tone2:": { "category": "people", "name": "woman, curly haired: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9b1" }, ":woman_curly_haired_tone3:": { "category": "people", "name": "woman, curly haired: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9b1" }, ":woman_curly_haired_tone4:": { "category": "people", "name": "woman, curly haired: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9b1" }, ":woman_curly_haired_tone5:": { "category": "people", "name": "woman, curly haired: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9b1" }, ":woman_detective:": { "category": "people", "name": "woman detective", "unicode": "1f575-fe0f-200d-2640-fe0f" }, ":woman_detective_tone1:": { "category": "people", "name": "woman detective: light skin tone", "unicode": "1f575-1f3fb-200d-2640-fe0f" }, ":woman_detective_tone2:": { "category": "people", "name": "woman detective: medium-light skin tone", "unicode": "1f575-1f3fc-200d-2640-fe0f" }, ":woman_detective_tone3:": { "category": "people", "name": "woman detective: medium skin tone", "unicode": "1f575-1f3fd-200d-2640-fe0f" }, ":woman_detective_tone4:": { "category": "people", "name": "woman detective: medium-dark skin tone", "unicode": "1f575-1f3fe-200d-2640-fe0f" }, ":woman_detective_tone5:": { "category": "people", "name": "woman detective: dark skin tone", "unicode": "1f575-1f3ff-200d-2640-fe0f" }, ":woman_elf:": { "category": "people", "name": "woman elf", "unicode": "1f9dd-200d-2640-fe0f" }, ":woman_elf_tone1:": { "category": "people", "name": "woman elf: light skin tone", "unicode": "1f9dd-1f3fb-200d-2640-fe0f" }, ":woman_elf_tone2:": { "category": "people", "name": "woman elf: medium-light skin tone", "unicode": "1f9dd-1f3fc-200d-2640-fe0f" }, ":woman_elf_tone3:": { "category": "people", "name": "woman elf: medium skin tone", "unicode": "1f9dd-1f3fd-200d-2640-fe0f" }, ":woman_elf_tone4:": { "category": "people", "name": "woman elf: medium-dark skin tone", "unicode": "1f9dd-1f3fe-200d-2640-fe0f" }, ":woman_elf_tone5:": { "category": "people", "name": "woman elf: dark skin tone", "unicode": "1f9dd-1f3ff-200d-2640-fe0f" }, ":woman_facepalming:": { "category": "people", "name": "woman facepalming", "unicode": "1f926-200d-2640-fe0f" }, ":woman_facepalming_tone1:": { "category": "people", "name": "woman facepalming: light skin tone", "unicode": "1f926-1f3fb-200d-2640-fe0f" }, ":woman_facepalming_tone2:": { "category": "people", "name": "woman facepalming: medium-light skin tone", "unicode": "1f926-1f3fc-200d-2640-fe0f" }, ":woman_facepalming_tone3:": { "category": "people", "name": "woman facepalming: medium skin tone", "unicode": "1f926-1f3fd-200d-2640-fe0f" }, ":woman_facepalming_tone4:": { "category": "people", "name": "woman facepalming: medium-dark skin tone", "unicode": "1f926-1f3fe-200d-2640-fe0f" }, ":woman_facepalming_tone5:": { "category": "people", "name": "woman facepalming: dark skin tone", "unicode": "1f926-1f3ff-200d-2640-fe0f" }, ":woman_factory_worker:": { "category": "people", "name": "woman factory worker", "unicode": "1f469-200d-1f3ed" }, ":woman_factory_worker_tone1:": { "category": "people", "name": "woman factory worker: light skin tone", "unicode": "1f469-1f3fb-200d-1f3ed" }, ":woman_factory_worker_tone2:": { "category": "people", "name": "woman factory worker: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f3ed" }, ":woman_factory_worker_tone3:": { "category": "people", "name": "woman factory worker: medium skin tone", "unicode": "1f469-1f3fd-200d-1f3ed" }, ":woman_factory_worker_tone4:": { "category": "people", "name": "woman factory worker: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f3ed" }, ":woman_factory_worker_tone5:": { "category": "people", "name": "woman factory worker: dark skin tone", "unicode": "1f469-1f3ff-200d-1f3ed" }, ":woman_fairy:": { "category": "people", "name": "woman fairy", "unicode": "1f9da-200d-2640-fe0f" }, ":woman_fairy_tone1:": { "category": "people", "name": "woman fairy: light skin tone", "unicode": "1f9da-1f3fb-200d-2640-fe0f" }, ":woman_fairy_tone2:": { "category": "people", "name": "woman fairy: medium-light skin tone", "unicode": "1f9da-1f3fc-200d-2640-fe0f" }, ":woman_fairy_tone3:": { "category": "people", "name": "woman fairy: medium skin tone", "unicode": "1f9da-1f3fd-200d-2640-fe0f" }, ":woman_fairy_tone4:": { "category": "people", "name": "woman fairy: medium-dark skin tone", "unicode": "1f9da-1f3fe-200d-2640-fe0f" }, ":woman_fairy_tone5:": { "category": "people", "name": "woman fairy: dark skin tone", "unicode": "1f9da-1f3ff-200d-2640-fe0f" }, ":woman_farmer:": { "category": "people", "name": "woman farmer", "unicode": "1f469-200d-1f33e" }, ":woman_farmer_tone1:": { "category": "people", "name": "woman farmer: light skin tone", "unicode": "1f469-1f3fb-200d-1f33e" }, ":woman_farmer_tone2:": { "category": "people", "name": "woman farmer: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f33e" }, ":woman_farmer_tone3:": { "category": "people", "name": "woman farmer: medium skin tone", "unicode": "1f469-1f3fd-200d-1f33e" }, ":woman_farmer_tone4:": { "category": "people", "name": "woman farmer: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f33e" }, ":woman_farmer_tone5:": { "category": "people", "name": "woman farmer: dark skin tone", "unicode": "1f469-1f3ff-200d-1f33e" }, ":woman_feeding_baby:": { "category": "people", "name": "woman feeding baby", "unicode": "1f469-200d-1f37c" }, ":woman_feeding_baby_tone1:": { "category": "people", "name": "woman feeding baby: light skin tone", "unicode": "1f469-1f3fb-200d-1f37c" }, ":woman_feeding_baby_tone2:": { "category": "people", "name": "woman feeding baby: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f37c" }, ":woman_feeding_baby_tone3:": { "category": "people", "name": "woman feeding baby: medium skin tone", "unicode": "1f469-1f3fd-200d-1f37c" }, ":woman_feeding_baby_tone4:": { "category": "people", "name": "woman feeding baby: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f37c" }, ":woman_feeding_baby_tone5:": { "category": "people", "name": "woman feeding baby: dark skin tone", "unicode": "1f469-1f3ff-200d-1f37c" }, ":woman_firefighter:": { "category": "people", "name": "woman firefighter", "unicode": "1f469-200d-1f692" }, ":woman_firefighter_tone1:": { "category": "people", "name": "woman firefighter: light skin tone", "unicode": "1f469-1f3fb-200d-1f692" }, ":woman_firefighter_tone2:": { "category": "people", "name": "woman firefighter: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f692" }, ":woman_firefighter_tone3:": { "category": "people", "name": "woman firefighter: medium skin tone", "unicode": "1f469-1f3fd-200d-1f692" }, ":woman_firefighter_tone4:": { "category": "people", "name": "woman firefighter: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f692" }, ":woman_firefighter_tone5:": { "category": "people", "name": "woman firefighter: dark skin tone", "unicode": "1f469-1f3ff-200d-1f692" }, ":woman_frowning:": { "category": "people", "name": "woman frowning", "unicode": "1f64d-200d-2640-fe0f" }, ":woman_frowning_tone1:": { "category": "people", "name": "woman frowning: light skin tone", "unicode": "1f64d-1f3fb-200d-2640-fe0f" }, ":woman_frowning_tone2:": { "category": "people", "name": "woman frowning: medium-light skin tone", "unicode": "1f64d-1f3fc-200d-2640-fe0f" }, ":woman_frowning_tone3:": { "category": "people", "name": "woman frowning: medium skin tone", "unicode": "1f64d-1f3fd-200d-2640-fe0f" }, ":woman_frowning_tone4:": { "category": "people", "name": "woman frowning: medium-dark skin tone", "unicode": "1f64d-1f3fe-200d-2640-fe0f" }, ":woman_frowning_tone5:": { "category": "people", "name": "woman frowning: dark skin tone", "unicode": "1f64d-1f3ff-200d-2640-fe0f" }, ":woman_genie:": { "category": "people", "name": "woman genie", "unicode": "1f9de-200d-2640-fe0f" }, ":woman_gesturing_no:": { "category": "people", "name": "woman gesturing NO", "unicode": "1f645-200d-2640-fe0f" }, ":woman_gesturing_no_tone1:": { "category": "people", "name": "woman gesturing NO: light skin tone", "unicode": "1f645-1f3fb-200d-2640-fe0f" }, ":woman_gesturing_no_tone2:": { "category": "people", "name": "woman gesturing NO: medium-light skin tone", "unicode": "1f645-1f3fc-200d-2640-fe0f" }, ":woman_gesturing_no_tone3:": { "category": "people", "name": "woman gesturing NO: medium skin tone", "unicode": "1f645-1f3fd-200d-2640-fe0f" }, ":woman_gesturing_no_tone4:": { "category": "people", "name": "woman gesturing NO: medium-dark skin tone", "unicode": "1f645-1f3fe-200d-2640-fe0f" }, ":woman_gesturing_no_tone5:": { "category": "people", "name": "woman gesturing NO: dark skin tone", "unicode": "1f645-1f3ff-200d-2640-fe0f" }, ":woman_gesturing_ok:": { "category": "people", "name": "woman gesturing OK", "unicode": "1f646-200d-2640-fe0f" }, ":woman_gesturing_ok_tone1:": { "category": "people", "name": "woman gesturing OK: light skin tone", "unicode": "1f646-1f3fb-200d-2640-fe0f" }, ":woman_gesturing_ok_tone2:": { "category": "people", "name": "woman gesturing OK: medium-light skin tone", "unicode": "1f646-1f3fc-200d-2640-fe0f" }, ":woman_gesturing_ok_tone3:": { "category": "people", "name": "woman gesturing OK: medium skin tone", "unicode": "1f646-1f3fd-200d-2640-fe0f" }, ":woman_gesturing_ok_tone4:": { "category": "people", "name": "woman gesturing OK: medium-dark skin tone", "unicode": "1f646-1f3fe-200d-2640-fe0f" }, ":woman_gesturing_ok_tone5:": { "category": "people", "name": "woman gesturing OK: dark skin tone", "unicode": "1f646-1f3ff-200d-2640-fe0f" }, ":woman_getting_face_massage:": { "category": "people", "name": "woman getting massage", "unicode": "1f486-200d-2640-fe0f" }, ":woman_getting_face_massage_tone1:": { "category": "people", "name": "woman getting massage: light skin tone", "unicode": "1f486-1f3fb-200d-2640-fe0f" }, ":woman_getting_face_massage_tone2:": { "category": "people", "name": "woman getting massage: medium-light skin tone", "unicode": "1f486-1f3fc-200d-2640-fe0f" }, ":woman_getting_face_massage_tone3:": { "category": "people", "name": "woman getting massage: medium skin tone", "unicode": "1f486-1f3fd-200d-2640-fe0f" }, ":woman_getting_face_massage_tone4:": { "category": "people", "name": "woman getting massage: medium-dark skin tone", "unicode": "1f486-1f3fe-200d-2640-fe0f" }, ":woman_getting_face_massage_tone5:": { "category": "people", "name": "woman getting massage: dark skin tone", "unicode": "1f486-1f3ff-200d-2640-fe0f" }, ":woman_getting_haircut:": { "category": "people", "name": "woman getting haircut", "unicode": "1f487-200d-2640-fe0f" }, ":woman_getting_haircut_tone1:": { "category": "people", "name": "woman getting haircut: light skin tone", "unicode": "1f487-1f3fb-200d-2640-fe0f" }, ":woman_getting_haircut_tone2:": { "category": "people", "name": "woman getting haircut: medium-light skin tone", "unicode": "1f487-1f3fc-200d-2640-fe0f" }, ":woman_getting_haircut_tone3:": { "category": "people", "name": "woman getting haircut: medium skin tone", "unicode": "1f487-1f3fd-200d-2640-fe0f" }, ":woman_getting_haircut_tone4:": { "category": "people", "name": "woman getting haircut: medium-dark skin tone", "unicode": "1f487-1f3fe-200d-2640-fe0f" }, ":woman_getting_haircut_tone5:": { "category": "people", "name": "woman getting haircut: dark skin tone", "unicode": "1f487-1f3ff-200d-2640-fe0f" }, ":woman_golfing:": { "category": "activity", "name": "woman golfing", "unicode": "1f3cc-fe0f-200d-2640-fe0f" }, ":woman_golfing_tone1:": { "category": "activity", "name": "woman golfing: light skin tone", "unicode": "1f3cc-1f3fb-200d-2640-fe0f" }, ":woman_golfing_tone2:": { "category": "activity", "name": "woman golfing: medium-light skin tone", "unicode": "1f3cc-1f3fc-200d-2640-fe0f" }, ":woman_golfing_tone3:": { "category": "activity", "name": "woman golfing: medium skin tone", "unicode": "1f3cc-1f3fd-200d-2640-fe0f" }, ":woman_golfing_tone4:": { "category": "activity", "name": "woman golfing: medium-dark skin tone", "unicode": "1f3cc-1f3fe-200d-2640-fe0f" }, ":woman_golfing_tone5:": { "category": "activity", "name": "woman golfing: dark skin tone", "unicode": "1f3cc-1f3ff-200d-2640-fe0f" }, ":woman_guard:": { "category": "people", "name": "woman guard", "unicode": "1f482-200d-2640-fe0f" }, ":woman_guard_tone1:": { "category": "people", "name": "woman guard: light skin tone", "unicode": "1f482-1f3fb-200d-2640-fe0f" }, ":woman_guard_tone2:": { "category": "people", "name": "woman guard: medium-light skin tone", "unicode": "1f482-1f3fc-200d-2640-fe0f" }, ":woman_guard_tone3:": { "category": "people", "name": "woman guard: medium skin tone", "unicode": "1f482-1f3fd-200d-2640-fe0f" }, ":woman_guard_tone4:": { "category": "people", "name": "woman guard: medium-dark skin tone", "unicode": "1f482-1f3fe-200d-2640-fe0f" }, ":woman_guard_tone5:": { "category": "people", "name": "woman guard: dark skin tone", "unicode": "1f482-1f3ff-200d-2640-fe0f" }, ":woman_health_worker:": { "category": "people", "name": "woman health worker", "unicode": "1f469-200d-2695-fe0f" }, ":woman_health_worker_tone1:": { "category": "people", "name": "woman health worker: light skin tone", "unicode": "1f469-1f3fb-200d-2695-fe0f" }, ":woman_health_worker_tone2:": { "category": "people", "name": "woman health worker: medium-light skin tone", "unicode": "1f469-1f3fc-200d-2695-fe0f" }, ":woman_health_worker_tone3:": { "category": "people", "name": "woman health worker: medium skin tone", "unicode": "1f469-1f3fd-200d-2695-fe0f" }, ":woman_health_worker_tone4:": { "category": "people", "name": "woman health worker: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2695-fe0f" }, ":woman_health_worker_tone5:": { "category": "people", "name": "woman health worker: dark skin tone", "unicode": "1f469-1f3ff-200d-2695-fe0f" }, ":woman_in_lotus_position:": { "category": "activity", "name": "woman in lotus position", "unicode": "1f9d8-200d-2640-fe0f" }, ":woman_in_lotus_position_tone1:": { "category": "activity", "name": "woman in lotus position: light skin tone", "unicode": "1f9d8-1f3fb-200d-2640-fe0f" }, ":woman_in_lotus_position_tone2:": { "category": "activity", "name": "woman in lotus position: medium-light skin tone", "unicode": "1f9d8-1f3fc-200d-2640-fe0f" }, ":woman_in_lotus_position_tone3:": { "category": "activity", "name": "woman in lotus position: medium skin tone", "unicode": "1f9d8-1f3fd-200d-2640-fe0f" }, ":woman_in_lotus_position_tone4:": { "category": "activity", "name": "woman in lotus position: medium-dark skin tone", "unicode": "1f9d8-1f3fe-200d-2640-fe0f" }, ":woman_in_lotus_position_tone5:": { "category": "activity", "name": "woman in lotus position: dark skin tone", "unicode": "1f9d8-1f3ff-200d-2640-fe0f" }, ":woman_in_manual_wheelchair:": { "category": "people", "name": "woman in manual wheelchair", "unicode": "1f469-200d-1f9bd" }, ":woman_in_manual_wheelchair_tone1:": { "category": "people", "name": "woman in manual wheelchair: light skin tone", "unicode": "1f469-1f3fb-200d-1f9bd" }, ":woman_in_manual_wheelchair_tone2:": { "category": "people", "name": "woman in manual wheelchair: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9bd" }, ":woman_in_manual_wheelchair_tone3:": { "category": "people", "name": "woman in manual wheelchair: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9bd" }, ":woman_in_manual_wheelchair_tone4:": { "category": "people", "name": "woman in manual wheelchair: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9bd" }, ":woman_in_manual_wheelchair_tone5:": { "category": "people", "name": "woman in manual wheelchair: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9bd" }, ":woman_in_motorized_wheelchair:": { "category": "people", "name": "woman in motorized wheelchair", "unicode": "1f469-200d-1f9bc" }, ":woman_in_motorized_wheelchair_tone1:": { "category": "people", "name": "woman in motorized wheelchair: light skin tone", "unicode": "1f469-1f3fb-200d-1f9bc" }, ":woman_in_motorized_wheelchair_tone2:": { "category": "people", "name": "woman in motorized wheelchair: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9bc" }, ":woman_in_motorized_wheelchair_tone3:": { "category": "people", "name": "woman in motorized wheelchair: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9bc" }, ":woman_in_motorized_wheelchair_tone4:": { "category": "people", "name": "woman in motorized wheelchair: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9bc" }, ":woman_in_motorized_wheelchair_tone5:": { "category": "people", "name": "woman in motorized wheelchair: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9bc" }, ":woman_in_santa_hat:": { "category": "people", "name": "woman in santa hat", "unicode": "1f469-200d-1f384" }, ":woman_in_santa_hat_tone1:": { "category": "people", "name": "woman in santa hat: light skin tone", "unicode": "1f469-1f3fb-200d-1f384" }, ":woman_in_santa_hat_tone2:": { "category": "people", "name": "woman in santa hat: medium-light skin tone", "unicode": "1f468-1f3ff-200d-1f384" }, ":woman_in_santa_hat_tone3:": { "category": "people", "name": "woman in santa hat: medium skin tone", "unicode": "1f469-1f3fe-200d-1f384" }, ":woman_in_santa_hat_tone4:": { "category": "people", "name": "woman in santa hat: medium-dark skin tone", "unicode": "1f469-1f3fd-200d-1f384" }, ":woman_in_santa_hat_tone5:": { "category": "people", "name": "woman in santa hat: dark skin tone", "unicode": "1f469-1f3fc-200d-1f384" }, ":woman_in_steamy_room:": { "category": "people", "name": "woman in steamy room", "unicode": "1f9d6-200d-2640-fe0f" }, ":woman_in_steamy_room_tone1:": { "category": "people", "name": "woman in steamy room: light skin tone", "unicode": "1f9d6-1f3fb-200d-2640-fe0f" }, ":woman_in_steamy_room_tone2:": { "category": "people", "name": "woman in steamy room: medium-light skin tone", "unicode": "1f9d6-1f3fc-200d-2640-fe0f" }, ":woman_in_steamy_room_tone3:": { "category": "people", "name": "woman in steamy room: medium skin tone", "unicode": "1f9d6-1f3fd-200d-2640-fe0f" }, ":woman_in_steamy_room_tone4:": { "category": "people", "name": "woman in steamy room: medium-dark skin tone", "unicode": "1f9d6-1f3fe-200d-2640-fe0f" }, ":woman_in_steamy_room_tone5:": { "category": "people", "name": "woman in steamy room: dark skin tone", "unicode": "1f9d6-1f3ff-200d-2640-fe0f" }, ":woman_in_tuxedo:": { "category": "people", "name": "woman in tuxedo", "unicode": "1f935-200d-2640-fe0f" }, ":woman_in_tuxedo_tone1:": { "category": "people", "name": "woman in tuxedo: light skin tone", "unicode": "1f935-1f3fb-200d-2640-fe0f" }, ":woman_in_tuxedo_tone2:": { "category": "people", "name": "woman in tuxedo: medium-light skin tone", "unicode": "1f935-1f3fc-200d-2640-fe0f" }, ":woman_in_tuxedo_tone3:": { "category": "people", "name": "woman in tuxedo: medium skin tone", "unicode": "1f935-1f3fd-200d-2640-fe0f" }, ":woman_in_tuxedo_tone4:": { "category": "people", "name": "woman in tuxedo: medium-dark skin tone", "unicode": "1f935-1f3fe-200d-2640-fe0f" }, ":woman_in_tuxedo_tone5:": { "category": "people", "name": "woman in tuxedo: dark skin tone", "unicode": "1f935-1f3ff-200d-2640-fe0f" }, ":woman_judge:": { "category": "people", "name": "woman judge", "unicode": "1f469-200d-2696-fe0f" }, ":woman_judge_tone1:": { "category": "people", "name": "woman judge: light skin tone", "unicode": "1f469-1f3fb-200d-2696-fe0f" }, ":woman_judge_tone2:": { "category": "people", "name": "woman judge: medium-light skin tone", "unicode": "1f469-1f3fc-200d-2696-fe0f" }, ":woman_judge_tone3:": { "category": "people", "name": "woman judge: medium skin tone", "unicode": "1f469-1f3fd-200d-2696-fe0f" }, ":woman_judge_tone4:": { "category": "people", "name": "woman judge: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2696-fe0f" }, ":woman_judge_tone5:": { "category": "people", "name": "woman judge: dark skin tone", "unicode": "1f469-1f3ff-200d-2696-fe0f" }, ":woman_juggling:": { "category": "activity", "name": "woman juggling", "unicode": "1f939-200d-2640-fe0f" }, ":woman_juggling_tone1:": { "category": "activity", "name": "woman juggling: light skin tone", "unicode": "1f939-1f3fb-200d-2640-fe0f" }, ":woman_juggling_tone2:": { "category": "activity", "name": "woman juggling: medium-light skin tone", "unicode": "1f939-1f3fc-200d-2640-fe0f" }, ":woman_juggling_tone3:": { "category": "activity", "name": "woman juggling: medium skin tone", "unicode": "1f939-1f3fd-200d-2640-fe0f" }, ":woman_juggling_tone4:": { "category": "activity", "name": "woman juggling: medium-dark skin tone", "unicode": "1f939-1f3fe-200d-2640-fe0f" }, ":woman_juggling_tone5:": { "category": "activity", "name": "woman juggling: dark skin tone", "unicode": "1f939-1f3ff-200d-2640-fe0f" }, ":woman_kneeling:": { "category": "people", "name": "woman kneeling", "unicode": "1f9ce-200d-2640-fe0f" }, ":woman_kneeling_tone1:": { "category": "people", "name": "woman kneeling: light skin tone", "unicode": "1f9ce-1f3fb-200d-2640-fe0f" }, ":woman_kneeling_tone2:": { "category": "people", "name": "woman kneeling: medium-light skin tone", "unicode": "1f9ce-1f3fc-200d-2640-fe0f" }, ":woman_kneeling_tone3:": { "category": "people", "name": "woman kneeling: medium skin tone", "unicode": "1f9ce-1f3fd-200d-2640-fe0f" }, ":woman_kneeling_tone4:": { "category": "people", "name": "woman kneeling: medium-dark skin tone", "unicode": "1f9ce-1f3fe-200d-2640-fe0f" }, ":woman_kneeling_tone5:": { "category": "people", "name": "woman kneeling: dark skin tone", "unicode": "1f9ce-1f3ff-200d-2640-fe0f" }, ":woman_leviate_tone2:": { "category": "people", "name": "woman in business suit levitating: medium-light skin tone", "unicode": "1f574-1f3fc-200d-2640-fe0f" }, ":woman_leviate_tone3:": { "category": "people", "name": "woman in business suit levitating: medium skin tone", "unicode": "1f574-1f3fd-200d-2640-fe0f" }, ":woman_leviate_tone4:": { "category": "people", "name": "woman in business suit levitating: medium-dark skin tone", "unicode": "1f574-1f3fe-200d-2640-fe0f" }, ":woman_leviate_tone5:": { "category": "people", "name": "woman in business suit levitating: dark skin tone", "unicode": "1f574-1f3ff-200d-2640-fe0f" }, ":woman_levitate:": { "category": "people", "name": "woman in business suit levitating", "unicode": "1f574-fe0f-200d-2640-fe0f" }, ":woman_levitate_tone1:": { "category": "people", "name": "woman in business suit levitating: light skin tone", "unicode": "1f574-1f3fb-200d-2640-fe0f" }, ":woman_lifting_weights:": { "category": "activity", "name": "woman lifting weights", "unicode": "1f3cb-fe0f-200d-2640-fe0f" }, ":woman_lifting_weights_tone1:": { "category": "activity", "name": "woman lifting weights: light skin tone", "unicode": "1f3cb-1f3fb-200d-2640-fe0f" }, ":woman_lifting_weights_tone2:": { "category": "activity", "name": "woman lifting weights: medium-light skin tone", "unicode": "1f3cb-1f3fc-200d-2640-fe0f" }, ":woman_lifting_weights_tone3:": { "category": "activity", "name": "woman lifting weights: medium skin tone", "unicode": "1f3cb-1f3fd-200d-2640-fe0f" }, ":woman_lifting_weights_tone4:": { "category": "activity", "name": "woman lifting weights: medium-dark skin tone", "unicode": "1f3cb-1f3fe-200d-2640-fe0f" }, ":woman_lifting_weights_tone5:": { "category": "activity", "name": "woman lifting weights: dark skin tone", "unicode": "1f3cb-1f3ff-200d-2640-fe0f" }, ":woman_mage:": { "category": "people", "name": "woman mage", "unicode": "1f9d9-200d-2640-fe0f" }, ":woman_mage_tone1:": { "category": "people", "name": "woman mage: light skin tone", "unicode": "1f9d9-1f3fb-200d-2640-fe0f" }, ":woman_mage_tone2:": { "category": "people", "name": "woman mage: medium-light skin tone", "unicode": "1f9d9-1f3fc-200d-2640-fe0f" }, ":woman_mage_tone3:": { "category": "people", "name": "woman mage: medium skin tone", "unicode": "1f9d9-1f3fd-200d-2640-fe0f" }, ":woman_mage_tone4:": { "category": "people", "name": "woman mage: medium-dark skin tone", "unicode": "1f9d9-1f3fe-200d-2640-fe0f" }, ":woman_mage_tone5:": { "category": "people", "name": "woman mage: dark skin tone", "unicode": "1f9d9-1f3ff-200d-2640-fe0f" }, ":woman_mechanic:": { "category": "people", "name": "woman mechanic", "unicode": "1f469-200d-1f527" }, ":woman_mechanic_tone1:": { "category": "people", "name": "woman mechanic: light skin tone", "unicode": "1f469-1f3fb-200d-1f527" }, ":woman_mechanic_tone2:": { "category": "people", "name": "woman mechanic: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f527" }, ":woman_mechanic_tone3:": { "category": "people", "name": "woman mechanic: medium skin tone", "unicode": "1f469-1f3fd-200d-1f527" }, ":woman_mechanic_tone4:": { "category": "people", "name": "woman mechanic: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f527" }, ":woman_mechanic_tone5:": { "category": "people", "name": "woman mechanic: dark skin tone", "unicode": "1f469-1f3ff-200d-1f527" }, ":woman_mountain_biking:": { "category": "activity", "name": "woman mountain biking", "unicode": "1f6b5-200d-2640-fe0f" }, ":woman_mountain_biking_tone1:": { "category": "activity", "name": "woman mountain biking: light skin tone", "unicode": "1f6b5-1f3fb-200d-2640-fe0f" }, ":woman_mountain_biking_tone2:": { "category": "activity", "name": "woman mountain biking: medium-light skin tone", "unicode": "1f6b5-1f3fc-200d-2640-fe0f" }, ":woman_mountain_biking_tone3:": { "category": "activity", "name": "woman mountain biking: medium skin tone", "unicode": "1f6b5-1f3fd-200d-2640-fe0f" }, ":woman_mountain_biking_tone4:": { "category": "activity", "name": "woman mountain biking: medium-dark skin tone", "unicode": "1f6b5-1f3fe-200d-2640-fe0f" }, ":woman_mountain_biking_tone5:": { "category": "activity", "name": "woman mountain biking: dark skin tone", "unicode": "1f6b5-1f3ff-200d-2640-fe0f" }, ":woman_office_worker:": { "category": "people", "name": "woman office worker", "unicode": "1f469-200d-1f4bc" }, ":woman_office_worker_tone1:": { "category": "people", "name": "woman office worker: light skin tone", "unicode": "1f469-1f3fb-200d-1f4bc" }, ":woman_office_worker_tone2:": { "category": "people", "name": "woman office worker: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f4bc" }, ":woman_office_worker_tone3:": { "category": "people", "name": "woman office worker: medium skin tone", "unicode": "1f469-1f3fd-200d-1f4bc" }, ":woman_office_worker_tone4:": { "category": "people", "name": "woman office worker: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f4bc" }, ":woman_office_worker_tone5:": { "category": "people", "name": "woman office worker: dark skin tone", "unicode": "1f469-1f3ff-200d-1f4bc" }, ":woman_pilot:": { "category": "people", "name": "woman pilot", "unicode": "1f469-200d-2708-fe0f" }, ":woman_pilot_tone1:": { "category": "people", "name": "woman pilot: light skin tone", "unicode": "1f469-1f3fb-200d-2708-fe0f" }, ":woman_pilot_tone2:": { "category": "people", "name": "woman pilot: medium-light skin tone", "unicode": "1f469-1f3fc-200d-2708-fe0f" }, ":woman_pilot_tone3:": { "category": "people", "name": "woman pilot: medium skin tone", "unicode": "1f469-1f3fd-200d-2708-fe0f" }, ":woman_pilot_tone4:": { "category": "people", "name": "woman pilot: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-2708-fe0f" }, ":woman_pilot_tone5:": { "category": "people", "name": "woman pilot: dark skin tone", "unicode": "1f469-1f3ff-200d-2708-fe0f" }, ":woman_playing_handball:": { "category": "activity", "name": "woman playing handball", "unicode": "1f93e-200d-2640-fe0f" }, ":woman_playing_handball_tone1:": { "category": "activity", "name": "woman playing handball: light skin tone", "unicode": "1f93e-1f3fb-200d-2640-fe0f" }, ":woman_playing_handball_tone2:": { "category": "activity", "name": "woman playing handball: medium-light skin tone", "unicode": "1f93e-1f3fc-200d-2640-fe0f" }, ":woman_playing_handball_tone3:": { "category": "activity", "name": "woman playing handball: medium skin tone", "unicode": "1f93e-1f3fd-200d-2640-fe0f" }, ":woman_playing_handball_tone4:": { "category": "activity", "name": "woman playing handball: medium-dark skin tone", "unicode": "1f93e-1f3fe-200d-2640-fe0f" }, ":woman_playing_handball_tone5:": { "category": "activity", "name": "woman playing handball: dark skin tone", "unicode": "1f93e-1f3ff-200d-2640-fe0f" }, ":woman_playing_water_polo:": { "category": "activity", "name": "woman playing water polo", "unicode": "1f93d-200d-2640-fe0f" }, ":woman_playing_water_polo_tone1:": { "category": "activity", "name": "woman playing water polo: light skin tone", "unicode": "1f93d-1f3fb-200d-2640-fe0f" }, ":woman_playing_water_polo_tone2:": { "category": "activity", "name": "woman playing water polo: medium-light skin tone", "unicode": "1f93d-1f3fc-200d-2640-fe0f" }, ":woman_playing_water_polo_tone3:": { "category": "activity", "name": "woman playing water polo: medium skin tone", "unicode": "1f93d-1f3fd-200d-2640-fe0f" }, ":woman_playing_water_polo_tone4:": { "category": "activity", "name": "woman playing water polo: medium-dark skin tone", "unicode": "1f93d-1f3fe-200d-2640-fe0f" }, ":woman_playing_water_polo_tone5:": { "category": "activity", "name": "woman playing water polo: dark skin tone", "unicode": "1f93d-1f3ff-200d-2640-fe0f" }, ":woman_police_officer:": { "category": "people", "name": "woman police officer", "unicode": "1f46e-200d-2640-fe0f" }, ":woman_police_officer_tone1:": { "category": "people", "name": "woman police officer: light skin tone", "unicode": "1f46e-1f3fb-200d-2640-fe0f" }, ":woman_police_officer_tone2:": { "category": "people", "name": "woman police officer: medium-light skin tone", "unicode": "1f46e-1f3fc-200d-2640-fe0f" }, ":woman_police_officer_tone3:": { "category": "people", "name": "woman police officer: medium skin tone", "unicode": "1f46e-1f3fd-200d-2640-fe0f" }, ":woman_police_officer_tone4:": { "category": "people", "name": "woman police officer: medium-dark skin tone", "unicode": "1f46e-1f3fe-200d-2640-fe0f" }, ":woman_police_officer_tone5:": { "category": "people", "name": "woman police officer: dark skin tone", "unicode": "1f46e-1f3ff-200d-2640-fe0f" }, ":woman_pouting:": { "category": "people", "name": "woman pouting", "unicode": "1f64e-200d-2640-fe0f" }, ":woman_pouting_tone1:": { "category": "people", "name": "woman pouting: light skin tone", "unicode": "1f64e-1f3fb-200d-2640-fe0f" }, ":woman_pouting_tone2:": { "category": "people", "name": "woman pouting: medium-light skin tone", "unicode": "1f64e-1f3fc-200d-2640-fe0f" }, ":woman_pouting_tone3:": { "category": "people", "name": "woman pouting: medium skin tone", "unicode": "1f64e-1f3fd-200d-2640-fe0f" }, ":woman_pouting_tone4:": { "category": "people", "name": "woman pouting: medium-dark skin tone", "unicode": "1f64e-1f3fe-200d-2640-fe0f" }, ":woman_pouting_tone5:": { "category": "people", "name": "woman pouting: dark skin tone", "unicode": "1f64e-1f3ff-200d-2640-fe0f" }, ":woman_raising_hand:": { "category": "people", "name": "woman raising hand", "unicode": "1f64b-200d-2640-fe0f" }, ":woman_raising_hand_tone1:": { "category": "people", "name": "woman raising hand: light skin tone", "unicode": "1f64b-1f3fb-200d-2640-fe0f" }, ":woman_raising_hand_tone2:": { "category": "people", "name": "woman raising hand: medium-light skin tone", "unicode": "1f64b-1f3fc-200d-2640-fe0f" }, ":woman_raising_hand_tone3:": { "category": "people", "name": "woman raising hand: medium skin tone", "unicode": "1f64b-1f3fd-200d-2640-fe0f" }, ":woman_raising_hand_tone4:": { "category": "people", "name": "woman raising hand: medium-dark skin tone", "unicode": "1f64b-1f3fe-200d-2640-fe0f" }, ":woman_raising_hand_tone5:": { "category": "people", "name": "woman raising hand: dark skin tone", "unicode": "1f64b-1f3ff-200d-2640-fe0f" }, ":woman_red_haired:": { "category": "people", "name": "woman: red hair", "unicode": "1f469-200d-1f9b0" }, ":woman_red_haired_tone1:": { "category": "people", "name": "woman, red haired: light skin tone", "unicode": "1f469-1f3fb-200d-1f9b0" }, ":woman_red_haired_tone2:": { "category": "people", "name": "woman, red haired: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9b0" }, ":woman_red_haired_tone3:": { "category": "people", "name": "woman, red haired: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9b0" }, ":woman_red_haired_tone4:": { "category": "people", "name": "woman, red haired: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9b0" }, ":woman_red_haired_tone5:": { "category": "people", "name": "woman, red haired: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9b0" }, ":woman_rowing_boat:": { "category": "activity", "name": "woman rowing boat", "unicode": "1f6a3-200d-2640-fe0f" }, ":woman_rowing_boat_tone1:": { "category": "activity", "name": "woman rowing boat: light skin tone", "unicode": "1f6a3-1f3fb-200d-2640-fe0f" }, ":woman_rowing_boat_tone2:": { "category": "activity", "name": "woman rowing boat: medium-light skin tone", "unicode": "1f6a3-1f3fc-200d-2640-fe0f" }, ":woman_rowing_boat_tone3:": { "category": "activity", "name": "woman rowing boat: medium skin tone", "unicode": "1f6a3-1f3fd-200d-2640-fe0f" }, ":woman_rowing_boat_tone4:": { "category": "activity", "name": "woman rowing boat: medium-dark skin tone", "unicode": "1f6a3-1f3fe-200d-2640-fe0f" }, ":woman_rowing_boat_tone5:": { "category": "activity", "name": "woman rowing boat: dark skin tone", "unicode": "1f6a3-1f3ff-200d-2640-fe0f" }, ":woman_running:": { "category": "people", "name": "woman running", "unicode": "1f3c3-200d-2640-fe0f" }, ":woman_running_tone1:": { "category": "people", "name": "woman running: light skin tone", "unicode": "1f3c3-1f3fb-200d-2640-fe0f" }, ":woman_running_tone2:": { "category": "people", "name": "woman running: medium-light skin tone", "unicode": "1f3c3-1f3fc-200d-2640-fe0f" }, ":woman_running_tone3:": { "category": "people", "name": "woman running: medium skin tone", "unicode": "1f3c3-1f3fd-200d-2640-fe0f" }, ":woman_running_tone4:": { "category": "people", "name": "woman running: medium-dark skin tone", "unicode": "1f3c3-1f3fe-200d-2640-fe0f" }, ":woman_running_tone5:": { "category": "people", "name": "woman running: dark skin tone", "unicode": "1f3c3-1f3ff-200d-2640-fe0f" }, ":woman_scientist:": { "category": "people", "name": "woman scientist", "unicode": "1f469-200d-1f52c" }, ":woman_scientist_tone1:": { "category": "people", "name": "woman scientist: light skin tone", "unicode": "1f469-1f3fb-200d-1f52c" }, ":woman_scientist_tone2:": { "category": "people", "name": "woman scientist: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f52c" }, ":woman_scientist_tone3:": { "category": "people", "name": "woman scientist: medium skin tone", "unicode": "1f469-1f3fd-200d-1f52c" }, ":woman_scientist_tone4:": { "category": "people", "name": "woman scientist: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f52c" }, ":woman_scientist_tone5:": { "category": "people", "name": "woman scientist: dark skin tone", "unicode": "1f469-1f3ff-200d-1f52c" }, ":woman_shrugging:": { "category": "people", "name": "woman shrugging", "unicode": "1f937-200d-2640-fe0f" }, ":woman_shrugging_tone1:": { "category": "people", "name": "woman shrugging: light skin tone", "unicode": "1f937-1f3fb-200d-2640-fe0f" }, ":woman_shrugging_tone2:": { "category": "people", "name": "woman shrugging: medium-light skin tone", "unicode": "1f937-1f3fc-200d-2640-fe0f" }, ":woman_shrugging_tone3:": { "category": "people", "name": "woman shrugging: medium skin tone", "unicode": "1f937-1f3fd-200d-2640-fe0f" }, ":woman_shrugging_tone4:": { "category": "people", "name": "woman shrugging: medium-dark skin tone", "unicode": "1f937-1f3fe-200d-2640-fe0f" }, ":woman_shrugging_tone5:": { "category": "people", "name": "woman shrugging: dark skin tone", "unicode": "1f937-1f3ff-200d-2640-fe0f" }, ":woman_singer:": { "category": "people", "name": "woman singer", "unicode": "1f469-200d-1f3a4" }, ":woman_singer_tone1:": { "category": "people", "name": "woman singer: light skin tone", "unicode": "1f469-1f3fb-200d-1f3a4" }, ":woman_singer_tone2:": { "category": "people", "name": "woman singer: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f3a4" }, ":woman_singer_tone3:": { "category": "people", "name": "woman singer: medium skin tone", "unicode": "1f469-1f3fd-200d-1f3a4" }, ":woman_singer_tone4:": { "category": "people", "name": "woman singer: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f3a4" }, ":woman_singer_tone5:": { "category": "people", "name": "woman singer: dark skin tone", "unicode": "1f469-1f3ff-200d-1f3a4" }, ":woman_standing:": { "category": "people", "name": "woman standing", "unicode": "1f9cd-200d-2640-fe0f" }, ":woman_standing_tone1:": { "category": "people", "name": "woman standing: light skin tone", "unicode": "1f9cd-1f3fb-200d-2640-fe0f" }, ":woman_standing_tone2:": { "category": "people", "name": "woman standing: medium-light skin tone", "unicode": "1f9cd-1f3fc-200d-2640-fe0f" }, ":woman_standing_tone3:": { "category": "people", "name": "woman standing: medium skin tone", "unicode": "1f9cd-1f3fd-200d-2640-fe0f" }, ":woman_standing_tone4:": { "category": "people", "name": "woman standing: medium-dark skin tone", "unicode": "1f9cd-1f3fe-200d-2640-fe0f" }, ":woman_standing_tone5:": { "category": "people", "name": "woman standing: dark skin tone", "unicode": "1f9cd-1f3ff-200d-2640-fe0f" }, ":woman_student:": { "category": "people", "name": "woman student", "unicode": "1f469-200d-1f393" }, ":woman_student_tone1:": { "category": "people", "name": "woman student: light skin tone", "unicode": "1f469-1f3fb-200d-1f393" }, ":woman_student_tone2:": { "category": "people", "name": "woman student: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f393" }, ":woman_student_tone3:": { "category": "people", "name": "woman student: medium skin tone", "unicode": "1f469-1f3fd-200d-1f393" }, ":woman_student_tone4:": { "category": "people", "name": "woman student: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f393" }, ":woman_student_tone5:": { "category": "people", "name": "woman student: dark skin tone", "unicode": "1f469-1f3ff-200d-1f393" }, ":woman_superhero:": { "category": "people", "name": "woman superhero", "unicode": "1f9b8-200d-2640-fe0f" }, ":woman_superhero_tone1:": { "category": "people", "name": "woman superhero: light skin tone", "unicode": "1f9b8-1f3fb-200d-2640-fe0f" }, ":woman_superhero_tone2:": { "category": "people", "name": "woman superhero: medium-light skin tone", "unicode": "1f9b8-1f3fc-200d-2640-fe0f" }, ":woman_superhero_tone3:": { "category": "people", "name": "woman superhero: medium skin tone", "unicode": "1f9b8-1f3fd-200d-2640-fe0f" }, ":woman_superhero_tone4:": { "category": "people", "name": "woman superhero: medium-dark skin tone", "unicode": "1f9b8-1f3fe-200d-2640-fe0f" }, ":woman_superhero_tone5:": { "category": "people", "name": "woman superhero: dark skin tone", "unicode": "1f9b8-1f3ff-200d-2640-fe0f" }, ":woman_supervillain:": { "category": "people", "name": "woman supervillain", "unicode": "1f9b9-200d-2640-fe0f" }, ":woman_supervillain_tone1:": { "category": "people", "name": "woman supervillain: light skin tone", "unicode": "1f9b9-1f3fb-200d-2640-fe0f" }, ":woman_supervillain_tone2:": { "category": "people", "name": "woman supervillain: medium-light skin tone", "unicode": "1f9b9-1f3fc-200d-2640-fe0f" }, ":woman_supervillain_tone3:": { "category": "people", "name": "woman supervillain: medium skin tone", "unicode": "1f9b9-1f3fd-200d-2640-fe0f" }, ":woman_supervillain_tone4:": { "category": "people", "name": "woman supervillain: medium-dark skin tone", "unicode": "1f9b9-1f3fe-200d-2640-fe0f" }, ":woman_supervillain_tone5:": { "category": "people", "name": "woman supervillain: dark skin tone", "unicode": "1f9b9-1f3ff-200d-2640-fe0f" }, ":woman_surfing:": { "category": "activity", "name": "woman surfing", "unicode": "1f3c4-200d-2640-fe0f" }, ":woman_surfing_tone1:": { "category": "activity", "name": "woman surfing: light skin tone", "unicode": "1f3c4-1f3fb-200d-2640-fe0f" }, ":woman_surfing_tone2:": { "category": "activity", "name": "woman surfing: medium-light skin tone", "unicode": "1f3c4-1f3fc-200d-2640-fe0f" }, ":woman_surfing_tone3:": { "category": "activity", "name": "woman surfing: medium skin tone", "unicode": "1f3c4-1f3fd-200d-2640-fe0f" }, ":woman_surfing_tone4:": { "category": "activity", "name": "woman surfing: medium-dark skin tone", "unicode": "1f3c4-1f3fe-200d-2640-fe0f" }, ":woman_surfing_tone5:": { "category": "activity", "name": "woman surfing: dark skin tone", "unicode": "1f3c4-1f3ff-200d-2640-fe0f" }, ":woman_swimming:": { "category": "activity", "name": "woman swimming", "unicode": "1f3ca-200d-2640-fe0f" }, ":woman_swimming_tone1:": { "category": "activity", "name": "woman swimming: light skin tone", "unicode": "1f3ca-1f3fb-200d-2640-fe0f" }, ":woman_swimming_tone2:": { "category": "activity", "name": "woman swimming: medium-light skin tone", "unicode": "1f3ca-1f3fc-200d-2640-fe0f" }, ":woman_swimming_tone3:": { "category": "activity", "name": "woman swimming: medium skin tone", "unicode": "1f3ca-1f3fd-200d-2640-fe0f" }, ":woman_swimming_tone4:": { "category": "activity", "name": "woman swimming: medium-dark skin tone", "unicode": "1f3ca-1f3fe-200d-2640-fe0f" }, ":woman_swimming_tone5:": { "category": "activity", "name": "woman swimming: dark skin tone", "unicode": "1f3ca-1f3ff-200d-2640-fe0f" }, ":woman_teacher:": { "category": "people", "name": "woman teacher", "unicode": "1f469-200d-1f3eb" }, ":woman_teacher_tone1:": { "category": "people", "name": "woman teacher: light skin tone", "unicode": "1f469-1f3fb-200d-1f3eb" }, ":woman_teacher_tone2:": { "category": "people", "name": "woman teacher: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f3eb" }, ":woman_teacher_tone3:": { "category": "people", "name": "woman teacher: medium skin tone", "unicode": "1f469-1f3fd-200d-1f3eb" }, ":woman_teacher_tone4:": { "category": "people", "name": "woman teacher: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f3eb" }, ":woman_teacher_tone5:": { "category": "people", "name": "woman teacher: dark skin tone", "unicode": "1f469-1f3ff-200d-1f3eb" }, ":woman_technologist:": { "category": "people", "name": "woman technologist", "unicode": "1f469-200d-1f4bb" }, ":woman_technologist_tone1:": { "category": "people", "name": "woman technologist: light skin tone", "unicode": "1f469-1f3fb-200d-1f4bb" }, ":woman_technologist_tone2:": { "category": "people", "name": "woman technologist: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f4bb" }, ":woman_technologist_tone3:": { "category": "people", "name": "woman technologist: medium skin tone", "unicode": "1f469-1f3fd-200d-1f4bb" }, ":woman_technologist_tone4:": { "category": "people", "name": "woman technologist: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f4bb" }, ":woman_technologist_tone5:": { "category": "people", "name": "woman technologist: dark skin tone", "unicode": "1f469-1f3ff-200d-1f4bb" }, ":woman_tipping_hand:": { "category": "people", "name": "woman tipping hand", "unicode": "1f481-200d-2640-fe0f" }, ":woman_tipping_hand_tone1:": { "category": "people", "name": "woman tipping hand: light skin tone", "unicode": "1f481-1f3fb-200d-2640-fe0f" }, ":woman_tipping_hand_tone2:": { "category": "people", "name": "woman tipping hand: medium-light skin tone", "unicode": "1f481-1f3fc-200d-2640-fe0f" }, ":woman_tipping_hand_tone3:": { "category": "people", "name": "woman tipping hand: medium skin tone", "unicode": "1f481-1f3fd-200d-2640-fe0f" }, ":woman_tipping_hand_tone4:": { "category": "people", "name": "woman tipping hand: medium-dark skin tone", "unicode": "1f481-1f3fe-200d-2640-fe0f" }, ":woman_tipping_hand_tone5:": { "category": "people", "name": "woman tipping hand: dark skin tone", "unicode": "1f481-1f3ff-200d-2640-fe0f" }, ":woman_tone1:": { "category": "people", "name": "woman: light skin tone", "unicode": "1f469-1f3fb" }, ":woman_tone1_beard:": { "category": "people", "name": "woman: light skin tone, beard", "unicode": "1f9d4-1f3fb-200d-2640-fe0f" }, ":woman_tone2:": { "category": "people", "name": "woman: medium-light skin tone", "unicode": "1f469-1f3fc" }, ":woman_tone2_beard:": { "category": "people", "name": "woman: medium-light skin tone, beard", "unicode": "1f9d4-1f3fc-200d-2640-fe0f" }, ":woman_tone3:": { "category": "people", "name": "woman: medium skin tone", "unicode": "1f469-1f3fd" }, ":woman_tone3_beard:": { "category": "people", "name": "woman: medium skin tone, beard", "unicode": "1f9d4-1f3fd-200d-2640-fe0f" }, ":woman_tone4:": { "category": "people", "name": "woman: medium-dark skin tone", "unicode": "1f469-1f3fe" }, ":woman_tone4_beard:": { "category": "people", "name": "woman: medium-dark skin tone, beard", "unicode": "1f9d4-1f3fe-200d-2640-fe0f" }, ":woman_tone5:": { "category": "people", "name": "woman: dark skin tone", "unicode": "1f469-1f3ff" }, ":woman_tone5_beard:": { "category": "people", "name": "woman: dark skin tone, beard", "unicode": "1f9d4-1f3ff-200d-2640-fe0f" }, ":woman_vampire:": { "category": "people", "name": "woman vampire", "unicode": "1f9db-200d-2640-fe0f" }, ":woman_vampire_tone1:": { "category": "people", "name": "woman vampire: light skin tone", "unicode": "1f9db-1f3fb-200d-2640-fe0f" }, ":woman_vampire_tone2:": { "category": "people", "name": "woman vampire: medium-light skin tone", "unicode": "1f9db-1f3fc-200d-2640-fe0f" }, ":woman_vampire_tone3:": { "category": "people", "name": "woman vampire: medium skin tone", "unicode": "1f9db-1f3fd-200d-2640-fe0f" }, ":woman_vampire_tone4:": { "category": "people", "name": "woman vampire: medium-dark skin tone", "unicode": "1f9db-1f3fe-200d-2640-fe0f" }, ":woman_vampire_tone5:": { "category": "people", "name": "woman vampire: dark skin tone", "unicode": "1f9db-1f3ff-200d-2640-fe0f" }, ":woman_walking:": { "category": "people", "name": "woman walking", "unicode": "1f6b6-200d-2640-fe0f" }, ":woman_walking_tone1:": { "category": "people", "name": "woman walking: light skin tone", "unicode": "1f6b6-1f3fb-200d-2640-fe0f" }, ":woman_walking_tone2:": { "category": "people", "name": "woman walking: medium-light skin tone", "unicode": "1f6b6-1f3fc-200d-2640-fe0f" }, ":woman_walking_tone3:": { "category": "people", "name": "woman walking: medium skin tone", "unicode": "1f6b6-1f3fd-200d-2640-fe0f" }, ":woman_walking_tone4:": { "category": "people", "name": "woman walking: medium-dark skin tone", "unicode": "1f6b6-1f3fe-200d-2640-fe0f" }, ":woman_walking_tone5:": { "category": "people", "name": "woman walking: dark skin tone", "unicode": "1f6b6-1f3ff-200d-2640-fe0f" }, ":woman_wearing_turban:": { "category": "people", "name": "woman wearing turban", "unicode": "1f473-200d-2640-fe0f" }, ":woman_wearing_turban_tone1:": { "category": "people", "name": "woman wearing turban: light skin tone", "unicode": "1f473-1f3fb-200d-2640-fe0f" }, ":woman_wearing_turban_tone2:": { "category": "people", "name": "woman wearing turban: medium-light skin tone", "unicode": "1f473-1f3fc-200d-2640-fe0f" }, ":woman_wearing_turban_tone3:": { "category": "people", "name": "woman wearing turban: medium skin tone", "unicode": "1f473-1f3fd-200d-2640-fe0f" }, ":woman_wearing_turban_tone4:": { "category": "people", "name": "woman wearing turban: medium-dark skin tone", "unicode": "1f473-1f3fe-200d-2640-fe0f" }, ":woman_wearing_turban_tone5:": { "category": "people", "name": "woman wearing turban: dark skin tone", "unicode": "1f473-1f3ff-200d-2640-fe0f" }, ":woman_white_haired:": { "category": "people", "name": "woman: white hair", "unicode": "1f469-200d-1f9b3" }, ":woman_white_haired_tone1:": { "category": "people", "name": "woman, white haired: light skin tone", "unicode": "1f469-1f3fb-200d-1f9b3" }, ":woman_white_haired_tone2:": { "category": "people", "name": "woman, white haired: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9b3" }, ":woman_white_haired_tone3:": { "category": "people", "name": "woman, white haired: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9b3" }, ":woman_white_haired_tone4:": { "category": "people", "name": "woman, white haired: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9b3" }, ":woman_white_haired_tone5:": { "category": "people", "name": "woman, white haired: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9b3" }, ":woman_with_headscarf:": { "category": "people", "name": "woman with headscarf", "unicode": "1f9d5" }, ":woman_with_headscarf_tone1:": { "category": "people", "name": "woman with headscarf: light skin tone", "unicode": "1f9d5-1f3fb" }, ":woman_with_headscarf_tone2:": { "category": "people", "name": "woman with headscarf: medium-light skin tone", "unicode": "1f9d5-1f3fc" }, ":woman_with_headscarf_tone3:": { "category": "people", "name": "woman with headscarf: medium skin tone", "unicode": "1f9d5-1f3fd" }, ":woman_with_headscarf_tone4:": { "category": "people", "name": "woman with headscarf: medium-dark skin tone", "unicode": "1f9d5-1f3fe" }, ":woman_with_headscarf_tone5:": { "category": "people", "name": "woman with headscarf: dark skin tone", "unicode": "1f9d5-1f3ff" }, ":woman_with_probing_cane:": { "category": "people", "name": "woman with probing cane", "unicode": "1f469-200d-1f9af" }, ":woman_with_probing_cane_tone1:": { "category": "people", "name": "woman with probing cane: light skin tone", "unicode": "1f469-1f3fb-200d-1f9af" }, ":woman_with_probing_cane_tone2:": { "category": "people", "name": "woman with probing cane: medium-light skin tone", "unicode": "1f469-1f3fc-200d-1f9af" }, ":woman_with_probing_cane_tone3:": { "category": "people", "name": "woman with probing cane: medium skin tone", "unicode": "1f469-1f3fd-200d-1f9af" }, ":woman_with_probing_cane_tone4:": { "category": "people", "name": "woman with probing cane: medium-dark skin tone", "unicode": "1f469-1f3fe-200d-1f9af" }, ":woman_with_probing_cane_tone5:": { "category": "people", "name": "woman with probing cane: dark skin tone", "unicode": "1f469-1f3ff-200d-1f9af" }, ":woman_with_veil:": { "category": "people", "name": "woman with veil", "unicode": "1f470-200d-2640-fe0f" }, ":woman_with_veil_tone1:": { "category": "people", "name": "woman with veil: light skin tone", "unicode": "1f470-1f3fb-200d-2640-fe0f" }, ":woman_with_veil_tone2:": { "category": "people", "name": "woman with veil: medium-light skin tone", "unicode": "1f470-1f3fc-200d-2640-fe0f" }, ":woman_with_veil_tone3:": { "category": "people", "name": "woman with veil: medium skin tone", "unicode": "1f470-1f3fd-200d-2640-fe0f" }, ":woman_with_veil_tone4:": { "category": "people", "name": "woman with veil: medium-dark skin tone", "unicode": "1f470-1f3fe-200d-2640-fe0f" }, ":woman_with_veil_tone5:": { "category": "people", "name": "woman with veil: dark skin tone", "unicode": "1f470-1f3ff-200d-2640-fe0f" }, ":woman_zombie:": { "category": "people", "name": "woman zombie", "unicode": "1f9df-200d-2640-fe0f" }, ":womans_clothes:": { "category": "people", "name": "woman\u2019s clothes", "unicode": "1f45a" }, ":womans_flat_shoe:": { "category": "people", "name": "flat shoe", "unicode": "1f97f" }, ":womans_hat:": { "category": "people", "name": "woman\u2019s hat", "unicode": "1f452" }, ":women_holding_hands_tone1:": { "category": "people", "name": "women holding hands: light skin tone", "unicode": "1f46d-1f3fb" }, ":women_holding_hands_tone1_tone2:": { "category": "people", "name": "women holding hands: light skin tone, medium-light skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc" }, ":women_holding_hands_tone1_tone3:": { "category": "people", "name": "women holding hands: light skin tone, medium skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd" }, ":women_holding_hands_tone1_tone4:": { "category": "people", "name": "women holding hands: light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe" }, ":women_holding_hands_tone1_tone5:": { "category": "people", "name": "women holding hands: light skin tone, dark skin tone", "unicode": "1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff" }, ":women_holding_hands_tone2:": { "category": "people", "name": "women holding hands: medium-light skin tone", "unicode": "1f46d-1f3fc" }, ":women_holding_hands_tone2_tone1:": { "category": "people", "name": "women holding hands: medium-light skin tone, light skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb" }, ":women_holding_hands_tone2_tone3:": { "category": "people", "name": "women holding hands: medium-light skin tone, medium skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd" }, ":women_holding_hands_tone2_tone4:": { "category": "people", "name": "women holding hands: medium-light skin tone, medium-dark skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe" }, ":women_holding_hands_tone2_tone5:": { "category": "people", "name": "women holding hands: medium-light skin tone, dark skin tone", "unicode": "1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff" }, ":women_holding_hands_tone3:": { "category": "people", "name": "women holding hands: medium skin tone", "unicode": "1f46d-1f3fd" }, ":women_holding_hands_tone3_tone1:": { "category": "people", "name": "women holding hands: medium skin tone, light skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb" }, ":women_holding_hands_tone3_tone2:": { "category": "people", "name": "women holding hands: medium skin tone, medium-light skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc" }, ":women_holding_hands_tone3_tone4:": { "category": "people", "name": "women holding hands: medium skin tone, medium-dark skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe" }, ":women_holding_hands_tone3_tone5:": { "category": "people", "name": "women holding hands: medium skin tone, dark skin tone", "unicode": "1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff" }, ":women_holding_hands_tone4:": { "category": "people", "name": "women holding hands: medium-dark skin tone", "unicode": "1f46d-1f3fe" }, ":women_holding_hands_tone4_tone1:": { "category": "people", "name": "women holding hands: medium-dark skin tone, light skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb" }, ":women_holding_hands_tone4_tone2:": { "category": "people", "name": "women holding hands: medium dark skin tone, medium light skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc" }, ":women_holding_hands_tone4_tone3:": { "category": "people", "name": "women holding hands: medium-dark skin tone, medium skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd" }, ":women_holding_hands_tone4_tone5:": { "category": "people", "name": "women holding hands: medium-dark skin tone, dark skin tone", "unicode": "1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff" }, ":women_holding_hands_tone5:": { "category": "people", "name": "women holding hands: dark skin tone", "unicode": "1f46d-1f3ff" }, ":women_holding_hands_tone5_tone1:": { "category": "people", "name": "women holding hands: dark skin tone, light skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb" }, ":women_holding_hands_tone5_tone2:": { "category": "people", "name": "women holding hands: dark skin tone, medium-light skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc" }, ":women_holding_hands_tone5_tone3:": { "category": "people", "name": "women holding hands: dark skin tone, medium skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd" }, ":women_holding_hands_tone5_tone4:": { "category": "people", "name": "women holding hands: dark skin tone, medium-dark skin tone", "unicode": "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe" }, ":women_with_bunny_ears_partying:": { "category": "people", "name": "women with bunny ears", "unicode": "1f46f-200d-2640-fe0f" }, ":women_wrestling:": { "category": "activity", "name": "women wrestling", "unicode": "1f93c-200d-2640-fe0f" }, ":womens:": { "category": "symbols", "name": "women\u2019s room", "unicode": "1f6ba" }, ":wood:": { "category": "nature", "name": "wood", "unicode": "1fab5" }, ":woozy_face:": { "category": "people", "name": "woozy face", "unicode": "1f974" }, ":worm:": { "category": "nature", "name": "worm", "unicode": "1fab1" }, ":worried:": { "category": "people", "name": "worried face", "unicode": "1f61f" }, ":wrench:": { "category": "objects", "name": "wrench", "unicode": "1f527" }, ":writing_hand:": { "category": "people", "name": "writing hand", "unicode": "270d" }, ":writing_hand_tone1:": { "category": "people", "name": "writing hand: light skin tone", "unicode": "270d-1f3fb" }, ":writing_hand_tone2:": { "category": "people", "name": "writing hand: medium-light skin tone", "unicode": "270d-1f3fc" }, ":writing_hand_tone3:": { "category": "people", "name": "writing hand: medium skin tone", "unicode": "270d-1f3fd" }, ":writing_hand_tone4:": { "category": "people", "name": "writing hand: medium-dark skin tone", "unicode": "270d-1f3fe" }, ":writing_hand_tone5:": { "category": "people", "name": "writing hand: dark skin tone", "unicode": "270d-1f3ff" }, ":x:": { "category": "symbols", "name": "cross mark", "unicode": "274c" }, ":x_ray:": { "category": "objects", "name": "x-ray", "unicode": "1fa7b" }, ":yarn:": { "category": "people", "name": "yarn", "unicode": "1f9f6" }, ":yawning_face:": { "category": "people", "name": "yawning face", "unicode": "1f971" }, ":yellow_circle:": { "category": "symbols", "name": "yellow circle", "unicode": "1f7e1" }, ":yellow_heart:": { "category": "symbols", "name": "yellow heart", "unicode": "1f49b" }, ":yellow_square:": { "category": "symbols", "name": "yellow square", "unicode": "1f7e8" }, ":yen:": { "category": "objects", "name": "yen banknote", "unicode": "1f4b4" }, ":yin_yang:": { "category": "symbols", "name": "yin yang", "unicode": "262f" }, ":yo_yo:": { "category": "activity", "name": "yo-yo", "unicode": "1fa80" }, ":yum:": { "category": "people", "name": "face savoring food", "unicode": "1f60b" }, ":zany_face:": { "category": "people", "name": "zany face", "unicode": "1f92a" }, ":zap:": { "category": "nature", "name": "high voltage", "unicode": "26a1" }, ":zebra:": { "category": "nature", "name": "zebra", "unicode": "1f993" }, ":zero:": { "category": "symbols", "name": "keycap: 0", "unicode": "30-20e3", "unicode_alt": "0030-20e3" }, ":zipper_mouth:": { "category": "people", "name": "zipper-mouth face", "unicode": "1f910" }, ":zombie:": { "category": "people", "name": "zombie", "unicode": "1f9df" }, ":zzz:": { "category": "symbols", "name": "zzz", "unicode": "1f4a4" } } aliases = { ":+1:": ":thumbsup:", ":+1_tone1:": ":thumbsup_tone1:", ":+1_tone2:": ":thumbsup_tone2:", ":+1_tone3:": ":thumbsup_tone3:", ":+1_tone4:": ":thumbsup_tone4:", ":+1_tone5:": ":thumbsup_tone5:", ":-1:": ":thumbsdown:", ":-1_tone1:": ":thumbsdown_tone1:", ":-1_tone2:": ":thumbsdown_tone2:", ":-1_tone3:": ":thumbsdown_tone3:", ":-1_tone4:": ":thumbsdown_tone4:", ":-1_tone5:": ":thumbsdown_tone5:", ":ac:": ":flag_ac:", ":ad:": ":flag_ad:", ":admission_tickets:": ":tickets:", ":adult_dark_skin_tone:": ":adult_tone5:", ":adult_light_skin_tone:": ":adult_tone1:", ":adult_medium_dark_skin_tone:": ":adult_tone4:", ":adult_medium_light_skin_tone:": ":adult_tone2:", ":adult_medium_skin_tone:": ":adult_tone3:", ":ae:": ":flag_ae:", ":af:": ":flag_af:", ":ag:": ":flag_ag:", ":ai:": ":flag_ai:", ":al:": ":flag_al:", ":alien_monster:": ":space_invader:", ":am:": ":flag_am:", ":angry_face:": ":angry:", ":antenna_bars:": ":signal_strength:", ":ao:": ":flag_ao:", ":aq:": ":flag_aq:", ":ar:": ":flag_ar:", ":archery:": ":bow_and_arrow:", ":artist_dark_skin_tone:": ":artist_tone5:", ":artist_light_skin_tone:": ":artist_tone1:", ":artist_medium_dark_skin_tone:": ":artist_tone4:", ":artist_medium_light_skin_tone:": ":artist_tone2:", ":artist_medium_skin_tone:": ":artist_tone3:", ":as:": ":flag_as:", ":astronaut_dark_skin_tone:": ":astronaut_tone5:", ":astronaut_light_skin_tone:": ":astronaut_tone1:", ":astronaut_medium_dark_skin_tone:": ":astronaut_tone4:", ":astronaut_medium_light_skin_tone:": ":astronaut_tone2:", ":astronaut_medium_skin_tone:": ":astronaut_tone3:", ":at:": ":flag_at:", ":atom_symbol:": ":atom:", ":au:": ":flag_au:", ":automobile:": ":red_car:", ":aw:": ":flag_aw:", ":ax:": ":flag_ax:", ":az:": ":flag_az:", ":ba:": ":flag_ba:", ":baby_angel:": ":angel:", ":back_arrow:": ":back:", ":back_of_hand:": ":raised_back_of_hand:", ":back_of_hand_tone1:": ":raised_back_of_hand_tone1:", ":back_of_hand_tone2:": ":raised_back_of_hand_tone2:", ":back_of_hand_tone3:": ":raised_back_of_hand_tone3:", ":back_of_hand_tone4:": ":raised_back_of_hand_tone4:", ":back_of_hand_tone5:": ":raised_back_of_hand_tone5:", ":backpack:": ":school_satchel:", ":baguette_bread:": ":french_bread:", ":balance_scale:": ":scales:", ":ballot_box_with_ballot:": ":ballot_box:", ":barber_pole:": ":barber:", ":basketball_player:": ":person_bouncing_ball:", ":basketball_player_tone1:": ":person_bouncing_ball_tone1:", ":basketball_player_tone2:": ":person_bouncing_ball_tone2:", ":basketball_player_tone3:": ":person_bouncing_ball_tone3:", ":basketball_player_tone4:": ":person_bouncing_ball_tone4:", ":basketball_player_tone5:": ":person_bouncing_ball_tone5:", ":bb:": ":flag_bb:", ":bd:": ":flag_bd:", ":be:": ":flag_be:", ":beach_with_umbrella:": ":beach:", ":bearded_person_dark_skin_tone:": ":bearded_person_tone5:", ":bearded_person_light_skin_tone:": ":bearded_person_tone1:", ":bearded_person_medium_dark_skin_tone:": ":bearded_person_tone4:", ":bearded_person_medium_light_skin_tone:": ":bearded_person_tone2:", ":bearded_person_medium_skin_tone:": ":bearded_person_tone3:", ":beating_heart:": ":heartbeat:", ":beer_mug:": ":beer:", ":bellhop_bell:": ":bellhop:", ":bento_box:": ":bento:", ":bf:": ":flag_bf:", ":bg:": ":flag_bg:", ":bh:": ":flag_bh:", ":bi:": ":flag_bi:", ":bicycle:": ":bike:", ":bicyclist:": ":person_biking:", ":bicyclist_tone1:": ":person_biking_tone1:", ":bicyclist_tone2:": ":person_biking_tone2:", ":bicyclist_tone3:": ":person_biking_tone3:", ":bicyclist_tone4:": ":person_biking_tone4:", ":bicyclist_tone5:": ":person_biking_tone5:", ":biohazard_sign:": ":biohazard:", ":birthday_cake:": ":birthday:", ":bj:": ":flag_bj:", ":bl:": ":flag_bl:", ":black_flag:": ":flag_black:", ":blond-haired_man_dark_skin_tone:": ":blond-haired_man_tone5:", ":blond-haired_man_light_skin_tone:": ":blond-haired_man_tone1:", ":blond-haired_man_medium_dark_skin_tone:": ":blond-haired_man_tone4:", ":blond-haired_man_medium_light_skin_tone:": ":blond-haired_man_tone2:", ":blond-haired_man_medium_skin_tone:": ":blond-haired_man_tone3:", ":blond-haired_woman_dark_skin_tone:": ":blond-haired_woman_tone5:", ":blond-haired_woman_light_skin_tone:": ":blond-haired_woman_tone1:", ":blond-haired_woman_medium_dark_skin_tone:": ":blond-haired_woman_tone4:", ":blond-haired_woman_medium_light_skin_tone:": ":blond-haired_woman_tone2:", ":blond-haired_woman_medium_skin_tone:": ":blond-haired_woman_tone3:", ":bm:": ":flag_bm:", ":bn:": ":flag_bn:", ":bo:": ":flag_bo:", ":bottle_with_popping_cork:": ":champagne:", ":bow:": ":person_bowing:", ":bow_tone1:": ":person_bowing_tone1:", ":bow_tone2:": ":person_bowing_tone2:", ":bow_tone3:": ":person_bowing_tone3:", ":bow_tone4:": ":person_bowing_tone4:", ":bow_tone5:": ":person_bowing_tone5:", ":boxing_gloves:": ":boxing_glove:", ":bq:": ":flag_bq:", ":br:": ":flag_br:", ":breast_feeding_dark_skin_tone:": ":breast_feeding_tone5:", ":breast_feeding_light_skin_tone:": ":breast_feeding_tone1:", ":breast_feeding_medium_dark_skin_tone:": ":breast_feeding_tone4:", ":breast_feeding_medium_light_skin_tone:": ":breast_feeding_tone2:", ":breast_feeding_medium_skin_tone:": ":breast_feeding_tone3:", ":brick:": ":bricks:", ":bs:": ":flag_bs:", ":bt:": ":flag_bt:", ":building_construction:": ":construction_site:", ":bullet_train:": ":bullettrain_front:", ":bus_stop:": ":busstop:", ":bv:": ":flag_bv:", ":bw:": ":flag_bw:", ":by:": ":flag_by:", ":bz:": ":flag_bz:", ":ca:": ":flag_ca:", ":call_me_hand:": ":call_me:", ":call_me_hand_tone1:": ":call_me_tone1:", ":call_me_hand_tone2:": ":call_me_tone2:", ":call_me_hand_tone3:": ":call_me_tone3:", ":call_me_hand_tone4:": ":call_me_tone4:", ":call_me_hand_tone5:": ":call_me_tone5:", ":card_file_box:": ":card_box:", ":card_index_dividers:": ":dividers:", ":carp_streamer:": ":flags:", ":cartwheel:": ":person_doing_cartwheel:", ":cartwheel_tone1:": ":person_doing_cartwheel_tone1:", ":cartwheel_tone2:": ":person_doing_cartwheel_tone2:", ":cartwheel_tone3:": ":person_doing_cartwheel_tone3:", ":cartwheel_tone4:": ":person_doing_cartwheel_tone4:", ":cartwheel_tone5:": ":person_doing_cartwheel_tone5:", ":castle:": ":european_castle:", ":cat_face:": ":cat:", ":cc:": ":flag_cc:", ":cf:": ":flag_cf:", ":cg:": ":flag_cg:", ":ch:": ":flag_ch:", ":check_mark:": ":heavy_check_mark:", ":cheese_wedge:": ":cheese:", ":child_dark_skin_tone:": ":child_tone5:", ":child_light_skin_tone:": ":child_tone1:", ":child_medium_dark_skin_tone:": ":child_tone4:", ":child_medium_light_skin_tone:": ":child_tone2:", ":child_medium_skin_tone:": ":child_tone3:", ":chile:": ":flag_cl:", ":ci:": ":flag_ci:", ":cigarette:": ":smoking:", ":circled_m:": ":m:", ":city_sunrise:": ":city_sunset:", ":ck:": ":flag_ck:", ":clamp:": ":compression:", ":clapper_board:": ":clapper:", ":clinking_glass:": ":champagne_glass:", ":cloud_with_lightning:": ":cloud_lightning:", ":cloud_with_rain:": ":cloud_rain:", ":cloud_with_snow:": ":cloud_snow:", ":cloud_with_tornado:": ":cloud_tornado:", ":clown_face:": ":clown:", ":club_suit:": ":clubs:", ":clutch_bag:": ":pouch:", ":cm:": ":flag_cm:", ":cn:": ":flag_cn:", ":co:": ":flag_co:", ":collision:": ":boom:", ":computer_disk:": ":minidisc:", ":confused_face:": ":confused:", ":congo:": ":flag_cd:", ":cook_dark_skin_tone:": ":cook_tone5:", ":cook_light_skin_tone:": ":cook_tone1:", ":cook_medium_dark_skin_tone:": ":cook_tone4:", ":cook_medium_light_skin_tone:": ":cook_tone2:", ":cook_medium_skin_tone:": ":cook_tone3:", ":cooked_rice:": ":rice:", ":cop:": ":police_officer:", ":cop_tone1:": ":police_officer_tone1:", ":cop_tone2:": ":police_officer_tone2:", ":cop_tone3:": ":police_officer_tone3:", ":cop_tone4:": ":police_officer_tone4:", ":cop_tone5:": ":police_officer_tone5:", ":couch_and_lamp:": ":couch:", ":couple_with_heart_dark_skin_tone:": ":couple_with_heart_tone5:", ":couple_with_heart_light_skin_tone:": ":couple_with_heart_tone1:", ":couple_with_heart_man_man_dark_skin_tone:": ":couple_with_heart_man_man_tone5:", ":couple_with_heart_man_man_dark_skin_tone_light_skin_tone:": ":couple_with_heart_man_man_tone5_tone1:", ":couple_with_heart_man_man_dark_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_man_man_tone5_tone4:", ":couple_with_heart_man_man_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_man_man_tone5_tone2:", ":couple_with_heart_man_man_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_man_man_tone5_tone3:", ":couple_with_heart_man_man_light_skin_tone:": ":couple_with_heart_man_man_tone1:", ":couple_with_heart_man_man_light_skin_tone_dark_skin_tone:": ":couple_with_heart_man_man_tone1_tone5:", ":couple_with_heart_man_man_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_man_man_tone1_tone4:", ":couple_with_heart_man_man_light_skin_tone_medium_light_skin_tone:": ":couple_with_heart_man_man_tone1_tone2:", ":couple_with_heart_man_man_light_skin_tone_medium_skin_tone:": ":couple_with_heart_man_man_tone1_tone3:", ":couple_with_heart_man_man_medium_dark_skin_tone:": ":couple_with_heart_man_man_tone4:", ":couple_with_heart_man_man_medium_dark_skin_tone_dark_skin_tone:": ":couple_with_heart_man_man_tone4_tone5:", ":couple_with_heart_man_man_medium_dark_skin_tone_light_skin_tone:": ":couple_with_heart_man_man_tone4_tone1:", ":couple_with_heart_man_man_medium_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_man_man_tone4_tone2:", ":couple_with_heart_man_man_medium_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_man_man_tone4_tone3:", ":couple_with_heart_man_man_medium_light_skin_tone:": ":couple_with_heart_man_man_tone2:", ":couple_with_heart_man_man_medium_light_skin_tone_dark_skin_tone:": ":couple_with_heart_man_man_tone2_tone5:", ":couple_with_heart_man_man_medium_light_skin_tone_light_skin_tone:": ":couple_with_heart_man_man_tone2_tone1:", ":couple_with_heart_man_man_medium_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_man_man_tone2_tone4:", ":couple_with_heart_man_man_medium_light_skin_tone_medium_skin_tone:": ":couple_with_heart_man_man_tone2_tone3:", ":couple_with_heart_man_man_medium_skin_tone:": ":couple_with_heart_man_man_tone3:", ":couple_with_heart_man_man_medium_skin_tone_dark_skin_tone:": ":couple_with_heart_man_man_tone3_tone5:", ":couple_with_heart_man_man_medium_skin_tone_light_skin_tone:": ":couple_with_heart_man_man_tone3_tone1:", ":couple_with_heart_man_man_medium_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_man_man_tone3_tone4:", ":couple_with_heart_man_man_medium_skin_tone_medium_light_skin_tone:": ":couple_with_heart_man_man_tone3_tone2:", ":couple_with_heart_medium_dark_skin_tone:": ":couple_with_heart_tone4:", ":couple_with_heart_medium_light_skin_tone:": ":couple_with_heart_tone2:", ":couple_with_heart_medium_skin_tone:": ":couple_with_heart_tone3:", ":couple_with_heart_mm:": ":couple_mm:", ":couple_with_heart_person_person_dark_skin_tone_light_skin_tone:": ":couple_with_heart_person_person_tone5_tone1:", ":couple_with_heart_person_person_dark_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_person_person_tone5_tone4:", ":couple_with_heart_person_person_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_person_person_tone5_tone2:", ":couple_with_heart_person_person_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_person_person_tone5_tone3:", ":couple_with_heart_person_person_light_skin_tone_dark_skin_tone:": ":couple_with_heart_person_person_tone1_tone5:", ":couple_with_heart_person_person_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_person_person_tone1_tone4:", ":couple_with_heart_person_person_light_skin_tone_medium_light_skin_tone:": ":couple_with_heart_person_person_tone1_tone2:", ":couple_with_heart_person_person_light_skin_tone_medium_skin_tone:": ":couple_with_heart_person_person_tone1_tone3:", ":couple_with_heart_person_person_medium_dark_skin_tone_dark_skin_tone:": ":couple_with_heart_person_person_tone4_tone5:", ":couple_with_heart_person_person_medium_dark_skin_tone_light_skin_tone:": ":couple_with_heart_person_person_tone4_tone1:", ":couple_with_heart_person_person_medium_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_person_person_tone4_tone2:", ":couple_with_heart_person_person_medium_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_person_person_tone4_tone3:", ":couple_with_heart_person_person_medium_light_skin_tone_dark_skin_tone:": ":couple_with_heart_person_person_tone2_tone5:", ":couple_with_heart_person_person_medium_light_skin_tone_light_skin_tone:": ":couple_with_heart_person_person_tone2_tone1:", ":couple_with_heart_person_person_medium_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_person_person_tone2_tone4:", ":couple_with_heart_person_person_medium_light_skin_tone_medium_skin_tone:": ":couple_with_heart_person_person_tone2_tone3:", ":couple_with_heart_person_person_medium_skin_tone_dark_skin_tone:": ":couple_with_heart_person_person_tone3_tone5:", ":couple_with_heart_person_person_medium_skin_tone_light_skin_tone:": ":couple_with_heart_person_person_tone3_tone1:", ":couple_with_heart_person_person_medium_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_person_person_tone3_tone4:", ":couple_with_heart_person_person_medium_skin_tone_medium_light_skin_tone:": ":couple_with_heart_person_person_tone3_tone2:", ":couple_with_heart_woman_man_dark_skin_tone:": ":couple_with_heart_woman_man_tone5:", ":couple_with_heart_woman_man_dark_skin_tone_light_skin_tone:": ":couple_with_heart_woman_man_tone5_tone1:", ":couple_with_heart_woman_man_dark_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_man_tone5_tone4:", ":couple_with_heart_woman_man_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_man_tone5_tone2:", ":couple_with_heart_woman_man_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_man_tone5_tone3:", ":couple_with_heart_woman_man_light_skin_tone:": ":couple_with_heart_woman_man_tone1:", ":couple_with_heart_woman_man_light_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_man_tone1_tone5:", ":couple_with_heart_woman_man_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_man_tone1_tone4:", ":couple_with_heart_woman_man_light_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_man_tone1_tone2:", ":couple_with_heart_woman_man_light_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_man_tone1_tone3:", ":couple_with_heart_woman_man_medium_dark_skin_tone:": ":couple_with_heart_woman_man_tone4:", ":couple_with_heart_woman_man_medium_dark_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_man_tone4_tone5:", ":couple_with_heart_woman_man_medium_dark_skin_tone_light_skin_tone:": ":couple_with_heart_woman_man_tone4_tone1:", ":couple_with_heart_woman_man_medium_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_man_tone4_tone2:", ":couple_with_heart_woman_man_medium_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_man_tone4_tone3:", ":couple_with_heart_woman_man_medium_light_skin_tone:": ":couple_with_heart_woman_man_tone2:", ":couple_with_heart_woman_man_medium_light_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_man_tone2_tone5:", ":couple_with_heart_woman_man_medium_light_skin_tone_light_skin_tone:": ":couple_with_heart_woman_man_tone2_tone1:", ":couple_with_heart_woman_man_medium_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_man_tone2_tone4:", ":couple_with_heart_woman_man_medium_light_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_man_tone2_tone3:", ":couple_with_heart_woman_man_medium_skin_tone:": ":couple_with_heart_woman_man_tone3:", ":couple_with_heart_woman_man_medium_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_man_tone3_tone5:", ":couple_with_heart_woman_man_medium_skin_tone_light_skin_tone:": ":couple_with_heart_woman_man_tone3_tone1:", ":couple_with_heart_woman_man_medium_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_man_tone3_tone4:", ":couple_with_heart_woman_man_medium_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_man_tone3_tone2:", ":couple_with_heart_woman_woman_dark_skin_tone:": ":couple_with_heart_woman_woman_tone5:", ":couple_with_heart_woman_woman_dark_skin_tone_light_skin_tone:": ":couple_with_heart_woman_woman_tone5_tone1:", ":couple_with_heart_woman_woman_dark_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_woman_tone5_tone4:", ":couple_with_heart_woman_woman_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_woman_tone5_tone2:", ":couple_with_heart_woman_woman_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_woman_tone5_tone3:", ":couple_with_heart_woman_woman_light_skin_tone:": ":couple_with_heart_woman_woman_tone1:", ":couple_with_heart_woman_woman_light_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_woman_tone1_tone5:", ":couple_with_heart_woman_woman_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_woman_tone1_tone4:", ":couple_with_heart_woman_woman_light_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_woman_tone1_tone2:", ":couple_with_heart_woman_woman_light_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_woman_tone1_tone3:", ":couple_with_heart_woman_woman_medium_dark_skin_tone:": ":couple_with_heart_woman_woman_tone4:", ":couple_with_heart_woman_woman_medium_dark_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_woman_tone4_tone5:", ":couple_with_heart_woman_woman_medium_dark_skin_tone_light_skin_tone:": ":couple_with_heart_woman_woman_tone4_tone1:", ":couple_with_heart_woman_woman_medium_dark_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_woman_tone4_tone2:", ":couple_with_heart_woman_woman_medium_dark_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_woman_tone4_tone3:", ":couple_with_heart_woman_woman_medium_light_skin_tone:": ":couple_with_heart_woman_woman_tone2:", ":couple_with_heart_woman_woman_medium_light_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_woman_tone2_tone5:", ":couple_with_heart_woman_woman_medium_light_skin_tone_light_skin_tone:": ":couple_with_heart_woman_woman_tone2_tone1:", ":couple_with_heart_woman_woman_medium_light_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_woman_tone2_tone4:", ":couple_with_heart_woman_woman_medium_light_skin_tone_medium_skin_tone:": ":couple_with_heart_woman_woman_tone2_tone3:", ":couple_with_heart_woman_woman_medium_skin_tone:": ":couple_with_heart_woman_woman_tone3:", ":couple_with_heart_woman_woman_medium_skin_tone_dark_skin_tone:": ":couple_with_heart_woman_woman_tone3_tone5:", ":couple_with_heart_woman_woman_medium_skin_tone_light_skin_tone:": ":couple_with_heart_woman_woman_tone3_tone1:", ":couple_with_heart_woman_woman_medium_skin_tone_medium_dark_skin_tone:": ":couple_with_heart_woman_woman_tone3_tone4:", ":couple_with_heart_woman_woman_medium_skin_tone_medium_light_skin_tone:": ":couple_with_heart_woman_woman_tone3_tone2:", ":couple_with_heart_ww:": ":couple_ww:", ":couplekiss_mm:": ":kiss_mm:", ":couplekiss_ww:": ":kiss_ww:", ":cow_face:": ":cow:", ":cp:": ":flag_cp:", ":cr:": ":flag_cr:", ":cricket_bat_ball:": ":cricket_game:", ":cross_mark:": ":x:", ":crying_cat:": ":crying_cat_face:", ":crying_face:": ":cry:", ":cu:": ":flag_cu:", ":curly_hair:": ":curly_haired:", ":curry_rice:": ":curry:", ":cv:": ":flag_cv:", ":cw:": ":flag_cw:", ":cx:": ":flag_cx:", ":cy:": ":flag_cy:", ":cz:": ":flag_cz:", ":dagger_knife:": ":dagger:", ":dancers:": ":people_with_bunny_ears_partying:", ":dashing_away:": ":dash:", ":de:": ":flag_de:", ":deaf_man_dark_skin_tone:": ":deaf_man_tone5:", ":deaf_man_light_skin_tone:": ":deaf_man_tone1:", ":deaf_man_medium_dark_skin_tone:": ":deaf_man_tone4:", ":deaf_man_medium_light_skin_tone:": ":deaf_man_tone2:", ":deaf_man_medium_skin_tone:": ":deaf_man_tone3:", ":deaf_person_dark_skin_tone:": ":deaf_person_tone5:", ":deaf_person_light_skin_tone:": ":deaf_person_tone1:", ":deaf_person_medium_dark_skin_tone:": ":deaf_person_tone4:", ":deaf_person_medium_light_skin_tone:": ":deaf_person_tone2:", ":deaf_person_medium_skin_tone:": ":deaf_person_tone3:", ":deaf_woman_dark_skin_tone:": ":deaf_woman_tone5:", ":deaf_woman_light_skin_tone:": ":deaf_woman_tone1:", ":deaf_woman_medium_dark_skin_tone:": ":deaf_woman_tone4:", ":deaf_woman_medium_light_skin_tone:": ":deaf_woman_tone2:", ":deaf_woman_medium_skin_tone:": ":deaf_woman_tone3:", ":derelict_house_building:": ":house_abandoned:", ":desert_island:": ":island:", ":desktop_computer:": ":desktop:", ":dg:": ":flag_dg:", ":diamond_suit:": ":diamonds:", ":direct_hit:": ":dart:", ":dj:": ":flag_dj:", ":dk:": ":flag_dk:", ":dm:": ":flag_dm:", ":do:": ":flag_do:", ":dog_face:": ":dog:", ":double_vertical_bar:": ":pause_button:", ":dove_of_peace:": ":dove:", ":down_arrow:": ":arrow_down:", ":drool:": ":drooling_face:", ":drum_with_drumsticks:": ":drum:", ":dz:": ":flag_dz:", ":e_mail:": ":e-mail:", ":ea:": ":flag_ea:", ":ear_of_corn:": ":corn:", ":ear_with_hearing_aid_dark_skin_tone:": ":ear_with_hearing_aid_tone5:", ":ear_with_hearing_aid_light_skin_tone:": ":ear_with_hearing_aid_tone1:", ":ear_with_hearing_aid_medium_dark_skin_tone:": ":ear_with_hearing_aid_tone4:", ":ear_with_hearing_aid_medium_light_skin_tone:": ":ear_with_hearing_aid_tone2:", ":ear_with_hearing_aid_medium_skin_tone:": ":ear_with_hearing_aid_tone3:", ":ec:": ":flag_ec:", ":ee:": ":flag_ee:", ":eg:": ":flag_eg:", ":eh:": ":flag_eh:", ":eight_oclock:": ":clock8:", ":eight_thirty:": ":clock830:", ":eject_symbol:": ":eject:", ":eleven_oclock:": ":clock11:", ":eleven_thirty:": ":clock1130:", ":elf_dark_skin_tone:": ":elf_tone5:", ":elf_light_skin_tone:": ":elf_tone1:", ":elf_medium_dark_skin_tone:": ":elf_tone4:", ":elf_medium_light_skin_tone:": ":elf_tone2:", ":elf_medium_skin_tone:": ":elf_tone3:", ":email:": ":e-mail:", ":end_arrow:": ":end:", ":er:": ":flag_er:", ":es:": ":flag_es:", ":et:": ":flag_et:", ":eu:": ":flag_eu:", ":euro_banknote:": ":euro:", ":ewe:": ":sheep:", ":expecting_woman:": ":pregnant_woman:", ":expecting_woman_tone1:": ":pregnant_woman_tone1:", ":expecting_woman_tone2:": ":pregnant_woman_tone2:", ":expecting_woman_tone3:": ":pregnant_woman_tone3:", ":expecting_woman_tone4:": ":pregnant_woman_tone4:", ":expecting_woman_tone5:": ":pregnant_woman_tone5:", ":face_palm:": ":person_facepalming:", ":face_palm_tone1:": ":person_facepalming_tone1:", ":face_palm_tone2:": ":person_facepalming_tone2:", ":face_palm_tone3:": ":person_facepalming_tone3:", ":face_palm_tone4:": ":person_facepalming_tone4:", ":face_palm_tone5:": ":person_facepalming_tone5:", ":face_with_cowboy_hat:": ":cowboy:", ":face_with_head_bandage:": ":head_bandage:", ":face_with_rolling_eyes:": ":rolling_eyes:", ":face_with_thermometer:": ":thermometer_face:", ":facepalm:": ":person_facepalming:", ":facepalm_tone1:": ":person_facepalming_tone1:", ":facepalm_tone2:": ":person_facepalming_tone2:", ":facepalm_tone3:": ":person_facepalming_tone3:", ":facepalm_tone4:": ":person_facepalming_tone4:", ":facepalm_tone5:": ":person_facepalming_tone5:", ":factory_worker_dark_skin_tone:": ":factory_worker_tone5:", ":factory_worker_light_skin_tone:": ":factory_worker_tone1:", ":factory_worker_medium_dark_skin_tone:": ":factory_worker_tone4:", ":factory_worker_medium_light_skin_tone:": ":factory_worker_tone2:", ":factory_worker_medium_skin_tone:": ":factory_worker_tone3:", ":fairy_dark_skin_tone:": ":fairy_tone5:", ":fairy_light_skin_tone:": ":fairy_tone1:", ":fairy_medium_dark_skin_tone:": ":fairy_tone4:", ":fairy_medium_light_skin_tone:": ":fairy_tone2:", ":fairy_medium_skin_tone:": ":fairy_tone3:", ":farmer_dark_skin_tone:": ":farmer_tone5:", ":farmer_light_skin_tone:": ":farmer_tone1:", ":farmer_medium_dark_skin_tone:": ":farmer_tone4:", ":farmer_medium_light_skin_tone:": ":farmer_tone2:", ":farmer_medium_skin_tone:": ":farmer_tone3:", ":fax_machine:": ":fax:", ":fearful_face:": ":fearful:", ":fencer:": ":person_fencing:", ":fencing:": ":person_fencing:", ":fi:": ":flag_fi:", ":film_projector:": ":projector:", ":firefighter_dark_skin_tone:": ":firefighter_tone5:", ":firefighter_light_skin_tone:": ":firefighter_tone1:", ":firefighter_medium_dark_skin_tone:": ":firefighter_tone4:", ":firefighter_medium_light_skin_tone:": ":firefighter_tone2:", ":firefighter_medium_skin_tone:": ":firefighter_tone3:", ":first_place_medal:": ":first_place:", ":fishing_pole:": ":fishing_pole_and_fish:", ":five_oclock:": ":clock5:", ":five_thirty:": ":clock530:", ":fj:": ":flag_fj:", ":fk:": ":flag_fk:", ":flag_in_hole:": ":golf:", ":flame:": ":fire:", ":flan:": ":custard:", ":flat_shoe:": ":womans_flat_shoe:", ":fleur_de_lis:": ":fleur-de-lis:", ":flexed_biceps:": ":muscle:", ":flushed_face:": ":flushed:", ":fm:": ":flag_fm:", ":fo:": ":flag_fo:", ":folded_hands:": ":pray:", ":foot_dark_skin_tone:": ":foot_tone5:", ":foot_light_skin_tone:": ":foot_tone1:", ":foot_medium_dark_skin_tone:": ":foot_tone4:", ":foot_medium_light_skin_tone:": ":foot_tone2:", ":foot_medium_skin_tone:": ":foot_tone3:", ":fork_and_knife_with_plate:": ":fork_knife_plate:", ":fountain_pen:": ":pen_fountain:", ":four_oclock:": ":clock4:", ":four_thirty:": ":clock430:", ":fox_face:": ":fox:", ":fr:": ":flag_fr:", ":frame_with_picture:": ":frame_photo:", ":french_fries:": ":fries:", ":frowning_face:": ":frowning2:", ":fuel_pump:": ":fuelpump:", ":funeral_urn:": ":urn:", ":ga:": ":flag_ga:", ":gay_pride_flag:": ":rainbow_flag:", ":gb:": ":flag_gb:", ":gd:": ":flag_gd:", ":ge:": ":flag_ge:", ":gem_stone:": ":gem:", ":gf:": ":flag_gf:", ":gg:": ":flag_gg:", ":gh:": ":flag_gh:", ":gi:": ":flag_gi:", ":gl:": ":flag_gl:", ":glass_of_milk:": ":milk:", ":glasses:": ":eyeglasses:", ":glowing_star:": ":star2:", ":gm:": ":flag_gm:", ":gn:": ":flag_gn:", ":goal_net:": ":goal:", ":goblin:": ":japanese_goblin:", ":golfer:": ":person_golfing:", ":gp:": ":flag_gp:", ":gq:": ":flag_gq:", ":gr:": ":flag_gr:", ":grandma:": ":older_woman:", ":grandma_tone1:": ":older_woman_tone1:", ":grandma_tone2:": ":older_woman_tone2:", ":grandma_tone3:": ":older_woman_tone3:", ":grandma_tone4:": ":older_woman_tone4:", ":grandma_tone5:": ":older_woman_tone5:", ":green_salad:": ":salad:", ":grinning_cat:": ":smiley_cat:", ":grinning_face:": ":grinning:", ":growing_heart:": ":heartpulse:", ":gs:": ":flag_gs:", ":gt:": ":flag_gt:", ":gu:": ":flag_gu:", ":guardsman:": ":guard:", ":guardsman_tone1:": ":guard_tone1:", ":guardsman_tone2:": ":guard_tone2:", ":guardsman_tone3:": ":guard_tone3:", ":guardsman_tone4:": ":guard_tone4:", ":guardsman_tone5:": ":guard_tone5:", ":gw:": ":flag_gw:", ":gy:": ":flag_gy:", ":haircut:": ":person_getting_haircut:", ":haircut_tone1:": ":person_getting_haircut_tone1:", ":haircut_tone2:": ":person_getting_haircut_tone2:", ":haircut_tone3:": ":person_getting_haircut_tone3:", ":haircut_tone4:": ":person_getting_haircut_tone4:", ":haircut_tone5:": ":person_getting_haircut_tone5:", ":hammer_and_pick:": ":hammer_pick:", ":hammer_and_wrench:": ":tools:", ":hand_with_index_and_middle_finger_crossed:": ":fingers_crossed:", ":hand_with_index_and_middle_fingers_crossed_tone1:": ":fingers_crossed_tone1:", ":hand_with_index_and_middle_fingers_crossed_tone2:": ":fingers_crossed_tone2:", ":hand_with_index_and_middle_fingers_crossed_tone3:": ":fingers_crossed_tone3:", ":hand_with_index_and_middle_fingers_crossed_tone4:": ":fingers_crossed_tone4:", ":hand_with_index_and_middle_fingers_crossed_tone5:": ":fingers_crossed_tone5:", ":hand_with_index_finger_and_thumb_crossed_dark_skin_tone:": ":hand_with_index_finger_and_thumb_crossed_tone5:", ":hand_with_index_finger_and_thumb_crossed_light_skin_tone:": ":hand_with_index_finger_and_thumb_crossed_tone1:", ":hand_with_index_finger_and_thumb_crossed_medium_dark_skin_tone:": ":hand_with_index_finger_and_thumb_crossed_tone4:", ":hand_with_index_finger_and_thumb_crossed_medium_light_skin_tone:": ":hand_with_index_finger_and_thumb_crossed_tone2:", ":hand_with_index_finger_and_thumb_crossed_medium_skin_tone:": ":hand_with_index_finger_and_thumb_crossed_tone3:", ":handball:": ":person_playing_handball:", ":handball_tone1:": ":person_playing_handball_tone1:", ":handball_tone2:": ":person_playing_handball_tone2:", ":handball_tone3:": ":person_playing_handball_tone3:", ":handball_tone4:": ":person_playing_handball_tone4:", ":handball_tone5:": ":person_playing_handball_tone5:", ":handshake_dark_skin_tone:": ":handshake_tone5:", ":handshake_dark_skin_tone_light_skin_tone:": ":handshake_tone5_tone1:", ":handshake_dark_skin_tone_medium_dark_skin_tone:": ":handshake_tone5_tone4:", ":handshake_dark_skin_tone_medium_light_skin_tone:": ":handshake_tone5_tone2:", ":handshake_dark_skin_tone_medium_skin_tone:": ":handshake_tone5_tone3:", ":handshake_light_skin_tone:": ":handshake_tone1:", ":handshake_light_skin_tone_dark_skin_tone:": ":handshake_tone1_tone5:", ":handshake_light_skin_tone_medium_dark_skin_tone:": ":handshake_tone1_tone4:", ":handshake_light_skin_tone_medium_light_skin_tone:": ":handshake_tone1_tone2:", ":handshake_light_skin_tone_medium_skin_tone:": ":handshake_tone1_tone3:", ":handshake_medium_dark_skin_tone:": ":handshake_tone4:", ":handshake_medium_dark_skin_tone_dark_skin_tone:": ":handshake_tone4_tone5:", ":handshake_medium_dark_skin_tone_light_skin_tone:": ":handshake_tone4_tone1:", ":handshake_medium_dark_skin_tone_medium_light_skin_tone:": ":handshake_tone4_tone2:", ":handshake_medium_dark_skin_tone_medium_skin_tone:": ":handshake_tone4_tone3:", ":handshake_medium_light_skin_tone:": ":handshake_tone2:", ":handshake_medium_light_skin_tone_dark_skin_tone:": ":handshake_tone2_tone5:", ":handshake_medium_light_skin_tone_light_skin_tone:": ":handshake_tone2_tone1:", ":handshake_medium_light_skin_tone_medium_dark_skin_tone:": ":handshake_tone2_tone4:", ":handshake_medium_light_skin_tone_medium_skin_tone:": ":handshake_tone2_tone3:", ":handshake_medium_skin_tone:": ":handshake_tone3:", ":handshake_medium_skin_tone_dark_skin_tone:": ":handshake_tone3_tone5:", ":handshake_medium_skin_tone_light_skin_tone:": ":handshake_tone3_tone1:", ":handshake_medium_skin_tone_medium_dark_skin_tone:": ":handshake_tone3_tone4:", ":handshake_medium_skin_tone_medium_light_skin_tone:": ":handshake_tone3_tone2:", ":hankey:": ":poop:", ":headphone:": ":headphones:", ":health_worker_dark_skin_tone:": ":health_worker_tone5:", ":health_worker_light_skin_tone:": ":health_worker_tone1:", ":health_worker_medium_dark_skin_tone:": ":health_worker_tone4:", ":health_worker_medium_light_skin_tone:": ":health_worker_tone2:", ":health_worker_medium_skin_tone:": ":health_worker_tone3:", ":heart_hands_dark_skin_tone:": ":heart_hands_tone5:", ":heart_hands_light_skin_tone:": ":heart_hands_tone1:", ":heart_hands_medium_dark_skin_tone:": ":heart_hands_tone4:", ":heart_hands_medium_light_skin_tone:": ":heart_hands_tone2:", ":heart_hands_medium_skin_tone:": ":heart_hands_tone3:", ":heart_suit:": ":hearts:", ":heavy_heart_exclamation_mark_ornament:": ":heart_exclamation:", ":helmet_with_white_cross:": ":helmet_with_cross:", ":high_voltage:": ":zap:", ":hk:": ":flag_hk:", ":hm:": ":flag_hm:", ":hn:": ":flag_hn:", ":honeybee:": ":bee:", ":horse_face:": ":horse:", ":hot_beverage:": ":coffee:", ":hot_dog:": ":hotdog:", ":hot_springs:": ":hotsprings:", ":house_buildings:": ":homes:", ":houses:": ":homes:", ":hr:": ":flag_hr:", ":ht:": ":flag_ht:", ":hu:": ":flag_hu:", ":hugging_face:": ":hugging:", ":hushed_face:": ":hushed:", ":ic:": ":flag_ic:", ":ice_hockey:": ":hockey:", ":ie:": ":flag_ie:", ":il:": ":flag_il:", ":im:": ":flag_im:", ":in:": ":flag_in:", ":index_pointing_at_the_viewer_dark_skin_tone:": ":index_pointing_at_the_viewer_tone5:", ":index_pointing_at_the_viewer_light_skin_tone:": ":index_pointing_at_the_viewer_tone1:", ":index_pointing_at_the_viewer_medium_dark_skin_tone:": ":index_pointing_at_the_viewer_tone4:", ":index_pointing_at_the_viewer_medium_light_skin_tone:": ":index_pointing_at_the_viewer_tone2:", ":index_pointing_at_the_viewer_medium_skin_tone:": ":index_pointing_at_the_viewer_tone3:", ":indonesia:": ":flag_id:", ":information:": ":information_source:", ":information_desk_person:": ":person_tipping_hand:", ":information_desk_person_tone1:": ":person_tipping_hand_tone1:", ":information_desk_person_tone2:": ":person_tipping_hand_tone2:", ":information_desk_person_tone3:": ":person_tipping_hand_tone3:", ":information_desk_person_tone4:": ":person_tipping_hand_tone4:", ":information_desk_person_tone5:": ":person_tipping_hand_tone5:", ":input_numbers:": ":1234:", ":input_symbols:": ":symbols:", ":io:": ":flag_io:", ":iq:": ":flag_iq:", ":ir:": ":flag_ir:", ":is:": ":flag_is:", ":it:": ":flag_it:", ":je:": ":flag_je:", ":jm:": ":flag_jm:", ":jo:": ":flag_jo:", ":joker:": ":black_joker:", ":jp:": ":flag_jp:", ":judge_dark_skin_tone:": ":judge_tone5:", ":judge_light_skin_tone:": ":judge_tone1:", ":judge_medium_dark_skin_tone:": ":judge_tone4:", ":judge_medium_light_skin_tone:": ":judge_tone2:", ":judge_medium_skin_tone:": ":judge_tone3:", ":juggler:": ":person_juggling:", ":juggler_tone1:": ":person_juggling_tone1:", ":juggler_tone2:": ":person_juggling_tone2:", ":juggler_tone3:": ":person_juggling_tone3:", ":juggler_tone4:": ":person_juggling_tone4:", ":juggler_tone5:": ":person_juggling_tone5:", ":juggling:": ":person_juggling:", ":juggling_tone1:": ":person_juggling_tone1:", ":juggling_tone2:": ":person_juggling_tone2:", ":juggling_tone3:": ":person_juggling_tone3:", ":juggling_tone4:": ":person_juggling_tone4:", ":juggling_tone5:": ":person_juggling_tone5:", ":karate_uniform:": ":martial_arts_uniform:", ":kayak:": ":canoe:", ":ke:": ":flag_ke:", ":keycap_asterisk:": ":asterisk:", ":kg:": ":flag_kg:", ":kh:": ":flag_kh:", ":ki:": ":flag_ki:", ":kick_scooter:": ":scooter:", ":kiss_dark_skin_tone:": ":kiss_tone5:", ":kiss_light_skin_tone:": ":kiss_tone1:", ":kiss_man_man:": ":kiss_mm:", ":kiss_man_man_dark_skin_tone:": ":kiss_man_man_tone5:", ":kiss_man_man_dark_skin_tone_light_skin_tone:": ":kiss_man_man_tone5_tone1:", ":kiss_man_man_dark_skin_tone_medium_dark_skin_tone:": ":kiss_man_man_tone5_tone4:", ":kiss_man_man_dark_skin_tone_medium_light_skin_tone:": ":kiss_man_man_tone5_tone2:", ":kiss_man_man_dark_skin_tone_medium_skin_tone:": ":kiss_man_man_tone5_tone3:", ":kiss_man_man_light_skin_tone:": ":kiss_man_man_tone1:", ":kiss_man_man_light_skin_tone_dark_skin_tone:": ":kiss_man_man_tone1_tone5:", ":kiss_man_man_light_skin_tone_medium_dark_skin_tone:": ":kiss_man_man_tone1_tone4:", ":kiss_man_man_light_skin_tone_medium_light_skin_tone:": ":kiss_man_man_tone1_tone2:", ":kiss_man_man_light_skin_tone_medium_skin_tone:": ":kiss_man_man_tone1_tone3:", ":kiss_man_man_medium_dark_skin_tone:": ":kiss_man_man_tone4:", ":kiss_man_man_medium_dark_skin_tone_dark_skin_tone:": ":kiss_man_man_tone4_tone5:", ":kiss_man_man_medium_dark_skin_tone_light_skin_tone:": ":kiss_man_man_tone4_tone1:", ":kiss_man_man_medium_dark_skin_tone_medium_light_skin_tone:": ":kiss_man_man_tone4_tone2:", ":kiss_man_man_medium_dark_skin_tone_medium_skin_tone:": ":kiss_man_man_tone4_tone3:", ":kiss_man_man_medium_light_skin_tone:": ":kiss_man_man_tone2:", ":kiss_man_man_medium_light_skin_tone_dark_skin_tone:": ":kiss_man_man_tone2_tone5:", ":kiss_man_man_medium_light_skin_tone_light_skin_tone:": ":kiss_man_man_tone2_tone1:", ":kiss_man_man_medium_light_skin_tone_medium_dark_skin_tone:": ":kiss_man_man_tone2_tone4:", ":kiss_man_man_medium_light_skin_tone_medium_skin_tone:": ":kiss_man_man_tone2_tone3:", ":kiss_man_man_medium_skin_tone:": ":kiss_man_man_tone3:", ":kiss_man_man_medium_skin_tone_dark_skin_tone:": ":kiss_man_man_tone3_tone5:", ":kiss_man_man_medium_skin_tone_light_skin_tone:": ":kiss_man_man_tone3_tone1:", ":kiss_man_man_medium_skin_tone_medium_dark_skin_tone:": ":kiss_man_man_tone3_tone4:", ":kiss_man_man_medium_skin_tone_medium_light_skin_tone:": ":kiss_man_man_tone3_tone2:", ":kiss_mark:": ":kiss:", ":kiss_medium_dark_skin_tone:": ":kiss_tone4:", ":kiss_medium_light_skin_tone:": ":kiss_tone2:", ":kiss_medium_skin_tone:": ":kiss_tone3:", ":kiss_person_person_dark_skin_tone_light_skin_tone:": ":kiss_person_person_tone5_tone1:", ":kiss_person_person_dark_skin_tone_medium_dark_skin_tone:": ":kiss_person_person_tone5_tone4:", ":kiss_person_person_dark_skin_tone_medium_light_skin_tone:": ":kiss_person_person_tone5_tone2:", ":kiss_person_person_dark_skin_tone_medium_skin_tone:": ":kiss_person_person_tone5_tone3:", ":kiss_person_person_light_skin_tone_dark_skin_tone:": ":kiss_person_person_tone1_tone5:", ":kiss_person_person_light_skin_tone_medium_dark_skin_tone:": ":kiss_person_person_tone1_tone4:", ":kiss_person_person_light_skin_tone_medium_light_skin_tone:": ":kiss_person_person_tone1_tone2:", ":kiss_person_person_light_skin_tone_medium_skin_tone:": ":kiss_person_person_tone1_tone3:", ":kiss_person_person_medium_dark_skin_tone_dark_skin_tone:": ":kiss_person_person_tone4_tone5:", ":kiss_person_person_medium_dark_skin_tone_light_skin_tone:": ":kiss_person_person_tone4_tone1:", ":kiss_person_person_medium_dark_skin_tone_medium_light_skin_tone:": ":kiss_person_person_tone4_tone2:", ":kiss_person_person_medium_dark_skin_tone_medium_skin_tone:": ":kiss_person_person_tone4_tone3:", ":kiss_person_person_medium_light_skin_tone_dark_skin_tone:": ":kiss_person_person_tone2_tone5:", ":kiss_person_person_medium_light_skin_tone_light_skin_tone:": ":kiss_person_person_tone2_tone1:", ":kiss_person_person_medium_light_skin_tone_medium_dark_skin_tone:": ":kiss_person_person_tone2_tone4:", ":kiss_person_person_medium_light_skin_tone_medium_skin_tone:": ":kiss_person_person_tone2_tone3:", ":kiss_person_person_medium_skin_tone_dark_skin_tone:": ":kiss_person_person_tone3_tone5:", ":kiss_person_person_medium_skin_tone_light_skin_tone:": ":kiss_person_person_tone3_tone1:", ":kiss_person_person_medium_skin_tone_medium_dark_skin_tone:": ":kiss_person_person_tone3_tone4:", ":kiss_person_person_medium_skin_tone_medium_light_skin_tone:": ":kiss_person_person_tone3_tone2:", ":kiss_woman_man_dark_skin_tone:": ":kiss_woman_man_tone5:", ":kiss_woman_man_dark_skin_tone_light_skin_tone:": ":kiss_woman_man_tone5_tone1:", ":kiss_woman_man_dark_skin_tone_medium_dark_skin_tone:": ":kiss_woman_man_tone5_tone4:", ":kiss_woman_man_dark_skin_tone_medium_light_skin_tone:": ":kiss_woman_man_tone5_tone2:", ":kiss_woman_man_dark_skin_tone_medium_skin_tone:": ":kiss_woman_man_tone5_tone3:", ":kiss_woman_man_light_skin_tone:": ":kiss_woman_man_tone1:", ":kiss_woman_man_light_skin_tone_dark_skin_tone:": ":kiss_woman_man_tone1_tone5:", ":kiss_woman_man_light_skin_tone_medium_dark_skin_tone:": ":kiss_woman_man_tone1_tone4:", ":kiss_woman_man_light_skin_tone_medium_light_skin_tone:": ":kiss_woman_man_tone1_tone2:", ":kiss_woman_man_light_skin_tone_medium_skin_tone:": ":kiss_woman_man_tone1_tone3:", ":kiss_woman_man_medium_dark_skin_tone:": ":kiss_woman_man_tone4:", ":kiss_woman_man_medium_dark_skin_tone_dark_skin_tone:": ":kiss_woman_man_tone4_tone5:", ":kiss_woman_man_medium_dark_skin_tone_light_skin_tone:": ":kiss_woman_man_tone4_tone1:", ":kiss_woman_man_medium_dark_skin_tone_medium_light_skin_tone:": ":kiss_woman_man_tone4_tone2:", ":kiss_woman_man_medium_dark_skin_tone_medium_skin_tone:": ":kiss_woman_man_tone4_tone3:", ":kiss_woman_man_medium_light_skin_tone:": ":kiss_woman_man_tone2:", ":kiss_woman_man_medium_light_skin_tone_dark_skin_tone:": ":kiss_woman_man_tone2_tone5:", ":kiss_woman_man_medium_light_skin_tone_light_skin_tone:": ":kiss_woman_man_tone2_tone1:", ":kiss_woman_man_medium_light_skin_tone_medium_dark_skin_tone:": ":kiss_woman_man_tone2_tone4:", ":kiss_woman_man_medium_light_skin_tone_medium_skin_tone:": ":kiss_woman_man_tone2_tone3:", ":kiss_woman_man_medium_skin_tone:": ":kiss_woman_man_tone3:", ":kiss_woman_man_medium_skin_tone_dark_skin_tone:": ":kiss_woman_man_tone3_tone5:", ":kiss_woman_man_medium_skin_tone_light_skin_tone:": ":kiss_woman_man_tone3_tone1:", ":kiss_woman_man_medium_skin_tone_medium_dark_skin_tone:": ":kiss_woman_man_tone3_tone4:", ":kiss_woman_man_medium_skin_tone_medium_light_skin_tone:": ":kiss_woman_man_tone3_tone2:", ":kiss_woman_woman_dark_skin_tone:": ":kiss_woman_woman_tone5:", ":kiss_woman_woman_dark_skin_tone_light_skin_tone:": ":kiss_woman_woman_tone5_tone1:", ":kiss_woman_woman_dark_skin_tone_medium_dark_skin_tone:": ":kiss_woman_woman_tone5_tone4:", ":kiss_woman_woman_dark_skin_tone_medium_light_skin_tone:": ":kiss_woman_woman_tone5_tone2:", ":kiss_woman_woman_dark_skin_tone_medium_skin_tone:": ":kiss_woman_woman_tone5_tone3:", ":kiss_woman_woman_light_skin_tone:": ":kiss_woman_woman_tone1:", ":kiss_woman_woman_light_skin_tone_dark_skin_tone:": ":kiss_woman_woman_tone1_tone5:", ":kiss_woman_woman_light_skin_tone_medium_dark_skin_tone:": ":kiss_woman_woman_tone1_tone4:", ":kiss_woman_woman_light_skin_tone_medium_light_skin_tone:": ":kiss_woman_woman_tone1_tone2:", ":kiss_woman_woman_light_skin_tone_medium_skin_tone:": ":kiss_woman_woman_tone1_tone3:", ":kiss_woman_woman_medium_dark_skin_tone:": ":kiss_woman_woman_tone4:", ":kiss_woman_woman_medium_dark_skin_tone_dark_skin_tone:": ":kiss_woman_woman_tone4_tone5:", ":kiss_woman_woman_medium_dark_skin_tone_light_skin_tone:": ":kiss_woman_woman_tone4_tone1:", ":kiss_woman_woman_medium_dark_skin_tone_medium_light_skin_tone:": ":kiss_woman_woman_tone4_tone2:", ":kiss_woman_woman_medium_dark_skin_tone_medium_skin_tone:": ":kiss_woman_woman_tone4_tone3:", ":kiss_woman_woman_medium_light_skin_tone:": ":kiss_woman_woman_tone2:", ":kiss_woman_woman_medium_light_skin_tone_dark_skin_tone:": ":kiss_woman_woman_tone2_tone5:", ":kiss_woman_woman_medium_light_skin_tone_light_skin_tone:": ":kiss_woman_woman_tone2_tone1:", ":kiss_woman_woman_medium_light_skin_tone_medium_dark_skin_tone:": ":kiss_woman_woman_tone2_tone4:", ":kiss_woman_woman_medium_light_skin_tone_medium_skin_tone:": ":kiss_woman_woman_tone2_tone3:", ":kiss_woman_woman_medium_skin_tone:": ":kiss_woman_woman_tone3:", ":kiss_woman_woman_medium_skin_tone_dark_skin_tone:": ":kiss_woman_woman_tone3_tone5:", ":kiss_woman_woman_medium_skin_tone_light_skin_tone:": ":kiss_woman_woman_tone3_tone1:", ":kiss_woman_woman_medium_skin_tone_medium_dark_skin_tone:": ":kiss_woman_woman_tone3_tone4:", ":kiss_woman_woman_medium_skin_tone_medium_light_skin_tone:": ":kiss_woman_woman_tone3_tone2:", ":kissing_face:": ":kissing:", ":kitchen_knife:": ":knife:", ":kiwi_fruit:": ":kiwi:", ":kiwifruit:": ":kiwi:", ":km:": ":flag_km:", ":kn:": ":flag_kn:", ":kp:": ":flag_kp:", ":kr:": ":flag_kr:", ":kw:": ":flag_kw:", ":ky:": ":flag_ky:", ":kz:": ":flag_kz:", ":la:": ":flag_la:", ":latin_cross:": ":cross:", ":lb:": ":flag_lb:", ":lc:": ":flag_lc:", ":left_arrow:": ":arrow_left:", ":left_fist:": ":left_facing_fist:", ":left_fist_tone1:": ":left_facing_fist_tone1:", ":left_fist_tone2:": ":left_facing_fist_tone2:", ":left_fist_tone3:": ":left_facing_fist_tone3:", ":left_fist_tone4:": ":left_facing_fist_tone4:", ":left_fist_tone5:": ":left_facing_fist_tone5:", ":left_speech_bubble:": ":speech_left:", ":leftwards_hand_dark_skin_tone:": ":leftwards_hand_tone5:", ":leftwards_hand_light_skin_tone:": ":leftwards_hand_tone1:", ":leftwards_hand_medium_dark_skin_tone:": ":leftwards_hand_tone4:", ":leftwards_hand_medium_light_skin_tone:": ":leftwards_hand_tone2:", ":leftwards_hand_medium_skin_tone:": ":leftwards_hand_tone3:", ":leftwards_pushing_hand_dark_skin_tone:": ":leftwards_pushing_hand_tone5:", ":leftwards_pushing_hand_light_skin_tone:": ":leftwards_pushing_hand_tone1:", ":leftwards_pushing_hand_medium_dark_skin_tone:": ":leftwards_pushing_hand_tone4:", ":leftwards_pushing_hand_medium_light_skin_tone:": ":leftwards_pushing_hand_tone2:", ":leftwards_pushing_hand_medium_skin_tone:": ":leftwards_pushing_hand_tone3:", ":leg_dark_skin_tone:": ":leg_tone5:", ":leg_light_skin_tone:": ":leg_tone1:", ":leg_medium_dark_skin_tone:": ":leg_tone4:", ":leg_medium_light_skin_tone:": ":leg_tone2:", ":leg_medium_skin_tone:": ":leg_tone3:", ":li:": ":flag_li:", ":liar:": ":lying_face:", ":lifter:": ":person_lifting_weights:", ":lifter_tone1:": ":person_lifting_weights_tone1:", ":lifter_tone2:": ":person_lifting_weights_tone2:", ":lifter_tone3:": ":person_lifting_weights_tone3:", ":lifter_tone4:": ":person_lifting_weights_tone4:", ":lifter_tone5:": ":person_lifting_weights_tone5:", ":light_bulb:": ":bulb:", ":linked_paperclips:": ":paperclips:", ":lion:": ":lion_face:", ":lk:": ":flag_lk:", ":locked:": ":lock:", ":locomotive:": ":steam_locomotive:", ":lotion_bottle:": ":squeeze_bottle:", ":love_you_gesture_dark_skin_tone:": ":love_you_gesture_tone5:", ":love_you_gesture_light_skin_tone:": ":love_you_gesture_tone1:", ":love_you_gesture_medium_dark_skin_tone:": ":love_you_gesture_tone4:", ":love_you_gesture_medium_light_skin_tone:": ":love_you_gesture_tone2:", ":love_you_gesture_medium_skin_tone:": ":love_you_gesture_tone3:", ":lower_left_ballpoint_pen:": ":pen_ballpoint:", ":lower_left_crayon:": ":crayon:", ":lower_left_fountain_pen:": ":pen_fountain:", ":lower_left_paintbrush:": ":paintbrush:", ":lr:": ":flag_lr:", ":ls:": ":flag_ls:", ":lt:": ":flag_lt:", ":lu:": ":flag_lu:", ":lv:": ":flag_lv:", ":ly:": ":flag_ly:", ":ma:": ":flag_ma:", ":mage_dark_skin_tone:": ":mage_tone5:", ":mage_light_skin_tone:": ":mage_tone1:", ":mage_medium_dark_skin_tone:": ":mage_tone4:", ":mage_medium_light_skin_tone:": ":mage_tone2:", ":mage_medium_skin_tone:": ":mage_tone3:", ":male_dancer:": ":man_dancing:", ":male_dancer_tone1:": ":man_dancing_tone1:", ":male_dancer_tone2:": ":man_dancing_tone2:", ":male_dancer_tone3:": ":man_dancing_tone3:", ":male_dancer_tone4:": ":man_dancing_tone4:", ":male_dancer_tone5:": ":man_dancing_tone5:", ":man_artist_dark_skin_tone:": ":man_artist_tone5:", ":man_artist_light_skin_tone:": ":man_artist_tone1:", ":man_artist_medium_dark_skin_tone:": ":man_artist_tone4:", ":man_artist_medium_light_skin_tone:": ":man_artist_tone2:", ":man_artist_medium_skin_tone:": ":man_artist_tone3:", ":man_astronaut_dark_skin_tone:": ":man_astronaut_tone5:", ":man_astronaut_light_skin_tone:": ":man_astronaut_tone1:", ":man_astronaut_medium_dark_skin_tone:": ":man_astronaut_tone4:", ":man_astronaut_medium_light_skin_tone:": ":man_astronaut_tone2:", ":man_astronaut_medium_skin_tone:": ":man_astronaut_tone3:", ":man_bald_dark_skin_tone:": ":man_bald_tone5:", ":man_bald_light_skin_tone:": ":man_bald_tone1:", ":man_bald_medium_dark_skin_tone:": ":man_bald_tone4:", ":man_bald_medium_light_skin_tone:": ":man_bald_tone2:", ":man_bald_medium_skin_tone:": ":man_bald_tone3:", ":man_biking_dark_skin_tone:": ":man_biking_tone5:", ":man_biking_light_skin_tone:": ":man_biking_tone1:", ":man_biking_medium_dark_skin_tone:": ":man_biking_tone4:", ":man_biking_medium_light_skin_tone:": ":man_biking_tone2:", ":man_biking_medium_skin_tone:": ":man_biking_tone3:", ":man_bouncing_ball_dark_skin_tone:": ":man_bouncing_ball_tone5:", ":man_bouncing_ball_light_skin_tone:": ":man_bouncing_ball_tone1:", ":man_bouncing_ball_medium_dark_skin_tone:": ":man_bouncing_ball_tone4:", ":man_bouncing_ball_medium_light_skin_tone:": ":man_bouncing_ball_tone2:", ":man_bouncing_ball_medium_skin_tone:": ":man_bouncing_ball_tone3:", ":man_bowing_dark_skin_tone:": ":man_bowing_tone5:", ":man_bowing_light_skin_tone:": ":man_bowing_tone1:", ":man_bowing_medium_dark_skin_tone:": ":man_bowing_tone4:", ":man_bowing_medium_light_skin_tone:": ":man_bowing_tone2:", ":man_bowing_medium_skin_tone:": ":man_bowing_tone3:", ":man_cartwheeling_dark_skin_tone:": ":man_cartwheeling_tone5:", ":man_cartwheeling_light_skin_tone:": ":man_cartwheeling_tone1:", ":man_cartwheeling_medium_dark_skin_tone:": ":man_cartwheeling_tone4:", ":man_cartwheeling_medium_light_skin_tone:": ":man_cartwheeling_tone2:", ":man_cartwheeling_medium_skin_tone:": ":man_cartwheeling_tone3:", ":man_climbing_dark_skin_tone:": ":man_climbing_tone5:", ":man_climbing_light_skin_tone:": ":man_climbing_tone1:", ":man_climbing_medium_dark_skin_tone:": ":man_climbing_tone4:", ":man_climbing_medium_light_skin_tone:": ":man_climbing_tone2:", ":man_climbing_medium_skin_tone:": ":man_climbing_tone3:", ":man_construction_worker_dark_skin_tone:": ":man_construction_worker_tone5:", ":man_construction_worker_light_skin_tone:": ":man_construction_worker_tone1:", ":man_construction_worker_medium_dark_skin_tone:": ":man_construction_worker_tone4:", ":man_construction_worker_medium_light_skin_tone:": ":man_construction_worker_tone2:", ":man_construction_worker_medium_skin_tone:": ":man_construction_worker_tone3:", ":man_cook_dark_skin_tone:": ":man_cook_tone5:", ":man_cook_light_skin_tone:": ":man_cook_tone1:", ":man_cook_medium_dark_skin_tone:": ":man_cook_tone4:", ":man_cook_medium_light_skin_tone:": ":man_cook_tone2:", ":man_cook_medium_skin_tone:": ":man_cook_tone3:", ":man_curly_haired_dark_skin_tone:": ":man_curly_haired_tone5:", ":man_curly_haired_light_skin_tone:": ":man_curly_haired_tone1:", ":man_curly_haired_medium_dark_skin_tone:": ":man_curly_haired_tone4:", ":man_curly_haired_medium_light_skin_tone:": ":man_curly_haired_tone2:", ":man_curly_haired_medium_skin_tone:": ":man_curly_haired_tone3:", ":man_dark_skin_tone_beard:": ":man_tone5_beard:", ":man_detective_dark_skin_tone:": ":man_detective_tone5:", ":man_detective_light_skin_tone:": ":man_detective_tone1:", ":man_detective_medium_dark_skin_tone:": ":man_detective_tone4:", ":man_detective_medium_light_skin_tone:": ":man_detective_tone2:", ":man_detective_medium_skin_tone:": ":man_detective_tone3:", ":man_elf_dark_skin_tone:": ":man_elf_tone5:", ":man_elf_light_skin_tone:": ":man_elf_tone1:", ":man_elf_medium_dark_skin_tone:": ":man_elf_tone4:", ":man_elf_medium_light_skin_tone:": ":man_elf_tone2:", ":man_elf_medium_skin_tone:": ":man_elf_tone3:", ":man_facepalming_dark_skin_tone:": ":man_facepalming_tone5:", ":man_facepalming_light_skin_tone:": ":man_facepalming_tone1:", ":man_facepalming_medium_dark_skin_tone:": ":man_facepalming_tone4:", ":man_facepalming_medium_light_skin_tone:": ":man_facepalming_tone2:", ":man_facepalming_medium_skin_tone:": ":man_facepalming_tone3:", ":man_factory_worker_dark_skin_tone:": ":man_factory_worker_tone5:", ":man_factory_worker_light_skin_tone:": ":man_factory_worker_tone1:", ":man_factory_worker_medium_dark_skin_tone:": ":man_factory_worker_tone4:", ":man_factory_worker_medium_light_skin_tone:": ":man_factory_worker_tone2:", ":man_factory_worker_medium_skin_tone:": ":man_factory_worker_tone3:", ":man_fairy_dark_skin_tone:": ":man_fairy_tone5:", ":man_fairy_light_skin_tone:": ":man_fairy_tone1:", ":man_fairy_medium_dark_skin_tone:": ":man_fairy_tone4:", ":man_fairy_medium_light_skin_tone:": ":man_fairy_tone2:", ":man_fairy_medium_skin_tone:": ":man_fairy_tone3:", ":man_farmer_dark_skin_tone:": ":man_farmer_tone5:", ":man_farmer_light_skin_tone:": ":man_farmer_tone1:", ":man_farmer_medium_dark_skin_tone:": ":man_farmer_tone4:", ":man_farmer_medium_light_skin_tone:": ":man_farmer_tone2:", ":man_farmer_medium_skin_tone:": ":man_farmer_tone3:", ":man_feeding_baby_dark_skin_tone:": ":man_feeding_baby_tone5:", ":man_feeding_baby_light_skin_tone:": ":man_feeding_baby_tone1:", ":man_feeding_baby_medium_dark_skin_tone:": ":man_feeding_baby_tone4:", ":man_feeding_baby_medium_light_skin_tone:": ":man_feeding_baby_tone2:", ":man_feeding_baby_medium_skin_tone:": ":man_feeding_baby_tone3:", ":man_firefighter_dark_skin_tone:": ":man_firefighter_tone5:", ":man_firefighter_light_skin_tone:": ":man_firefighter_tone1:", ":man_firefighter_medium_dark_skin_tone:": ":man_firefighter_tone4:", ":man_firefighter_medium_light_skin_tone:": ":man_firefighter_tone2:", ":man_firefighter_medium_skin_tone:": ":man_firefighter_tone3:", ":man_frowning_dark_skin_tone:": ":man_frowning_tone5:", ":man_frowning_light_skin_tone:": ":man_frowning_tone1:", ":man_frowning_medium_dark_skin_tone:": ":man_frowning_tone4:", ":man_frowning_medium_light_skin_tone:": ":man_frowning_tone2:", ":man_frowning_medium_skin_tone:": ":man_frowning_tone3:", ":man_gesturing_no_dark_skin_tone:": ":man_gesturing_no_tone5:", ":man_gesturing_no_light_skin_tone:": ":man_gesturing_no_tone1:", ":man_gesturing_no_medium_dark_skin_tone:": ":man_gesturing_no_tone4:", ":man_gesturing_no_medium_light_skin_tone:": ":man_gesturing_no_tone2:", ":man_gesturing_no_medium_skin_tone:": ":man_gesturing_no_tone3:", ":man_gesturing_ok_dark_skin_tone:": ":man_gesturing_ok_tone5:", ":man_gesturing_ok_light_skin_tone:": ":man_gesturing_ok_tone1:", ":man_gesturing_ok_medium_dark_skin_tone:": ":man_gesturing_ok_tone4:", ":man_gesturing_ok_medium_light_skin_tone:": ":man_gesturing_ok_tone2:", ":man_gesturing_ok_medium_skin_tone:": ":man_gesturing_ok_tone3:", ":man_getting_face_massage_dark_skin_tone:": ":man_getting_face_massage_tone5:", ":man_getting_face_massage_light_skin_tone:": ":man_getting_face_massage_tone1:", ":man_getting_face_massage_medium_dark_skin_tone:": ":man_getting_face_massage_tone4:", ":man_getting_face_massage_medium_light_skin_tone:": ":man_getting_face_massage_tone2:", ":man_getting_face_massage_medium_skin_tone:": ":man_getting_face_massage_tone3:", ":man_getting_haircut_dark_skin_tone:": ":man_getting_haircut_tone5:", ":man_getting_haircut_light_skin_tone:": ":man_getting_haircut_tone1:", ":man_getting_haircut_medium_dark_skin_tone:": ":man_getting_haircut_tone4:", ":man_getting_haircut_medium_light_skin_tone:": ":man_getting_haircut_tone2:", ":man_getting_haircut_medium_skin_tone:": ":man_getting_haircut_tone3:", ":man_golfing_dark_skin_tone:": ":man_golfing_tone5:", ":man_golfing_light_skin_tone:": ":man_golfing_tone1:", ":man_golfing_medium_dark_skin_tone:": ":man_golfing_tone4:", ":man_golfing_medium_light_skin_tone:": ":man_golfing_tone2:", ":man_golfing_medium_skin_tone:": ":man_golfing_tone3:", ":man_guard_dark_skin_tone:": ":man_guard_tone5:", ":man_guard_light_skin_tone:": ":man_guard_tone1:", ":man_guard_medium_dark_skin_tone:": ":man_guard_tone4:", ":man_guard_medium_light_skin_tone:": ":man_guard_tone2:", ":man_guard_medium_skin_tone:": ":man_guard_tone3:", ":man_health_worker_dark_skin_tone:": ":man_health_worker_tone5:", ":man_health_worker_light_skin_tone:": ":man_health_worker_tone1:", ":man_health_worker_medium_dark_skin_tone:": ":man_health_worker_tone4:", ":man_health_worker_medium_light_skin_tone:": ":man_health_worker_tone2:", ":man_health_worker_medium_skin_tone:": ":man_health_worker_tone3:", ":man_in_business_suit_levitating:": ":levitate:", ":man_in_business_suit_levitating_dark_skin_tone:": ":levitate_tone5:", ":man_in_business_suit_levitating_light_skin_tone:": ":levitate_tone1:", ":man_in_business_suit_levitating_medium_dark_skin_tone:": ":levitate_tone4:", ":man_in_business_suit_levitating_medium_light_skin_tone:": ":levitate_tone2:", ":man_in_business_suit_levitating_medium_skin_tone:": ":levitate_tone3:", ":man_in_business_suit_levitating_tone1:": ":levitate_tone1:", ":man_in_business_suit_levitating_tone2:": ":levitate_tone2:", ":man_in_business_suit_levitating_tone3:": ":levitate_tone3:", ":man_in_business_suit_levitating_tone4:": ":levitate_tone4:", ":man_in_business_suit_levitating_tone5:": ":levitate_tone5:", ":man_in_lotus_position_dark_skin_tone:": ":man_in_lotus_position_tone5:", ":man_in_lotus_position_light_skin_tone:": ":man_in_lotus_position_tone1:", ":man_in_lotus_position_medium_dark_skin_tone:": ":man_in_lotus_position_tone4:", ":man_in_lotus_position_medium_light_skin_tone:": ":man_in_lotus_position_tone2:", ":man_in_lotus_position_medium_skin_tone:": ":man_in_lotus_position_tone3:", ":man_in_manual_wheelchair_dark_skin_tone:": ":man_in_manual_wheelchair_tone5:", ":man_in_manual_wheelchair_light_skin_tone:": ":man_in_manual_wheelchair_tone1:", ":man_in_manual_wheelchair_medium_dark_skin_tone:": ":man_in_manual_wheelchair_tone4:", ":man_in_manual_wheelchair_medium_light_skin_tone:": ":man_in_manual_wheelchair_tone2:", ":man_in_manual_wheelchair_medium_skin_tone:": ":man_in_manual_wheelchair_tone3:", ":man_in_motorized_wheelchair_dark_skin_tone:": ":man_in_motorized_wheelchair_tone5:", ":man_in_motorized_wheelchair_light_skin_tone:": ":man_in_motorized_wheelchair_tone1:", ":man_in_motorized_wheelchair_medium_dark_skin_tone:": ":man_in_motorized_wheelchair_tone4:", ":man_in_motorized_wheelchair_medium_light_skin_tone:": ":man_in_motorized_wheelchair_tone2:", ":man_in_motorized_wheelchair_medium_skin_tone:": ":man_in_motorized_wheelchair_tone3:", ":man_in_steamy_room_dark_skin_tone:": ":man_in_steamy_room_tone5:", ":man_in_steamy_room_light_skin_tone:": ":man_in_steamy_room_tone1:", ":man_in_steamy_room_medium_dark_skin_tone:": ":man_in_steamy_room_tone4:", ":man_in_steamy_room_medium_light_skin_tone:": ":man_in_steamy_room_tone2:", ":man_in_steamy_room_medium_skin_tone:": ":man_in_steamy_room_tone3:", ":man_in_tuxedo_dark_skin_tone:": ":man_in_tuxedo_tone5:", ":man_in_tuxedo_light_skin_tone:": ":man_in_tuxedo_tone1:", ":man_in_tuxedo_medium_dark_skin_tone:": ":man_in_tuxedo_tone4:", ":man_in_tuxedo_medium_light_skin_tone:": ":man_in_tuxedo_tone2:", ":man_in_tuxedo_medium_skin_tone:": ":man_in_tuxedo_tone3:", ":man_judge_dark_skin_tone:": ":man_judge_tone5:", ":man_judge_light_skin_tone:": ":man_judge_tone1:", ":man_judge_medium_dark_skin_tone:": ":man_judge_tone4:", ":man_judge_medium_light_skin_tone:": ":man_judge_tone2:", ":man_judge_medium_skin_tone:": ":man_judge_tone3:", ":man_juggling_dark_skin_tone:": ":man_juggling_tone5:", ":man_juggling_light_skin_tone:": ":man_juggling_tone1:", ":man_juggling_medium_dark_skin_tone:": ":man_juggling_tone4:", ":man_juggling_medium_light_skin_tone:": ":man_juggling_tone2:", ":man_juggling_medium_skin_tone:": ":man_juggling_tone3:", ":man_kneeling_dark_skin_tone:": ":man_kneeling_tone5:", ":man_kneeling_light_skin_tone:": ":man_kneeling_tone1:", ":man_kneeling_medium_dark_skin_tone:": ":man_kneeling_tone4:", ":man_kneeling_medium_light_skin_tone:": ":man_kneeling_tone2:", ":man_kneeling_medium_skin_tone:": ":man_kneeling_tone3:", ":man_lifting_weights_dark_skin_tone:": ":man_lifting_weights_tone5:", ":man_lifting_weights_light_skin_tone:": ":man_lifting_weights_tone1:", ":man_lifting_weights_medium_dark_skin_tone:": ":man_lifting_weights_tone4:", ":man_lifting_weights_medium_light_skin_tone:": ":man_lifting_weights_tone2:", ":man_lifting_weights_medium_skin_tone:": ":man_lifting_weights_tone3:", ":man_light_skin_tone_beard:": ":man_tone1_beard:", ":man_mage_dark_skin_tone:": ":man_mage_tone5:", ":man_mage_light_skin_tone:": ":man_mage_tone1:", ":man_mage_medium_dark_skin_tone:": ":man_mage_tone4:", ":man_mage_medium_light_skin_tone:": ":man_mage_tone2:", ":man_mage_medium_skin_tone:": ":man_mage_tone3:", ":man_mechanic_dark_skin_tone:": ":man_mechanic_tone5:", ":man_mechanic_light_skin_tone:": ":man_mechanic_tone1:", ":man_mechanic_medium_dark_skin_tone:": ":man_mechanic_tone4:", ":man_mechanic_medium_light_skin_tone:": ":man_mechanic_tone2:", ":man_mechanic_medium_skin_tone:": ":man_mechanic_tone3:", ":man_medium_dark_skin_tone_beard:": ":man_tone4_beard:", ":man_medium_light_skin_tone_beard:": ":man_tone2_beard:", ":man_medium_skin_tone_beard:": ":man_tone3_beard:", ":man_mountain_biking_dark_skin_tone:": ":man_mountain_biking_tone5:", ":man_mountain_biking_light_skin_tone:": ":man_mountain_biking_tone1:", ":man_mountain_biking_medium_dark_skin_tone:": ":man_mountain_biking_tone4:", ":man_mountain_biking_medium_light_skin_tone:": ":man_mountain_biking_tone2:", ":man_mountain_biking_medium_skin_tone:": ":man_mountain_biking_tone3:", ":man_office_worker_dark_skin_tone:": ":man_office_worker_tone5:", ":man_office_worker_light_skin_tone:": ":man_office_worker_tone1:", ":man_office_worker_medium_dark_skin_tone:": ":man_office_worker_tone4:", ":man_office_worker_medium_light_skin_tone:": ":man_office_worker_tone2:", ":man_office_worker_medium_skin_tone:": ":man_office_worker_tone3:", ":man_pilot_dark_skin_tone:": ":man_pilot_tone5:", ":man_pilot_light_skin_tone:": ":man_pilot_tone1:", ":man_pilot_medium_dark_skin_tone:": ":man_pilot_tone4:", ":man_pilot_medium_light_skin_tone:": ":man_pilot_tone2:", ":man_pilot_medium_skin_tone:": ":man_pilot_tone3:", ":man_playing_handball_dark_skin_tone:": ":man_playing_handball_tone5:", ":man_playing_handball_light_skin_tone:": ":man_playing_handball_tone1:", ":man_playing_handball_medium_dark_skin_tone:": ":man_playing_handball_tone4:", ":man_playing_handball_medium_light_skin_tone:": ":man_playing_handball_tone2:", ":man_playing_handball_medium_skin_tone:": ":man_playing_handball_tone3:", ":man_playing_water_polo_dark_skin_tone:": ":man_playing_water_polo_tone5:", ":man_playing_water_polo_light_skin_tone:": ":man_playing_water_polo_tone1:", ":man_playing_water_polo_medium_dark_skin_tone:": ":man_playing_water_polo_tone4:", ":man_playing_water_polo_medium_light_skin_tone:": ":man_playing_water_polo_tone2:", ":man_playing_water_polo_medium_skin_tone:": ":man_playing_water_polo_tone3:", ":man_police_officer_dark_skin_tone:": ":man_police_officer_tone5:", ":man_police_officer_light_skin_tone:": ":man_police_officer_tone1:", ":man_police_officer_medium_dark_skin_tone:": ":man_police_officer_tone4:", ":man_police_officer_medium_light_skin_tone:": ":man_police_officer_tone2:", ":man_police_officer_medium_skin_tone:": ":man_police_officer_tone3:", ":man_pouting_dark_skin_tone:": ":man_pouting_tone5:", ":man_pouting_light_skin_tone:": ":man_pouting_tone1:", ":man_pouting_medium_dark_skin_tone:": ":man_pouting_tone4:", ":man_pouting_medium_light_skin_tone:": ":man_pouting_tone2:", ":man_pouting_medium_skin_tone:": ":man_pouting_tone3:", ":man_raising_hand_dark_skin_tone:": ":man_raising_hand_tone5:", ":man_raising_hand_light_skin_tone:": ":man_raising_hand_tone1:", ":man_raising_hand_medium_dark_skin_tone:": ":man_raising_hand_tone4:", ":man_raising_hand_medium_light_skin_tone:": ":man_raising_hand_tone2:", ":man_raising_hand_medium_skin_tone:": ":man_raising_hand_tone3:", ":man_red_hair:": ":man_red_haired:", ":man_red_haired_dark_skin_tone:": ":man_red_haired_tone5:", ":man_red_haired_light_skin_tone:": ":man_red_haired_tone1:", ":man_red_haired_medium_dark_skin_tone:": ":man_red_haired_tone4:", ":man_red_haired_medium_light_skin_tone:": ":man_red_haired_tone2:", ":man_red_haired_medium_skin_tone:": ":man_red_haired_tone3:", ":man_rowing_boat_dark_skin_tone:": ":man_rowing_boat_tone5:", ":man_rowing_boat_light_skin_tone:": ":man_rowing_boat_tone1:", ":man_rowing_boat_medium_dark_skin_tone:": ":man_rowing_boat_tone4:", ":man_rowing_boat_medium_light_skin_tone:": ":man_rowing_boat_tone2:", ":man_rowing_boat_medium_skin_tone:": ":man_rowing_boat_tone3:", ":man_running_dark_skin_tone:": ":man_running_tone5:", ":man_running_light_skin_tone:": ":man_running_tone1:", ":man_running_medium_dark_skin_tone:": ":man_running_tone4:", ":man_running_medium_light_skin_tone:": ":man_running_tone2:", ":man_running_medium_skin_tone:": ":man_running_tone3:", ":man_scientist_dark_skin_tone:": ":man_scientist_tone5:", ":man_scientist_light_skin_tone:": ":man_scientist_tone1:", ":man_scientist_medium_dark_skin_tone:": ":man_scientist_tone4:", ":man_scientist_medium_light_skin_tone:": ":man_scientist_tone2:", ":man_scientist_medium_skin_tone:": ":man_scientist_tone3:", ":man_shrugging_dark_skin_tone:": ":man_shrugging_tone5:", ":man_shrugging_light_skin_tone:": ":man_shrugging_tone1:", ":man_shrugging_medium_dark_skin_tone:": ":man_shrugging_tone4:", ":man_shrugging_medium_light_skin_tone:": ":man_shrugging_tone2:", ":man_shrugging_medium_skin_tone:": ":man_shrugging_tone3:", ":man_singer_dark_skin_tone:": ":man_singer_tone5:", ":man_singer_light_skin_tone:": ":man_singer_tone1:", ":man_singer_medium_dark_skin_tone:": ":man_singer_tone4:", ":man_singer_medium_light_skin_tone:": ":man_singer_tone2:", ":man_singer_medium_skin_tone:": ":man_singer_tone3:", ":man_standing_dark_skin_tone:": ":man_standing_tone5:", ":man_standing_light_skin_tone:": ":man_standing_tone1:", ":man_standing_medium_dark_skin_tone:": ":man_standing_tone4:", ":man_standing_medium_light_skin_tone:": ":man_standing_tone2:", ":man_standing_medium_skin_tone:": ":man_standing_tone3:", ":man_student_dark_skin_tone:": ":man_student_tone5:", ":man_student_light_skin_tone:": ":man_student_tone1:", ":man_student_medium_dark_skin_tone:": ":man_student_tone4:", ":man_student_medium_light_skin_tone:": ":man_student_tone2:", ":man_student_medium_skin_tone:": ":man_student_tone3:", ":man_superhero_dark_skin_tone:": ":man_superhero_tone5:", ":man_superhero_light_skin_tone:": ":man_superhero_tone1:", ":man_superhero_medium_dark_skin_tone:": ":man_superhero_tone4:", ":man_superhero_medium_light_skin_tone:": ":man_superhero_tone2:", ":man_superhero_medium_skin_tone:": ":man_superhero_tone3:", ":man_supervillain_dark_skin_tone:": ":man_supervillain_tone5:", ":man_supervillain_light_skin_tone:": ":man_supervillain_tone1:", ":man_supervillain_medium_dark_skin_tone:": ":man_supervillain_tone4:", ":man_supervillain_medium_light_skin_tone:": ":man_supervillain_tone2:", ":man_supervillain_medium_skin_tone:": ":man_supervillain_tone3:", ":man_surfing_dark_skin_tone:": ":man_surfing_tone5:", ":man_surfing_light_skin_tone:": ":man_surfing_tone1:", ":man_surfing_medium_dark_skin_tone:": ":man_surfing_tone4:", ":man_surfing_medium_light_skin_tone:": ":man_surfing_tone2:", ":man_surfing_medium_skin_tone:": ":man_surfing_tone3:", ":man_swimming_dark_skin_tone:": ":man_swimming_tone5:", ":man_swimming_light_skin_tone:": ":man_swimming_tone1:", ":man_swimming_medium_dark_skin_tone:": ":man_swimming_tone4:", ":man_swimming_medium_light_skin_tone:": ":man_swimming_tone2:", ":man_swimming_medium_skin_tone:": ":man_swimming_tone3:", ":man_teacher_dark_skin_tone:": ":man_teacher_tone5:", ":man_teacher_light_skin_tone:": ":man_teacher_tone1:", ":man_teacher_medium_dark_skin_tone:": ":man_teacher_tone4:", ":man_teacher_medium_light_skin_tone:": ":man_teacher_tone2:", ":man_teacher_medium_skin_tone:": ":man_teacher_tone3:", ":man_technologist_dark_skin_tone:": ":man_technologist_tone5:", ":man_technologist_light_skin_tone:": ":man_technologist_tone1:", ":man_technologist_medium_dark_skin_tone:": ":man_technologist_tone4:", ":man_technologist_medium_light_skin_tone:": ":man_technologist_tone2:", ":man_technologist_medium_skin_tone:": ":man_technologist_tone3:", ":man_tipping_hand_dark_skin_tone:": ":man_tipping_hand_tone5:", ":man_tipping_hand_light_skin_tone:": ":man_tipping_hand_tone1:", ":man_tipping_hand_medium_dark_skin_tone:": ":man_tipping_hand_tone4:", ":man_tipping_hand_medium_light_skin_tone:": ":man_tipping_hand_tone2:", ":man_tipping_hand_medium_skin_tone:": ":man_tipping_hand_tone3:", ":man_vampire_dark_skin_tone:": ":man_vampire_tone5:", ":man_vampire_light_skin_tone:": ":man_vampire_tone1:", ":man_vampire_medium_dark_skin_tone:": ":man_vampire_tone4:", ":man_vampire_medium_light_skin_tone:": ":man_vampire_tone2:", ":man_vampire_medium_skin_tone:": ":man_vampire_tone3:", ":man_walking_dark_skin_tone:": ":man_walking_tone5:", ":man_walking_light_skin_tone:": ":man_walking_tone1:", ":man_walking_medium_dark_skin_tone:": ":man_walking_tone4:", ":man_walking_medium_light_skin_tone:": ":man_walking_tone2:", ":man_walking_medium_skin_tone:": ":man_walking_tone3:", ":man_wearing_turban_dark_skin_tone:": ":man_wearing_turban_tone5:", ":man_wearing_turban_light_skin_tone:": ":man_wearing_turban_tone1:", ":man_wearing_turban_medium_dark_skin_tone:": ":man_wearing_turban_tone4:", ":man_wearing_turban_medium_light_skin_tone:": ":man_wearing_turban_tone2:", ":man_wearing_turban_medium_skin_tone:": ":man_wearing_turban_tone3:", ":man_white_haired_dark_skin_tone:": ":man_white_haired_tone5:", ":man_white_haired_light_skin_tone:": ":man_white_haired_tone1:", ":man_white_haired_medium_dark_skin_tone:": ":man_white_haired_tone4:", ":man_white_haired_medium_light_skin_tone:": ":man_white_haired_tone2:", ":man_white_haired_medium_skin_tone:": ":man_white_haired_tone3:", ":man_with_gua_pi_mao:": ":man_with_chinese_cap:", ":man_with_gua_pi_mao_tone1:": ":man_with_chinese_cap_tone1:", ":man_with_gua_pi_mao_tone2:": ":man_with_chinese_cap_tone2:", ":man_with_gua_pi_mao_tone3:": ":man_with_chinese_cap_tone3:", ":man_with_gua_pi_mao_tone4:": ":man_with_chinese_cap_tone4:", ":man_with_gua_pi_mao_tone5:": ":man_with_chinese_cap_tone5:", ":man_with_probing_cane_dark_skin_tone:": ":man_with_probing_cane_tone5:", ":man_with_probing_cane_light_skin_tone:": ":man_with_probing_cane_tone1:", ":man_with_probing_cane_medium_dark_skin_tone:": ":man_with_probing_cane_tone4:", ":man_with_probing_cane_medium_light_skin_tone:": ":man_with_probing_cane_tone2:", ":man_with_probing_cane_medium_skin_tone:": ":man_with_probing_cane_tone3:", ":man_with_turban:": ":person_wearing_turban:", ":man_with_turban_tone1:": ":person_wearing_turban_tone1:", ":man_with_turban_tone2:": ":person_wearing_turban_tone2:", ":man_with_turban_tone3:": ":person_wearing_turban_tone3:", ":man_with_turban_tone4:": ":person_wearing_turban_tone4:", ":man_with_turban_tone5:": ":person_wearing_turban_tone5:", ":man_with_veil_dark_skin_tone:": ":man_with_veil_tone5:", ":man_with_veil_light_skin_tone:": ":man_with_veil_tone1:", ":man_with_veil_medium_dark_skin_tone:": ":man_with_veil_tone4:", ":man_with_veil_medium_light_skin_tone:": ":man_with_veil_tone2:", ":man_with_veil_medium_skin_tone:": ":man_with_veil_tone3:", ":mantlepiece_clock:": ":clock:", ":map_of_japan:": ":japan:", ":massage:": ":person_getting_massage:", ":massage_tone1:": ":person_getting_massage_tone1:", ":massage_tone2:": ":person_getting_massage_tone2:", ":massage_tone3:": ":person_getting_massage_tone3:", ":massage_tone4:": ":person_getting_massage_tone4:", ":massage_tone5:": ":person_getting_massage_tone5:", ":mc:": ":flag_mc:", ":md:": ":flag_md:", ":me:": ":flag_me:", ":mechanic_dark_skin_tone:": ":mechanic_tone5:", ":mechanic_light_skin_tone:": ":mechanic_tone1:", ":mechanic_medium_dark_skin_tone:": ":mechanic_tone4:", ":mechanic_medium_light_skin_tone:": ":mechanic_tone2:", ":mechanic_medium_skin_tone:": ":mechanic_tone3:", ":megaphone:": ":mega:", ":memo:": ":pencil:", ":men_holding_hands_dark_skin_tone:": ":men_holding_hands_tone5:", ":men_holding_hands_dark_skin_tone_light_skin_tone:": ":men_holding_hands_tone5_tone1:", ":men_holding_hands_dark_skin_tone_medium_dark_skin_tone:": ":men_holding_hands_tone5_tone4:", ":men_holding_hands_dark_skin_tone_medium_light_skin_tone:": ":men_holding_hands_tone5_tone2:", ":men_holding_hands_dark_skin_tone_medium_skin_tone:": ":men_holding_hands_tone5_tone3:", ":men_holding_hands_light_skin_tone:": ":men_holding_hands_tone1:", ":men_holding_hands_light_skin_tone_dark_skin_tone:": ":men_holding_hands_tone1_tone5:", ":men_holding_hands_light_skin_tone_medium_dark_skin_tone:": ":men_holding_hands_tone1_tone4:", ":men_holding_hands_light_skin_tone_medium_light_skin_tone:": ":men_holding_hands_tone1_tone2:", ":men_holding_hands_light_skin_tone_medium_skin_tone:": ":men_holding_hands_tone1_tone3:", ":men_holding_hands_medium_dark_skin_tone:": ":men_holding_hands_tone4:", ":men_holding_hands_medium_dark_skin_tone_dark_skin_tone:": ":men_holding_hands_tone4_tone5:", ":men_holding_hands_medium_dark_skin_tone_light_skin_tone:": ":men_holding_hands_tone4_tone1:", ":men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:": ":men_holding_hands_tone4_tone2:", ":men_holding_hands_medium_dark_skin_tone_medium_skin_tone:": ":men_holding_hands_tone4_tone3:", ":men_holding_hands_medium_light_skin_tone:": ":men_holding_hands_tone2:", ":men_holding_hands_medium_light_skin_tone_dark_skin_tone:": ":men_holding_hands_tone2_tone5:", ":men_holding_hands_medium_light_skin_tone_light_skin_tone:": ":men_holding_hands_tone2_tone1:", ":men_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:": ":men_holding_hands_tone2_tone4:", ":men_holding_hands_medium_light_skin_tone_medium_skin_tone:": ":men_holding_hands_tone2_tone3:", ":men_holding_hands_medium_skin_tone:": ":men_holding_hands_tone3:", ":men_holding_hands_medium_skin_tone_dark_skin_tone:": ":men_holding_hands_tone3_tone5:", ":men_holding_hands_medium_skin_tone_light_skin_tone:": ":men_holding_hands_tone3_tone1:", ":men_holding_hands_medium_skin_tone_medium_dark_skin_tone:": ":men_holding_hands_tone3_tone4:", ":men_holding_hands_medium_skin_tone_medium_light_skin_tone:": ":men_holding_hands_tone3_tone2:", ":mens_room:": ":mens:", ":mermaid_dark_skin_tone:": ":mermaid_tone5:", ":mermaid_light_skin_tone:": ":mermaid_tone1:", ":mermaid_medium_dark_skin_tone:": ":mermaid_tone4:", ":mermaid_medium_light_skin_tone:": ":mermaid_tone2:", ":mermaid_medium_skin_tone:": ":mermaid_tone3:", ":merman_dark_skin_tone:": ":merman_tone5:", ":merman_light_skin_tone:": ":merman_tone1:", ":merman_medium_dark_skin_tone:": ":merman_tone4:", ":merman_medium_light_skin_tone:": ":merman_tone2:", ":merman_medium_skin_tone:": ":merman_tone3:", ":merperson_dark_skin_tone:": ":merperson_tone5:", ":merperson_light_skin_tone:": ":merperson_tone1:", ":merperson_medium_dark_skin_tone:": ":merperson_tone4:", ":merperson_medium_light_skin_tone:": ":merperson_tone2:", ":merperson_medium_skin_tone:": ":merperson_tone3:", ":mf:": ":flag_mf:", ":mg:": ":flag_mg:", ":mh:": ":flag_mh:", ":mk:": ":flag_mk:", ":ml:": ":flag_ml:", ":mm:": ":flag_mm:", ":mn:": ":flag_mn:", ":mo:": ":flag_mo:", ":moai:": ":moyai:", ":money_bag:": ":moneybag:", ":money_mouth_face:": ":money_mouth:", ":mother_christmas:": ":mrs_claus:", ":mother_christmas_tone1:": ":mrs_claus_tone1:", ":mother_christmas_tone2:": ":mrs_claus_tone2:", ":mother_christmas_tone3:": ":mrs_claus_tone3:", ":mother_christmas_tone4:": ":mrs_claus_tone4:", ":mother_christmas_tone5:": ":mrs_claus_tone5:", ":motor_boat:": ":motorboat:", ":motorbike:": ":motor_scooter:", ":mountain_bicyclist:": ":person_mountain_biking:", ":mountain_bicyclist_tone1:": ":person_mountain_biking_tone1:", ":mountain_bicyclist_tone2:": ":person_mountain_biking_tone2:", ":mountain_bicyclist_tone3:": ":person_mountain_biking_tone3:", ":mountain_bicyclist_tone4:": ":person_mountain_biking_tone4:", ":mountain_bicyclist_tone5:": ":person_mountain_biking_tone5:", ":mouse_face:": ":mouse:", ":mouth:": ":lips:", ":mp:": ":flag_mp:", ":mq:": ":flag_mq:", ":mr:": ":flag_mr:", ":ms:": ":flag_ms:", ":mt:": ":flag_mt:", ":mu:": ":flag_mu:", ":musical_notes:": ":notes:", ":muted_speaker:": ":mute:", ":mv:": ":flag_mv:", ":mw:": ":flag_mw:", ":mx:": ":flag_mx:", ":mx_claus_dark_skin_tone:": ":mx_claus_tone5:", ":mx_claus_light_skin_tone:": ":mx_claus_tone1:", ":mx_claus_medium_dark_skin_tone:": ":mx_claus_tone4:", ":mx_claus_medium_light_skin_tone:": ":mx_claus_tone2:", ":mx_claus_medium_skin_tone:": ":mx_claus_tone3:", ":my:": ":flag_my:", ":mz:": ":flag_mz:", ":na:": ":flag_na:", ":nail_polish:": ":nail_care:", ":national_park:": ":park:", ":nc:": ":flag_nc:", ":ne:": ":flag_ne:", ":nerd_face:": ":nerd:", ":new_moon_face:": ":new_moon_with_face:", ":next_track:": ":track_next:", ":nf:": ":flag_nf:", ":ni:": ":flag_ni:", ":nigeria:": ":flag_ng:", ":nine_oclock:": ":clock9:", ":nine_thirty:": ":clock930:", ":ninja_dark_skin_tone:": ":ninja_tone5:", ":ninja_light_skin_tone:": ":ninja_tone1:", ":ninja_medium_dark_skin_tone:": ":ninja_tone4:", ":ninja_medium_light_skin_tone:": ":ninja_tone2:", ":ninja_medium_skin_tone:": ":ninja_tone3:", ":nl:": ":flag_nl:", ":no:": ":flag_no:", ":no_good:": ":person_gesturing_no:", ":no_good_tone1:": ":person_gesturing_no_tone1:", ":no_good_tone2:": ":person_gesturing_no_tone2:", ":no_good_tone3:": ":person_gesturing_no_tone3:", ":no_good_tone4:": ":person_gesturing_no_tone4:", ":no_good_tone5:": ":person_gesturing_no_tone5:", ":no_littering:": ":do_not_litter:", ":np:": ":flag_np:", ":nr:": ":flag_nr:", ":nu:": ":flag_nu:", ":nz:": ":flag_nz:", ":office_worker_dark_skin_tone:": ":office_worker_tone5:", ":office_worker_light_skin_tone:": ":office_worker_tone1:", ":office_worker_medium_dark_skin_tone:": ":office_worker_tone4:", ":office_worker_medium_light_skin_tone:": ":office_worker_tone2:", ":office_worker_medium_skin_tone:": ":office_worker_tone3:", ":ogre:": ":japanese_ogre:", ":oil_drum:": ":oil:", ":ok_woman:": ":person_gesturing_ok:", ":ok_woman_tone1:": ":person_gesturing_ok_tone1:", ":ok_woman_tone2:": ":person_gesturing_ok_tone2:", ":ok_woman_tone3:": ":person_gesturing_ok_tone3:", ":ok_woman_tone4:": ":person_gesturing_ok_tone4:", ":ok_woman_tone5:": ":person_gesturing_ok_tone5:", ":old_key:": ":key2:", ":old_man:": ":older_man:", ":old_woman:": ":older_woman:", ":older_adult_dark_skin_tone:": ":older_adult_tone5:", ":older_adult_light_skin_tone:": ":older_adult_tone1:", ":older_adult_medium_dark_skin_tone:": ":older_adult_tone4:", ":older_adult_medium_light_skin_tone:": ":older_adult_tone2:", ":older_adult_medium_skin_tone:": ":older_adult_tone3:", ":older_person:": ":older_adult:", ":om:": ":flag_om:", ":on_arrow:": ":on:", ":oncoming_fist:": ":punch:", ":one_oclock:": ":clock1:", ":one_thirty:": ":clock130:", ":open_book:": ":book:", ":optical_disk:": ":cd:", ":pa:": ":flag_pa:", ":paella:": ":shallow_pan_of_food:", ":palm_down_hand_dark_skin_tone:": ":palm_down_hand_tone5:", ":palm_down_hand_light_skin_tone:": ":palm_down_hand_tone1:", ":palm_down_hand_medium_dark_skin_tone:": ":palm_down_hand_tone4:", ":palm_down_hand_medium_light_skin_tone:": ":palm_down_hand_tone2:", ":palm_down_hand_medium_skin_tone:": ":palm_down_hand_tone3:", ":palm_up_hand_dark_skin_tone:": ":palm_up_hand_tone5:", ":palm_up_hand_light_skin_tone:": ":palm_up_hand_tone1:", ":palm_up_hand_medium_dark_skin_tone:": ":palm_up_hand_tone4:", ":palm_up_hand_medium_light_skin_tone:": ":palm_up_hand_tone2:", ":palm_up_hand_medium_skin_tone:": ":palm_up_hand_tone3:", ":palms_up_together_dark_skin_tone:": ":palms_up_together_tone5:", ":palms_up_together_light_skin_tone:": ":palms_up_together_tone1:", ":palms_up_together_medium_dark_skin_tone:": ":palms_up_together_tone4:", ":palms_up_together_medium_light_skin_tone:": ":palms_up_together_tone2:", ":palms_up_together_medium_skin_tone:": ":palms_up_together_tone3:", ":panda:": ":panda_face:", ":party_popper:": ":tada:", ":passenger_ship:": ":cruise_ship:", ":paw_prints:": ":feet:", ":pe:": ":flag_pe:", ":peace_symbol:": ":peace:", ":pen:": ":pen_ballpoint:", ":pensive_face:": ":pensive:", ":people_holding_hands_dark_skin_tone:": ":people_holding_hands_tone5:", ":people_holding_hands_dark_skin_tone_light_skin_tone:": ":people_holding_hands_tone5_tone1:", ":people_holding_hands_dark_skin_tone_medium_dark_skin_tone:": ":people_holding_hands_tone5_tone4:", ":people_holding_hands_dark_skin_tone_medium_light_skin_tone:": ":people_holding_hands_tone5_tone2:", ":people_holding_hands_dark_skin_tone_medium_skin_tone:": ":people_holding_hands_tone5_tone3:", ":people_holding_hands_light_skin_tone:": ":people_holding_hands_tone1:", ":people_holding_hands_light_skin_tone_dark_skin_tone:": ":people_holding_hands_tone1_tone5:", ":people_holding_hands_light_skin_tone_medium_dark_skin_tone:": ":people_holding_hands_tone1_tone4:", ":people_holding_hands_light_skin_tone_medium_light_skin_tone:": ":people_holding_hands_tone1_tone2:", ":people_holding_hands_light_skin_tone_medium_skin_tone:": ":people_holding_hands_tone1_tone3:", ":people_holding_hands_medium_dark_skin_tone:": ":people_holding_hands_tone4:", ":people_holding_hands_medium_dark_skin_tone_dark_skin_tone:": ":people_holding_hands_tone4_tone5:", ":people_holding_hands_medium_dark_skin_tone_light_skin_tone:": ":people_holding_hands_tone4_tone1:", ":people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:": ":people_holding_hands_tone4_tone2:", ":people_holding_hands_medium_dark_skin_tone_medium_skin_tone:": ":people_holding_hands_tone4_tone3:", ":people_holding_hands_medium_light_skin_tone:": ":people_holding_hands_tone2:", ":people_holding_hands_medium_light_skin_tone_dark_skin_tone:": ":people_holding_hands_tone2_tone5:", ":people_holding_hands_medium_light_skin_tone_light_skin_tone:": ":people_holding_hands_tone2_tone1:", ":people_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:": ":people_holding_hands_tone2_tone4:", ":people_holding_hands_medium_light_skin_tone_medium_skin_tone:": ":people_holding_hands_tone2_tone3:", ":people_holding_hands_medium_skin_tone:": ":people_holding_hands_tone3:", ":people_holding_hands_medium_skin_tone_dark_skin_tone:": ":people_holding_hands_tone3_tone5:", ":people_holding_hands_medium_skin_tone_light_skin_tone:": ":people_holding_hands_tone3_tone1:", ":people_holding_hands_medium_skin_tone_medium_dark_skin_tone:": ":people_holding_hands_tone3_tone4:", ":people_holding_hands_medium_skin_tone_medium_light_skin_tone:": ":people_holding_hands_tone3_tone2:", ":person:": ":adult:", ":person_beard:": ":bearded_person:", ":person_climbing_dark_skin_tone:": ":person_climbing_tone5:", ":person_climbing_light_skin_tone:": ":person_climbing_tone1:", ":person_climbing_medium_dark_skin_tone:": ":person_climbing_tone4:", ":person_climbing_medium_light_skin_tone:": ":person_climbing_tone2:", ":person_climbing_medium_skin_tone:": ":person_climbing_tone3:", ":person_dark_skin_tone_bald:": ":person_tone5_bald:", ":person_dark_skin_tone_curly_hair:": ":person_tone5_curly_hair:", ":person_dark_skin_tone_red_hair:": ":person_tone5_red_hair:", ":person_dark_skin_tone_white_hair:": ":person_tone5_white_hair:", ":person_feeding_baby_dark_skin_tone:": ":person_feeding_baby_tone5:", ":person_feeding_baby_light_skin_tone:": ":person_feeding_baby_tone1:", ":person_feeding_baby_medium_dark_skin_tone:": ":person_feeding_baby_tone4:", ":person_feeding_baby_medium_light_skin_tone:": ":person_feeding_baby_tone2:", ":person_feeding_baby_medium_skin_tone:": ":person_feeding_baby_tone3:", ":person_golfing_dark_skin_tone:": ":person_golfing_tone5:", ":person_golfing_light_skin_tone:": ":person_golfing_tone1:", ":person_golfing_medium_dark_skin_tone:": ":person_golfing_tone4:", ":person_golfing_medium_light_skin_tone:": ":person_golfing_tone2:", ":person_golfing_medium_skin_tone:": ":person_golfing_tone3:", ":person_in_bed:": ":sleeping_accommodation:", ":person_in_bed_dark_skin_tone:": ":person_in_bed_tone5:", ":person_in_bed_light_skin_tone:": ":person_in_bed_tone1:", ":person_in_bed_medium_dark_skin_tone:": ":person_in_bed_tone4:", ":person_in_bed_medium_light_skin_tone:": ":person_in_bed_tone2:", ":person_in_bed_medium_skin_tone:": ":person_in_bed_tone3:", ":person_in_lotus_position_dark_skin_tone:": ":person_in_lotus_position_tone5:", ":person_in_lotus_position_light_skin_tone:": ":person_in_lotus_position_tone1:", ":person_in_lotus_position_medium_dark_skin_tone:": ":person_in_lotus_position_tone4:", ":person_in_lotus_position_medium_light_skin_tone:": ":person_in_lotus_position_tone2:", ":person_in_lotus_position_medium_skin_tone:": ":person_in_lotus_position_tone3:", ":person_in_manual_wheelchair_dark_skin_tone:": ":person_in_manual_wheelchair_tone5:", ":person_in_manual_wheelchair_light_skin_tone:": ":person_in_manual_wheelchair_tone1:", ":person_in_manual_wheelchair_medium_dark_skin_tone:": ":person_in_manual_wheelchair_tone4:", ":person_in_manual_wheelchair_medium_light_skin_tone:": ":person_in_manual_wheelchair_tone2:", ":person_in_manual_wheelchair_medium_skin_tone:": ":person_in_manual_wheelchair_tone3:", ":person_in_motorized_wheelchair_dark_skin_tone:": ":person_in_motorized_wheelchair_tone5:", ":person_in_motorized_wheelchair_light_skin_tone:": ":person_in_motorized_wheelchair_tone1:", ":person_in_motorized_wheelchair_medium_dark_skin_tone:": ":person_in_motorized_wheelchair_tone4:", ":person_in_motorized_wheelchair_medium_light_skin_tone:": ":person_in_motorized_wheelchair_tone2:", ":person_in_motorized_wheelchair_medium_skin_tone:": ":person_in_motorized_wheelchair_tone3:", ":person_in_steamy_room_dark_skin_tone:": ":person_in_steamy_room_tone5:", ":person_in_steamy_room_light_skin_tone:": ":person_in_steamy_room_tone1:", ":person_in_steamy_room_medium_dark_skin_tone:": ":person_in_steamy_room_tone4:", ":person_in_steamy_room_medium_light_skin_tone:": ":person_in_steamy_room_tone2:", ":person_in_steamy_room_medium_skin_tone:": ":person_in_steamy_room_tone3:", ":person_kneeling_dark_skin_tone:": ":person_kneeling_tone5:", ":person_kneeling_light_skin_tone:": ":person_kneeling_tone1:", ":person_kneeling_medium_dark_skin_tone:": ":person_kneeling_tone4:", ":person_kneeling_medium_light_skin_tone:": ":person_kneeling_tone2:", ":person_kneeling_medium_skin_tone:": ":person_kneeling_tone3:", ":person_light_skin_tone_bald:": ":person_tone1_bald:", ":person_light_skin_tone_curly_hair:": ":person_tone1_curly_hair:", ":person_light_skin_tone_red_hair:": ":person_tone1_red_hair:", ":person_light_skin_tone_white_hair:": ":person_tone1_white_hair:", ":person_medium_dark_skin_tone_bald:": ":person_tone4_bald:", ":person_medium_dark_skin_tone_curly_hair:": ":person_tone4_curly_hair:", ":person_medium_dark_skin_tone_red_hair:": ":person_tone4_red_hair:", ":person_medium_dark_skin_tone_white_hair:": ":person_tone4_white_hair:", ":person_medium_light_skin_tone_bald:": ":person_tone2_bald:", ":person_medium_light_skin_tone_curly_hair:": ":person_tone2_curly_hair:", ":person_medium_light_skin_tone_red_hair:": ":person_tone2_red_hair:", ":person_medium_light_skin_tone_white_hair:": ":person_tone2_white_hair:", ":person_medium_skin_tone_bald:": ":person_tone3_bald:", ":person_medium_skin_tone_curly_hair:": ":person_tone3_curly_hair:", ":person_medium_skin_tone_red_hair:": ":person_tone3_red_hair:", ":person_medium_skin_tone_white_hair:": ":person_tone3_white_hair:", ":person_standing_dark_skin_tone:": ":person_standing_tone5:", ":person_standing_light_skin_tone:": ":person_standing_tone1:", ":person_standing_medium_dark_skin_tone:": ":person_standing_tone4:", ":person_standing_medium_light_skin_tone:": ":person_standing_tone2:", ":person_standing_medium_skin_tone:": ":person_standing_tone3:", ":person_with_ball:": ":person_bouncing_ball:", ":person_with_ball_tone1:": ":person_bouncing_ball_tone1:", ":person_with_ball_tone2:": ":person_bouncing_ball_tone2:", ":person_with_ball_tone3:": ":person_bouncing_ball_tone3:", ":person_with_ball_tone4:": ":person_bouncing_ball_tone4:", ":person_with_ball_tone5:": ":person_bouncing_ball_tone5:", ":person_with_blond_hair:": ":blond_haired_person:", ":person_with_blond_hair_tone1:": ":blond_haired_person_tone1:", ":person_with_blond_hair_tone2:": ":blond_haired_person_tone2:", ":person_with_blond_hair_tone3:": ":blond_haired_person_tone3:", ":person_with_blond_hair_tone4:": ":blond_haired_person_tone4:", ":person_with_blond_hair_tone5:": ":blond_haired_person_tone5:", ":person_with_crown_dark_skin_tone:": ":person_with_crown_tone5:", ":person_with_crown_light_skin_tone:": ":person_with_crown_tone1:", ":person_with_crown_medium_dark_skin_tone:": ":person_with_crown_tone4:", ":person_with_crown_medium_light_skin_tone:": ":person_with_crown_tone2:", ":person_with_crown_medium_skin_tone:": ":person_with_crown_tone3:", ":person_with_pouting_face:": ":person_pouting:", ":person_with_pouting_face_tone1:": ":person_pouting_tone1:", ":person_with_pouting_face_tone2:": ":person_pouting_tone2:", ":person_with_pouting_face_tone3:": ":person_pouting_tone3:", ":person_with_pouting_face_tone4:": ":person_pouting_tone4:", ":person_with_pouting_face_tone5:": ":person_pouting_tone5:", ":person_with_probing_cane_dark_skin_tone:": ":person_with_probing_cane_tone5:", ":person_with_probing_cane_light_skin_tone:": ":person_with_probing_cane_tone1:", ":person_with_probing_cane_medium_dark_skin_tone:": ":person_with_probing_cane_tone4:", ":person_with_probing_cane_medium_light_skin_tone:": ":person_with_probing_cane_tone2:", ":person_with_probing_cane_medium_skin_tone:": ":person_with_probing_cane_tone3:", ":pf:": ":flag_pf:", ":pg:": ":flag_pg:", ":ph:": ":flag_ph:", ":pig_face:": ":pig:", ":pile_of_poo:": ":poop:", ":pilot_dark_skin_tone:": ":pilot_tone5:", ":pilot_light_skin_tone:": ":pilot_tone1:", ":pilot_medium_dark_skin_tone:": ":pilot_tone4:", ":pilot_medium_light_skin_tone:": ":pilot_tone2:", ":pilot_medium_skin_tone:": ":pilot_tone3:", ":pinched_fingers_dark_skin_tone:": ":pinched_fingers_tone5:", ":pinched_fingers_light_skin_tone:": ":pinched_fingers_tone1:", ":pinched_fingers_medium_dark_skin_tone:": ":pinched_fingers_tone4:", ":pinched_fingers_medium_light_skin_tone:": ":pinched_fingers_tone2:", ":pinched_fingers_medium_skin_tone:": ":pinched_fingers_tone3:", ":pinching_hand_dark_skin_tone:": ":pinching_hand_tone5:", ":pinching_hand_light_skin_tone:": ":pinching_hand_tone1:", ":pinching_hand_medium_dark_skin_tone:": ":pinching_hand_tone4:", ":pinching_hand_medium_light_skin_tone:": ":pinching_hand_tone2:", ":pinching_hand_medium_skin_tone:": ":pinching_hand_tone3:", ":pistol:": ":gun:", ":pk:": ":flag_pk:", ":pl:": ":flag_pl:", ":pm:": ":flag_pm:", ":pn:": ":flag_pn:", ":poo:": ":poop:", ":pot_of_food:": ":stew:", ":pouting_face:": ":rage:", ":pr:": ":flag_pr:", ":pregnant_man_dark_skin_tone:": ":pregnant_man_tone5:", ":pregnant_man_light_skin_tone:": ":pregnant_man_tone1:", ":pregnant_man_medium_dark_skin_tone:": ":pregnant_man_tone4:", ":pregnant_man_medium_light_skin_tone:": ":pregnant_man_tone2:", ":pregnant_man_medium_skin_tone:": ":pregnant_man_tone3:", ":pregnant_person_dark_skin_tone:": ":pregnant_person_tone5:", ":pregnant_person_light_skin_tone:": ":pregnant_person_tone1:", ":pregnant_person_medium_dark_skin_tone:": ":pregnant_person_tone4:", ":pregnant_person_medium_light_skin_tone:": ":pregnant_person_tone2:", ":pregnant_person_medium_skin_tone:": ":pregnant_person_tone3:", ":previous_track:": ":track_previous:", ":prohibited:": ":no_entry_sign:", ":ps:": ":flag_ps:", ":pt:": ":flag_pt:", ":pudding:": ":custard:", ":puzzle_piece:": ":jigsaw:", ":pw:": ":flag_pw:", ":py:": ":flag_py:", ":qa:": ":flag_qa:", ":question_mark:": ":question:", ":rabbit_face:": ":rabbit:", ":racing_car:": ":race_car:", ":racing_motorcycle:": ":motorcycle:", ":radioactive_sign:": ":radioactive:", ":railroad_track:": ":railway_track:", ":raised_fist:": ":fist:", ":raised_hand_with_fingers_splayed:": ":hand_splayed:", ":raised_hand_with_fingers_splayed_tone1:": ":hand_splayed_tone1:", ":raised_hand_with_fingers_splayed_tone2:": ":hand_splayed_tone2:", ":raised_hand_with_fingers_splayed_tone3:": ":hand_splayed_tone3:", ":raised_hand_with_fingers_splayed_tone4:": ":hand_splayed_tone4:", ":raised_hand_with_fingers_splayed_tone5:": ":hand_splayed_tone5:", ":raised_hand_with_part_between_middle_and_ring_fingers:": ":vulcan:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone1:": ":vulcan_tone1:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone2:": ":vulcan_tone2:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone3:": ":vulcan_tone3:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone4:": ":vulcan_tone4:", ":raised_hand_with_part_between_middle_and_ring_fingers_tone5:": ":vulcan_tone5:", ":raising_hand:": ":person_raising_hand:", ":raising_hand_tone1:": ":person_raising_hand_tone1:", ":raising_hand_tone2:": ":person_raising_hand_tone2:", ":raising_hand_tone3:": ":person_raising_hand_tone3:", ":raising_hand_tone4:": ":person_raising_hand_tone4:", ":raising_hand_tone5:": ":person_raising_hand_tone5:", ":raising_hands:": ":raised_hands:", ":re:": ":flag_re:", ":red_apple:": ":apple:", ":red_hair:": ":red_haired:", ":red_heart:": ":heart:", ":relieved_face:": ":relieved:", ":reversed_hand_with_middle_finger_extended:": ":middle_finger:", ":reversed_hand_with_middle_finger_extended_tone1:": ":middle_finger_tone1:", ":reversed_hand_with_middle_finger_extended_tone2:": ":middle_finger_tone2:", ":reversed_hand_with_middle_finger_extended_tone3:": ":middle_finger_tone3:", ":reversed_hand_with_middle_finger_extended_tone4:": ":middle_finger_tone4:", ":reversed_hand_with_middle_finger_extended_tone5:": ":middle_finger_tone5:", ":rhinoceros:": ":rhino:", ":right_anger_bubble:": ":anger_right:", ":right_arrow:": ":arrow_right:", ":right_fist:": ":right_facing_fist:", ":right_fist_tone1:": ":right_facing_fist_tone1:", ":right_fist_tone2:": ":right_facing_fist_tone2:", ":right_fist_tone3:": ":right_facing_fist_tone3:", ":right_fist_tone4:": ":right_facing_fist_tone4:", ":right_fist_tone5:": ":right_facing_fist_tone5:", ":rightwards_hand_dark_skin_tone:": ":rightwards_hand_tone5:", ":rightwards_hand_light_skin_tone:": ":rightwards_hand_tone1:", ":rightwards_hand_medium_dark_skin_tone:": ":rightwards_hand_tone4:", ":rightwards_hand_medium_light_skin_tone:": ":rightwards_hand_tone2:", ":rightwards_hand_medium_skin_tone:": ":rightwards_hand_tone3:", ":rightwards_pushing_hand_dark_skin_tone:": ":rightwards_pushing_hand_tone5:", ":rightwards_pushing_hand_light_skin_tone:": ":rightwards_pushing_hand_tone1:", ":rightwards_pushing_hand_medium_dark_skin_tone:": ":rightwards_pushing_hand_tone4:", ":rightwards_pushing_hand_medium_light_skin_tone:": ":rightwards_pushing_hand_tone2:", ":rightwards_pushing_hand_medium_skin_tone:": ":rightwards_pushing_hand_tone3:", ":ro:": ":flag_ro:", ":robot_face:": ":robot:", ":rolled_up_newspaper:": ":newspaper2:", ":rolling_on_the_floor_laughing:": ":rofl:", ":rowboat:": ":person_rowing_boat:", ":rowboat_tone1:": ":person_rowing_boat_tone1:", ":rowboat_tone2:": ":person_rowing_boat_tone2:", ":rowboat_tone3:": ":person_rowing_boat_tone3:", ":rowboat_tone4:": ":person_rowing_boat_tone4:", ":rowboat_tone5:": ":person_rowing_boat_tone5:", ":rs:": ":flag_rs:", ":ru:": ":flag_ru:", ":runner:": ":person_running:", ":runner_tone1:": ":person_running_tone1:", ":runner_tone2:": ":person_running_tone2:", ":runner_tone3:": ":person_running_tone3:", ":runner_tone4:": ":person_running_tone4:", ":runner_tone5:": ":person_running_tone5:", ":running_shirt:": ":running_shirt_with_sash:", ":running_shoe:": ":athletic_shoe:", ":rw:": ":flag_rw:", ":santa_claus:": ":santa:", ":satisfied:": ":laughing:", ":saudi:": ":flag_sa:", ":saudiarabia:": ":flag_sa:", ":sb:": ":flag_sb:", ":sc:": ":flag_sc:", ":scientist_dark_skin_tone:": ":scientist_tone5:", ":scientist_light_skin_tone:": ":scientist_tone1:", ":scientist_medium_dark_skin_tone:": ":scientist_tone4:", ":scientist_medium_light_skin_tone:": ":scientist_tone2:", ":scientist_medium_skin_tone:": ":scientist_tone3:", ":scorpio:": ":scorpius:", ":sd:": ":flag_sd:", ":se:": ":flag_se:", ":second_place_medal:": ":second_place:", ":seven_oclock:": ":clock7:", ":seven_thirty:": ":clock730:", ":sg:": ":flag_sg:", ":sh:": ":flag_sh:", ":shaking_hands:": ":handshake:", ":sheaf_of_rice:": ":ear_of_rice:", ":shelled_peanut:": ":peanuts:", ":shit:": ":poop:", ":shooting_star:": ":stars:", ":shopping_trolley:": ":shopping_cart:", ":shortcake:": ":cake:", ":shrug:": ":person_shrugging:", ":shrug_tone1:": ":person_shrugging_tone1:", ":shrug_tone2:": ":person_shrugging_tone2:", ":shrug_tone3:": ":person_shrugging_tone3:", ":shrug_tone4:": ":person_shrugging_tone4:", ":shrug_tone5:": ":person_shrugging_tone5:", ":si:": ":flag_si:", ":sick:": ":nauseated_face:", ":sign_of_the_horns:": ":metal:", ":sign_of_the_horns_tone1:": ":metal_tone1:", ":sign_of_the_horns_tone2:": ":metal_tone2:", ":sign_of_the_horns_tone3:": ":metal_tone3:", ":sign_of_the_horns_tone4:": ":metal_tone4:", ":sign_of_the_horns_tone5:": ":metal_tone5:", ":singer_dark_skin_tone:": ":singer_tone5:", ":singer_light_skin_tone:": ":singer_tone1:", ":singer_medium_dark_skin_tone:": ":singer_tone4:", ":singer_medium_light_skin_tone:": ":singer_tone2:", ":singer_medium_skin_tone:": ":singer_tone3:", ":six_oclock:": ":clock6:", ":six_thirty:": ":clock630:", ":sj:": ":flag_sj:", ":sk:": ":flag_sk:", ":skeleton:": ":skull:", ":skis:": ":ski:", ":skull_and_crossbones:": ":skull_crossbones:", ":sl:": ":flag_sl:", ":sleeping_face:": ":sleeping:", ":sleepy_face:": ":sleepy:", ":sleuth_or_spy:": ":detective:", ":sleuth_or_spy_tone1:": ":detective_tone1:", ":sleuth_or_spy_tone2:": ":detective_tone2:", ":sleuth_or_spy_tone3:": ":detective_tone3:", ":sleuth_or_spy_tone4:": ":detective_tone4:", ":sleuth_or_spy_tone5:": ":detective_tone5:", ":slightly_frowning_face:": ":slight_frown:", ":slightly_smiling_face:": ":slight_smile:", ":sm:": ":flag_sm:", ":small_airplane:": ":airplane_small:", ":smiling_face:": ":relaxed:", ":smirking_face:": ":smirk:", ":sn:": ":flag_sn:", ":sneeze:": ":sneezing_face:", ":snow_capped_mountain:": ":mountain_snow:", ":snowboarder_dark_skin_tone:": ":snowboarder_tone5:", ":snowboarder_light_skin_tone:": ":snowboarder_tone1:", ":snowboarder_medium_dark_skin_tone:": ":snowboarder_tone4:", ":snowboarder_medium_light_skin_tone:": ":snowboarder_tone2:", ":snowboarder_medium_skin_tone:": ":snowboarder_tone3:", ":so:": ":flag_so:", ":soccer_ball:": ":soccer:", ":soon_arrow:": ":soon:", ":spade_suit:": ":spades:", ":speaking_head_in_silhouette:": ":speaking_head:", ":spiral_calendar_pad:": ":calendar_spiral:", ":spiral_note_pad:": ":notepad_spiral:", ":spiral_shell:": ":shell:", ":sports_medal:": ":medal:", ":spy:": ":detective:", ":spy_tone1:": ":detective_tone1:", ":spy_tone2:": ":detective_tone2:", ":spy_tone3:": ":detective_tone3:", ":spy_tone4:": ":detective_tone4:", ":spy_tone5:": ":detective_tone5:", ":sr:": ":flag_sr:", ":ss:": ":flag_ss:", ":st:": ":flag_st:", ":steaming_bowl:": ":ramen:", ":stop_sign:": ":octagonal_sign:", ":student_dark_skin_tone:": ":student_tone5:", ":student_light_skin_tone:": ":student_tone1:", ":student_medium_dark_skin_tone:": ":student_tone4:", ":student_medium_light_skin_tone:": ":student_tone2:", ":student_medium_skin_tone:": ":student_tone3:", ":studio_microphone:": ":microphone2:", ":stuffed_pita:": ":stuffed_flatbread:", ":sun:": ":sunny:", ":sunset:": ":city_sunset:", ":superhero_dark_skin_tone:": ":superhero_tone5:", ":superhero_light_skin_tone:": ":superhero_tone1:", ":superhero_medium_dark_skin_tone:": ":superhero_tone4:", ":superhero_medium_light_skin_tone:": ":superhero_tone2:", ":superhero_medium_skin_tone:": ":superhero_tone3:", ":supervillain_dark_skin_tone:": ":supervillain_tone5:", ":supervillain_light_skin_tone:": ":supervillain_tone1:", ":supervillain_medium_dark_skin_tone:": ":supervillain_tone4:", ":supervillain_medium_light_skin_tone:": ":supervillain_tone2:", ":supervillain_medium_skin_tone:": ":supervillain_tone3:", ":surfer:": ":person_surfing:", ":surfer_tone1:": ":person_surfing_tone1:", ":surfer_tone2:": ":person_surfing_tone2:", ":surfer_tone3:": ":person_surfing_tone3:", ":surfer_tone4:": ":person_surfing_tone4:", ":surfer_tone5:": ":person_surfing_tone5:", ":sv:": ":flag_sv:", ":swimmer:": ":person_swimming:", ":swimmer_tone1:": ":person_swimming_tone1:", ":swimmer_tone2:": ":person_swimming_tone2:", ":swimmer_tone3:": ":person_swimming_tone3:", ":swimmer_tone4:": ":person_swimming_tone4:", ":swimmer_tone5:": ":person_swimming_tone5:", ":sx:": ":flag_sx:", ":sy:": ":flag_sy:", ":sz:": ":flag_sz:", ":t_shirt:": ":shirt:", ":ta:": ":flag_ta:", ":table_tennis:": ":ping_pong:", ":tc:": ":flag_tc:", ":td:": ":flag_td:", ":teacher_dark_skin_tone:": ":teacher_tone5:", ":teacher_light_skin_tone:": ":teacher_tone1:", ":teacher_medium_dark_skin_tone:": ":teacher_tone4:", ":teacher_medium_light_skin_tone:": ":teacher_tone2:", ":teacher_medium_skin_tone:": ":teacher_tone3:", ":technologist_dark_skin_tone:": ":technologist_tone5:", ":technologist_light_skin_tone:": ":technologist_tone1:", ":technologist_medium_dark_skin_tone:": ":technologist_tone4:", ":technologist_medium_light_skin_tone:": ":technologist_tone2:", ":technologist_medium_skin_tone:": ":technologist_tone3:", ":television:": ":tv:", ":ten_oclock:": ":clock10:", ":ten_thirty:": ":clock1030:", ":tf:": ":flag_tf:", ":tg:": ":flag_tg:", ":th:": ":flag_th:", ":thinking_face:": ":thinking:", ":third_place_medal:": ":third_place:", ":three_button_mouse:": ":mouse_three_button:", ":three_oclock:": ":clock3:", ":three_thirty:": ":clock330:", ":thumbdown:": ":thumbsdown:", ":thumbdown_tone1:": ":thumbsdown_tone1:", ":thumbdown_tone2:": ":thumbsdown_tone2:", ":thumbdown_tone3:": ":thumbsdown_tone3:", ":thumbdown_tone4:": ":thumbsdown_tone4:", ":thumbdown_tone5:": ":thumbsdown_tone5:", ":thumbs_down:": ":thumbsdown:", ":thumbs_up:": ":thumbsup:", ":thumbup:": ":thumbsup:", ":thumbup_tone1:": ":thumbsup_tone1:", ":thumbup_tone2:": ":thumbsup_tone2:", ":thumbup_tone3:": ":thumbsup_tone3:", ":thumbup_tone4:": ":thumbsup_tone4:", ":thumbup_tone5:": ":thumbsup_tone5:", ":thunder_cloud_and_rain:": ":thunder_cloud_rain:", ":tiger_face:": ":tiger:", ":timer_clock:": ":timer:", ":tj:": ":flag_tj:", ":tk:": ":flag_tk:", ":tl:": ":flag_tl:", ":tn:": ":flag_tn:", ":to:": ":flag_to:", ":top_arrow:": ":top:", ":top_hat:": ":tophat:", ":tornado:": ":cloud_tornado:", ":tr:": ":flag_tr:", ":trade_mark:": ":tm:", ":tram_car:": ":train:", ":tt:": ":flag_tt:", ":turkmenistan:": ":flag_tm:", ":tuvalu:": ":flag_tv:", ":tuxedo_tone1:": ":person_in_tuxedo_tone1:", ":tuxedo_tone2:": ":person_in_tuxedo_tone2:", ":tuxedo_tone3:": ":person_in_tuxedo_tone3:", ":tuxedo_tone4:": ":person_in_tuxedo_tone4:", ":tuxedo_tone5:": ":person_in_tuxedo_tone5:", ":tw:": ":flag_tw:", ":twelve_oclock:": ":clock12:", ":twelve_thirty:": ":clock1230:", ":two_oclock:": ":clock2:", ":two_thirty:": ":clock230:", ":tz:": ":flag_tz:", ":ua:": ":flag_ua:", ":ug:": ":flag_ug:", ":um:": ":flag_um:", ":umbrella_on_ground:": ":beach_umbrella:", ":unamused_face:": ":unamused:", ":unicorn_face:": ":unicorn:", ":unlocked:": ":unlock:", ":up_arrow:": ":arrow_up:", ":up_down_arrow:": ":arrow_up_down:", ":up_left_arrow:": ":arrow_upper_left:", ":upside_down_face:": ":upside_down:", ":us:": ":flag_us:", ":uy:": ":flag_uy:", ":uz:": ":flag_uz:", ":va:": ":flag_va:", ":vampire_dark_skin_tone:": ":vampire_tone5:", ":vampire_light_skin_tone:": ":vampire_tone1:", ":vampire_medium_dark_skin_tone:": ":vampire_tone4:", ":vampire_medium_light_skin_tone:": ":vampire_tone2:", ":vampire_medium_skin_tone:": ":vampire_tone3:", ":vc:": ":flag_vc:", ":ve:": ":flag_ve:", ":vg:": ":flag_vg:", ":vi:": ":flag_vi:", ":victory_hand:": ":v:", ":videocassette:": ":vhs:", ":vn:": ":flag_vn:", ":vu:": ":flag_vu:", ":vulcan_salute:": ":vulcan:", ":walking:": ":person_walking:", ":walking_tone1:": ":person_walking_tone1:", ":walking_tone2:": ":person_walking_tone2:", ":walking_tone3:": ":person_walking_tone3:", ":walking_tone4:": ":person_walking_tone4:", ":walking_tone5:": ":person_walking_tone5:", ":water_closet:": ":wc:", ":water_polo:": ":person_playing_water_polo:", ":water_polo_tone1:": ":person_playing_water_polo_tone1:", ":water_polo_tone2:": ":person_playing_water_polo_tone2:", ":water_polo_tone3:": ":person_playing_water_polo_tone3:", ":water_polo_tone4:": ":person_playing_water_polo_tone4:", ":water_polo_tone5:": ":person_playing_water_polo_tone5:", ":water_wave:": ":ocean:", ":waving_black_flag:": ":flag_black:", ":waving_hand:": ":wave:", ":waving_white_flag:": ":flag_white:", ":weary_cat:": ":scream_cat:", ":weary_face:": ":weary:", ":weight_lifter:": ":person_lifting_weights:", ":weight_lifter_tone1:": ":person_lifting_weights_tone1:", ":weight_lifter_tone2:": ":person_lifting_weights_tone2:", ":weight_lifter_tone3:": ":person_lifting_weights_tone3:", ":weight_lifter_tone4:": ":person_lifting_weights_tone4:", ":weight_lifter_tone5:": ":person_lifting_weights_tone5:", ":wf:": ":flag_wf:", ":whisky:": ":tumbler_glass:", ":white_flag:": ":flag_white:", ":white_frowning_face:": ":frowning2:", ":white_hair:": ":white_haired:", ":white_sun_behind_cloud:": ":white_sun_cloud:", ":white_sun_behind_cloud_with_rain:": ":white_sun_rain_cloud:", ":white_sun_with_small_cloud:": ":white_sun_small_cloud:", ":wilted_flower:": ":wilted_rose:", ":wind_face:": ":wind_blowing_face:", ":winking_face:": ":wink:", ":woman_and_man_holding_hands_dark_skin_tone:": ":woman_and_man_holding_hands_tone5:", ":woman_and_man_holding_hands_dark_skin_tone_light_skin_tone:": ":woman_and_man_holding_hands_tone5_tone1:", ":woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone:": ":woman_and_man_holding_hands_tone5_tone4:", ":woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone:": ":woman_and_man_holding_hands_tone5_tone2:", ":woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone:": ":woman_and_man_holding_hands_tone5_tone3:", ":woman_and_man_holding_hands_light_skin_tone:": ":woman_and_man_holding_hands_tone1:", ":woman_and_man_holding_hands_light_skin_tone_dark_skin_tone:": ":woman_and_man_holding_hands_tone1_tone5:", ":woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone:": ":woman_and_man_holding_hands_tone1_tone4:", ":woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone:": ":woman_and_man_holding_hands_tone1_tone2:", ":woman_and_man_holding_hands_light_skin_tone_medium_skin_tone:": ":woman_and_man_holding_hands_tone1_tone3:", ":woman_and_man_holding_hands_medium_dark_skin_tone:": ":woman_and_man_holding_hands_tone4:", ":woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone:": ":woman_and_man_holding_hands_tone4_tone5:", ":woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone:": ":woman_and_man_holding_hands_tone4_tone1:", ":woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:": ":woman_and_man_holding_hands_tone4_tone2:", ":woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone:": ":woman_and_man_holding_hands_tone4_tone3:", ":woman_and_man_holding_hands_medium_light_skin_tone:": ":woman_and_man_holding_hands_tone2:", ":woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone:": ":woman_and_man_holding_hands_tone2_tone5:", ":woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone:": ":woman_and_man_holding_hands_tone2_tone1:", ":woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:": ":woman_and_man_holding_hands_tone2_tone4:", ":woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone:": ":woman_and_man_holding_hands_tone2_tone3:", ":woman_and_man_holding_hands_medium_skin_tone:": ":woman_and_man_holding_hands_tone3:", ":woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone:": ":woman_and_man_holding_hands_tone3_tone5:", ":woman_and_man_holding_hands_medium_skin_tone_light_skin_tone:": ":woman_and_man_holding_hands_tone3_tone1:", ":woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone:": ":woman_and_man_holding_hands_tone3_tone4:", ":woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone:": ":woman_and_man_holding_hands_tone3_tone2:", ":woman_artist_dark_skin_tone:": ":woman_artist_tone5:", ":woman_artist_light_skin_tone:": ":woman_artist_tone1:", ":woman_artist_medium_dark_skin_tone:": ":woman_artist_tone4:", ":woman_artist_medium_light_skin_tone:": ":woman_artist_tone2:", ":woman_artist_medium_skin_tone:": ":woman_artist_tone3:", ":woman_astronaut_dark_skin_tone:": ":woman_astronaut_tone5:", ":woman_astronaut_light_skin_tone:": ":woman_astronaut_tone1:", ":woman_astronaut_medium_dark_skin_tone:": ":woman_astronaut_tone4:", ":woman_astronaut_medium_light_skin_tone:": ":woman_astronaut_tone2:", ":woman_astronaut_medium_skin_tone:": ":woman_astronaut_tone3:", ":woman_bald_dark_skin_tone:": ":woman_bald_tone5:", ":woman_bald_light_skin_tone:": ":woman_bald_tone1:", ":woman_bald_medium_dark_skin_tone:": ":woman_bald_tone4:", ":woman_bald_medium_light_skin_tone:": ":woman_bald_tone2:", ":woman_bald_medium_skin_tone:": ":woman_bald_tone3:", ":woman_biking_dark_skin_tone:": ":woman_biking_tone5:", ":woman_biking_light_skin_tone:": ":woman_biking_tone1:", ":woman_biking_medium_dark_skin_tone:": ":woman_biking_tone4:", ":woman_biking_medium_light_skin_tone:": ":woman_biking_tone2:", ":woman_biking_medium_skin_tone:": ":woman_biking_tone3:", ":woman_bouncing_ball_dark_skin_tone:": ":woman_bouncing_ball_tone5:", ":woman_bouncing_ball_light_skin_tone:": ":woman_bouncing_ball_tone1:", ":woman_bouncing_ball_medium_dark_skin_tone:": ":woman_bouncing_ball_tone4:", ":woman_bouncing_ball_medium_light_skin_tone:": ":woman_bouncing_ball_tone2:", ":woman_bouncing_ball_medium_skin_tone:": ":woman_bouncing_ball_tone3:", ":woman_bowing_dark_skin_tone:": ":woman_bowing_tone5:", ":woman_bowing_light_skin_tone:": ":woman_bowing_tone1:", ":woman_bowing_medium_dark_skin_tone:": ":woman_bowing_tone4:", ":woman_bowing_medium_light_skin_tone:": ":woman_bowing_tone2:", ":woman_bowing_medium_skin_tone:": ":woman_bowing_tone3:", ":woman_cartwheeling_dark_skin_tone:": ":woman_cartwheeling_tone5:", ":woman_cartwheeling_light_skin_tone:": ":woman_cartwheeling_tone1:", ":woman_cartwheeling_medium_dark_skin_tone:": ":woman_cartwheeling_tone4:", ":woman_cartwheeling_medium_light_skin_tone:": ":woman_cartwheeling_tone2:", ":woman_cartwheeling_medium_skin_tone:": ":woman_cartwheeling_tone3:", ":woman_climbing_dark_skin_tone:": ":woman_climbing_tone5:", ":woman_climbing_light_skin_tone:": ":woman_climbing_tone1:", ":woman_climbing_medium_dark_skin_tone:": ":woman_climbing_tone4:", ":woman_climbing_medium_light_skin_tone:": ":woman_climbing_tone2:", ":woman_climbing_medium_skin_tone:": ":woman_climbing_tone3:", ":woman_construction_worker_dark_skin_tone:": ":woman_construction_worker_tone5:", ":woman_construction_worker_light_skin_tone:": ":woman_construction_worker_tone1:", ":woman_construction_worker_medium_dark_skin_tone:": ":woman_construction_worker_tone4:", ":woman_construction_worker_medium_light_skin_tone:": ":woman_construction_worker_tone2:", ":woman_construction_worker_medium_skin_tone:": ":woman_construction_worker_tone3:", ":woman_cook_dark_skin_tone:": ":woman_cook_tone5:", ":woman_cook_light_skin_tone:": ":woman_cook_tone1:", ":woman_cook_medium_dark_skin_tone:": ":woman_cook_tone4:", ":woman_cook_medium_light_skin_tone:": ":woman_cook_tone2:", ":woman_cook_medium_skin_tone:": ":woman_cook_tone3:", ":woman_curly_haired_dark_skin_tone:": ":woman_curly_haired_tone5:", ":woman_curly_haired_light_skin_tone:": ":woman_curly_haired_tone1:", ":woman_curly_haired_medium_dark_skin_tone:": ":woman_curly_haired_tone4:", ":woman_curly_haired_medium_light_skin_tone:": ":woman_curly_haired_tone2:", ":woman_curly_haired_medium_skin_tone:": ":woman_curly_haired_tone3:", ":woman_dancing:": ":dancer:", ":woman_dark_skin_tone_beard:": ":woman_tone5_beard:", ":woman_detective_dark_skin_tone:": ":woman_detective_tone5:", ":woman_detective_light_skin_tone:": ":woman_detective_tone1:", ":woman_detective_medium_dark_skin_tone:": ":woman_detective_tone4:", ":woman_detective_medium_light_skin_tone:": ":woman_detective_tone2:", ":woman_detective_medium_skin_tone:": ":woman_detective_tone3:", ":woman_elf_dark_skin_tone:": ":woman_elf_tone5:", ":woman_elf_light_skin_tone:": ":woman_elf_tone1:", ":woman_elf_medium_dark_skin_tone:": ":woman_elf_tone4:", ":woman_elf_medium_light_skin_tone:": ":woman_elf_tone2:", ":woman_elf_medium_skin_tone:": ":woman_elf_tone3:", ":woman_facepalming_dark_skin_tone:": ":woman_facepalming_tone5:", ":woman_facepalming_light_skin_tone:": ":woman_facepalming_tone1:", ":woman_facepalming_medium_dark_skin_tone:": ":woman_facepalming_tone4:", ":woman_facepalming_medium_light_skin_tone:": ":woman_facepalming_tone2:", ":woman_facepalming_medium_skin_tone:": ":woman_facepalming_tone3:", ":woman_factory_worker_dark_skin_tone:": ":woman_factory_worker_tone5:", ":woman_factory_worker_light_skin_tone:": ":woman_factory_worker_tone1:", ":woman_factory_worker_medium_dark_skin_tone:": ":woman_factory_worker_tone4:", ":woman_factory_worker_medium_light_skin_tone:": ":woman_factory_worker_tone2:", ":woman_factory_worker_medium_skin_tone:": ":woman_factory_worker_tone3:", ":woman_fairy_dark_skin_tone:": ":woman_fairy_tone5:", ":woman_fairy_light_skin_tone:": ":woman_fairy_tone1:", ":woman_fairy_medium_dark_skin_tone:": ":woman_fairy_tone4:", ":woman_fairy_medium_light_skin_tone:": ":woman_fairy_tone2:", ":woman_fairy_medium_skin_tone:": ":woman_fairy_tone3:", ":woman_farmer_dark_skin_tone:": ":woman_farmer_tone5:", ":woman_farmer_light_skin_tone:": ":woman_farmer_tone1:", ":woman_farmer_medium_dark_skin_tone:": ":woman_farmer_tone4:", ":woman_farmer_medium_light_skin_tone:": ":woman_farmer_tone2:", ":woman_farmer_medium_skin_tone:": ":woman_farmer_tone3:", ":woman_feeding_baby_dark_skin_tone:": ":woman_feeding_baby_tone5:", ":woman_feeding_baby_light_skin_tone:": ":woman_feeding_baby_tone1:", ":woman_feeding_baby_medium_dark_skin_tone:": ":woman_feeding_baby_tone4:", ":woman_feeding_baby_medium_light_skin_tone:": ":woman_feeding_baby_tone2:", ":woman_feeding_baby_medium_skin_tone:": ":woman_feeding_baby_tone3:", ":woman_firefighter_dark_skin_tone:": ":woman_firefighter_tone5:", ":woman_firefighter_light_skin_tone:": ":woman_firefighter_tone1:", ":woman_firefighter_medium_dark_skin_tone:": ":woman_firefighter_tone4:", ":woman_firefighter_medium_light_skin_tone:": ":woman_firefighter_tone2:", ":woman_firefighter_medium_skin_tone:": ":woman_firefighter_tone3:", ":woman_frowning_dark_skin_tone:": ":woman_frowning_tone5:", ":woman_frowning_light_skin_tone:": ":woman_frowning_tone1:", ":woman_frowning_medium_dark_skin_tone:": ":woman_frowning_tone4:", ":woman_frowning_medium_light_skin_tone:": ":woman_frowning_tone2:", ":woman_frowning_medium_skin_tone:": ":woman_frowning_tone3:", ":woman_gesturing_no_dark_skin_tone:": ":woman_gesturing_no_tone5:", ":woman_gesturing_no_light_skin_tone:": ":woman_gesturing_no_tone1:", ":woman_gesturing_no_medium_dark_skin_tone:": ":woman_gesturing_no_tone4:", ":woman_gesturing_no_medium_light_skin_tone:": ":woman_gesturing_no_tone2:", ":woman_gesturing_no_medium_skin_tone:": ":woman_gesturing_no_tone3:", ":woman_gesturing_ok_dark_skin_tone:": ":woman_gesturing_ok_tone5:", ":woman_gesturing_ok_light_skin_tone:": ":woman_gesturing_ok_tone1:", ":woman_gesturing_ok_medium_dark_skin_tone:": ":woman_gesturing_ok_tone4:", ":woman_gesturing_ok_medium_light_skin_tone:": ":woman_gesturing_ok_tone2:", ":woman_gesturing_ok_medium_skin_tone:": ":woman_gesturing_ok_tone3:", ":woman_getting_face_massage_dark_skin_tone:": ":woman_getting_face_massage_tone5:", ":woman_getting_face_massage_light_skin_tone:": ":woman_getting_face_massage_tone1:", ":woman_getting_face_massage_medium_dark_skin_tone:": ":woman_getting_face_massage_tone4:", ":woman_getting_face_massage_medium_light_skin_tone:": ":woman_getting_face_massage_tone2:", ":woman_getting_face_massage_medium_skin_tone:": ":woman_getting_face_massage_tone3:", ":woman_getting_haircut_dark_skin_tone:": ":woman_getting_haircut_tone5:", ":woman_getting_haircut_light_skin_tone:": ":woman_getting_haircut_tone1:", ":woman_getting_haircut_medium_dark_skin_tone:": ":woman_getting_haircut_tone4:", ":woman_getting_haircut_medium_light_skin_tone:": ":woman_getting_haircut_tone2:", ":woman_getting_haircut_medium_skin_tone:": ":woman_getting_haircut_tone3:", ":woman_golfing_dark_skin_tone:": ":woman_golfing_tone5:", ":woman_golfing_light_skin_tone:": ":woman_golfing_tone1:", ":woman_golfing_medium_dark_skin_tone:": ":woman_golfing_tone4:", ":woman_golfing_medium_light_skin_tone:": ":woman_golfing_tone2:", ":woman_golfing_medium_skin_tone:": ":woman_golfing_tone3:", ":woman_guard_dark_skin_tone:": ":woman_guard_tone5:", ":woman_guard_light_skin_tone:": ":woman_guard_tone1:", ":woman_guard_medium_dark_skin_tone:": ":woman_guard_tone4:", ":woman_guard_medium_light_skin_tone:": ":woman_guard_tone2:", ":woman_guard_medium_skin_tone:": ":woman_guard_tone3:", ":woman_health_worker_dark_skin_tone:": ":woman_health_worker_tone5:", ":woman_health_worker_light_skin_tone:": ":woman_health_worker_tone1:", ":woman_health_worker_medium_dark_skin_tone:": ":woman_health_worker_tone4:", ":woman_health_worker_medium_light_skin_tone:": ":woman_health_worker_tone2:", ":woman_health_worker_medium_skin_tone:": ":woman_health_worker_tone3:", ":woman_in_lotus_position_dark_skin_tone:": ":woman_in_lotus_position_tone5:", ":woman_in_lotus_position_light_skin_tone:": ":woman_in_lotus_position_tone1:", ":woman_in_lotus_position_medium_dark_skin_tone:": ":woman_in_lotus_position_tone4:", ":woman_in_lotus_position_medium_light_skin_tone:": ":woman_in_lotus_position_tone2:", ":woman_in_lotus_position_medium_skin_tone:": ":woman_in_lotus_position_tone3:", ":woman_in_manual_wheelchair_dark_skin_tone:": ":woman_in_manual_wheelchair_tone5:", ":woman_in_manual_wheelchair_light_skin_tone:": ":woman_in_manual_wheelchair_tone1:", ":woman_in_manual_wheelchair_medium_dark_skin_tone:": ":woman_in_manual_wheelchair_tone4:", ":woman_in_manual_wheelchair_medium_light_skin_tone:": ":woman_in_manual_wheelchair_tone2:", ":woman_in_manual_wheelchair_medium_skin_tone:": ":woman_in_manual_wheelchair_tone3:", ":woman_in_motorized_wheelchair_dark_skin_tone:": ":woman_in_motorized_wheelchair_tone5:", ":woman_in_motorized_wheelchair_light_skin_tone:": ":woman_in_motorized_wheelchair_tone1:", ":woman_in_motorized_wheelchair_medium_dark_skin_tone:": ":woman_in_motorized_wheelchair_tone4:", ":woman_in_motorized_wheelchair_medium_light_skin_tone:": ":woman_in_motorized_wheelchair_tone2:", ":woman_in_motorized_wheelchair_medium_skin_tone:": ":woman_in_motorized_wheelchair_tone3:", ":woman_in_steamy_room_dark_skin_tone:": ":woman_in_steamy_room_tone5:", ":woman_in_steamy_room_light_skin_tone:": ":woman_in_steamy_room_tone1:", ":woman_in_steamy_room_medium_dark_skin_tone:": ":woman_in_steamy_room_tone4:", ":woman_in_steamy_room_medium_light_skin_tone:": ":woman_in_steamy_room_tone2:", ":woman_in_steamy_room_medium_skin_tone:": ":woman_in_steamy_room_tone3:", ":woman_in_tuxedo_dark_skin_tone:": ":woman_in_tuxedo_tone5:", ":woman_in_tuxedo_light_skin_tone:": ":woman_in_tuxedo_tone1:", ":woman_in_tuxedo_medium_dark_skin_tone:": ":woman_in_tuxedo_tone4:", ":woman_in_tuxedo_medium_light_skin_tone:": ":woman_in_tuxedo_tone2:", ":woman_in_tuxedo_medium_skin_tone:": ":woman_in_tuxedo_tone3:", ":woman_judge_dark_skin_tone:": ":woman_judge_tone5:", ":woman_judge_light_skin_tone:": ":woman_judge_tone1:", ":woman_judge_medium_dark_skin_tone:": ":woman_judge_tone4:", ":woman_judge_medium_light_skin_tone:": ":woman_judge_tone2:", ":woman_judge_medium_skin_tone:": ":woman_judge_tone3:", ":woman_juggling_dark_skin_tone:": ":woman_juggling_tone5:", ":woman_juggling_light_skin_tone:": ":woman_juggling_tone1:", ":woman_juggling_medium_dark_skin_tone:": ":woman_juggling_tone4:", ":woman_juggling_medium_light_skin_tone:": ":woman_juggling_tone2:", ":woman_juggling_medium_skin_tone:": ":woman_juggling_tone3:", ":woman_kneeling_dark_skin_tone:": ":woman_kneeling_tone5:", ":woman_kneeling_light_skin_tone:": ":woman_kneeling_tone1:", ":woman_kneeling_medium_dark_skin_tone:": ":woman_kneeling_tone4:", ":woman_kneeling_medium_light_skin_tone:": ":woman_kneeling_tone2:", ":woman_kneeling_medium_skin_tone:": ":woman_kneeling_tone3:", ":woman_lifting_weights_dark_skin_tone:": ":woman_lifting_weights_tone5:", ":woman_lifting_weights_light_skin_tone:": ":woman_lifting_weights_tone1:", ":woman_lifting_weights_medium_dark_skin_tone:": ":woman_lifting_weights_tone4:", ":woman_lifting_weights_medium_light_skin_tone:": ":woman_lifting_weights_tone2:", ":woman_lifting_weights_medium_skin_tone:": ":woman_lifting_weights_tone3:", ":woman_light_skin_tone_beard:": ":woman_tone1_beard:", ":woman_mage_dark_skin_tone:": ":woman_mage_tone5:", ":woman_mage_light_skin_tone:": ":woman_mage_tone1:", ":woman_mage_medium_dark_skin_tone:": ":woman_mage_tone4:", ":woman_mage_medium_light_skin_tone:": ":woman_mage_tone2:", ":woman_mage_medium_skin_tone:": ":woman_mage_tone3:", ":woman_mechanic_dark_skin_tone:": ":woman_mechanic_tone5:", ":woman_mechanic_light_skin_tone:": ":woman_mechanic_tone1:", ":woman_mechanic_medium_dark_skin_tone:": ":woman_mechanic_tone4:", ":woman_mechanic_medium_light_skin_tone:": ":woman_mechanic_tone2:", ":woman_mechanic_medium_skin_tone:": ":woman_mechanic_tone3:", ":woman_medium_dark_skin_tone_beard:": ":woman_tone4_beard:", ":woman_medium_light_skin_tone_beard:": ":woman_tone2_beard:", ":woman_medium_skin_tone_beard:": ":woman_tone3_beard:", ":woman_mountain_biking_dark_skin_tone:": ":woman_mountain_biking_tone5:", ":woman_mountain_biking_light_skin_tone:": ":woman_mountain_biking_tone1:", ":woman_mountain_biking_medium_dark_skin_tone:": ":woman_mountain_biking_tone4:", ":woman_mountain_biking_medium_light_skin_tone:": ":woman_mountain_biking_tone2:", ":woman_mountain_biking_medium_skin_tone:": ":woman_mountain_biking_tone3:", ":woman_office_worker_dark_skin_tone:": ":woman_office_worker_tone5:", ":woman_office_worker_light_skin_tone:": ":woman_office_worker_tone1:", ":woman_office_worker_medium_dark_skin_tone:": ":woman_office_worker_tone4:", ":woman_office_worker_medium_light_skin_tone:": ":woman_office_worker_tone2:", ":woman_office_worker_medium_skin_tone:": ":woman_office_worker_tone3:", ":woman_pilot_dark_skin_tone:": ":woman_pilot_tone5:", ":woman_pilot_light_skin_tone:": ":woman_pilot_tone1:", ":woman_pilot_medium_dark_skin_tone:": ":woman_pilot_tone4:", ":woman_pilot_medium_light_skin_tone:": ":woman_pilot_tone2:", ":woman_pilot_medium_skin_tone:": ":woman_pilot_tone3:", ":woman_playing_handball_dark_skin_tone:": ":woman_playing_handball_tone5:", ":woman_playing_handball_light_skin_tone:": ":woman_playing_handball_tone1:", ":woman_playing_handball_medium_dark_skin_tone:": ":woman_playing_handball_tone4:", ":woman_playing_handball_medium_light_skin_tone:": ":woman_playing_handball_tone2:", ":woman_playing_handball_medium_skin_tone:": ":woman_playing_handball_tone3:", ":woman_playing_water_polo_dark_skin_tone:": ":woman_playing_water_polo_tone5:", ":woman_playing_water_polo_light_skin_tone:": ":woman_playing_water_polo_tone1:", ":woman_playing_water_polo_medium_dark_skin_tone:": ":woman_playing_water_polo_tone4:", ":woman_playing_water_polo_medium_light_skin_tone:": ":woman_playing_water_polo_tone2:", ":woman_playing_water_polo_medium_skin_tone:": ":woman_playing_water_polo_tone3:", ":woman_police_officer_dark_skin_tone:": ":woman_police_officer_tone5:", ":woman_police_officer_light_skin_tone:": ":woman_police_officer_tone1:", ":woman_police_officer_medium_dark_skin_tone:": ":woman_police_officer_tone4:", ":woman_police_officer_medium_light_skin_tone:": ":woman_police_officer_tone2:", ":woman_police_officer_medium_skin_tone:": ":woman_police_officer_tone3:", ":woman_pouting_dark_skin_tone:": ":woman_pouting_tone5:", ":woman_pouting_light_skin_tone:": ":woman_pouting_tone1:", ":woman_pouting_medium_dark_skin_tone:": ":woman_pouting_tone4:", ":woman_pouting_medium_light_skin_tone:": ":woman_pouting_tone2:", ":woman_pouting_medium_skin_tone:": ":woman_pouting_tone3:", ":woman_raising_hand_dark_skin_tone:": ":woman_raising_hand_tone5:", ":woman_raising_hand_light_skin_tone:": ":woman_raising_hand_tone1:", ":woman_raising_hand_medium_dark_skin_tone:": ":woman_raising_hand_tone4:", ":woman_raising_hand_medium_light_skin_tone:": ":woman_raising_hand_tone2:", ":woman_raising_hand_medium_skin_tone:": ":woman_raising_hand_tone3:", ":woman_red_haired_dark_skin_tone:": ":woman_red_haired_tone5:", ":woman_red_haired_light_skin_tone:": ":woman_red_haired_tone1:", ":woman_red_haired_medium_dark_skin_tone:": ":woman_red_haired_tone4:", ":woman_red_haired_medium_light_skin_tone:": ":woman_red_haired_tone2:", ":woman_red_haired_medium_skin_tone:": ":woman_red_haired_tone3:", ":woman_rowing_boat_dark_skin_tone:": ":woman_rowing_boat_tone5:", ":woman_rowing_boat_light_skin_tone:": ":woman_rowing_boat_tone1:", ":woman_rowing_boat_medium_dark_skin_tone:": ":woman_rowing_boat_tone4:", ":woman_rowing_boat_medium_light_skin_tone:": ":woman_rowing_boat_tone2:", ":woman_rowing_boat_medium_skin_tone:": ":woman_rowing_boat_tone3:", ":woman_running_dark_skin_tone:": ":woman_running_tone5:", ":woman_running_light_skin_tone:": ":woman_running_tone1:", ":woman_running_medium_dark_skin_tone:": ":woman_running_tone4:", ":woman_running_medium_light_skin_tone:": ":woman_running_tone2:", ":woman_running_medium_skin_tone:": ":woman_running_tone3:", ":woman_scientist_dark_skin_tone:": ":woman_scientist_tone5:", ":woman_scientist_light_skin_tone:": ":woman_scientist_tone1:", ":woman_scientist_medium_dark_skin_tone:": ":woman_scientist_tone4:", ":woman_scientist_medium_light_skin_tone:": ":woman_scientist_tone2:", ":woman_scientist_medium_skin_tone:": ":woman_scientist_tone3:", ":woman_shrugging_dark_skin_tone:": ":woman_shrugging_tone5:", ":woman_shrugging_light_skin_tone:": ":woman_shrugging_tone1:", ":woman_shrugging_medium_dark_skin_tone:": ":woman_shrugging_tone4:", ":woman_shrugging_medium_light_skin_tone:": ":woman_shrugging_tone2:", ":woman_shrugging_medium_skin_tone:": ":woman_shrugging_tone3:", ":woman_singer_dark_skin_tone:": ":woman_singer_tone5:", ":woman_singer_light_skin_tone:": ":woman_singer_tone1:", ":woman_singer_medium_dark_skin_tone:": ":woman_singer_tone4:", ":woman_singer_medium_light_skin_tone:": ":woman_singer_tone2:", ":woman_singer_medium_skin_tone:": ":woman_singer_tone3:", ":woman_standing_dark_skin_tone:": ":woman_standing_tone5:", ":woman_standing_light_skin_tone:": ":woman_standing_tone1:", ":woman_standing_medium_dark_skin_tone:": ":woman_standing_tone4:", ":woman_standing_medium_light_skin_tone:": ":woman_standing_tone2:", ":woman_standing_medium_skin_tone:": ":woman_standing_tone3:", ":woman_student_dark_skin_tone:": ":woman_student_tone5:", ":woman_student_light_skin_tone:": ":woman_student_tone1:", ":woman_student_medium_dark_skin_tone:": ":woman_student_tone4:", ":woman_student_medium_light_skin_tone:": ":woman_student_tone2:", ":woman_student_medium_skin_tone:": ":woman_student_tone3:", ":woman_superhero_dark_skin_tone:": ":woman_superhero_tone5:", ":woman_superhero_light_skin_tone:": ":woman_superhero_tone1:", ":woman_superhero_medium_dark_skin_tone:": ":woman_superhero_tone4:", ":woman_superhero_medium_light_skin_tone:": ":woman_superhero_tone2:", ":woman_superhero_medium_skin_tone:": ":woman_superhero_tone3:", ":woman_supervillain_dark_skin_tone:": ":woman_supervillain_tone5:", ":woman_supervillain_light_skin_tone:": ":woman_supervillain_tone1:", ":woman_supervillain_medium_dark_skin_tone:": ":woman_supervillain_tone4:", ":woman_supervillain_medium_light_skin_tone:": ":woman_supervillain_tone2:", ":woman_supervillain_medium_skin_tone:": ":woman_supervillain_tone3:", ":woman_surfing_dark_skin_tone:": ":woman_surfing_tone5:", ":woman_surfing_light_skin_tone:": ":woman_surfing_tone1:", ":woman_surfing_medium_dark_skin_tone:": ":woman_surfing_tone4:", ":woman_surfing_medium_light_skin_tone:": ":woman_surfing_tone2:", ":woman_surfing_medium_skin_tone:": ":woman_surfing_tone3:", ":woman_swimming_dark_skin_tone:": ":woman_swimming_tone5:", ":woman_swimming_light_skin_tone:": ":woman_swimming_tone1:", ":woman_swimming_medium_dark_skin_tone:": ":woman_swimming_tone4:", ":woman_swimming_medium_light_skin_tone:": ":woman_swimming_tone2:", ":woman_swimming_medium_skin_tone:": ":woman_swimming_tone3:", ":woman_teacher_dark_skin_tone:": ":woman_teacher_tone5:", ":woman_teacher_light_skin_tone:": ":woman_teacher_tone1:", ":woman_teacher_medium_dark_skin_tone:": ":woman_teacher_tone4:", ":woman_teacher_medium_light_skin_tone:": ":woman_teacher_tone2:", ":woman_teacher_medium_skin_tone:": ":woman_teacher_tone3:", ":woman_technologist_dark_skin_tone:": ":woman_technologist_tone5:", ":woman_technologist_light_skin_tone:": ":woman_technologist_tone1:", ":woman_technologist_medium_dark_skin_tone:": ":woman_technologist_tone4:", ":woman_technologist_medium_light_skin_tone:": ":woman_technologist_tone2:", ":woman_technologist_medium_skin_tone:": ":woman_technologist_tone3:", ":woman_tipping_hand_dark_skin_tone:": ":woman_tipping_hand_tone5:", ":woman_tipping_hand_light_skin_tone:": ":woman_tipping_hand_tone1:", ":woman_tipping_hand_medium_dark_skin_tone:": ":woman_tipping_hand_tone4:", ":woman_tipping_hand_medium_light_skin_tone:": ":woman_tipping_hand_tone2:", ":woman_tipping_hand_medium_skin_tone:": ":woman_tipping_hand_tone3:", ":woman_vampire_dark_skin_tone:": ":woman_vampire_tone5:", ":woman_vampire_light_skin_tone:": ":woman_vampire_tone1:", ":woman_vampire_medium_dark_skin_tone:": ":woman_vampire_tone4:", ":woman_vampire_medium_light_skin_tone:": ":woman_vampire_tone2:", ":woman_vampire_medium_skin_tone:": ":woman_vampire_tone3:", ":woman_walking_dark_skin_tone:": ":woman_walking_tone5:", ":woman_walking_light_skin_tone:": ":woman_walking_tone1:", ":woman_walking_medium_dark_skin_tone:": ":woman_walking_tone4:", ":woman_walking_medium_light_skin_tone:": ":woman_walking_tone2:", ":woman_walking_medium_skin_tone:": ":woman_walking_tone3:", ":woman_wearing_turban_dark_skin_tone:": ":woman_wearing_turban_tone5:", ":woman_wearing_turban_light_skin_tone:": ":woman_wearing_turban_tone1:", ":woman_wearing_turban_medium_dark_skin_tone:": ":woman_wearing_turban_tone4:", ":woman_wearing_turban_medium_light_skin_tone:": ":woman_wearing_turban_tone2:", ":woman_wearing_turban_medium_skin_tone:": ":woman_wearing_turban_tone3:", ":woman_white_haired_dark_skin_tone:": ":woman_white_haired_tone5:", ":woman_white_haired_light_skin_tone:": ":woman_white_haired_tone1:", ":woman_white_haired_medium_dark_skin_tone:": ":woman_white_haired_tone4:", ":woman_white_haired_medium_light_skin_tone:": ":woman_white_haired_tone2:", ":woman_white_haired_medium_skin_tone:": ":woman_white_haired_tone3:", ":woman_with_headscarf_dark_skin_tone:": ":woman_with_headscarf_tone5:", ":woman_with_headscarf_light_skin_tone:": ":woman_with_headscarf_tone1:", ":woman_with_headscarf_medium_dark_skin_tone:": ":woman_with_headscarf_tone4:", ":woman_with_headscarf_medium_light_skin_tone:": ":woman_with_headscarf_tone2:", ":woman_with_headscarf_medium_skin_tone:": ":woman_with_headscarf_tone3:", ":woman_with_probing_cane_dark_skin_tone:": ":woman_with_probing_cane_tone5:", ":woman_with_probing_cane_light_skin_tone:": ":woman_with_probing_cane_tone1:", ":woman_with_probing_cane_medium_dark_skin_tone:": ":woman_with_probing_cane_tone4:", ":woman_with_probing_cane_medium_light_skin_tone:": ":woman_with_probing_cane_tone2:", ":woman_with_probing_cane_medium_skin_tone:": ":woman_with_probing_cane_tone3:", ":woman_with_veil_dark_skin_tone:": ":woman_with_veil_tone5:", ":woman_with_veil_light_skin_tone:": ":woman_with_veil_tone1:", ":woman_with_veil_medium_dark_skin_tone:": ":woman_with_veil_tone4:", ":woman_with_veil_medium_light_skin_tone:": ":woman_with_veil_tone2:", ":woman_with_veil_medium_skin_tone:": ":woman_with_veil_tone3:", ":womans_boot:": ":boot:", ":womans_sandal:": ":sandal:", ":women_holding_hands_dark_skin_tone:": ":women_holding_hands_tone5:", ":women_holding_hands_dark_skin_tone_light_skin_tone:": ":women_holding_hands_tone5_tone1:", ":women_holding_hands_dark_skin_tone_medium_dark_skin_tone:": ":women_holding_hands_tone5_tone4:", ":women_holding_hands_dark_skin_tone_medium_light_skin_tone:": ":women_holding_hands_tone5_tone2:", ":women_holding_hands_dark_skin_tone_medium_skin_tone:": ":women_holding_hands_tone5_tone3:", ":women_holding_hands_light_skin_tone:": ":women_holding_hands_tone1:", ":women_holding_hands_light_skin_tone_dark_skin_tone:": ":women_holding_hands_tone1_tone5:", ":women_holding_hands_light_skin_tone_medium_dark_skin_tone:": ":women_holding_hands_tone1_tone4:", ":women_holding_hands_light_skin_tone_medium_light_skin_tone:": ":women_holding_hands_tone1_tone2:", ":women_holding_hands_light_skin_tone_medium_skin_tone:": ":women_holding_hands_tone1_tone3:", ":women_holding_hands_medium_dark_skin_tone:": ":women_holding_hands_tone4:", ":women_holding_hands_medium_dark_skin_tone_dark_skin_tone:": ":women_holding_hands_tone4_tone5:", ":women_holding_hands_medium_dark_skin_tone_light_skin_tone:": ":women_holding_hands_tone4_tone1:", ":women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:": ":women_holding_hands_tone4_tone2:", ":women_holding_hands_medium_dark_skin_tone_medium_skin_tone:": ":women_holding_hands_tone4_tone3:", ":women_holding_hands_medium_light_skin_tone:": ":women_holding_hands_tone2:", ":women_holding_hands_medium_light_skin_tone_dark_skin_tone:": ":women_holding_hands_tone2_tone5:", ":women_holding_hands_medium_light_skin_tone_light_skin_tone:": ":women_holding_hands_tone2_tone1:", ":women_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:": ":women_holding_hands_tone2_tone4:", ":women_holding_hands_medium_light_skin_tone_medium_skin_tone:": ":women_holding_hands_tone2_tone3:", ":women_holding_hands_medium_skin_tone:": ":women_holding_hands_tone3:", ":women_holding_hands_medium_skin_tone_dark_skin_tone:": ":women_holding_hands_tone3_tone5:", ":women_holding_hands_medium_skin_tone_light_skin_tone:": ":women_holding_hands_tone3_tone1:", ":women_holding_hands_medium_skin_tone_medium_dark_skin_tone:": ":women_holding_hands_tone3_tone4:", ":women_holding_hands_medium_skin_tone_medium_light_skin_tone:": ":women_holding_hands_tone3_tone2:", ":womens_room:": ":womens:", ":world_map:": ":map:", ":worried_face:": ":worried:", ":worship_symbol:": ":place_of_worship:", ":wrapped_gift:": ":gift:", ":wrestlers:": ":people_wrestling:", ":wrestling:": ":people_wrestling:", ":ws:": ":flag_ws:", ":xk:": ":flag_xk:", ":ye:": ":flag_ye:", ":yen_banknote:": ":yen:", ":yt:": ":flag_yt:", ":za:": ":flag_za:", ":zipper_mouth_face:": ":zipper_mouth:", ":zm:": ":flag_zm:", ":zw:": ":flag_zw:", "woman_in_business_suit_levitating": ":woman_levitate:", "woman_in_business_suit_levitating_dark_skin_tone": ":woman_leviate_tone5:", "woman_in_business_suit_levitating_light_skin_tone": ":woman_levitate_tone1:", "woman_in_business_suit_levitating_medium_dark_skin_tone": ":woman_leviate_tone4:", "woman_in_business_suit_levitating_medium_light_skin_tone": ":woman_leviate_tone2:", "woman_in_business_suit_levitating_medium_skin_tone": ":woman_leviate_tone3:", "woman_in_business_suit_levitating_tone1": ":woman_levitate_tone1:", "woman_in_business_suit_levitating_tone2": ":woman_leviate_tone2:", "woman_in_business_suit_levitating_tone3": ":woman_leviate_tone3:", "woman_in_business_suit_levitating_tone4": ":woman_leviate_tone4:", "woman_in_business_suit_levitating_tone5": ":woman_leviate_tone5:" } ����������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pymdownx/util.py������������������������������������������������������������0000664�0000000�0000000�00000023131�14651242716�0020561�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" General utilities. MIT license. Copyright (c) 2017 Isaac Muse <isaacmuse@gmail.com> """ from markdown.inlinepatterns import InlineProcessor import xml.etree.ElementTree as etree from collections import namedtuple import sys import copy import re import html from urllib.request import pathname2url, url2pathname from urllib.parse import urlparse from functools import wraps import warnings RE_WIN_DRIVE_LETTER = re.compile(r"^[A-Za-z]$") RE_WIN_DRIVE_PATH = re.compile(r"^[A-Za-z]:(?:\\.*)?$") RE_URL = re.compile('(http|ftp)s?|data|mailto|tel|news') RE_WIN_DEFAULT_PROTOCOL = re.compile(r"^///[A-Za-z]:(?:/.*)?$") if sys.platform.startswith('win'): _PLATFORM = "windows" elif sys.platform == "darwin": # pragma: no cover _PLATFORM = "osx" else: _PLATFORM = "linux" PY39 = (3, 9) <= sys.version_info def is_win(): # pragma: no cover """Is Windows.""" return _PLATFORM == "windows" def is_linux(): # pragma: no cover """Is Linux.""" return _PLATFORM == "linux" def is_mac(): # pragma: no cover """Is macOS.""" return _PLATFORM == "osx" def url2path(path): """Path to URL.""" return url2pathname(path) def path2url(url): """URL to path.""" path = pathname2url(url) # If on windows, replace the notation to use a default protocol `///` with nothing. if is_win() and RE_WIN_DEFAULT_PROTOCOL.match(path): path = path.replace('///', '', 1) return path def get_code_points(s): """Get the Unicode code points.""" return list(s) def get_ord(c): """Get Unicode ord.""" return ord(c) def get_char(value): """Get the Unicode char.""" return chr(value) def escape_chars(md, echrs): """ Add chars to the escape list. Don't just append as it modifies the global list permanently. Make a copy and extend **that** copy so that only this Markdown instance gets modified. """ escaped = copy.copy(md.ESCAPED_CHARS) for ec in echrs: if ec not in escaped: escaped.append(ec) md.ESCAPED_CHARS = escaped def parse_url(url): """ Parse the URL. Try to determine if the following is a file path or (as we will call anything else) a URL. We return it slightly modified and combine the path parts. We also assume if we see something like c:/ it is a Windows path. We don't bother checking if this **is** a Windows system, but 'nix users really shouldn't be creating weird names like c: for their folder. """ is_url = False is_absolute = False scheme, netloc, path, params, query, fragment = urlparse(html.unescape(url)) if RE_URL.match(scheme): # Clearly a URL is_url = True elif scheme == '' and netloc == '' and path == '': # Maybe just a URL fragment is_url = True elif scheme == 'file' and (RE_WIN_DRIVE_PATH.match(netloc)): # file://c:/path or file://c:\path path = '/' + (netloc + path).replace('\\', '/') netloc = '' is_absolute = True elif scheme == 'file' and netloc.startswith('\\'): # file://\c:\path or file://\\path path = (netloc + path).replace('\\', '/') netloc = '' is_absolute = True elif scheme == 'file': # file:///path is_absolute = True elif RE_WIN_DRIVE_LETTER.match(scheme): # c:/path path = '/{}:{}'.format(scheme, path.replace('\\', '/')) scheme = 'file' netloc = '' is_absolute = True elif scheme == '' and netloc != '' and url.startswith('//'): # //file/path path = '//' + netloc + path scheme = 'file' netloc = '' is_absolute = True elif scheme != '' and netloc != '': # A non-file path or strange URL is_url = True elif path.startswith(('/', '\\')): # /root path is_absolute = True return (scheme, netloc, path, params, query, fragment, is_url, is_absolute) class PatSeqItem(namedtuple('PatSeqItem', ['pattern', 'builder', 'tags', 'full_recursion'])): """Pattern sequence item item.""" def __new__(cls, pattern, builder, tags, full_recursion=False): """Create object.""" return super().__new__(cls, pattern, builder, tags, full_recursion) class PatternSequenceProcessor(InlineProcessor): """Processor for handling complex nested patterns such as strong and em matches.""" PATTERNS = [] def build_single(self, m, tag, full_recursion, idx): """Return single tag.""" el1 = etree.Element(tag) text = m.group(2) self.parse_sub_patterns(text, el1, None, full_recursion, idx) return el1 def build_double(self, m, tags, full_recursion, idx): """Return double tag.""" tag1, tag2 = tags.split(",") el1 = etree.Element(tag1) el2 = etree.Element(tag2) text = m.group(2) self.parse_sub_patterns(text, el2, None, full_recursion, idx) el1.append(el2) if len(m.groups()) == 3: text = m.group(3) self.parse_sub_patterns(text, el1, el2, full_recursion, idx) return el1 def build_double2(self, m, tags, full_recursion, idx): """Return double tags (variant 2): `<strong>text <em>text</em></strong>`.""" tag1, tag2 = tags.split(",") el1 = etree.Element(tag1) el2 = etree.Element(tag2) text = m.group(2) self.parse_sub_patterns(text, el1, None, full_recursion, idx) text = m.group(3) el1.append(el2) self.parse_sub_patterns(text, el2, None, full_recursion, idx) return el1 def parse_sub_patterns(self, data, parent, last, full_recursion, idx): """ Parses sub patterns. `data` (`str`): text to evaluate. `parent` (`etree.Element`): Parent to attach text and sub elements to. `last` (`etree.Element`): Last appended child to parent. Can also be None if parent has no children. `idx` (`int`): Current pattern index that was used to evaluate the parent. """ offset = 0 pos = 0 length = len(data) while pos < length: # Find the start of potential emphasis or strong tokens if self.compiled_re.match(data, pos): matched = False # See if the we can match an emphasis/strong pattern for index, item in enumerate(self.PATTERNS): # Only evaluate patterns that are after what was used on the parent if not full_recursion and index <= idx: continue m = item.pattern.match(data, pos) if m: # Append child nodes to parent # Text nodes should be appended to the last # child if present, and if not, it should # be added as the parent's text node. text = data[offset:m.start(0)] if text: if last is not None: last.tail = text else: parent.text = text el = self.build_element(m, item.builder, item.tags, item.full_recursion, index) parent.append(el) last = el # Move our position past the matched hunk offset = pos = m.end(0) matched = True if not matched: # We matched nothing, move on to the next character pos += 1 else: # Increment position as no potential emphasis start was found. pos += 1 # Append any leftover text as a text node. text = data[offset:] if text: if last is not None: last.tail = text else: parent.text = text def build_element(self, m, builder, tags, full_recursion, index): """Element builder.""" if builder == 'double2': return self.build_double2(m, tags, full_recursion, index) elif builder == 'double': return self.build_double(m, tags, full_recursion, index) else: return self.build_single(m, tags, full_recursion, index) def handleMatch(self, m, data): """Parse patterns.""" el = None start = None end = None for index, item in enumerate(self.PATTERNS): m1 = item.pattern.match(data, m.start(0)) if m1: start = m1.start(0) end = m1.end(0) el = self.build_element(m1, item.builder, item.tags, item.full_recursion, index) break return el, start, end def deprecated(message, stacklevel=2): # pragma: no cover """ Raise a `DeprecationWarning` when wrapped function/method is called. Usage: @deprecated("This method will be removed in version X; use Y instead.") def some_method()" pass """ def _wrapper(func): @wraps(func) def _deprecated_func(*args, **kwargs): warnings.warn( f"'{func.__name__}' is deprecated. {message}", category=DeprecationWarning, stacklevel=stacklevel ) return func(*args, **kwargs) return _deprecated_func return _wrapper def warn_deprecated(message, stacklevel=2): # pragma: no cover """Warn deprecated.""" warnings.warn( message, category=DeprecationWarning, stacklevel=stacklevel ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/pyproject.toml��������������������������������������������������������������0000664�0000000�0000000�00000006314�14651242716�0020265�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[build-system] requires = [ "hatchling>=0.21.1", ] build-backend = "hatchling.build" [project] name = "pymdown-extensions" description = "Extension pack for Python Markdown." readme = "README.md" license = "MIT" requires-python = ">=3.8" authors = [ { name = "Isaac Muse", email = "Isaac.Muse@gmail.com" }, ] keywords = [ "extensions", "markdown", ] dynamic = [ "classifiers", "version", ] dependencies = [ "Markdown>=3.6", "pyyaml" ] [project.urls] Homepage = "https://github.com/facelessuser/pymdown-extensions" [tool.hatch.version] source = "code" path = "pymdownx/__meta__.py" [tool.hatch.metadata] allow-direct-references = true [project.optional-dependencies] extra = [ "Pygments>=2.12" ] [tool.hatch.build.targets.sdist] include = [ "/docs/src/markdown/**/*.md", "/docs/src/markdown/**/*.gif", "/docs/src/markdown/**/*.png", "/docs/src/markdown/dictionary/*.txt", "/docs/theme/**/*.css", "/docs/theme/**/*.js", "/docs/theme/**/*.html", "/docs/theme/**/*.css.map", "/docs/theme/**/*.js.map", "/requirements/*.txt", "/pymdownx/**/*.py", "/tests/**/*.txt", "/tests/**/*.py", "/tests/**/*.html", "/tests/**/*.yml", "/tests/**/*.css", "/tests/**/*.png", "/tools/__init__.py", "/tools/pymdownx_md_render.py", "/.pyspelling.yml", "/.coveragerc", "/mkdocs.yml", "/run_tests.py", ] [tool.hatch.build.targets.wheel] include = [ "/pymdownx", ] [tool.hatch.metadata.hooks.custom] [tool.ruff] line-length = 120 extend-exclude = [ "build/*", ".tox/*", "site/*", "tools/tags/*", "node_modules/*", "*_db.py", "dist/*" ] lint.select = [ "A", # flake8-builtins "B", # flake8-bugbear "D", # pydocstyle "C4", # flake8-comprehensions "N", # pep8-naming "E", # pycodestyle "F", # pyflakes "PGH", # pygrep-hooks "RUF", # ruff # "UP", # pyupgrade "W", # pycodestyle "YTT", # flake8-2020, "PERF" # Perflint ] lint.ignore = [ "E741", "D202", "D401", "D212", "D203", "N802", "N801", "N803", "N806", "N813", "N818", "RUF012", "RUF005" ] [tool.tox] legacy_tox_ini = """ [tox] isolated_build = true envlist = {py38,py39,py310,py311,py312,py313}, lint, documents [testenv] passenv = LANG deps= .[extra] -r requirements/test.txt commands= {envbindir}/py.test --cov pymdownx --cov-append {toxinidir} {envbindir}/coverage html -d {envtmpdir}/coverage {envbindir}/coverage xml {envbindir}/coverage report --show-missing [testenv:documents] deps= -r requirements/docs.txt .[extra] commands= {envpython} -m pip install . {envpython} -m mkdocs build --clean --verbose --strict {envpython} -m pyspelling [testenv:lint] deps= -r requirements/lint.txt commands= {envbindir}/ruff check {toxinidir} [flake8] exclude=build/*,.tox/*,.c9/*,site/*,tools/tags/*,node_modules/*,*_db.py,dist/* max-line-length=120 ignore=D202,N802,D203,D401,W504,N813,E741,N818 [pytest] addopts=--ignore=tools --ignore=node_modules """ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/���������������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0020070�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/dev.txt��������������������������������������������������������0000664�0000000�0000000�00000000012�14651242716�0021400�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������build tox ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/docs.txt�������������������������������������������������������0000664�0000000�0000000�00000000267�14651242716�0021566�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������mkdocs_pymdownx_material_extras>=2.1 pymdown_lexers @ git+https://github.com/facelessuser/pymdown-lexers.git mkdocs-git-revision-date-localized-plugin mkdocs-minify-plugin pyspelling �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/lint.txt�������������������������������������������������������0000664�0000000�0000000�00000000005�14651242716�0021572�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ruff ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/test.txt�������������������������������������������������������0000664�0000000�0000000�00000000050�14651242716�0021603�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PyYAML>=3.10 pytest pytest-cov coverage ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/requirements/tools.txt������������������������������������������������������0000664�0000000�0000000�00000000011�14651242716�0021761�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������requests �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/run_tests.py����������������������������������������������������������������0000664�0000000�0000000�00000002525�14651242716�0017751�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Run the unittests or update unitest compare files.""" import argparse from tests import test_syntax from tests import test_targeted import sys import os def main(): """Main function.""" parser = argparse.ArgumentParser(prog='run_tests', description='Run extension tests.') # Flag arguments parser.add_argument('--update', '-u', action='store_true', default=False, help="Update expected HTML output.") parser.add_argument( '--test-target', '-t', nargs=1, action='store', default="", choices=['syntax', 'targeted'], help="Test specific enivronment." ) parser.add_argument( '--file', '-f', nargs=1, action='store', default="", help="Test or update specific test." ) args = parser.parse_args() sys.argv = sys.argv[0:1] if args.file: abs_path = os.path.abspath(args.file[0]) if os.path.exists(abs_path): test_syntax.set_target_file(abs_path) # Format and Viewing if args.update: for config, test in test_syntax.gather_test_params(): test_syntax.compare_results(config, test, args.update) else: if not args.test_target or args.test_target[0] == 'syntax': test_syntax.run() if not args.test_target or args.test_target[0] == 'targeted': test_targeted.run() if __name__ == '__main__': main() ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0016507�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/__init__.py�����������������������������������������������������������0000664�0000000�0000000�00000000022�14651242716�0020612�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Unit Tests.""" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/�����������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0020706�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/���������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022347�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/bg.png���������������������������������������������0000664�0000000�0000000�00000000773�14651242716�0023454�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR���x���x���ºÆà���¨PLTE9y—e—®˜¹ÈÝîÝîÝîe—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹ÈTãS��IDAThí×GrADÑ¿Â{o…� ä-æþ7Ó4ÅGAö¾âEOwWåP*Wªµz£Ùjwº½þ`8O¦³ùbyÃïku»Þlïîwû‡Ç§ç—×·÷ϯïÃñt.P‹ä–Ü2’[Ar«Hn É­#¹ $·‰ä¶Ü6’ÛAr»HnÉí#¹$wˆäŽÜ1’;Ar§Hî É#¹ $wY ôO\k¿qãÆ7nܸqãÆ7nÜët±ö‹õ±Îë^aÝg¬w„õ~±úV¿Âê“Xýk.`Í#¬9ˆ5±æ>VÞÀÊ9Xù +×aåI¬‹•Ÿ±r{Òù¿7nܸqãÆ7nܸqãÆ½H÷bsÊ÷ FdÆ����IEND®B`‚�����pymdown-extensions-10.9/tests/extensions/_assets/headeranchor.css�����������������������������������0000664�0000000�0000000�00000003404�14651242716�0025505�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Header Anchors */ .markdown-body { padding-left: 30px; } .markdown-body .headeranchor-link { position: absolute; top: 0; bottom: 0; left: 0; display: block; padding-right: 6px; padding-left: 30px; margin-left: -30px; } .markdown-body .headeranchor-link:focus { outline: none; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { position: relative; } .markdown-body h1 .headeranchor, .markdown-body h2 .headeranchor, .markdown-body h3 .headeranchor, .markdown-body h4 .headeranchor, .markdown-body h5 .headeranchor, .markdown-body h6 .headeranchor { display: none; color: #000; vertical-align: middle; } .markdown-body h1:hover .headeranchor-link, .markdown-body h2:hover .headeranchor-link, .markdown-body h3:hover .headeranchor-link, .markdown-body h4:hover .headeranchor-link, .markdown-body h5:hover .headeranchor-link, .markdown-body h6:hover .headeranchor-link { height: 1em; padding-left: 8px; margin-left: -30px; line-height: 1; text-decoration: none; } .markdown-body h1:hover .headeranchor-link .headeranchor, .markdown-body h2:hover .headeranchor-link .headeranchor, .markdown-body h3:hover .headeranchor-link .headeranchor, .markdown-body h4:hover .headeranchor-link .headeranchor, .markdown-body h5:hover .headeranchor-link .headeranchor, .markdown-body h6:hover .headeranchor-link .headeranchor { display: inline-block; } .markdown-body .headeranchor { font-size: 16px; line-height: 1; display: inline-block; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .headeranchor:before { content: '\00B6'; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/progressbar.css������������������������������������0000664�0000000�0000000�00000006447�14651242716�0025425�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Progress Bars */ .markdown-body .progress { display: block; width: 300px; margin: 10px 0; height: 24px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background-color: #ededed; position: relative; box-shadow: inset -1px 1px 3px rgba(0, 0, 0, .1); } .markdown-body .progress-label { position: absolute; text-align: center; font-weight: bold; width: 100%; margin: 0; line-height: 24px !important; color: #333; text-shadow: 1px 1px 0 #fefefe, -1px -1px 0 #fefefe, -1px 1px 0 #fefefe, 1px -1px 0 #fefefe, 0 1px 0 #fefefe, 0 -1px 0 #fefefe, 1px 0 0 #fefefe, -1px 0 0 #fefefe, 1px 1px 2px #000; -webkit-font-smoothing: antialiased !important; white-space: nowrap; overflow: hidden; } .markdown-body .progress-bar { height: 24px; float: left; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background-color: #96c6d7; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .1); background-size: 30px 30px; background-image: -webkit-linear-gradient( 135deg, rgba(255, 255, 255, .4) 27%, transparent 27%, transparent 52%, rgba(255, 255, 255, .4) 52%, rgba(255, 255, 255, .4) 77%, transparent 77%, transparent ); background-image: -moz-linear-gradient( 135deg, rgba(255, 255, 255, .4) 27%, transparent 27%, transparent 52%, rgba(255, 255, 255, .4) 52%, rgba(255, 255, 255, .4) 77%, transparent 77%, transparent ); background-image: -ms-linear-gradient( 135deg, rgba(255, 255, 255, .4) 27%, transparent 27%, transparent 52%, rgba(255, 255, 255, .4) 52%, rgba(255, 255, 255, .4) 77%, transparent 77%, transparent ); background-image: -o-linear-gradient( 135deg, rgba(255, 255, 255, .4) 27%, transparent 27%, transparent 52%, rgba(255, 255, 255, .4) 52%, rgba(255, 255, 255, .4) 77%, transparent 77%, transparent ); background-image: linear-gradient( 135deg, rgba(255, 255, 255, .4) 27%, transparent 27%, transparent 52%, rgba(255, 255, 255, .4) 52%, rgba(255, 255, 255, .4) 77%, transparent 77%, transparent ); } .markdown-body .progress-100plus .progress-bar { background-color: #a6d796; } .markdown-body .progress-80plus .progress-bar { background-color: #c6d796; } .markdown-body .progress-60plus .progress-bar { background-color: #d7c896; } .markdown-body .progress-40plus .progress-bar { background-color: #d7a796; } .markdown-body .progress-20plus .progress-bar { background-color: #d796a6; } .markdown-body .progress-0plus .progress-bar { background-color: #c25f77; } .markdown-body .candystripe-animate .progress-bar{ -webkit-animation: animate-stripes 3s linear infinite; -moz-animation: animate-stripes 3s linear infinite; animation: animate-stripes 3s linear infinite; } @-webkit-keyframes animate-stripes { 0% { background-position: 0 0; } 100% { background-position: 60px 0; } } @-moz-keyframes animate-stripes { 0% { background-position: 0 0; } 100% { background-position: 60px 0; } } @keyframes animate-stripes { 0% { background-position: 0 0; } 100% { background-position: 60px 0; } } .markdown-body .gloss .progress-bar { box-shadow: inset 0 4px 12px rgba(255, 255, 255, .7), inset 0 -12px 0 rgba(0, 0, 0, .05); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/tabs.css�������������������������������������������0000664�0000000�0000000�00000001215�14651242716�0024011�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.superfences-tabs { display: flex; position: relative; flex-wrap: wrap; } .superfences-tabs .highlight { background: #ddd; } .superfences-tabs .superfences-content { display: none; order: 99; width: 100%; } .superfences-tabs label { width: auto; margin: 0 0.5em; padding: 0.25em; font-size: 120%; cursor: pointer; } .superfences-tabs input { position: absolute; opacity: 0; } .superfences-tabs input:nth-child(n+1) { color: #333333; } .superfences-tabs input:nth-child(n+1):checked + label { color: #FF5252; } .superfences-tabs input:nth-child(n+1):checked + label + .superfences-content { display: block; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/tasklist.css���������������������������������������0000664�0000000�0000000�00000000257�14651242716�0024723�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.markdown-body .task-list-item { list-style-type: none; } .markdown-body .task-list-item input[type="checkbox"] { margin: 0 4px 0.25em -20px; vertical-align: middle; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/_assets/tasklist_custom.css��������������������������������0000664�0000000�0000000�00000001645�14651242716�0026317�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.markdown-body .task-list-item { list-style-type: none; } .markdown-body .task-list-item input[type="checkbox"] { margin: 0 4px 0.25em -20px; vertical-align: middle; } .markdown-body .task-list-control { position: relative; display: inline-block; color: #555; cursor: pointer; } .markdown-body .task-list-control input[type="checkbox"] { position: absolute; opacity: 0; z-index: -1; /* Put the input behind the label so it doesn't overlay text */ } .markdown-body .task-list-indicator { position: absolute; top: -8px; left: -18px; display: block; width: 14px; height: 14px; color: #eee; background-color: #eee; border-radius: .25rem; } .markdown-body .task-list-control input[type="checkbox"]:checked + .task-list-indicator::before { display: block; margin-top: -4px; margin-left: 2px; font-size: 16px; line-height: 1; border-radius: 2px; content: "✔"; color: #1EBB52; } �������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0023054�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (disable).html�����������������������0000664�0000000�0000000�00000001621�14651242716�0027615�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j$</p> <p>(3+3) \(3+3) \(3+3)</p> <p>$$ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $$</p> <p>[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ]</p> <p>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$</p> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>���������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (disable).txt������������������������0000664�0000000�0000000�00000001570�14651242716�0027473�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j\$ \(3+3\) \\(3+3\) \\\(3+3\) $$ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $$ \[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \] $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script> ����������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (dumb dollar).html�������������������0000664�0000000�0000000�00000007415�14651242716�0030406�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Math Rendering Test Case</h1> <h2>Inline Math</h2> <p>This is Inline Math using <code>\( ... \)</code> <span class="arithmatex">\( x + y = z \in \left\{ -1, 1 \right\} \)</span> and now using <code>$ ... $</code> <span class="arithmatex">\( x + y = z \in \left\{ -1, 1 \right\} \)</span> and it should handle the case of giving my friend 2$. </p> <p>We can also do the same without gaps.</p> <p>This is Inline Math using <code>\(...\)</code> <span class="arithmatex">\(x + y = z \in \left\{ -1, 1 \right\}\)</span> and now using <code>$...$</code> <span class="arithmatex">\(x + y = z \in \left\{ -1, 1 \right\}\)</span> and it should handle the case of giving my friend 2$. </p> <p>It can also take care of cases of one sided gaps.</p> <p>This is Inline Math using <code>\( ...\)</code> <span class="arithmatex">\( x + y = z \in \left\{ -1, 1 \right\}\)</span> and now using <code>$ ...$</code> <span class="arithmatex">\( x + y = z \in \left\{ -1, 1 \right\}\)</span> and it should handle the case of giving my friend 2$. </p> <p>This is Inline Math using <code>\(... \)</code> <span class="arithmatex">\(x + y = z \in \left\{ -1, 1 \right\} \)</span> and now using <code>$... $</code> <span class="arithmatex">\(x + y = z \in \left\{ -1, 1 \right\} \)</span> and it should handle the case of giving my friend 2$. </p> <p>Here is a dollar test. My friend has $2.00 and I have $10.00. <span class="arithmatex">\( 2 + 10 = 13 \)</span>.</p> <h2>Display Math</h2> <p>Well, this should be less challenging:</p> <div class="arithmatex">\[ x + y = z \in \left\{ -1, 1 \right\} \]</div> <div class="arithmatex">\[x + y = z \in \left\{ -1, 1 \right\}\]</div> <div class="arithmatex">\[ x + y = z \in \left\{ -1, 1 \right\}\]</div> <div class="arithmatex">\[x + y = z \in \left\{ -1, 1 \right\} \]</div> <div class="arithmatex">\[ x + y = z \in \left\{ -1, 1 \right\} \]</div> <div class="arithmatex">\[x + y = z \in \left\{ -1, 1 \right\}\]</div> <div class="arithmatex">\[ x + y = z \in \left\{ -1, 1 \right\}\]</div> <div class="arithmatex">\[x + y = z \in \left\{ -1, 1 \right\} \]</div> <h2>Environments</h2> <div class="arithmatex">\[\begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*}\]</div> <div class="arithmatex">\[ \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} \]</div> <div class="arithmatex">\[ \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*}\]</div> <div class="arithmatex">\[\begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} \]</div> <div class="arithmatex">\[\begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*}\]</div> <div class="arithmatex">\[\begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*}\]</div> <div class="arithmatex">\[\begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*}\]</div> <div class="arithmatex">\[\begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*}\]</div> <div class="arithmatex">\[\begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*}\]</div> <div class="arithmatex">\[ \begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*} \]</div> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["tex2jax.js", "MathMenu.js", "MathZoom.js"], tex2jax: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ] }, displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (dumb dollar).txt��������������������0000664�0000000�0000000�00000005343�14651242716�0030257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Math Rendering Test Case ## Inline Math This is Inline Math using `\( ... \)` \( x + y = z \in \left\{ -1, 1 \right\} \) and now using `$ ... $` $ x + y = z \in \left\{ -1, 1 \right\} $ and it should handle the case of giving my friend 2\$. We can also do the same without gaps. This is Inline Math using `\(...\)` \(x + y = z \in \left\{ -1, 1 \right\}\) and now using `$...$` $x + y = z \in \left\{ -1, 1 \right\}$ and it should handle the case of giving my friend 2\$. It can also take care of cases of one sided gaps. This is Inline Math using `\( ...\)` \( x + y = z \in \left\{ -1, 1 \right\}\) and now using `$ ...$` $ x + y = z \in \left\{ -1, 1 \right\}$ and it should handle the case of giving my friend 2\$. This is Inline Math using `\(... \)` \(x + y = z \in \left\{ -1, 1 \right\} \) and now using `$... $` $x + y = z \in \left\{ -1, 1 \right\} $ and it should handle the case of giving my friend 2\$. Here is a dollar test. My friend has \$2.00 and I have \$10.00. $ 2 + 10 = 13 $. ## Display Math Well, this should be less challenging: \[ x + y = z \in \left\{ -1, 1 \right\} \] \[x + y = z \in \left\{ -1, 1 \right\}\] \[ x + y = z \in \left\{ -1, 1 \right\}\] \[x + y = z \in \left\{ -1, 1 \right\} \] $$ x + y = z \in \left\{ -1, 1 \right\} $$ $$x + y = z \in \left\{ -1, 1 \right\}$$ $$ x + y = z \in \left\{ -1, 1 \right\}$$ $$x + y = z \in \left\{ -1, 1 \right\} $$ ## Environments \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} $$ \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} $$ $$ \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*}$$ $$\begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} $$ \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} \begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*} \begin{align*} x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*} \begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l \end{align*} $$\begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*}$$ $$ \begin{align*}x + y & = z \in \left\{ -1, 1 \right\} \\ g + h & = l\end{align*} $$ <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["tex2jax.js", "MathMenu.js", "MathZoom.js"], tex2jax: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ] }, displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (generic).html�����������������������0000664�0000000�0000000�00000004330�14651242716�0027626�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Dollar Sign Not Trigger</h1> <p>I have $3.00 and you have $5.00.</p> <h1>Dollar Sign Escape</h1> <p>$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j$</p> <h1>Dollar Sign Escaped Escape</h1> <p>\<span class="arithmatex">\(3+3\)</span></p> <h1>Dollar Double escaped escape</h1> <p>\$3+3$</p> <h1>Use Dollar sign</h1> <p><span class="arithmatex">\(\$3.00 + \$5.00 = \$8.00\)</span></p> <h1>Keep equations separate</h1> <p><span class="arithmatex">\(3+3\)</span> \(3+3) \<span class="arithmatex">\(3+3\)</span></p> <h1>Equations</h1> <div class="arithmatex">\[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \]</div> <div class="arithmatex">\[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \]</div> <ul> <li> <p>Here are some more equations:</p> <div class="arithmatex">\[ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} \]</div> </li> <li> <p>Inline equations: <span class="arithmatex">\(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\)</span>, <span class="arithmatex">\(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\)</span>.</p> </li> </ul> <h1>Code</h1> <p><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$</code></p> <h1>Indented Code</h1> <pre><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ </code></pre> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["tex2jax.js", "MathMenu.js", "MathZoom.js"], tex2jax: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ] }, displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (generic).txt������������������������0000664�0000000�0000000�00000003462�14651242716�0027506�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dollar Sign Not Trigger I have $3.00 and you have $5.00. # Dollar Sign Escape \$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j\$ # Dollar Sign Escaped Escape \\$3+3$ # Dollar Double escaped escape \\\$3+3$ # Use Dollar sign $\$3.00 + \$5.00 = \$8.00$ # Keep equations separate \(3+3\) \\(3+3\) \\\(3+3\) # Equations $$ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $$ \[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \] - Here are some more equations: $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ - Inline equations: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\). # Code ``` $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ ``` # Indented Code $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["tex2jax.js", "MathMenu.js", "MathZoom.js"], tex2jax: { inlineMath: [ ["\\(","\\)"] ], displayMath: [ ["\\[","\\]"] ] }, displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (no-preview).html��������������������0000664�0000000�0000000�00000004623�14651242716�0030312�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Dollar Sign Not Trigger</h1> <p>I have $3.00 and you have $5.00.</p> <h1>Dollar Sign Escape</h1> <p>$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j$</p> <h1>Use Dollar sign</h1> <p><span class="arithmatex"><script type="math/tex">\$3.00 + \$5.00 = \$8.00</script></span></p> <h1>Dollar Sign Escaped Escape</h1> <p>\<span class="arithmatex"><script type="math/tex">3+3</script></span></p> <h1>Dollar Double escaped escape</h1> <p>\$3+3$</p> <h1>Keep equations separate</h1> <p><span class="arithmatex"><script type="math/tex">3+3</script></span> \(3+3) \<span class="arithmatex"><script type="math/tex">3+3</script></span></p> <h1>Equations</h1> <div class="arithmatex"> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> <div class="arithmatex"> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> <ul> <li> <p>Here are some more equations:</p> <div class="arithmatex"> <script type="math/tex; mode=display"> \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} </script> </div> </li> <li> <p>Inline equations: <span class="arithmatex"><script type="math/tex">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</script></span>, <span class="arithmatex"><script type="math/tex">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</script></span>.</p> </li> </ul> <h1>Code</h1> <p><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$</code></p> <h1>Indented Code</h1> <pre><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ </code></pre> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>�������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex (no-preview).txt���������������������0000664�0000000�0000000�00000003300�14651242716�0030154�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dollar Sign Not Trigger I have $3.00 and you have $5.00. # Dollar Sign Escape \$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j\$ # Use Dollar sign $\$3.00 + \$5.00 = \$8.00$ # Dollar Sign Escaped Escape \\$3+3$ # Dollar Double escaped escape \\\$3+3$ # Keep equations separate \(3+3\) \\(3+3\) \\\(3+3\) # Equations $$ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $$ \[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \] - Here are some more equations: $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ - Inline equations: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\). # Code ``` $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ ``` # Indented Code $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex.html���������������������������������0000664�0000000�0000000�00000006260�14651242716�0026114�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Dollar Sign Not Trigger</h1> <p>I have $3.00 and you have $5.00.</p> <h1>Dollar Sign Escape</h1> <p>$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j$</p> <h1>Dollar Sign Escaped Escape</h1> <p>\<span class="arithmatex"><span class="MathJax_Preview">3+3</span><script type="math/tex">3+3</script></span></p> <h1>Dollar Double escaped escape</h1> <p>\$3+3$</p> <h1>Use Dollar sign</h1> <p><span class="arithmatex"><span class="MathJax_Preview">\$3.00 + \$5.00 = \$8.00</span><script type="math/tex">\$3.00 + \$5.00 = \$8.00</script></span></p> <h1>Keep equations separate</h1> <p><span class="arithmatex"><span class="MathJax_Preview">3+3</span><script type="math/tex">3+3</script></span> \(3+3) \<span class="arithmatex"><span class="MathJax_Preview">3+3</span><script type="math/tex">3+3</script></span></p> <h1>Equations</h1> <div class="arithmatex"> <div class="MathJax_Preview"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </div> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> <div class="arithmatex"> <div class="MathJax_Preview"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </div> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> <ul> <li> <p>Here are some more equations:</p> <div class="arithmatex"> <div class="MathJax_Preview"> \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} </div> <script type="math/tex; mode=display"> \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} </script> </div> </li> <li> <p>Inline equations: <span class="arithmatex"><span class="MathJax_Preview">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</span><script type="math/tex">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</script></span>, <span class="arithmatex"><span class="MathJax_Preview">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</span><script type="math/tex">p(x|y) = \frac{p(y|x)p(x)}{p(y)}</script></span>.</p> </li> </ul> <h1>Code</h1> <p><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$</code></p> <h1>Indented Code</h1> <pre><code>$$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ </code></pre> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/arithmatex.txt����������������������������������0000664�0000000�0000000�00000003300�14651242716�0025757�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dollar Sign Not Trigger I have $3.00 and you have $5.00. # Dollar Sign Escape \$E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j\$ # Dollar Sign Escaped Escape \\$3+3$ # Dollar Double escaped escape \\\$3+3$ # Use Dollar sign $\$3.00 + \$5.00 = \$8.00$ # Keep equations separate \(3+3\) \\(3+3\) \\\(3+3\) # Equations $$ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $$ \[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \] - Here are some more equations: $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ - Inline equations: $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\). # Code ``` $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ ``` # Indented Code $$ \begin{align} p(v_i=1|\mathbf{h}) & = \sigma\left(\sum_j w_{ij}h_j + b_i\right) \\ p(h_j=1|\mathbf{v}) & = \sigma\left(\sum_i w_{ij}v_i + c_j\right) \end{align} $$ <script type="text/x-mathjax-config"> MathJax.Hub.Config({ config: ["MMLorHTML.js"], jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"], extensions: ["MathMenu.js", "MathZoom.js"], displayAlign: 'left', showProcessingMessages: false, messageStyle: 'none' }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/arithmatex/tests.yml���������������������������������������0000664�0000000�0000000�00000000711�14651242716�0024740�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} arithmatex: extensions: pymdownx.arithmatex: arithmatex (dumb dollar): extensions: pymdownx.arithmatex: generic: true smart_dollar: false arithmatex (generic): extensions: pymdownx.arithmatex: generic: true arithmatex (disable): extensions: pymdownx.arithmatex: block_syntax: [] inline_syntax: [] arithmatex (no-preview): extensions: pymdownx.arithmatex: preview: false �������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/��������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022515�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/betterem (normal).html����������������������������0000664�0000000�0000000�00000004040�14651242716�0026602�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: * Won't highlight *</p> <p>Test: <em>Will highlight</em></p> <p>Test: <strong><em>I'm italic and bold</em> I am just bold.</strong></p> <p>Test: <em><strong>I'm bold and italic!</strong> I am just italic.</em></p> <p>Test: <strong><em>A lot of underscores____________is okay</em></strong></p> <p>Test: <strong>This will all be bold __because of the placement of the center underscores.</strong></p> <p>Test: <strong>This will all be bold __ because of the placement of the center underscores.</strong></p> <p>Test: <strong>This will NOT all be bold</strong> because of the placement of the center underscores.__</p> <p>Test: <strong>This will all be bold_ because the token is less than that of the surrounding.</strong></p> <p>Test: This is text <strong>bold <em>italic bold</em></strong> with more text</p> <p>Test: <em>All will * be italic</em></p> <p>Test: <em>All will *be italic</em></p> <p>Test: <em>All will not</em> be italic*</p> <p>Test: <em>All will not ** be italic</em></p> <p>Test: <strong>All will * be bold</strong></p> <p>Test: <em>All will *be italic</em>*</p> <p>Test: <strong>All will not</strong>* be bold**</p> <p>Test: <strong>All will not *** be bold</strong></p> <p>Test: This is text <strong>bold <em>italic bold</em></strong> with more text</p> <p>Test: <strong>test <em>test</em> <em>test</em> test</strong></p> <p>Test: <strong><em>test</em> test *test</strong>*</p> <p>Test: <em>test * test</em></p> <p>Test: <strong>test ** test</strong></p> <p>Test: <strong>test <em>test</em> <em>test</em> test</strong></p> <p>Test: <strong><em>test_ test _test</em></strong></p> <p>Test: <em>test _ test</em></p> <p>Test: <strong>test __ test</strong></p> <p>Test: <strong>test <em>(test)</em> test</strong></p> <p>Test: <strong>test <em>(test)</em> test</strong></p> <p>One asterisk: *</p> <p>One underscore: _</p> <p>Two asterisks: **</p> <p>With spaces: * *</p> <p>Two underscores __</p> <p>with spaces: _ _</p> <p>three asterisks: ***</p> <p>with spaces: * * *</p> <p>three underscores: ___</p> <p>with spaces: _ _ _</p> <p>One char: <em>a</em></p>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/betterem (normal).txt�����������������������������0000664�0000000�0000000�00000002622�14651242716�0026461�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: * Won't highlight * Test: *Will highlight* Test: ***I'm italic and bold* I am just bold.** Test: ***I'm bold and italic!** I am just italic.* Test: ___A lot of underscores____________is okay___ Test: __This will all be bold __because of the placement of the center underscores.__ Test: __This will all be bold __ because of the placement of the center underscores.__ Test: __This will NOT all be bold__ because of the placement of the center underscores.__ Test: __This will all be bold_ because the token is less than that of the surrounding.__ Test: This is text __bold _italic bold___ with more text Test: *All will * be italic* Test: *All will *be italic* Test: *All will not* be italic* Test: *All will not ** be italic* Test: **All will * be bold** Test: *All will *be italic** Test: **All will not*** be bold** Test: **All will not *** be bold** Test: This is text **bold *italic bold*** with more text Test: **test *test* *test* test** Test: ***test* test *test*** Test: *test * test* Test: **test ** test** Test: __test _test_ _test_ test__ Test: ___test_ test _test___ Test: _test _ test_ Test: __test __ test__ Test: **test *(test)* test** Test: __test _(test)_ test__ One asterisk: * One underscore: _ Two asterisks: ** With spaces: * * Two underscores __ with spaces: _ _ three asterisks: *** with spaces: * * * three underscores: ___ with spaces: _ _ _ One char: _a_ ��������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/betterem (reverse).html���������������������������0000664�0000000�0000000�00000003370�14651242716�0026772�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: _ Won't highlight _</p> <p>Test: <em>Will highlight</em></p> <p>Test: <strong><em>I'm italic and bold</em> I am just bold.</strong></p> <p>Test: <em><strong>I'm bold and italic!</strong> I am just italic.</em></p> <p>Test: <strong><em>A lot of asterisks************is okay</em></strong></p> <p>Test: <strong>This will all be bold **because of the placement of the center asterisk.</strong></p> <p>Test: <strong>This will all be bold ** because of the placement of the center asterisk.</strong></p> <p>Test: <strong>This will NOT all be bold</strong> because of the placement of the center asterisk.**</p> <p>Test: <strong>This will all be bold* because the token is less than that of the surrounding.</strong></p> <p>Test: This is text <strong>bold <em>italic bold</em></strong> with more text</p> <p>Test: <em>All will _ be italic</em></p> <p>Test: <em>All will _be italic</em></p> <p>Test: <em>All will not</em> be italic_</p> <p>Test: <em>All will not __ be italic</em></p> <p>Test: <strong>All will _ be bold</strong></p> <p>Test: <em>All will _be italic</em>_</p> <p>Test: <strong>All will not</strong>_ be bold__</p> <p>Test: <strong>All will not ___ be bold</strong></p> <p>Test: This is text <strong>bold <em>italic bold</em></strong> with more text</p> <p>Test: <strong>test <em>test</em> <em>test</em> test</strong></p> <p>Test: <strong><em>test* test *test</em></strong></p> <p>Test: <em>test * test</em></p> <p>Test: <strong>test ** test</strong></p> <p>Test: <strong>test <em>test</em> <em>test</em> test</strong></p> <p>Test: <strong><em>test</em> test _test</strong>_</p> <p>Test: <em>test _ test</em></p> <p>Test: <strong>test __ test</strong></p> <p>Test: <strong>test <em>(test)</em> test</strong></p> <p>Test: <strong>test <em>(test)</em> test</strong></p>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/betterem (reverse).txt����������������������������0000664�0000000�0000000�00000002263�14651242716�0026645�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: _ Won't highlight _ Test: _Will highlight_ Test: ___I'm italic and bold_ I am just bold.__ Test: ___I'm bold and italic!__ I am just italic._ Test: ***A lot of asterisks************is okay*** Test: **This will all be bold **because of the placement of the center asterisk.** Test: **This will all be bold ** because of the placement of the center asterisk.** Test: **This will NOT all be bold** because of the placement of the center asterisk.** Test: **This will all be bold* because the token is less than that of the surrounding.** Test: This is text **bold *italic bold*** with more text Test: _All will _ be italic_ Test: _All will _be italic_ Test: _All will not_ be italic_ Test: _All will not __ be italic_ Test: __All will _ be bold__ Test: _All will _be italic__ Test: __All will not___ be bold__ Test: __All will not ___ be bold__ Test: This is text __bold _italic bold___ with more text Test: **test *test* *test* test** Test: ***test* test *test*** Test: *test * test* Test: **test ** test** Test: __test _test_ _test_ test__ Test: ___test_ test _test___ Test: _test _ test_ Test: __test __ test__ Test: **test *(test)* test** Test: __test _(test)_ test__ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/betterem/tests.yml�����������������������������������������0000664�0000000�0000000�00000000240�14651242716�0024376�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} betterem (normal): extensions: pymdownx.betterem: betterem (reverse): extensions: pymdownx.betterem: smart_enable: asterisk ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/�����������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022004�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (dumb no sup).html�����������������������������0000664�0000000�0000000�00000000352�14651242716�0026206�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: ^^ Won't insert ^^</p> <p>Test: <ins>Will insert</ins></p> <p>Test: ^^Escaped^^</p> <p>Test: <ins>All will ^ be insert</ins></p> <p>Test: <ins>All will</ins>^ not be insert^^</p> <p>Test: <ins>All will ^^^ be insert</ins></p>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (dumb no sup).txt������������������������������0000664�0000000�0000000�00000000256�14651242716�0026064�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: ^^ Won't insert ^^ Test: ^^Will insert^^ Test: \^\^Escaped\^\^ Test: ^^All will ^ be insert^^ Test: ^^All will^^^ not be insert^^ Test: ^^All will ^^^ be insert^^ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (dumb).html������������������������������������0000664�0000000�0000000�00000000703�14651242716�0025021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>x<sup>2</sup> + y<sup>2</sup> = 4</p> <p>Text<sup>superscript</sup></p> <p>Text^superscript failed^</p> <p>Text<sup>superscript success</sup></p> <p>Test: ^^ Won't insert ^^</p> <p>Test: <ins>Will insert</ins></p> <p>Test: ^^Escaped^^</p> <p>Test: <ins>All will ^ be insert</ins></p> <p>Test: <ins>All will<sup>^</sup> be insert with superscript in middle</ins></p> <p>Test: <ins>All will <sup>^</sup> be insert with superscript in middle</ins></p>�������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (dumb).txt�������������������������������������0000664�0000000�0000000�00000000474�14651242716�0024701�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������x^2^ + y^2^ = 4 Text^superscript^ Text^superscript failed^ Text^superscript\ success^ Test: ^^ Won't insert ^^ Test: ^^Will insert^^ Test: \^\^Escaped\^\^ Test: ^^All will ^ be insert^^ Test: ^^All will^\^^ be insert with superscript in middle^^ Test: ^^All will ^\^^ be insert with superscript in middle^^ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (no insert).html�������������������������������0000664�0000000�0000000�00000000262�14651242716�0025773�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>x<sup>2</sup> + y<sup>2</sup> = 4</p> <p>Text<sup>superscript</sup></p> <p>Text^superscript failed^</p> <p>Text<sup>superscript success</sup></p> <p>Test: ^^Won't insert^^</p>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (no insert).txt��������������������������������0000664�0000000�0000000�00000000161�14651242716�0025644�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������x^2^ + y^2^ = 4 Text^superscript^ Text^superscript failed^ Text^superscript\ success^ Test: ^^Won't insert^^ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret (no sup).html����������������������������������0000664�0000000�0000000�00000000761�14651242716�0025302�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: ^^ Won't insert ^^</p> <p>Test: <ins>Will insert</ins></p> <p>Test: ^^Escaped^^</p> <p>Test: <ins>This will all be inserted ^^because of the placement of the center carets.</ins></p> <p>Test: <ins>This will all be inserted ^^ because of the placement of the center carets.</ins></p> <p>Test: <ins>This will NOT all be inserted</ins> because of the placement of the center caret.^^</p> <p>Test: <ins>This will all be inserted^ because of the token is less than that of the caret.</ins></p>���������������pymdown-extensions-10.9/tests/extensions/caret/caret (no sup).txt�����������������������������������0000664�0000000�0000000�00000000650�14651242716�0025152�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: ^^ Won't insert ^^ Test: ^^Will insert^^ Test: \^\^Escaped\^\^ Test: ^^This will all be inserted ^^because of the placement of the center carets.^^ Test: ^^This will all be inserted ^^ because of the placement of the center carets.^^ Test: ^^This will NOT all be inserted^^ because of the placement of the center caret.^^ Test: ^^This will all be inserted^ because of the token is less than that of the caret.^^ ����������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret.html�������������������������������������������0000664�0000000�0000000�00000001206�14651242716�0023767�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>x<sup>2</sup> + y<sup>2</sup> = 4</p> <p>Text<sup>superscript</sup></p> <p>Text^superscript failed^</p> <p>Text<sup>superscript success</sup></p> <p>Test: ^^ Won't insert ^^</p> <p>Test: <ins>Will insert</ins></p> <p>Test: ^^Escaped^^</p> <p>Test: <ins>This will all be inserted ^^because of the placement of the center carets.</ins></p> <p>Test: <ins>This will all be inserted ^^ because of the placement of the center carets.</ins></p> <p>Test: <ins>This will NOT all be inserted</ins> because of the placement of the center caret.^^</p> <p>Test: <ins>This will all be inserted^ because of the token is less than that of the caret.</ins></p>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/caret.txt��������������������������������������������0000664�0000000�0000000�00000001002�14651242716�0023634�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������x^2^ + y^2^ = 4 Text^superscript^ Text^superscript failed^ Text^superscript\ success^ Test: ^^ Won't insert ^^ Test: ^^Will insert^^ Test: \^\^Escaped\^\^ Test: ^^This will all be inserted ^^because of the placement of the center carets.^^ Test: ^^This will all be inserted ^^ because of the placement of the center carets.^^ Test: ^^This will NOT all be inserted^^ because of the placement of the center caret.^^ Test: ^^This will all be inserted^ because of the token is less than that of the caret.^^ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/caret/tests.yml��������������������������������������������0000664�0000000�0000000�00000000606�14651242716�0023673�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} caret: extensions: pymdownx.caret: caret (dumb): extensions: pymdownx.caret: smart_insert: false caret (dumb no sup): extensions: pymdownx.caret: smart_insert: false superscript: false caret (no insert): extensions: pymdownx.caret: insert: false caret (no sup): extensions: pymdownx.caret: superscript: false ��������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/����������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022163�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (accept).html��������������������������������0000664�0000000�0000000�00000000657�14651242716�0025677�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Here is some Markdown. I am adding this here.. Here is some more text. And here is even more text that I am adding. Paragraph was deleted and replaced with some spaces.</p> <p>Spaces were removed and a paragraph was added.</p> <p>And here is a comment on some ==text== . Substitutions are great!</p> <p>General block handling.</p> <ul> <li>test<ul> <li>test</li> </ul> </li> <li>test</li> <li>test</li> <li>test</li> </ul>���������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (accept).txt���������������������������������0000664�0000000�0000000�00000001071�14651242716�0025541�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Here is some {--*incorrect*--} Markdown. I am adding this{++ here.++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some ==text== ==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test * test * test * test * test --} {++ * test * test * test * test * test ++} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (reject).html��������������������������������0000664�0000000�0000000�00000000702�14651242716�0025703�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Here is some <em>incorrect</em> Markdown. I am adding this. Here is some more text that I am removingtext. And here is even more adding.</p> <p>Paragraph was deleted and replaced with some spaces. Spaces were removed and a paragraph was added.</p> <p>And here is a comment on some ==text== . Substitutions is great!</p> <p>General block handling.</p> <ul> <li>test</li> <li>test</li> <li>test<ul> <li>test</li> </ul> </li> <li>test</li> </ul>��������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (reject).txt���������������������������������0000664�0000000�0000000�00000001071�14651242716�0025556�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Here is some {--*incorrect*--} Markdown. I am adding this{++ here.++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some ==text== ==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test * test * test * test * test --} {++ * test * test * test * test * test ++} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (view).html����������������������������������0000664�0000000�0000000�00000002017�14651242716�0025402�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Here is some <del class="critic"><em>incorrect</em></del> Markdown. I am adding this<ins class="critic"> here.</ins>. Here is some more <del class="critic">text that I am removing</del>text. And here is even more <ins class="critic">text that I am </ins>adding.<del class="critic break"> </del><ins class="critic"> </ins>Paragraph was deleted and replaced with some spaces.<del class="critic"> </del></p> <ins class="critic break"> </ins> <p>Spaces were removed and a paragraph was added.</p> <p>And here is a comment on <mark class="critic">some ==text== </mark><span class="critic comment">This works quite well. I just wanted to comment on it.</span>. Substitutions <del class="critic">is</del><ins class="critic">are</ins> great!</p> <p>General block handling.</p> <del class="critic block"> <ul> <li>test</li> <li>test</li> <li>test<ul> <li>test</li> </ul> </li> <li>test</li> </ul> </del> <ins class="critic block"> <ul> <li>test<ul> <li>test</li> </ul> </li> <li>test</li> <li>test</li> <li>test</li> </ul> </ins>�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/critic (view).txt�����������������������������������0000664�0000000�0000000�00000001071�14651242716�0025254�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Here is some {--*incorrect*--} Markdown. I am adding this{++ here.++}. Here is some more {--text that I am removing--}text. And here is even more {++text that I am ++}adding.{~~ ~> ~~}Paragraph was deleted and replaced with some spaces.{~~ ~> ~~}Spaces were removed and a paragraph was added. And here is a comment on {==some ==text== ==}{>>This works quite well. I just wanted to comment on it.<<}. Substitutions {~~is~>are~~} great! General block handling. {-- * test * test * test * test * test --} {++ * test * test * test * test * test ++} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/critic/tests.yml�������������������������������������������0000664�0000000�0000000�00000000344�14651242716�0024051�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} critic (accept): extensions: pymdownx.critic: mode: accept critic (reject): extensions: pymdownx.critic: mode: reject critic (view): extensions: pymdownx.critic: mode: view ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/�����������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022011�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (entities).html�������������������������������0000664�0000000�0000000�00000000335�14651242716�0026012�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 💯<br> 1234 🔢<br> 8ball 🎱<br> a 🅰<br> ab 🆎<br> abc 🔤<br> abcd 🔡<br> accept 🉑<br> aerial_tramway 🚡<br> airplane ✈<br></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (entities).txt��������������������������������0000664�0000000�0000000�00000000275�14651242716�0025670�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (escaped).html��������������������������������0000664�0000000�0000000�00000000504�14651242716�0025570�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>: <img alt="😄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f604.png" title=":smile:" /><br> :smile:<br> \<img alt="😄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f604.png" title=":smile:" /><br> \:smile:<br></p>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (escaped).txt���������������������������������0000664�0000000�0000000�00000000102�14651242716�0025435�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis \: :smile:<br> \:smile:<br> \\:smile:<br> \\\:smile:<br> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (long title).html�����������������������������0000664�0000000�0000000�00000003107�14651242716�0026227�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 <img alt="💯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4af.png" title="hundred points symbol" /><br> 1234 <img alt="🔢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f522.png" title="input symbol for numbers" /><br> 8ball <img alt="🎱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b1.png" title="billiards" /><br> a <img alt="🅰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f170.png" title="negative squared latin capital letter a" /><br> ab <img alt="🆎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f18e.png" title="negative squared ab" /><br> abc <img alt="🔤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f524.png" title="input symbol for latin letters" /><br> abcd <img alt="🔡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f521.png" title="input symbol for latin small letters" /><br> accept <img alt="🉑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f251.png" title="circled ideograph accept" /><br> aerial_tramway <img alt="🚡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a1.png" title="aerial tramway" /><br> airplane <img alt="✈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2708.png" title="airplane" /><br></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (long title).txt������������������������������0000664�0000000�0000000�00000000275�14651242716�0026105�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (no title).html�������������������������������0000664�0000000�0000000�00000002415�14651242716�0025705�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 <img alt="💯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4af.png" /><br> 1234 <img alt="🔢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f522.png" /><br> 8ball <img alt="🎱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b1.png" /><br> a <img alt="🅰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f170.png" /><br> ab <img alt="🆎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f18e.png" /><br> abc <img alt="🔤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f524.png" /><br> abcd <img alt="🔡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f521.png" /><br> accept <img alt="🉑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f251.png" /><br> aerial_tramway <img alt="🚡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a1.png" /><br> airplane <img alt="✈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2708.png" /><br></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (no title).txt��������������������������������0000664�0000000�0000000�00000000275�14651242716�0025562�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (png sprite).html�����������������������������0000664�0000000�0000000�00000002037�14651242716�0026242�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/sprites/emojione.sprites.css"/> </head> <body> <div class="markdown-body"> <h1>Emojis</h1> <p>100 <span class="emojione-64-symbols _1f4af" title=":100:">💯</span><br> 1234 <span class="emojione-64-symbols _1f522" title=":1234:">🔢</span><br> 8ball <span class="emojione-64-activity _1f3b1" title=":8ball:">🎱</span><br> a <span class="emojione-64-symbols _1f170" title=":a:">🅰</span><br> ab <span class="emojione-64-symbols _1f18e" title=":ab:">🆎</span><br> abc <span class="emojione-64-symbols _1f524" title=":abc:">🔤</span><br> abcd <span class="emojione-64-symbols _1f521" title=":abcd:">🔡</span><br> accept <span class="emojione-64-symbols _1f251" title=":accept:">🉑</span><br> aerial_tramway <span class="emojione-64-travel _1f6a1" title=":aerial_tramway:">🚡</span><br> airplane <span class="emojione-64-travel _2708" title=":airplane:">✈ï¸</span><br></p> </div> </body> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (png sprite).txt������������������������������0000664�0000000�0000000�00000000275�14651242716�0026117�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (png).html������������������������������������0000664�0000000�0000000�00001063105�14651242716�0024757�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/css/emojione.min.css"/> </head> <body> <div class="markdown-body"> <h1>Emojis</h1> <p>100 <img alt="💯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4af.png" title=":100:" /><br> 1234 <img alt="🔢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f522.png" title=":1234:" /><br> 8ball <img alt="🎱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b1.png" title=":8ball:" /><br> a <img alt="🅰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f170.png" title=":a:" /><br> ab <img alt="🆎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f18e.png" title=":ab:" /><br> abc <img alt="🔤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f524.png" title=":abc:" /><br> abcd <img alt="🔡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f521.png" title=":abcd:" /><br> accept <img alt="🉑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f251.png" title=":accept:" /><br> aerial_tramway <img alt="🚡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a1.png" title=":aerial_tramway:" /><br> airplane <img alt="✈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2708.png" title=":airplane:" /><br> airplane_arriving <img alt="🛬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ec.png" title=":airplane_arriving:" /><br> airplane_departure <img alt="🛫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6eb.png" title=":airplane_departure:" /><br> airplane_small <img alt="🛩ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e9.png" title=":airplane_small:" /><br> alarm_clock <img alt="â°" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f0.png" title=":alarm_clock:" /><br> alembic <img alt="âš—ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2697.png" title=":alembic:" /><br> alien <img alt="👽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47d.png" title=":alien:" /><br> ambulance <img alt="🚑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f691.png" title=":ambulance:" /><br> amphora <img alt="ðŸº" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3fa.png" title=":amphora:" /><br> anchor <img alt="âš“ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2693.png" title=":anchor:" /><br> angel <img alt="👼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c.png" title=":angel:" /><br> angel_tone1 <img alt="👼ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c-1f3fb.png" title=":angel_tone1:" /><br> angel_tone2 <img alt="👼ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c-1f3fc.png" title=":angel_tone2:" /><br> angel_tone3 <img alt="👼ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c-1f3fd.png" title=":angel_tone3:" /><br> angel_tone4 <img alt="👼ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c-1f3fe.png" title=":angel_tone4:" /><br> angel_tone5 <img alt="👼ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47c-1f3ff.png" title=":angel_tone5:" /><br> anger <img alt="💢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a2.png" title=":anger:" /><br> anger_right <img alt="🗯ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5ef.png" title=":anger_right:" /><br> angry <img alt="😠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f620.png" title=":angry:" /><br> anguished <img alt="😧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f627.png" title=":anguished:" /><br> ant <img alt="ðŸœ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41c.png" title=":ant:" /><br> apple <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34e.png" title=":apple:" /><br> aquarius <img alt="â™’ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2652.png" title=":aquarius:" /><br> aries <img alt="♈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2648.png" title=":aries:" /><br> arrow_backward <img alt="â—€ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25c0.png" title=":arrow_backward:" /><br> arrow_double_down <img alt="â¬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23ec.png" title=":arrow_double_down:" /><br> arrow_double_up <img alt="â«" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23eb.png" title=":arrow_double_up:" /><br> arrow_down <img alt="⬇ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b07.png" title=":arrow_down:" /><br> arrow_down_small <img alt="🔽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f53d.png" title=":arrow_down_small:" /><br> arrow_forward <img alt="â–¶ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25b6.png" title=":arrow_forward:" /><br> arrow_heading_down <img alt="⤵ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2935.png" title=":arrow_heading_down:" /><br> arrow_heading_up <img alt="⤴ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2934.png" title=":arrow_heading_up:" /><br> arrow_left <img alt="⬅ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b05.png" title=":arrow_left:" /><br> arrow_lower_left <img alt="↙ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2199.png" title=":arrow_lower_left:" /><br> arrow_lower_right <img alt="↘ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2198.png" title=":arrow_lower_right:" /><br> arrow_right <img alt="âž¡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/27a1.png" title=":arrow_right:" /><br> arrow_right_hook <img alt="↪ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/21aa.png" title=":arrow_right_hook:" /><br> arrow_up <img alt="⬆ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b06.png" title=":arrow_up:" /><br> arrow_up_down <img alt="↕ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2195.png" title=":arrow_up_down:" /><br> arrow_up_small <img alt="🔼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f53c.png" title=":arrow_up_small:" /><br> arrow_upper_left <img alt="↖ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2196.png" title=":arrow_upper_left:" /><br> arrow_upper_right <img alt="↗ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2197.png" title=":arrow_upper_right:" /><br> arrows_clockwise <img alt="🔃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f503.png" title=":arrows_clockwise:" /><br> arrows_counterclockwise <img alt="🔄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f504.png" title=":arrows_counterclockwise:" /><br> art <img alt="🎨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a8.png" title=":art:" /><br> articulated_lorry <img alt="🚛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69b.png" title=":articulated_lorry:" /><br> asterisk <img alt="*ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/002a-20e3.png" title=":asterisk:" /><br> astonished <img alt="😲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f632.png" title=":astonished:" /><br> athletic_shoe <img alt="👟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45f.png" title=":athletic_shoe:" /><br> atm <img alt="ðŸ§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e7.png" title=":atm:" /><br> atom <img alt="âš›ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/269b.png" title=":atom:" /><br> avocado <img alt="🥑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f951.png" title=":avocado:" /><br> b <img alt="🅱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f171.png" title=":b:" /><br> baby <img alt="👶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476.png" title=":baby:" /><br> baby_bottle <img alt="ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37c.png" title=":baby_bottle:" /><br> baby_chick <img alt="ðŸ¤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f424.png" title=":baby_chick:" /><br> baby_symbol <img alt="🚼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6bc.png" title=":baby_symbol:" /><br> baby_tone1 <img alt="👶ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476-1f3fb.png" title=":baby_tone1:" /><br> baby_tone2 <img alt="👶ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476-1f3fc.png" title=":baby_tone2:" /><br> baby_tone3 <img alt="👶ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476-1f3fd.png" title=":baby_tone3:" /><br> baby_tone4 <img alt="👶ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476-1f3fe.png" title=":baby_tone4:" /><br> baby_tone5 <img alt="👶ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f476-1f3ff.png" title=":baby_tone5:" /><br> back <img alt="🔙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f519.png" title=":back:" /><br> bacon <img alt="🥓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f953.png" title=":bacon:" /><br> badminton <img alt="ðŸ¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f8.png" title=":badminton:" /><br> baggage_claim <img alt="🛄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c4.png" title=":baggage_claim:" /><br> balloon <img alt="🎈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f388.png" title=":balloon:" /><br> ballot_box <img alt="🗳ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5f3.png" title=":ballot_box:" /><br> ballot_box_with_check <img alt="☑ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2611.png" title=":ballot_box_with_check:" /><br> bamboo <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38d.png" title=":bamboo:" /><br> banana <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34c.png" title=":banana:" /><br> bangbang <img alt="‼ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/203c.png" title=":bangbang:" /><br> bank <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e6.png" title=":bank:" /><br> bar_chart <img alt="📊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ca.png" title=":bar_chart:" /><br> barber <img alt="💈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f488.png" title=":barber:" /><br> baseball <img alt="âš¾ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26be.png" title=":baseball:" /><br> basketball <img alt="ðŸ€" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c0.png" title=":basketball:" /><br> basketball_player <img alt="⛹ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9.png" title=":basketball_player:" /><br> basketball_player_tone1 <img alt="⛹ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9-1f3fb.png" title=":basketball_player_tone1:" /><br> basketball_player_tone2 <img alt="⛹ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9-1f3fc.png" title=":basketball_player_tone2:" /><br> basketball_player_tone3 <img alt="⛹ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9-1f3fd.png" title=":basketball_player_tone3:" /><br> basketball_player_tone4 <img alt="⛹ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9-1f3fe.png" title=":basketball_player_tone4:" /><br> basketball_player_tone5 <img alt="⛹ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f9-1f3ff.png" title=":basketball_player_tone5:" /><br> bat <img alt="🦇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f987.png" title=":bat:" /><br> bath <img alt="🛀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0.png" title=":bath:" /><br> bath_tone1 <img alt="🛀ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0-1f3fb.png" title=":bath_tone1:" /><br> bath_tone2 <img alt="🛀ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0-1f3fc.png" title=":bath_tone2:" /><br> bath_tone3 <img alt="🛀ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0-1f3fd.png" title=":bath_tone3:" /><br> bath_tone4 <img alt="🛀ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0-1f3fe.png" title=":bath_tone4:" /><br> bath_tone5 <img alt="🛀ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c0-1f3ff.png" title=":bath_tone5:" /><br> bathtub <img alt="ðŸ›" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c1.png" title=":bathtub:" /><br> battery <img alt="🔋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50b.png" title=":battery:" /><br> beach <img alt="ðŸ–ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d6.png" title=":beach:" /><br> beach_umbrella <img alt="â›±ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f1.png" title=":beach_umbrella:" /><br> bear <img alt="ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43b.png" title=":bear:" /><br> bed <img alt="ðŸ›ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6cf.png" title=":bed:" /><br> bee <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41d.png" title=":bee:" /><br> beer <img alt="ðŸº" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37a.png" title=":beer:" /><br> beers <img alt="ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37b.png" title=":beers:" /><br> beetle <img alt="ðŸž" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41e.png" title=":beetle:" /><br> beginner <img alt="🔰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f530.png" title=":beginner:" /><br> bell <img alt="🔔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f514.png" title=":bell:" /><br> bellhop <img alt="🛎ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ce.png" title=":bellhop:" /><br> bento <img alt="ðŸ±" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f371.png" title=":bento:" /><br> bicyclist <img alt="🚴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4.png" title=":bicyclist:" /><br> bicyclist_tone1 <img alt="🚴ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4-1f3fb.png" title=":bicyclist_tone1:" /><br> bicyclist_tone2 <img alt="🚴ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4-1f3fc.png" title=":bicyclist_tone2:" /><br> bicyclist_tone3 <img alt="🚴ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4-1f3fd.png" title=":bicyclist_tone3:" /><br> bicyclist_tone4 <img alt="🚴ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4-1f3fe.png" title=":bicyclist_tone4:" /><br> bicyclist_tone5 <img alt="🚴ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b4-1f3ff.png" title=":bicyclist_tone5:" /><br> bike <img alt="🚲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b2.png" title=":bike:" /><br> bikini <img alt="👙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f459.png" title=":bikini:" /><br> biohazard <img alt="☣ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2623.png" title=":biohazard:" /><br> bird <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f426.png" title=":bird:" /><br> birthday <img alt="🎂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f382.png" title=":birthday:" /><br> black_circle <img alt="âš«ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26ab.png" title=":black_circle:" /><br> black_heart <img alt="🖤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5a4.png" title=":black_heart:" /><br> black_joker <img alt="ðŸƒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f0cf.png" title=":black_joker:" /><br> black_large_square <img alt="⬛ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b1b.png" title=":black_large_square:" /><br> black_medium_small_square <img alt="â—¾ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25fe.png" title=":black_medium_small_square:" /><br> black_medium_square <img alt="â—¼ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25fc.png" title=":black_medium_square:" /><br> black_nib <img alt="✒ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2712.png" title=":black_nib:" /><br> black_small_square <img alt="â–ªï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25aa.png" title=":black_small_square:" /><br> black_square_button <img alt="🔲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f532.png" title=":black_square_button:" /><br> blossom <img alt="🌼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33c.png" title=":blossom:" /><br> blowfish <img alt="ðŸ¡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f421.png" title=":blowfish:" /><br> blue_book <img alt="📘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d8.png" title=":blue_book:" /><br> blue_car <img alt="🚙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f699.png" title=":blue_car:" /><br> blue_circle <img alt="🔵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f535.png" title=":blue_circle:" /><br> blue_heart <img alt="💙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f499.png" title=":blue_heart:" /><br> blush <img alt="😊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60a.png" title=":blush:" /><br> boar <img alt="ðŸ—" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f417.png" title=":boar:" /><br> bomb <img alt="💣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a3.png" title=":bomb:" /><br> book <img alt="📖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d6.png" title=":book:" /><br> bookmark <img alt="🔖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f516.png" title=":bookmark:" /><br> bookmark_tabs <img alt="📑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d1.png" title=":bookmark_tabs:" /><br> books <img alt="📚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4da.png" title=":books:" /><br> boom <img alt="💥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a5.png" title=":boom:" /><br> boot <img alt="👢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f462.png" title=":boot:" /><br> bouquet <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f490.png" title=":bouquet:" /><br> bow <img alt="🙇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647.png" title=":bow:" /><br> bow_and_arrow <img alt="ðŸ¹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f9.png" title=":bow_and_arrow:" /><br> bow_tone1 <img alt="🙇ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647-1f3fb.png" title=":bow_tone1:" /><br> bow_tone2 <img alt="🙇ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647-1f3fc.png" title=":bow_tone2:" /><br> bow_tone3 <img alt="🙇ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647-1f3fd.png" title=":bow_tone3:" /><br> bow_tone4 <img alt="🙇ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647-1f3fe.png" title=":bow_tone4:" /><br> bow_tone5 <img alt="🙇ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f647-1f3ff.png" title=":bow_tone5:" /><br> bowling <img alt="🎳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b3.png" title=":bowling:" /><br> boxing_glove <img alt="🥊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f94a.png" title=":boxing_glove:" /><br> boy <img alt="👦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466.png" title=":boy:" /><br> boy_tone1 <img alt="👦ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466-1f3fb.png" title=":boy_tone1:" /><br> boy_tone2 <img alt="👦ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466-1f3fc.png" title=":boy_tone2:" /><br> boy_tone3 <img alt="👦ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466-1f3fd.png" title=":boy_tone3:" /><br> boy_tone4 <img alt="👦ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466-1f3fe.png" title=":boy_tone4:" /><br> boy_tone5 <img alt="👦ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f466-1f3ff.png" title=":boy_tone5:" /><br> bread <img alt="ðŸž" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35e.png" title=":bread:" /><br> bride_with_veil <img alt="👰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470.png" title=":bride_with_veil:" /><br> bride_with_veil_tone1 <img alt="👰ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470-1f3fb.png" title=":bride_with_veil_tone1:" /><br> bride_with_veil_tone2 <img alt="👰ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470-1f3fc.png" title=":bride_with_veil_tone2:" /><br> bride_with_veil_tone3 <img alt="👰ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470-1f3fd.png" title=":bride_with_veil_tone3:" /><br> bride_with_veil_tone4 <img alt="👰ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470-1f3fe.png" title=":bride_with_veil_tone4:" /><br> bride_with_veil_tone5 <img alt="👰ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f470-1f3ff.png" title=":bride_with_veil_tone5:" /><br> bridge_at_night <img alt="🌉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f309.png" title=":bridge_at_night:" /><br> briefcase <img alt="💼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4bc.png" title=":briefcase:" /><br> broken_heart <img alt="💔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f494.png" title=":broken_heart:" /><br> bug <img alt="ðŸ›" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41b.png" title=":bug:" /><br> bulb <img alt="💡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a1.png" title=":bulb:" /><br> bullettrain_front <img alt="🚅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f685.png" title=":bullettrain_front:" /><br> bullettrain_side <img alt="🚄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f684.png" title=":bullettrain_side:" /><br> burrito <img alt="🌯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32f.png" title=":burrito:" /><br> bus <img alt="🚌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68c.png" title=":bus:" /><br> busstop <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68f.png" title=":busstop:" /><br> bust_in_silhouette <img alt="👤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f464.png" title=":bust_in_silhouette:" /><br> busts_in_silhouette <img alt="👥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f465.png" title=":busts_in_silhouette:" /><br> butterfly <img alt="🦋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98b.png" title=":butterfly:" /><br> cactus <img alt="🌵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f335.png" title=":cactus:" /><br> cake <img alt="ðŸ°" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f370.png" title=":cake:" /><br> calendar <img alt="📆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c6.png" title=":calendar:" /><br> calendar_spiral <img alt="🗓ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5d3.png" title=":calendar_spiral:" /><br> call_me <img alt="🤙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919.png" title=":call_me:" /><br> call_me_tone1 <img alt="🤙ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919-1f3fb.png" title=":call_me_tone1:" /><br> call_me_tone2 <img alt="🤙ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919-1f3fc.png" title=":call_me_tone2:" /><br> call_me_tone3 <img alt="🤙ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919-1f3fd.png" title=":call_me_tone3:" /><br> call_me_tone4 <img alt="🤙ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919-1f3fe.png" title=":call_me_tone4:" /><br> call_me_tone5 <img alt="🤙ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f919-1f3ff.png" title=":call_me_tone5:" /><br> calling <img alt="📲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f2.png" title=":calling:" /><br> camel <img alt="ðŸ«" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42b.png" title=":camel:" /><br> camera <img alt="📷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f7.png" title=":camera:" /><br> camera_with_flash <img alt="📸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f8.png" title=":camera_with_flash:" /><br> camping <img alt="ðŸ•ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d5.png" title=":camping:" /><br> cancer <img alt="♋ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264b.png" title=":cancer:" /><br> candle <img alt="🕯ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f56f.png" title=":candle:" /><br> candy <img alt="ðŸ¬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36c.png" title=":candy:" /><br> canoe <img alt="🛶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6f6.png" title=":canoe:" /><br> capital_abcd <img alt="🔠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f520.png" title=":capital_abcd:" /><br> capricorn <img alt="♑ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2651.png" title=":capricorn:" /><br> card_box <img alt="🗃ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5c3.png" title=":card_box:" /><br> card_index <img alt="📇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c7.png" title=":card_index:" /><br> carousel_horse <img alt="🎠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a0.png" title=":carousel_horse:" /><br> carrot <img alt="🥕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f955.png" title=":carrot:" /><br> cartwheel <img alt="🤸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938.png" title=":cartwheel:" /><br> cartwheel_tone1 <img alt="🤸ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938-1f3fb.png" title=":cartwheel_tone1:" /><br> cartwheel_tone2 <img alt="🤸ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938-1f3fc.png" title=":cartwheel_tone2:" /><br> cartwheel_tone3 <img alt="🤸ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938-1f3fd.png" title=":cartwheel_tone3:" /><br> cartwheel_tone4 <img alt="🤸ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938-1f3fe.png" title=":cartwheel_tone4:" /><br> cartwheel_tone5 <img alt="🤸ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f938-1f3ff.png" title=":cartwheel_tone5:" /><br> cat2 <img alt="ðŸˆ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f408.png" title=":cat2:" /><br> cat <img alt="ðŸ±" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f431.png" title=":cat:" /><br> cd <img alt="💿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4bf.png" title=":cd:" /><br> chains <img alt="⛓ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26d3.png" title=":chains:" /><br> champagne <img alt="ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37e.png" title=":champagne:" /><br> champagne_glass <img alt="🥂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f942.png" title=":champagne_glass:" /><br> chart <img alt="💹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b9.png" title=":chart:" /><br> chart_with_downwards_trend <img alt="📉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c9.png" title=":chart_with_downwards_trend:" /><br> chart_with_upwards_trend <img alt="📈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c8.png" title=":chart_with_upwards_trend:" /><br> checkered_flag <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c1.png" title=":checkered_flag:" /><br> cheese <img alt="🧀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f9c0.png" title=":cheese:" /><br> cherries <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f352.png" title=":cherries:" /><br> cherry_blossom <img alt="🌸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f338.png" title=":cherry_blossom:" /><br> chestnut <img alt="🌰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f330.png" title=":chestnut:" /><br> chicken <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f414.png" title=":chicken:" /><br> children_crossing <img alt="🚸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b8.png" title=":children_crossing:" /><br> chipmunk <img alt="ðŸ¿ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43f.png" title=":chipmunk:" /><br> chocolate_bar <img alt="ðŸ«" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36b.png" title=":chocolate_bar:" /><br> christmas_tree <img alt="🎄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f384.png" title=":christmas_tree:" /><br> church <img alt="⛪ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26ea.png" title=":church:" /><br> cinema <img alt="🎦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a6.png" title=":cinema:" /><br> circus_tent <img alt="🎪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3aa.png" title=":circus_tent:" /><br> city_dusk <img alt="🌆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f306.png" title=":city_dusk:" /><br> city_sunset <img alt="🌇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f307.png" title=":city_sunset:" /><br> cityscape <img alt="ðŸ™ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d9.png" title=":cityscape:" /><br> cl <img alt="🆑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f191.png" title=":cl:" /><br> clap <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f.png" title=":clap:" /><br> clap_tone1 <img alt="ðŸ‘ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f-1f3fb.png" title=":clap_tone1:" /><br> clap_tone2 <img alt="ðŸ‘ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f-1f3fc.png" title=":clap_tone2:" /><br> clap_tone3 <img alt="ðŸ‘ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f-1f3fd.png" title=":clap_tone3:" /><br> clap_tone4 <img alt="ðŸ‘ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f-1f3fe.png" title=":clap_tone4:" /><br> clap_tone5 <img alt="ðŸ‘ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44f-1f3ff.png" title=":clap_tone5:" /><br> clapper <img alt="🎬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ac.png" title=":clapper:" /><br> classical_building <img alt="ðŸ›ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3db.png" title=":classical_building:" /><br> clipboard <img alt="📋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4cb.png" title=":clipboard:" /><br> clock1030 <img alt="🕥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f565.png" title=":clock1030:" /><br> clock10 <img alt="🕙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f559.png" title=":clock10:" /><br> clock1130 <img alt="🕦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f566.png" title=":clock1130:" /><br> clock11 <img alt="🕚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55a.png" title=":clock11:" /><br> clock1230 <img alt="🕧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f567.png" title=":clock1230:" /><br> clock12 <img alt="🕛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55b.png" title=":clock12:" /><br> clock130 <img alt="🕜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55c.png" title=":clock130:" /><br> clock1 <img alt="ðŸ•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f550.png" title=":clock1:" /><br> clock230 <img alt="ðŸ•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55d.png" title=":clock230:" /><br> clock2 <img alt="🕑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f551.png" title=":clock2:" /><br> clock330 <img alt="🕞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55e.png" title=":clock330:" /><br> clock3 <img alt="🕒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f552.png" title=":clock3:" /><br> clock430 <img alt="🕟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f55f.png" title=":clock430:" /><br> clock4 <img alt="🕓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f553.png" title=":clock4:" /><br> clock530 <img alt="🕠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f560.png" title=":clock530:" /><br> clock5 <img alt="🕔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f554.png" title=":clock5:" /><br> clock630 <img alt="🕡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f561.png" title=":clock630:" /><br> clock6 <img alt="🕕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f555.png" title=":clock6:" /><br> clock730 <img alt="🕢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f562.png" title=":clock730:" /><br> clock7 <img alt="🕖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f556.png" title=":clock7:" /><br> clock830 <img alt="🕣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f563.png" title=":clock830:" /><br> clock8 <img alt="🕗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f557.png" title=":clock8:" /><br> clock930 <img alt="🕤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f564.png" title=":clock930:" /><br> clock9 <img alt="🕘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f558.png" title=":clock9:" /><br> clock <img alt="🕰ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f570.png" title=":clock:" /><br> closed_book <img alt="📕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d5.png" title=":closed_book:" /><br> closed_lock_with_key <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f510.png" title=":closed_lock_with_key:" /><br> closed_umbrella <img alt="🌂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f302.png" title=":closed_umbrella:" /><br> cloud <img alt="â˜ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2601.png" title=":cloud:" /><br> cloud_lightning <img alt="🌩ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f329.png" title=":cloud_lightning:" /><br> cloud_rain <img alt="🌧ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f327.png" title=":cloud_rain:" /><br> cloud_snow <img alt="🌨ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f328.png" title=":cloud_snow:" /><br> cloud_tornado <img alt="🌪ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32a.png" title=":cloud_tornado:" /><br> clown <img alt="🤡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f921.png" title=":clown:" /><br> clubs <img alt="♣ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2663.png" title=":clubs:" /><br> cocktail <img alt="ðŸ¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f378.png" title=":cocktail:" /><br> coffee <img alt="☕ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2615.png" title=":coffee:" /><br> coffin <img alt="âš°ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26b0.png" title=":coffin:" /><br> cold_sweat <img alt="😰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f630.png" title=":cold_sweat:" /><br> comet <img alt="☄ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2604.png" title=":comet:" /><br> compression <img alt="🗜ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5dc.png" title=":compression:" /><br> computer <img alt="💻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4bb.png" title=":computer:" /><br> confetti_ball <img alt="🎊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38a.png" title=":confetti_ball:" /><br> confounded <img alt="😖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f616.png" title=":confounded:" /><br> confused <img alt="😕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f615.png" title=":confused:" /><br> congratulations <img alt="㊗ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/3297.png" title=":congratulations:" /><br> construction <img alt="🚧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a7.png" title=":construction:" /><br> construction_site <img alt="ðŸ—ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d7.png" title=":construction_site:" /><br> construction_worker <img alt="👷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477.png" title=":construction_worker:" /><br> construction_worker_tone1 <img alt="👷ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477-1f3fb.png" title=":construction_worker_tone1:" /><br> construction_worker_tone2 <img alt="👷ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477-1f3fc.png" title=":construction_worker_tone2:" /><br> construction_worker_tone3 <img alt="👷ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477-1f3fd.png" title=":construction_worker_tone3:" /><br> construction_worker_tone4 <img alt="👷ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477-1f3fe.png" title=":construction_worker_tone4:" /><br> construction_worker_tone5 <img alt="👷ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f477-1f3ff.png" title=":construction_worker_tone5:" /><br> control_knobs <img alt="🎛ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f39b.png" title=":control_knobs:" /><br> convenience_store <img alt="ðŸª" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ea.png" title=":convenience_store:" /><br> cookie <img alt="ðŸª" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36a.png" title=":cookie:" /><br> cooking <img alt="ðŸ³" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f373.png" title=":cooking:" /><br> cool <img alt="🆒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f192.png" title=":cool:" /><br> cop <img alt="👮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e.png" title=":cop:" /><br> cop_tone1 <img alt="👮ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e-1f3fb.png" title=":cop_tone1:" /><br> cop_tone2 <img alt="👮ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e-1f3fc.png" title=":cop_tone2:" /><br> cop_tone3 <img alt="👮ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e-1f3fd.png" title=":cop_tone3:" /><br> cop_tone4 <img alt="👮ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e-1f3fe.png" title=":cop_tone4:" /><br> cop_tone5 <img alt="👮ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46e-1f3ff.png" title=":cop_tone5:" /><br> copyright <img alt="©ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/00a9.png" title=":copyright:" /><br> corn <img alt="🌽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33d.png" title=":corn:" /><br> couch <img alt="🛋ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6cb.png" title=":couch:" /><br> couple <img alt="👫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46b.png" title=":couple:" /><br> couple_mm <img alt="👨â€â¤ï¸â€ðŸ‘¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-2764-1f468.png" title=":couple_mm:" /><br> couple_with_heart <img alt="💑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f491.png" title=":couple_with_heart:" /><br> couple_ww <img alt="👩â€â¤ï¸â€ðŸ‘©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-2764-1f469.png" title=":couple_ww:" /><br> couplekiss <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48f.png" title=":couplekiss:" /><br> cow2 <img alt="ðŸ„" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f404.png" title=":cow2:" /><br> cow <img alt="ðŸ®" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42e.png" title=":cow:" /><br> cowboy <img alt="🤠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f920.png" title=":cowboy:" /><br> crab <img alt="🦀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f980.png" title=":crab:" /><br> crayon <img alt="ðŸ–ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f58d.png" title=":crayon:" /><br> credit_card <img alt="💳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b3.png" title=":credit_card:" /><br> crescent_moon <img alt="🌙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f319.png" title=":crescent_moon:" /><br> cricket <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cf.png" title=":cricket:" /><br> crocodile <img alt="ðŸŠ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40a.png" title=":crocodile:" /><br> croissant <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f950.png" title=":croissant:" /><br> cross <img alt="âœï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/271d.png" title=":cross:" /><br> crossed_flags <img alt="🎌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38c.png" title=":crossed_flags:" /><br> crossed_swords <img alt="âš”ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2694.png" title=":crossed_swords:" /><br> crown <img alt="👑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f451.png" title=":crown:" /><br> cruise_ship <img alt="🛳ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6f3.png" title=":cruise_ship:" /><br> cry <img alt="😢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f622.png" title=":cry:" /><br> crying_cat_face <img alt="😿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63f.png" title=":crying_cat_face:" /><br> crystal_ball <img alt="🔮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52e.png" title=":crystal_ball:" /><br> cucumber <img alt="🥒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f952.png" title=":cucumber:" /><br> cupid <img alt="💘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f498.png" title=":cupid:" /><br> curly_loop <img alt="âž°" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/27b0.png" title=":curly_loop:" /><br> currency_exchange <img alt="💱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b1.png" title=":currency_exchange:" /><br> curry <img alt="ðŸ›" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35b.png" title=":curry:" /><br> custard <img alt="ðŸ®" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36e.png" title=":custard:" /><br> customs <img alt="🛃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c3.png" title=":customs:" /><br> cyclone <img alt="🌀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f300.png" title=":cyclone:" /><br> dagger <img alt="🗡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5e1.png" title=":dagger:" /><br> dancer <img alt="💃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483.png" title=":dancer:" /><br> dancer_tone1 <img alt="💃ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483-1f3fb.png" title=":dancer_tone1:" /><br> dancer_tone2 <img alt="💃ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483-1f3fc.png" title=":dancer_tone2:" /><br> dancer_tone3 <img alt="💃ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483-1f3fd.png" title=":dancer_tone3:" /><br> dancer_tone4 <img alt="💃ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483-1f3fe.png" title=":dancer_tone4:" /><br> dancer_tone5 <img alt="💃ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f483-1f3ff.png" title=":dancer_tone5:" /><br> dancers <img alt="👯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46f.png" title=":dancers:" /><br> dango <img alt="ðŸ¡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f361.png" title=":dango:" /><br> dark_sunglasses <img alt="🕶ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f576.png" title=":dark_sunglasses:" /><br> dart <img alt="🎯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3af.png" title=":dart:" /><br> dash <img alt="💨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a8.png" title=":dash:" /><br> date <img alt="📅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c5.png" title=":date:" /><br> deciduous_tree <img alt="🌳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f333.png" title=":deciduous_tree:" /><br> deer <img alt="🦌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98c.png" title=":deer:" /><br> department_store <img alt="ðŸ¬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ec.png" title=":department_store:" /><br> desert <img alt="ðŸœï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3dc.png" title=":desert:" /><br> desktop <img alt="🖥ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5a5.png" title=":desktop:" /><br> diamond_shape_with_a_dot_inside <img alt="💠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a0.png" title=":diamond_shape_with_a_dot_inside:" /><br> diamonds <img alt="♦ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2666.png" title=":diamonds:" /><br> disappointed <img alt="😞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61e.png" title=":disappointed:" /><br> disappointed_relieved <img alt="😥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f625.png" title=":disappointed_relieved:" /><br> dividers <img alt="🗂ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5c2.png" title=":dividers:" /><br> dizzy <img alt="💫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ab.png" title=":dizzy:" /><br> dizzy_face <img alt="😵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f635.png" title=":dizzy_face:" /><br> do_not_litter <img alt="🚯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6af.png" title=":do_not_litter:" /><br> dog2 <img alt="ðŸ•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f415.png" title=":dog2:" /><br> dog <img alt="ðŸ¶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f436.png" title=":dog:" /><br> dollar <img alt="💵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b5.png" title=":dollar:" /><br> dolls <img alt="🎎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38e.png" title=":dolls:" /><br> dolphin <img alt="ðŸ¬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42c.png" title=":dolphin:" /><br> door <img alt="🚪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6aa.png" title=":door:" /><br> doughnut <img alt="ðŸ©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f369.png" title=":doughnut:" /><br> dove <img alt="🕊ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f54a.png" title=":dove:" /><br> dragon <img alt="ðŸ‰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f409.png" title=":dragon:" /><br> dragon_face <img alt="ðŸ²" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f432.png" title=":dragon_face:" /><br> dress <img alt="👗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f457.png" title=":dress:" /><br> dromedary_camel <img alt="ðŸª" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42a.png" title=":dromedary_camel:" /><br> drooling_face <img alt="🤤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f924.png" title=":drooling_face:" /><br> droplet <img alt="💧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a7.png" title=":droplet:" /><br> drum <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f941.png" title=":drum:" /><br> duck <img alt="🦆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f986.png" title=":duck:" /><br> dvd <img alt="📀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c0.png" title=":dvd:" /><br> e-mail <img alt="📧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e7.png" title=":e-mail:" /><br> eagle <img alt="🦅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f985.png" title=":eagle:" /><br> ear <img alt="👂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442.png" title=":ear:" /><br> ear_of_rice <img alt="🌾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33e.png" title=":ear_of_rice:" /><br> ear_tone1 <img alt="👂ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442-1f3fb.png" title=":ear_tone1:" /><br> ear_tone2 <img alt="👂ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442-1f3fc.png" title=":ear_tone2:" /><br> ear_tone3 <img alt="👂ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442-1f3fd.png" title=":ear_tone3:" /><br> ear_tone4 <img alt="👂ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442-1f3fe.png" title=":ear_tone4:" /><br> ear_tone5 <img alt="👂ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f442-1f3ff.png" title=":ear_tone5:" /><br> earth_africa <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30d.png" title=":earth_africa:" /><br> earth_americas <img alt="🌎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30e.png" title=":earth_americas:" /><br> earth_asia <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30f.png" title=":earth_asia:" /><br> egg <img alt="🥚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f95a.png" title=":egg:" /><br> eggplant <img alt="ðŸ†" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f346.png" title=":eggplant:" /><br> eight <img alt="8ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0038-20e3.png" title=":eight:" /><br> eight_pointed_black_star <img alt="✴ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2734.png" title=":eight_pointed_black_star:" /><br> eight_spoked_asterisk <img alt="✳ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2733.png" title=":eight_spoked_asterisk:" /><br> eject <img alt="âï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23cf.png" title=":eject:" /><br> electric_plug <img alt="🔌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50c.png" title=":electric_plug:" /><br> elephant <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f418.png" title=":elephant:" /><br> end <img alt="🔚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51a.png" title=":end:" /><br> envelope <img alt="✉ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2709.png" title=":envelope:" /><br> envelope_with_arrow <img alt="📩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e9.png" title=":envelope_with_arrow:" /><br> euro <img alt="💶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b6.png" title=":euro:" /><br> european_castle <img alt="ðŸ°" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f0.png" title=":european_castle:" /><br> european_post_office <img alt="ðŸ¤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e4.png" title=":european_post_office:" /><br> evergreen_tree <img alt="🌲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f332.png" title=":evergreen_tree:" /><br> exclamation <img alt="â—ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2757.png" title=":exclamation:" /><br> expressionless <img alt="😑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f611.png" title=":expressionless:" /><br> eye <img alt="ðŸ‘ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f441.png" title=":eye:" /><br> eye_in_speech_bubble <img alt="ðŸ‘â€ðŸ—¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f441-1f5e8.png" title=":eye_in_speech_bubble:" /><br> eyeglasses <img alt="👓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f453.png" title=":eyeglasses:" /><br> eyes <img alt="👀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f440.png" title=":eyes:" /><br> face_palm <img alt="🤦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926.png" title=":face_palm:" /><br> face_palm_tone1 <img alt="🤦ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926-1f3fb.png" title=":face_palm_tone1:" /><br> face_palm_tone2 <img alt="🤦ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926-1f3fc.png" title=":face_palm_tone2:" /><br> face_palm_tone3 <img alt="🤦ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926-1f3fd.png" title=":face_palm_tone3:" /><br> face_palm_tone4 <img alt="🤦ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926-1f3fe.png" title=":face_palm_tone4:" /><br> face_palm_tone5 <img alt="🤦ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f926-1f3ff.png" title=":face_palm_tone5:" /><br> factory <img alt="ðŸ­" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ed.png" title=":factory:" /><br> fallen_leaf <img alt="ðŸ‚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f342.png" title=":fallen_leaf:" /><br> family <img alt="👪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46a.png" title=":family:" /><br> family_mmb <img alt="👨â€ðŸ‘¨â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f468-1f466.png" title=":family_mmb:" /><br> family_mmbb <img alt="👨â€ðŸ‘¨â€ðŸ‘¦â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f468-1f466-1f466.png" title=":family_mmbb:" /><br> family_mmg <img alt="👨â€ðŸ‘¨â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f468-1f467.png" title=":family_mmg:" /><br> family_mmgb <img alt="👨â€ðŸ‘¨â€ðŸ‘§â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f468-1f467-1f466.png" title=":family_mmgb:" /><br> family_mmgg <img alt="👨â€ðŸ‘¨â€ðŸ‘§â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f468-1f467-1f467.png" title=":family_mmgg:" /><br> family_mwbb <img alt="👨â€ðŸ‘©â€ðŸ‘¦â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f469-1f466-1f466.png" title=":family_mwbb:" /><br> family_mwg <img alt="👨â€ðŸ‘©â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f469-1f467.png" title=":family_mwg:" /><br> family_mwgb <img alt="👨â€ðŸ‘©â€ðŸ‘§â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f469-1f467-1f466.png" title=":family_mwgb:" /><br> family_mwgg <img alt="👨â€ðŸ‘©â€ðŸ‘§â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f469-1f467-1f467.png" title=":family_mwgg:" /><br> family_wwb <img alt="👩â€ðŸ‘©â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f469-1f466.png" title=":family_wwb:" /><br> family_wwbb <img alt="👩â€ðŸ‘©â€ðŸ‘¦â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f469-1f466-1f466.png" title=":family_wwbb:" /><br> family_wwg <img alt="👩â€ðŸ‘©â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f469-1f467.png" title=":family_wwg:" /><br> family_wwgb <img alt="👩â€ðŸ‘©â€ðŸ‘§â€ðŸ‘¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f469-1f467-1f466.png" title=":family_wwgb:" /><br> family_wwgg <img alt="👩â€ðŸ‘©â€ðŸ‘§â€ðŸ‘§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f469-1f467-1f467.png" title=":family_wwgg:" /><br> fast_forward <img alt="â©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23e9.png" title=":fast_forward:" /><br> fax <img alt="📠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e0.png" title=":fax:" /><br> fearful <img alt="😨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f628.png" title=":fearful:" /><br> feet <img alt="ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43e.png" title=":feet:" /><br> fencer <img alt="🤺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93a.png" title=":fencer:" /><br> ferris_wheel <img alt="🎡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a1.png" title=":ferris_wheel:" /><br> ferry <img alt="â›´ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f4.png" title=":ferry:" /><br> field_hockey <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d1.png" title=":field_hockey:" /><br> file_cabinet <img alt="🗄ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5c4.png" title=":file_cabinet:" /><br> file_folder <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c1.png" title=":file_folder:" /><br> film_frames <img alt="🎞ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f39e.png" title=":film_frames:" /><br> fingers_crossed <img alt="🤞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e.png" title=":fingers_crossed:" /><br> fingers_crossed_tone1 <img alt="🤞ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e-1f3fb.png" title=":fingers_crossed_tone1:" /><br> fingers_crossed_tone2 <img alt="🤞ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e-1f3fc.png" title=":fingers_crossed_tone2:" /><br> fingers_crossed_tone3 <img alt="🤞ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e-1f3fd.png" title=":fingers_crossed_tone3:" /><br> fingers_crossed_tone4 <img alt="🤞ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e-1f3fe.png" title=":fingers_crossed_tone4:" /><br> fingers_crossed_tone5 <img alt="🤞ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91e-1f3ff.png" title=":fingers_crossed_tone5:" /><br> fire <img alt="🔥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f525.png" title=":fire:" /><br> fire_engine <img alt="🚒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f692.png" title=":fire_engine:" /><br> fireworks <img alt="🎆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f386.png" title=":fireworks:" /><br> first_place <img alt="🥇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f947.png" title=":first_place:" /><br> first_quarter_moon <img alt="🌓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f313.png" title=":first_quarter_moon:" /><br> first_quarter_moon_with_face <img alt="🌛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31b.png" title=":first_quarter_moon_with_face:" /><br> fish <img alt="ðŸŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41f.png" title=":fish:" /><br> fish_cake <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f365.png" title=":fish_cake:" /><br> fishing_pole_and_fish <img alt="🎣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a3.png" title=":fishing_pole_and_fish:" /><br> fist <img alt="✊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a.png" title=":fist:" /><br> fist_tone1 <img alt="✊ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a-1f3fb.png" title=":fist_tone1:" /><br> fist_tone2 <img alt="✊ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a-1f3fc.png" title=":fist_tone2:" /><br> fist_tone3 <img alt="✊ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a-1f3fd.png" title=":fist_tone3:" /><br> fist_tone4 <img alt="✊ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a-1f3fe.png" title=":fist_tone4:" /><br> fist_tone5 <img alt="✊ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270a-1f3ff.png" title=":fist_tone5:" /><br> five <img alt="5ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0035-20e3.png" title=":five:" /><br> flag_ac <img alt="🇦🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1e8.png" title=":flag_ac:" /><br> flag_ad <img alt="🇦🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1e9.png" title=":flag_ad:" /><br> flag_ae <img alt="🇦🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1ea.png" title=":flag_ae:" /><br> flag_af <img alt="🇦🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1eb.png" title=":flag_af:" /><br> flag_ag <img alt="🇦🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1ec.png" title=":flag_ag:" /><br> flag_ai <img alt="🇦🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1ee.png" title=":flag_ai:" /><br> flag_al <img alt="🇦🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f1.png" title=":flag_al:" /><br> flag_am <img alt="🇦🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f2.png" title=":flag_am:" /><br> flag_ao <img alt="🇦🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f4.png" title=":flag_ao:" /><br> flag_aq <img alt="🇦🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f6.png" title=":flag_aq:" /><br> flag_ar <img alt="🇦🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f7.png" title=":flag_ar:" /><br> flag_as <img alt="🇦🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f8.png" title=":flag_as:" /><br> flag_at <img alt="🇦🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1f9.png" title=":flag_at:" /><br> flag_au <img alt="🇦🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1fa.png" title=":flag_au:" /><br> flag_aw <img alt="🇦🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1fc.png" title=":flag_aw:" /><br> flag_ax <img alt="🇦🇽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1fd.png" title=":flag_ax:" /><br> flag_az <img alt="🇦🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6-1f1ff.png" title=":flag_az:" /><br> flag_ba <img alt="🇧🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1e6.png" title=":flag_ba:" /><br> flag_bb <img alt="🇧🇧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1e7.png" title=":flag_bb:" /><br> flag_bd <img alt="🇧🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1e9.png" title=":flag_bd:" /><br> flag_be <img alt="🇧🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ea.png" title=":flag_be:" /><br> flag_bf <img alt="🇧🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1eb.png" title=":flag_bf:" /><br> flag_bg <img alt="🇧🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ec.png" title=":flag_bg:" /><br> flag_bh <img alt="🇧🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ed.png" title=":flag_bh:" /><br> flag_bi <img alt="🇧🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ee.png" title=":flag_bi:" /><br> flag_bj <img alt="🇧🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ef.png" title=":flag_bj:" /><br> flag_bl <img alt="🇧🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f1.png" title=":flag_bl:" /><br> flag_black <img alt="ðŸ´" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f4.png" title=":flag_black:" /><br> flag_bm <img alt="🇧🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f2.png" title=":flag_bm:" /><br> flag_bn <img alt="🇧🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f3.png" title=":flag_bn:" /><br> flag_bo <img alt="🇧🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f4.png" title=":flag_bo:" /><br> flag_bq <img alt="🇧🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f6.png" title=":flag_bq:" /><br> flag_br <img alt="🇧🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f7.png" title=":flag_br:" /><br> flag_bs <img alt="🇧🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f8.png" title=":flag_bs:" /><br> flag_bt <img alt="🇧🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1f9.png" title=":flag_bt:" /><br> flag_bv <img alt="🇧🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1fb.png" title=":flag_bv:" /><br> flag_bw <img alt="🇧🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1fc.png" title=":flag_bw:" /><br> flag_by <img alt="🇧🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1fe.png" title=":flag_by:" /><br> flag_bz <img alt="🇧🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7-1f1ff.png" title=":flag_bz:" /><br> flag_ca <img alt="🇨🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1e6.png" title=":flag_ca:" /><br> flag_cc <img alt="🇨🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1e8.png" title=":flag_cc:" /><br> flag_cd <img alt="🇨🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1e9.png" title=":flag_cd:" /><br> flag_cf <img alt="🇨🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1eb.png" title=":flag_cf:" /><br> flag_cg <img alt="🇨🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1ec.png" title=":flag_cg:" /><br> flag_ch <img alt="🇨🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1ed.png" title=":flag_ch:" /><br> flag_ci <img alt="🇨🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1ee.png" title=":flag_ci:" /><br> flag_ck <img alt="🇨🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f0.png" title=":flag_ck:" /><br> flag_cl <img alt="🇨🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f1.png" title=":flag_cl:" /><br> flag_cm <img alt="🇨🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f2.png" title=":flag_cm:" /><br> flag_cn <img alt="🇨🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f3.png" title=":flag_cn:" /><br> flag_co <img alt="🇨🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f4.png" title=":flag_co:" /><br> flag_cp <img alt="🇨🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f5.png" title=":flag_cp:" /><br> flag_cr <img alt="🇨🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1f7.png" title=":flag_cr:" /><br> flag_cu <img alt="🇨🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1fa.png" title=":flag_cu:" /><br> flag_cv <img alt="🇨🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1fb.png" title=":flag_cv:" /><br> flag_cw <img alt="🇨🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1fc.png" title=":flag_cw:" /><br> flag_cx <img alt="🇨🇽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1fd.png" title=":flag_cx:" /><br> flag_cy <img alt="🇨🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1fe.png" title=":flag_cy:" /><br> flag_cz <img alt="🇨🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8-1f1ff.png" title=":flag_cz:" /><br> flag_de <img alt="🇩🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1ea.png" title=":flag_de:" /><br> flag_dg <img alt="🇩🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1ec.png" title=":flag_dg:" /><br> flag_dj <img alt="🇩🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1ef.png" title=":flag_dj:" /><br> flag_dk <img alt="🇩🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1f0.png" title=":flag_dk:" /><br> flag_dm <img alt="🇩🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1f2.png" title=":flag_dm:" /><br> flag_do <img alt="🇩🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1f4.png" title=":flag_do:" /><br> flag_dz <img alt="🇩🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9-1f1ff.png" title=":flag_dz:" /><br> flag_ea <img alt="🇪🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1e6.png" title=":flag_ea:" /><br> flag_ec <img alt="🇪🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1e8.png" title=":flag_ec:" /><br> flag_ee <img alt="🇪🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1ea.png" title=":flag_ee:" /><br> flag_eg <img alt="🇪🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1ec.png" title=":flag_eg:" /><br> flag_eh <img alt="🇪🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1ed.png" title=":flag_eh:" /><br> flag_er <img alt="🇪🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1f7.png" title=":flag_er:" /><br> flag_es <img alt="🇪🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1f8.png" title=":flag_es:" /><br> flag_et <img alt="🇪🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1f9.png" title=":flag_et:" /><br> flag_eu <img alt="🇪🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea-1f1fa.png" title=":flag_eu:" /><br> flag_fi <img alt="🇫🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1ee.png" title=":flag_fi:" /><br> flag_fj <img alt="🇫🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1ef.png" title=":flag_fj:" /><br> flag_fk <img alt="🇫🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1f0.png" title=":flag_fk:" /><br> flag_fm <img alt="🇫🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1f2.png" title=":flag_fm:" /><br> flag_fo <img alt="🇫🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1f4.png" title=":flag_fo:" /><br> flag_fr <img alt="🇫🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb-1f1f7.png" title=":flag_fr:" /><br> flag_ga <img alt="🇬🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1e6.png" title=":flag_ga:" /><br> flag_gb <img alt="🇬🇧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1e7.png" title=":flag_gb:" /><br> flag_gd <img alt="🇬🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1e9.png" title=":flag_gd:" /><br> flag_ge <img alt="🇬🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1ea.png" title=":flag_ge:" /><br> flag_gf <img alt="🇬🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1eb.png" title=":flag_gf:" /><br> flag_gg <img alt="🇬🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1ec.png" title=":flag_gg:" /><br> flag_gh <img alt="🇬🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1ed.png" title=":flag_gh:" /><br> flag_gi <img alt="🇬🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1ee.png" title=":flag_gi:" /><br> flag_gl <img alt="🇬🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f1.png" title=":flag_gl:" /><br> flag_gm <img alt="🇬🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f2.png" title=":flag_gm:" /><br> flag_gn <img alt="🇬🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f3.png" title=":flag_gn:" /><br> flag_gp <img alt="🇬🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f5.png" title=":flag_gp:" /><br> flag_gq <img alt="🇬🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f6.png" title=":flag_gq:" /><br> flag_gr <img alt="🇬🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f7.png" title=":flag_gr:" /><br> flag_gs <img alt="🇬🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f8.png" title=":flag_gs:" /><br> flag_gt <img alt="🇬🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1f9.png" title=":flag_gt:" /><br> flag_gu <img alt="🇬🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1fa.png" title=":flag_gu:" /><br> flag_gw <img alt="🇬🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1fc.png" title=":flag_gw:" /><br> flag_gy <img alt="🇬🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec-1f1fe.png" title=":flag_gy:" /><br> flag_hk <img alt="🇭🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1f0.png" title=":flag_hk:" /><br> flag_hm <img alt="🇭🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1f2.png" title=":flag_hm:" /><br> flag_hn <img alt="🇭🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1f3.png" title=":flag_hn:" /><br> flag_hr <img alt="🇭🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1f7.png" title=":flag_hr:" /><br> flag_ht <img alt="🇭🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1f9.png" title=":flag_ht:" /><br> flag_hu <img alt="🇭🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed-1f1fa.png" title=":flag_hu:" /><br> flag_ic <img alt="🇮🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1e8.png" title=":flag_ic:" /><br> flag_id <img alt="🇮🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1e9.png" title=":flag_id:" /><br> flag_ie <img alt="🇮🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1ea.png" title=":flag_ie:" /><br> flag_il <img alt="🇮🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f1.png" title=":flag_il:" /><br> flag_im <img alt="🇮🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f2.png" title=":flag_im:" /><br> flag_in <img alt="🇮🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f3.png" title=":flag_in:" /><br> flag_io <img alt="🇮🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f4.png" title=":flag_io:" /><br> flag_iq <img alt="🇮🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f6.png" title=":flag_iq:" /><br> flag_ir <img alt="🇮🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f7.png" title=":flag_ir:" /><br> flag_is <img alt="🇮🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f8.png" title=":flag_is:" /><br> flag_it <img alt="🇮🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee-1f1f9.png" title=":flag_it:" /><br> flag_je <img alt="🇯🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ef-1f1ea.png" title=":flag_je:" /><br> flag_jm <img alt="🇯🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ef-1f1f2.png" title=":flag_jm:" /><br> flag_jo <img alt="🇯🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ef-1f1f4.png" title=":flag_jo:" /><br> flag_jp <img alt="🇯🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ef-1f1f5.png" title=":flag_jp:" /><br> flag_ke <img alt="🇰🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1ea.png" title=":flag_ke:" /><br> flag_kg <img alt="🇰🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1ec.png" title=":flag_kg:" /><br> flag_kh <img alt="🇰🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1ed.png" title=":flag_kh:" /><br> flag_ki <img alt="🇰🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1ee.png" title=":flag_ki:" /><br> flag_km <img alt="🇰🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1f2.png" title=":flag_km:" /><br> flag_kn <img alt="🇰🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1f3.png" title=":flag_kn:" /><br> flag_kp <img alt="🇰🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1f5.png" title=":flag_kp:" /><br> flag_kr <img alt="🇰🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1f7.png" title=":flag_kr:" /><br> flag_kw <img alt="🇰🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1fc.png" title=":flag_kw:" /><br> flag_ky <img alt="🇰🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1fe.png" title=":flag_ky:" /><br> flag_kz <img alt="🇰🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0-1f1ff.png" title=":flag_kz:" /><br> flag_la <img alt="🇱🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1e6.png" title=":flag_la:" /><br> flag_lb <img alt="🇱🇧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1e7.png" title=":flag_lb:" /><br> flag_lc <img alt="🇱🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1e8.png" title=":flag_lc:" /><br> flag_li <img alt="🇱🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1ee.png" title=":flag_li:" /><br> flag_lk <img alt="🇱🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1f0.png" title=":flag_lk:" /><br> flag_lr <img alt="🇱🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1f7.png" title=":flag_lr:" /><br> flag_ls <img alt="🇱🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1f8.png" title=":flag_ls:" /><br> flag_lt <img alt="🇱🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1f9.png" title=":flag_lt:" /><br> flag_lu <img alt="🇱🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1fa.png" title=":flag_lu:" /><br> flag_lv <img alt="🇱🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1fb.png" title=":flag_lv:" /><br> flag_ly <img alt="🇱🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1-1f1fe.png" title=":flag_ly:" /><br> flag_ma <img alt="🇲🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1e6.png" title=":flag_ma:" /><br> flag_mc <img alt="🇲🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1e8.png" title=":flag_mc:" /><br> flag_md <img alt="🇲🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1e9.png" title=":flag_md:" /><br> flag_me <img alt="🇲🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1ea.png" title=":flag_me:" /><br> flag_mf <img alt="🇲🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1eb.png" title=":flag_mf:" /><br> flag_mg <img alt="🇲🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1ec.png" title=":flag_mg:" /><br> flag_mh <img alt="🇲🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1ed.png" title=":flag_mh:" /><br> flag_mk <img alt="🇲🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f0.png" title=":flag_mk:" /><br> flag_ml <img alt="🇲🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f1.png" title=":flag_ml:" /><br> flag_mm <img alt="🇲🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f2.png" title=":flag_mm:" /><br> flag_mn <img alt="🇲🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f3.png" title=":flag_mn:" /><br> flag_mo <img alt="🇲🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f4.png" title=":flag_mo:" /><br> flag_mp <img alt="🇲🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f5.png" title=":flag_mp:" /><br> flag_mq <img alt="🇲🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f6.png" title=":flag_mq:" /><br> flag_mr <img alt="🇲🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f7.png" title=":flag_mr:" /><br> flag_ms <img alt="🇲🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f8.png" title=":flag_ms:" /><br> flag_mt <img alt="🇲🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1f9.png" title=":flag_mt:" /><br> flag_mu <img alt="🇲🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1fa.png" title=":flag_mu:" /><br> flag_mv <img alt="🇲🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1fb.png" title=":flag_mv:" /><br> flag_mw <img alt="🇲🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1fc.png" title=":flag_mw:" /><br> flag_mx <img alt="🇲🇽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1fd.png" title=":flag_mx:" /><br> flag_my <img alt="🇲🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1fe.png" title=":flag_my:" /><br> flag_mz <img alt="🇲🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2-1f1ff.png" title=":flag_mz:" /><br> flag_na <img alt="🇳🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1e6.png" title=":flag_na:" /><br> flag_nc <img alt="🇳🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1e8.png" title=":flag_nc:" /><br> flag_ne <img alt="🇳🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1ea.png" title=":flag_ne:" /><br> flag_nf <img alt="🇳🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1eb.png" title=":flag_nf:" /><br> flag_ng <img alt="🇳🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1ec.png" title=":flag_ng:" /><br> flag_ni <img alt="🇳🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1ee.png" title=":flag_ni:" /><br> flag_nl <img alt="🇳🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1f1.png" title=":flag_nl:" /><br> flag_no <img alt="🇳🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1f4.png" title=":flag_no:" /><br> flag_np <img alt="🇳🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1f5.png" title=":flag_np:" /><br> flag_nr <img alt="🇳🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1f7.png" title=":flag_nr:" /><br> flag_nu <img alt="🇳🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1fa.png" title=":flag_nu:" /><br> flag_nz <img alt="🇳🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3-1f1ff.png" title=":flag_nz:" /><br> flag_om <img alt="🇴🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f4-1f1f2.png" title=":flag_om:" /><br> flag_pa <img alt="🇵🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1e6.png" title=":flag_pa:" /><br> flag_pe <img alt="🇵🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1ea.png" title=":flag_pe:" /><br> flag_pf <img alt="🇵🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1eb.png" title=":flag_pf:" /><br> flag_pg <img alt="🇵🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1ec.png" title=":flag_pg:" /><br> flag_ph <img alt="🇵🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1ed.png" title=":flag_ph:" /><br> flag_pk <img alt="🇵🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f0.png" title=":flag_pk:" /><br> flag_pl <img alt="🇵🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f1.png" title=":flag_pl:" /><br> flag_pm <img alt="🇵🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f2.png" title=":flag_pm:" /><br> flag_pn <img alt="🇵🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f3.png" title=":flag_pn:" /><br> flag_pr <img alt="🇵🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f7.png" title=":flag_pr:" /><br> flag_ps <img alt="🇵🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f8.png" title=":flag_ps:" /><br> flag_pt <img alt="🇵🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1f9.png" title=":flag_pt:" /><br> flag_pw <img alt="🇵🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1fc.png" title=":flag_pw:" /><br> flag_py <img alt="🇵🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5-1f1fe.png" title=":flag_py:" /><br> flag_qa <img alt="🇶🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f6-1f1e6.png" title=":flag_qa:" /><br> flag_re <img alt="🇷🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7-1f1ea.png" title=":flag_re:" /><br> flag_ro <img alt="🇷🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7-1f1f4.png" title=":flag_ro:" /><br> flag_rs <img alt="🇷🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7-1f1f8.png" title=":flag_rs:" /><br> flag_ru <img alt="🇷🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7-1f1fa.png" title=":flag_ru:" /><br> flag_rw <img alt="🇷🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7-1f1fc.png" title=":flag_rw:" /><br> flag_sa <img alt="🇸🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1e6.png" title=":flag_sa:" /><br> flag_sb <img alt="🇸🇧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1e7.png" title=":flag_sb:" /><br> flag_sc <img alt="🇸🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1e8.png" title=":flag_sc:" /><br> flag_sd <img alt="🇸🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1e9.png" title=":flag_sd:" /><br> flag_se <img alt="🇸🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ea.png" title=":flag_se:" /><br> flag_sg <img alt="🇸🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ec.png" title=":flag_sg:" /><br> flag_sh <img alt="🇸🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ed.png" title=":flag_sh:" /><br> flag_si <img alt="🇸🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ee.png" title=":flag_si:" /><br> flag_sj <img alt="🇸🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ef.png" title=":flag_sj:" /><br> flag_sk <img alt="🇸🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f0.png" title=":flag_sk:" /><br> flag_sl <img alt="🇸🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f1.png" title=":flag_sl:" /><br> flag_sm <img alt="🇸🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f2.png" title=":flag_sm:" /><br> flag_sn <img alt="🇸🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f3.png" title=":flag_sn:" /><br> flag_so <img alt="🇸🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f4.png" title=":flag_so:" /><br> flag_sr <img alt="🇸🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f7.png" title=":flag_sr:" /><br> flag_ss <img alt="🇸🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f8.png" title=":flag_ss:" /><br> flag_st <img alt="🇸🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1f9.png" title=":flag_st:" /><br> flag_sv <img alt="🇸🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1fb.png" title=":flag_sv:" /><br> flag_sx <img alt="🇸🇽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1fd.png" title=":flag_sx:" /><br> flag_sy <img alt="🇸🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1fe.png" title=":flag_sy:" /><br> flag_sz <img alt="🇸🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8-1f1ff.png" title=":flag_sz:" /><br> flag_ta <img alt="🇹🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1e6.png" title=":flag_ta:" /><br> flag_tc <img alt="🇹🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1e8.png" title=":flag_tc:" /><br> flag_td <img alt="🇹🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1e9.png" title=":flag_td:" /><br> flag_tf <img alt="🇹🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1eb.png" title=":flag_tf:" /><br> flag_tg <img alt="🇹🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1ec.png" title=":flag_tg:" /><br> flag_th <img alt="🇹🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1ed.png" title=":flag_th:" /><br> flag_tj <img alt="🇹🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1ef.png" title=":flag_tj:" /><br> flag_tk <img alt="🇹🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f0.png" title=":flag_tk:" /><br> flag_tl <img alt="🇹🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f1.png" title=":flag_tl:" /><br> flag_tm <img alt="🇹🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f2.png" title=":flag_tm:" /><br> flag_tn <img alt="🇹🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f3.png" title=":flag_tn:" /><br> flag_to <img alt="🇹🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f4.png" title=":flag_to:" /><br> flag_tr <img alt="🇹🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f7.png" title=":flag_tr:" /><br> flag_tt <img alt="🇹🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1f9.png" title=":flag_tt:" /><br> flag_tv <img alt="🇹🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1fb.png" title=":flag_tv:" /><br> flag_tw <img alt="🇹🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1fc.png" title=":flag_tw:" /><br> flag_tz <img alt="🇹🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9-1f1ff.png" title=":flag_tz:" /><br> flag_ua <img alt="🇺🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1e6.png" title=":flag_ua:" /><br> flag_ug <img alt="🇺🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1ec.png" title=":flag_ug:" /><br> flag_um <img alt="🇺🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1f2.png" title=":flag_um:" /><br> flag_us <img alt="🇺🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1f8.png" title=":flag_us:" /><br> flag_uy <img alt="🇺🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1fe.png" title=":flag_uy:" /><br> flag_uz <img alt="🇺🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa-1f1ff.png" title=":flag_uz:" /><br> flag_va <img alt="🇻🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1e6.png" title=":flag_va:" /><br> flag_vc <img alt="🇻🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1e8.png" title=":flag_vc:" /><br> flag_ve <img alt="🇻🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1ea.png" title=":flag_ve:" /><br> flag_vg <img alt="🇻🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1ec.png" title=":flag_vg:" /><br> flag_vi <img alt="🇻🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1ee.png" title=":flag_vi:" /><br> flag_vn <img alt="🇻🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1f3.png" title=":flag_vn:" /><br> flag_vu <img alt="🇻🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb-1f1fa.png" title=":flag_vu:" /><br> flag_wf <img alt="🇼🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fc-1f1eb.png" title=":flag_wf:" /><br> flag_white <img alt="ðŸ³ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f3.png" title=":flag_white:" /><br> flag_ws <img alt="🇼🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fc-1f1f8.png" title=":flag_ws:" /><br> flag_xk <img alt="🇽🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fd-1f1f0.png" title=":flag_xk:" /><br> flag_ye <img alt="🇾🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fe-1f1ea.png" title=":flag_ye:" /><br> flag_yt <img alt="🇾🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fe-1f1f9.png" title=":flag_yt:" /><br> flag_za <img alt="🇿🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ff-1f1e6.png" title=":flag_za:" /><br> flag_zm <img alt="🇿🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ff-1f1f2.png" title=":flag_zm:" /><br> flag_zw <img alt="🇿🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ff-1f1fc.png" title=":flag_zw:" /><br> flags <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38f.png" title=":flags:" /><br> flashlight <img alt="🔦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f526.png" title=":flashlight:" /><br> fleur-de-lis <img alt="âšœï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/269c.png" title=":fleur-de-lis:" /><br> floppy_disk <img alt="💾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4be.png" title=":floppy_disk:" /><br> flower_playing_cards <img alt="🎴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b4.png" title=":flower_playing_cards:" /><br> flushed <img alt="😳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f633.png" title=":flushed:" /><br> fog <img alt="🌫ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32b.png" title=":fog:" /><br> foggy <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f301.png" title=":foggy:" /><br> football <img alt="ðŸˆ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c8.png" title=":football:" /><br> footprints <img alt="👣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f463.png" title=":footprints:" /><br> fork_and_knife <img alt="ðŸ´" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f374.png" title=":fork_and_knife:" /><br> fork_knife_plate <img alt="ðŸ½ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37d.png" title=":fork_knife_plate:" /><br> fountain <img alt="⛲ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f2.png" title=":fountain:" /><br> four <img alt="4ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0034-20e3.png" title=":four:" /><br> four_leaf_clover <img alt="ðŸ€" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f340.png" title=":four_leaf_clover:" /><br> fox <img alt="🦊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98a.png" title=":fox:" /><br> frame_photo <img alt="🖼ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5bc.png" title=":frame_photo:" /><br> free <img alt="🆓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f193.png" title=":free:" /><br> french_bread <img alt="🥖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f956.png" title=":french_bread:" /><br> fried_shrimp <img alt="ðŸ¤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f364.png" title=":fried_shrimp:" /><br> fries <img alt="ðŸŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35f.png" title=":fries:" /><br> frog <img alt="ðŸ¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f438.png" title=":frog:" /><br> frowning2 <img alt="☹ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2639.png" title=":frowning2:" /><br> frowning <img alt="😦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f626.png" title=":frowning:" /><br> fuelpump <img alt="⛽ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26fd.png" title=":fuelpump:" /><br> full_moon <img alt="🌕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f315.png" title=":full_moon:" /><br> full_moon_with_face <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31d.png" title=":full_moon_with_face:" /><br> game_die <img alt="🎲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b2.png" title=":game_die:" /><br> gear <img alt="âš™ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2699.png" title=":gear:" /><br> gem <img alt="💎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48e.png" title=":gem:" /><br> gemini <img alt="♊ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264a.png" title=":gemini:" /><br> ghost <img alt="👻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47b.png" title=":ghost:" /><br> gift <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f381.png" title=":gift:" /><br> gift_heart <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49d.png" title=":gift_heart:" /><br> girl <img alt="👧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467.png" title=":girl:" /><br> girl_tone1 <img alt="👧ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467-1f3fb.png" title=":girl_tone1:" /><br> girl_tone2 <img alt="👧ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467-1f3fc.png" title=":girl_tone2:" /><br> girl_tone3 <img alt="👧ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467-1f3fd.png" title=":girl_tone3:" /><br> girl_tone4 <img alt="👧ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467-1f3fe.png" title=":girl_tone4:" /><br> girl_tone5 <img alt="👧ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f467-1f3ff.png" title=":girl_tone5:" /><br> globe_with_meridians <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f310.png" title=":globe_with_meridians:" /><br> goal <img alt="🥅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f945.png" title=":goal:" /><br> goat <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f410.png" title=":goat:" /><br> golf <img alt="⛳ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f3.png" title=":golf:" /><br> golfer <img alt="ðŸŒï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cc.png" title=":golfer:" /><br> gorilla <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98d.png" title=":gorilla:" /><br> grapes <img alt="ðŸ‡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f347.png" title=":grapes:" /><br> green_apple <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34f.png" title=":green_apple:" /><br> green_book <img alt="📗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d7.png" title=":green_book:" /><br> green_heart <img alt="💚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49a.png" title=":green_heart:" /><br> grey_exclamation <img alt="â•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2755.png" title=":grey_exclamation:" /><br> grey_question <img alt="â”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2754.png" title=":grey_question:" /><br> grimacing <img alt="😬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62c.png" title=":grimacing:" /><br> grin <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f601.png" title=":grin:" /><br> grinning <img alt="😀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f600.png" title=":grinning:" /><br> guardsman <img alt="💂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482.png" title=":guardsman:" /><br> guardsman_tone1 <img alt="💂ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482-1f3fb.png" title=":guardsman_tone1:" /><br> guardsman_tone2 <img alt="💂ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482-1f3fc.png" title=":guardsman_tone2:" /><br> guardsman_tone3 <img alt="💂ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482-1f3fd.png" title=":guardsman_tone3:" /><br> guardsman_tone4 <img alt="💂ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482-1f3fe.png" title=":guardsman_tone4:" /><br> guardsman_tone5 <img alt="💂ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f482-1f3ff.png" title=":guardsman_tone5:" /><br> guitar <img alt="🎸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b8.png" title=":guitar:" /><br> gun <img alt="🔫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52b.png" title=":gun:" /><br> haircut <img alt="💇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487.png" title=":haircut:" /><br> haircut_tone1 <img alt="💇ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487-1f3fb.png" title=":haircut_tone1:" /><br> haircut_tone2 <img alt="💇ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487-1f3fc.png" title=":haircut_tone2:" /><br> haircut_tone3 <img alt="💇ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487-1f3fd.png" title=":haircut_tone3:" /><br> haircut_tone4 <img alt="💇ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487-1f3fe.png" title=":haircut_tone4:" /><br> haircut_tone5 <img alt="💇ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f487-1f3ff.png" title=":haircut_tone5:" /><br> hamburger <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f354.png" title=":hamburger:" /><br> hammer <img alt="🔨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f528.png" title=":hammer:" /><br> hammer_pick <img alt="âš’ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2692.png" title=":hammer_pick:" /><br> hamster <img alt="ðŸ¹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f439.png" title=":hamster:" /><br> hand_splayed <img alt="ðŸ–ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590.png" title=":hand_splayed:" /><br> hand_splayed_tone1 <img alt="ðŸ–ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590-1f3fb.png" title=":hand_splayed_tone1:" /><br> hand_splayed_tone2 <img alt="ðŸ–ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590-1f3fc.png" title=":hand_splayed_tone2:" /><br> hand_splayed_tone3 <img alt="ðŸ–ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590-1f3fd.png" title=":hand_splayed_tone3:" /><br> hand_splayed_tone4 <img alt="ðŸ–ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590-1f3fe.png" title=":hand_splayed_tone4:" /><br> hand_splayed_tone5 <img alt="ðŸ–ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f590-1f3ff.png" title=":hand_splayed_tone5:" /><br> handbag <img alt="👜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45c.png" title=":handbag:" /><br> handball <img alt="🤾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e.png" title=":handball:" /><br> handball_tone1 <img alt="🤾ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e-1f3fb.png" title=":handball_tone1:" /><br> handball_tone2 <img alt="🤾ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e-1f3fc.png" title=":handball_tone2:" /><br> handball_tone3 <img alt="🤾ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e-1f3fd.png" title=":handball_tone3:" /><br> handball_tone4 <img alt="🤾ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e-1f3fe.png" title=":handball_tone4:" /><br> handball_tone5 <img alt="🤾ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93e-1f3ff.png" title=":handball_tone5:" /><br> handshake <img alt="ðŸ¤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d.png" title=":handshake:" /><br> handshake_tone1 <img alt="ðŸ¤ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d-1f3fb.png" title=":handshake_tone1:" /><br> handshake_tone2 <img alt="ðŸ¤ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d-1f3fc.png" title=":handshake_tone2:" /><br> handshake_tone3 <img alt="ðŸ¤ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d-1f3fd.png" title=":handshake_tone3:" /><br> handshake_tone4 <img alt="ðŸ¤ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d-1f3fe.png" title=":handshake_tone4:" /><br> handshake_tone5 <img alt="ðŸ¤ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91d-1f3ff.png" title=":handshake_tone5:" /><br> hash <img alt="#ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0023-20e3.png" title=":hash:" /><br> hatched_chick <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f425.png" title=":hatched_chick:" /><br> hatching_chick <img alt="ðŸ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f423.png" title=":hatching_chick:" /><br> head_bandage <img alt="🤕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f915.png" title=":head_bandage:" /><br> headphones <img alt="🎧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a7.png" title=":headphones:" /><br> hear_no_evil <img alt="🙉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f649.png" title=":hear_no_evil:" /><br> heart <img alt="â¤ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2764.png" title=":heart:" /><br> heart_decoration <img alt="💟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49f.png" title=":heart_decoration:" /><br> heart_exclamation <img alt="â£ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2763.png" title=":heart_exclamation:" /><br> heart_eyes <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60d.png" title=":heart_eyes:" /><br> heart_eyes_cat <img alt="😻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63b.png" title=":heart_eyes_cat:" /><br> heartbeat <img alt="💓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f493.png" title=":heartbeat:" /><br> heartpulse <img alt="💗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f497.png" title=":heartpulse:" /><br> hearts <img alt="♥ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2665.png" title=":hearts:" /><br> heavy_check_mark <img alt="✔ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2714.png" title=":heavy_check_mark:" /><br> heavy_division_sign <img alt="âž—" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2797.png" title=":heavy_division_sign:" /><br> heavy_dollar_sign <img alt="💲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b2.png" title=":heavy_dollar_sign:" /><br> heavy_minus_sign <img alt="âž–" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2796.png" title=":heavy_minus_sign:" /><br> heavy_multiplication_x <img alt="✖ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2716.png" title=":heavy_multiplication_x:" /><br> heavy_plus_sign <img alt="âž•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2795.png" title=":heavy_plus_sign:" /><br> helicopter <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f681.png" title=":helicopter:" /><br> helmet_with_cross <img alt="⛑ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26d1.png" title=":helmet_with_cross:" /><br> herb <img alt="🌿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33f.png" title=":herb:" /><br> hibiscus <img alt="🌺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33a.png" title=":hibiscus:" /><br> high_brightness <img alt="🔆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f506.png" title=":high_brightness:" /><br> high_heel <img alt="👠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f460.png" title=":high_heel:" /><br> hockey <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d2.png" title=":hockey:" /><br> hole <img alt="🕳ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f573.png" title=":hole:" /><br> homes <img alt="ðŸ˜ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d8.png" title=":homes:" /><br> honey_pot <img alt="ðŸ¯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36f.png" title=":honey_pot:" /><br> horse <img alt="ðŸ´" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f434.png" title=":horse:" /><br> horse_racing <img alt="ðŸ‡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7.png" title=":horse_racing:" /><br> horse_racing_tone1 <img alt="ðŸ‡ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7-1f3fb.png" title=":horse_racing_tone1:" /><br> horse_racing_tone2 <img alt="ðŸ‡ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7-1f3fc.png" title=":horse_racing_tone2:" /><br> horse_racing_tone3 <img alt="ðŸ‡ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7-1f3fd.png" title=":horse_racing_tone3:" /><br> horse_racing_tone4 <img alt="ðŸ‡ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7-1f3fe.png" title=":horse_racing_tone4:" /><br> horse_racing_tone5 <img alt="ðŸ‡ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c7-1f3ff.png" title=":horse_racing_tone5:" /><br> hospital <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e5.png" title=":hospital:" /><br> hot_pepper <img alt="🌶ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f336.png" title=":hot_pepper:" /><br> hotdog <img alt="🌭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32d.png" title=":hotdog:" /><br> hotel <img alt="ðŸ¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e8.png" title=":hotel:" /><br> hotsprings <img alt="♨ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2668.png" title=":hotsprings:" /><br> hourglass <img alt="⌛ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/231b.png" title=":hourglass:" /><br> hourglass_flowing_sand <img alt="â³" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f3.png" title=":hourglass_flowing_sand:" /><br> house <img alt="ðŸ " class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e0.png" title=":house:" /><br> house_abandoned <img alt="ðŸšï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3da.png" title=":house_abandoned:" /><br> house_with_garden <img alt="ðŸ¡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e1.png" title=":house_with_garden:" /><br> hugging <img alt="🤗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f917.png" title=":hugging:" /><br> hushed <img alt="😯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62f.png" title=":hushed:" /><br> ice_cream <img alt="ðŸ¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f368.png" title=":ice_cream:" /><br> ice_skate <img alt="⛸ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f8.png" title=":ice_skate:" /><br> icecream <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f366.png" title=":icecream:" /><br> id <img alt="🆔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f194.png" title=":id:" /><br> ideograph_advantage <img alt="ðŸ‰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f250.png" title=":ideograph_advantage:" /><br> imp <img alt="👿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47f.png" title=":imp:" /><br> inbox_tray <img alt="📥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e5.png" title=":inbox_tray:" /><br> incoming_envelope <img alt="📨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e8.png" title=":incoming_envelope:" /><br> information_desk_person <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481.png" title=":information_desk_person:" /><br> information_desk_person_tone1 <img alt="ðŸ’ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481-1f3fb.png" title=":information_desk_person_tone1:" /><br> information_desk_person_tone2 <img alt="ðŸ’ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481-1f3fc.png" title=":information_desk_person_tone2:" /><br> information_desk_person_tone3 <img alt="ðŸ’ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481-1f3fd.png" title=":information_desk_person_tone3:" /><br> information_desk_person_tone4 <img alt="ðŸ’ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481-1f3fe.png" title=":information_desk_person_tone4:" /><br> information_desk_person_tone5 <img alt="ðŸ’ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f481-1f3ff.png" title=":information_desk_person_tone5:" /><br> information_source <img alt="ℹï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2139.png" title=":information_source:" /><br> innocent <img alt="😇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f607.png" title=":innocent:" /><br> interrobang <img alt="â‰ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2049.png" title=":interrobang:" /><br> iphone <img alt="📱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f1.png" title=":iphone:" /><br> island <img alt="ðŸï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3dd.png" title=":island:" /><br> izakaya_lantern <img alt="ðŸ®" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ee.png" title=":izakaya_lantern:" /><br> jack_o_lantern <img alt="🎃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f383.png" title=":jack_o_lantern:" /><br> japan <img alt="🗾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5fe.png" title=":japan:" /><br> japanese_castle <img alt="ðŸ¯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ef.png" title=":japanese_castle:" /><br> japanese_goblin <img alt="👺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47a.png" title=":japanese_goblin:" /><br> japanese_ogre <img alt="👹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f479.png" title=":japanese_ogre:" /><br> jeans <img alt="👖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f456.png" title=":jeans:" /><br> joy <img alt="😂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f602.png" title=":joy:" /><br> joy_cat <img alt="😹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f639.png" title=":joy_cat:" /><br> joystick <img alt="🕹ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f579.png" title=":joystick:" /><br> juggling <img alt="🤹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939.png" title=":juggling:" /><br> juggling_tone1 <img alt="🤹ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939-1f3fb.png" title=":juggling_tone1:" /><br> juggling_tone2 <img alt="🤹ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939-1f3fc.png" title=":juggling_tone2:" /><br> juggling_tone3 <img alt="🤹ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939-1f3fd.png" title=":juggling_tone3:" /><br> juggling_tone4 <img alt="🤹ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939-1f3fe.png" title=":juggling_tone4:" /><br> juggling_tone5 <img alt="🤹ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f939-1f3ff.png" title=":juggling_tone5:" /><br> kaaba <img alt="🕋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f54b.png" title=":kaaba:" /><br> key2 <img alt="ðŸ—ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5dd.png" title=":key2:" /><br> key <img alt="🔑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f511.png" title=":key:" /><br> keyboard <img alt="⌨ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2328.png" title=":keyboard:" /><br> keycap_ten <img alt="🔟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51f.png" title=":keycap_ten:" /><br> kimono <img alt="👘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f458.png" title=":kimono:" /><br> kiss <img alt="💋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48b.png" title=":kiss:" /><br> kiss_mm <img alt="👨â€â¤ï¸â€ðŸ’‹â€ðŸ‘¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-2764-1f48b-1f468.png" title=":kiss_mm:" /><br> kiss_ww <img alt="👩â€â¤ï¸â€ðŸ’‹â€ðŸ‘©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-2764-1f48b-1f469.png" title=":kiss_ww:" /><br> kissing <img alt="😗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f617.png" title=":kissing:" /><br> kissing_cat <img alt="😽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63d.png" title=":kissing_cat:" /><br> kissing_closed_eyes <img alt="😚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61a.png" title=":kissing_closed_eyes:" /><br> kissing_heart <img alt="😘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f618.png" title=":kissing_heart:" /><br> kissing_smiling_eyes <img alt="😙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f619.png" title=":kissing_smiling_eyes:" /><br> kiwi <img alt="ðŸ¥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f95d.png" title=":kiwi:" /><br> knife <img alt="🔪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52a.png" title=":knife:" /><br> koala <img alt="ðŸ¨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f428.png" title=":koala:" /><br> koko <img alt="ðŸˆ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f201.png" title=":koko:" /><br> label <img alt="ðŸ·ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f7.png" title=":label:" /><br> large_blue_diamond <img alt="🔷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f537.png" title=":large_blue_diamond:" /><br> large_orange_diamond <img alt="🔶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f536.png" title=":large_orange_diamond:" /><br> last_quarter_moon <img alt="🌗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f317.png" title=":last_quarter_moon:" /><br> last_quarter_moon_with_face <img alt="🌜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31c.png" title=":last_quarter_moon_with_face:" /><br> laughing <img alt="😆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f606.png" title=":laughing:" /><br> leaves <img alt="ðŸƒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f343.png" title=":leaves:" /><br> ledger <img alt="📒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d2.png" title=":ledger:" /><br> left_facing_fist <img alt="🤛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b.png" title=":left_facing_fist:" /><br> left_facing_fist_tone1 <img alt="🤛ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b-1f3fb.png" title=":left_facing_fist_tone1:" /><br> left_facing_fist_tone2 <img alt="🤛ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b-1f3fc.png" title=":left_facing_fist_tone2:" /><br> left_facing_fist_tone3 <img alt="🤛ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b-1f3fd.png" title=":left_facing_fist_tone3:" /><br> left_facing_fist_tone4 <img alt="🤛ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b-1f3fe.png" title=":left_facing_fist_tone4:" /><br> left_facing_fist_tone5 <img alt="🤛ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91b-1f3ff.png" title=":left_facing_fist_tone5:" /><br> left_luggage <img alt="🛅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c5.png" title=":left_luggage:" /><br> left_right_arrow <img alt="↔ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2194.png" title=":left_right_arrow:" /><br> leftwards_arrow_with_hook <img alt="↩ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/21a9.png" title=":leftwards_arrow_with_hook:" /><br> lemon <img alt="ðŸ‹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34b.png" title=":lemon:" /><br> leo <img alt="♌ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264c.png" title=":leo:" /><br> leopard <img alt="ðŸ†" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f406.png" title=":leopard:" /><br> level_slider <img alt="🎚ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f39a.png" title=":level_slider:" /><br> levitate <img alt="🕴ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f574.png" title=":levitate:" /><br> libra <img alt="♎ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264e.png" title=":libra:" /><br> lifter <img alt="ðŸ‹ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb.png" title=":lifter:" /><br> lifter_tone1 <img alt="ðŸ‹ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb-1f3fb.png" title=":lifter_tone1:" /><br> lifter_tone2 <img alt="ðŸ‹ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb-1f3fc.png" title=":lifter_tone2:" /><br> lifter_tone3 <img alt="ðŸ‹ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb-1f3fd.png" title=":lifter_tone3:" /><br> lifter_tone4 <img alt="ðŸ‹ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb-1f3fe.png" title=":lifter_tone4:" /><br> lifter_tone5 <img alt="ðŸ‹ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cb-1f3ff.png" title=":lifter_tone5:" /><br> light_rail <img alt="🚈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f688.png" title=":light_rail:" /><br> link <img alt="🔗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f517.png" title=":link:" /><br> lion_face <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f981.png" title=":lion_face:" /><br> lips <img alt="👄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f444.png" title=":lips:" /><br> lipstick <img alt="💄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f484.png" title=":lipstick:" /><br> lizard <img alt="🦎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98e.png" title=":lizard:" /><br> lock <img alt="🔒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f512.png" title=":lock:" /><br> lock_with_ink_pen <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50f.png" title=":lock_with_ink_pen:" /><br> lollipop <img alt="ðŸ­" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f36d.png" title=":lollipop:" /><br> loop <img alt="âž¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/27bf.png" title=":loop:" /><br> loud_sound <img alt="🔊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50a.png" title=":loud_sound:" /><br> loudspeaker <img alt="📢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e2.png" title=":loudspeaker:" /><br> love_hotel <img alt="ðŸ©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e9.png" title=":love_hotel:" /><br> love_letter <img alt="💌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48c.png" title=":love_letter:" /><br> low_brightness <img alt="🔅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f505.png" title=":low_brightness:" /><br> lying_face <img alt="🤥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f925.png" title=":lying_face:" /><br> m <img alt="â“‚ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/24c2.png" title=":m:" /><br> mag <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50d.png" title=":mag:" /><br> mag_right <img alt="🔎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f50e.png" title=":mag_right:" /><br> mahjong <img alt="🀄ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f004.png" title=":mahjong:" /><br> mailbox <img alt="📫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4eb.png" title=":mailbox:" /><br> mailbox_closed <img alt="📪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ea.png" title=":mailbox_closed:" /><br> mailbox_with_mail <img alt="📬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ec.png" title=":mailbox_with_mail:" /><br> mailbox_with_no_mail <img alt="📭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ed.png" title=":mailbox_with_no_mail:" /><br> man <img alt="👨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468.png" title=":man:" /><br> man_dancing <img alt="🕺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a.png" title=":man_dancing:" /><br> man_dancing_tone1 <img alt="🕺ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a-1f3fb.png" title=":man_dancing_tone1:" /><br> man_dancing_tone2 <img alt="🕺ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a-1f3fc.png" title=":man_dancing_tone2:" /><br> man_dancing_tone3 <img alt="🕺ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a-1f3fd.png" title=":man_dancing_tone3:" /><br> man_dancing_tone4 <img alt="🕺ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a-1f3fe.png" title=":man_dancing_tone4:" /><br> man_dancing_tone5 <img alt="🕺ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f57a-1f3ff.png" title=":man_dancing_tone5:" /><br> man_in_tuxedo <img alt="🤵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935.png" title=":man_in_tuxedo:" /><br> man_in_tuxedo_tone1 <img alt="🤵ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935-1f3fb.png" title=":man_in_tuxedo_tone1:" /><br> man_in_tuxedo_tone2 <img alt="🤵ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935-1f3fc.png" title=":man_in_tuxedo_tone2:" /><br> man_in_tuxedo_tone3 <img alt="🤵ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935-1f3fd.png" title=":man_in_tuxedo_tone3:" /><br> man_in_tuxedo_tone4 <img alt="🤵ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935-1f3fe.png" title=":man_in_tuxedo_tone4:" /><br> man_in_tuxedo_tone5 <img alt="🤵ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f935-1f3ff.png" title=":man_in_tuxedo_tone5:" /><br> man_tone1 <img alt="👨ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f3fb.png" title=":man_tone1:" /><br> man_tone2 <img alt="👨ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f3fc.png" title=":man_tone2:" /><br> man_tone3 <img alt="👨ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f3fd.png" title=":man_tone3:" /><br> man_tone4 <img alt="👨ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f3fe.png" title=":man_tone4:" /><br> man_tone5 <img alt="👨ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f468-1f3ff.png" title=":man_tone5:" /><br> man_with_gua_pi_mao <img alt="👲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472.png" title=":man_with_gua_pi_mao:" /><br> man_with_gua_pi_mao_tone1 <img alt="👲ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472-1f3fb.png" title=":man_with_gua_pi_mao_tone1:" /><br> man_with_gua_pi_mao_tone2 <img alt="👲ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472-1f3fc.png" title=":man_with_gua_pi_mao_tone2:" /><br> man_with_gua_pi_mao_tone3 <img alt="👲ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472-1f3fd.png" title=":man_with_gua_pi_mao_tone3:" /><br> man_with_gua_pi_mao_tone4 <img alt="👲ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472-1f3fe.png" title=":man_with_gua_pi_mao_tone4:" /><br> man_with_gua_pi_mao_tone5 <img alt="👲ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f472-1f3ff.png" title=":man_with_gua_pi_mao_tone5:" /><br> man_with_turban <img alt="👳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473.png" title=":man_with_turban:" /><br> man_with_turban_tone1 <img alt="👳ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473-1f3fb.png" title=":man_with_turban_tone1:" /><br> man_with_turban_tone2 <img alt="👳ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473-1f3fc.png" title=":man_with_turban_tone2:" /><br> man_with_turban_tone3 <img alt="👳ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473-1f3fd.png" title=":man_with_turban_tone3:" /><br> man_with_turban_tone4 <img alt="👳ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473-1f3fe.png" title=":man_with_turban_tone4:" /><br> man_with_turban_tone5 <img alt="👳ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f473-1f3ff.png" title=":man_with_turban_tone5:" /><br> mans_shoe <img alt="👞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45e.png" title=":mans_shoe:" /><br> map <img alt="🗺ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5fa.png" title=":map:" /><br> maple_leaf <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f341.png" title=":maple_leaf:" /><br> martial_arts_uniform <img alt="🥋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f94b.png" title=":martial_arts_uniform:" /><br> mask <img alt="😷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f637.png" title=":mask:" /><br> massage <img alt="💆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486.png" title=":massage:" /><br> massage_tone1 <img alt="💆ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486-1f3fb.png" title=":massage_tone1:" /><br> massage_tone2 <img alt="💆ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486-1f3fc.png" title=":massage_tone2:" /><br> massage_tone3 <img alt="💆ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486-1f3fd.png" title=":massage_tone3:" /><br> massage_tone4 <img alt="💆ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486-1f3fe.png" title=":massage_tone4:" /><br> massage_tone5 <img alt="💆ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f486-1f3ff.png" title=":massage_tone5:" /><br> meat_on_bone <img alt="ðŸ–" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f356.png" title=":meat_on_bone:" /><br> medal <img alt="ðŸ…" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c5.png" title=":medal:" /><br> mega <img alt="📣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e3.png" title=":mega:" /><br> melon <img alt="ðŸˆ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f348.png" title=":melon:" /><br> menorah <img alt="🕎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f54e.png" title=":menorah:" /><br> mens <img alt="🚹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b9.png" title=":mens:" /><br> metal <img alt="🤘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918.png" title=":metal:" /><br> metal_tone1 <img alt="🤘ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918-1f3fb.png" title=":metal_tone1:" /><br> metal_tone2 <img alt="🤘ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918-1f3fc.png" title=":metal_tone2:" /><br> metal_tone3 <img alt="🤘ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918-1f3fd.png" title=":metal_tone3:" /><br> metal_tone4 <img alt="🤘ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918-1f3fe.png" title=":metal_tone4:" /><br> metal_tone5 <img alt="🤘ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f918-1f3ff.png" title=":metal_tone5:" /><br> metro <img alt="🚇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f687.png" title=":metro:" /><br> microphone2 <img alt="🎙ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f399.png" title=":microphone2:" /><br> microphone <img alt="🎤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a4.png" title=":microphone:" /><br> microscope <img alt="🔬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52c.png" title=":microscope:" /><br> middle_finger <img alt="🖕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595.png" title=":middle_finger:" /><br> middle_finger_tone1 <img alt="🖕ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595-1f3fb.png" title=":middle_finger_tone1:" /><br> middle_finger_tone2 <img alt="🖕ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595-1f3fc.png" title=":middle_finger_tone2:" /><br> middle_finger_tone3 <img alt="🖕ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595-1f3fd.png" title=":middle_finger_tone3:" /><br> middle_finger_tone4 <img alt="🖕ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595-1f3fe.png" title=":middle_finger_tone4:" /><br> middle_finger_tone5 <img alt="🖕ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f595-1f3ff.png" title=":middle_finger_tone5:" /><br> military_medal <img alt="🎖ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f396.png" title=":military_medal:" /><br> milk <img alt="🥛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f95b.png" title=":milk:" /><br> milky_way <img alt="🌌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30c.png" title=":milky_way:" /><br> minibus <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f690.png" title=":minibus:" /><br> minidisc <img alt="💽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4bd.png" title=":minidisc:" /><br> mobile_phone_off <img alt="📴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f4.png" title=":mobile_phone_off:" /><br> money_mouth <img alt="🤑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f911.png" title=":money_mouth:" /><br> money_with_wings <img alt="💸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b8.png" title=":money_with_wings:" /><br> moneybag <img alt="💰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b0.png" title=":moneybag:" /><br> monkey <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f412.png" title=":monkey:" /><br> monkey_face <img alt="ðŸµ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f435.png" title=":monkey_face:" /><br> monorail <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69d.png" title=":monorail:" /><br> mortar_board <img alt="🎓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f393.png" title=":mortar_board:" /><br> mosque <img alt="🕌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f54c.png" title=":mosque:" /><br> motor_scooter <img alt="🛵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6f5.png" title=":motor_scooter:" /><br> motorboat <img alt="🛥ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e5.png" title=":motorboat:" /><br> motorcycle <img alt="ðŸï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3cd.png" title=":motorcycle:" /><br> motorway <img alt="🛣ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e3.png" title=":motorway:" /><br> mount_fuji <img alt="🗻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5fb.png" title=":mount_fuji:" /><br> mountain <img alt="â›°ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f0.png" title=":mountain:" /><br> mountain_bicyclist <img alt="🚵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5.png" title=":mountain_bicyclist:" /><br> mountain_bicyclist_tone1 <img alt="🚵ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5-1f3fb.png" title=":mountain_bicyclist_tone1:" /><br> mountain_bicyclist_tone2 <img alt="🚵ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5-1f3fc.png" title=":mountain_bicyclist_tone2:" /><br> mountain_bicyclist_tone3 <img alt="🚵ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5-1f3fd.png" title=":mountain_bicyclist_tone3:" /><br> mountain_bicyclist_tone4 <img alt="🚵ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5-1f3fe.png" title=":mountain_bicyclist_tone4:" /><br> mountain_bicyclist_tone5 <img alt="🚵ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b5-1f3ff.png" title=":mountain_bicyclist_tone5:" /><br> mountain_cableway <img alt="🚠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a0.png" title=":mountain_cableway:" /><br> mountain_railway <img alt="🚞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69e.png" title=":mountain_railway:" /><br> mountain_snow <img alt="ðŸ”ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d4.png" title=":mountain_snow:" /><br> mouse2 <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f401.png" title=":mouse2:" /><br> mouse <img alt="ðŸ­" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42d.png" title=":mouse:" /><br> mouse_three_button <img alt="🖱ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5b1.png" title=":mouse_three_button:" /><br> movie_camera <img alt="🎥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a5.png" title=":movie_camera:" /><br> moyai <img alt="🗿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5ff.png" title=":moyai:" /><br> mrs_claus <img alt="🤶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936.png" title=":mrs_claus:" /><br> mrs_claus_tone1 <img alt="🤶ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936-1f3fb.png" title=":mrs_claus_tone1:" /><br> mrs_claus_tone2 <img alt="🤶ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936-1f3fc.png" title=":mrs_claus_tone2:" /><br> mrs_claus_tone3 <img alt="🤶ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936-1f3fd.png" title=":mrs_claus_tone3:" /><br> mrs_claus_tone4 <img alt="🤶ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936-1f3fe.png" title=":mrs_claus_tone4:" /><br> mrs_claus_tone5 <img alt="🤶ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f936-1f3ff.png" title=":mrs_claus_tone5:" /><br> muscle <img alt="💪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa.png" title=":muscle:" /><br> muscle_tone1 <img alt="💪ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa-1f3fb.png" title=":muscle_tone1:" /><br> muscle_tone2 <img alt="💪ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa-1f3fc.png" title=":muscle_tone2:" /><br> muscle_tone3 <img alt="💪ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa-1f3fd.png" title=":muscle_tone3:" /><br> muscle_tone4 <img alt="💪ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa-1f3fe.png" title=":muscle_tone4:" /><br> muscle_tone5 <img alt="💪ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4aa-1f3ff.png" title=":muscle_tone5:" /><br> mushroom <img alt="ðŸ„" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f344.png" title=":mushroom:" /><br> musical_keyboard <img alt="🎹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b9.png" title=":musical_keyboard:" /><br> musical_note <img alt="🎵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b5.png" title=":musical_note:" /><br> musical_score <img alt="🎼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3bc.png" title=":musical_score:" /><br> mute <img alt="🔇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f507.png" title=":mute:" /><br> nail_care <img alt="💅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485.png" title=":nail_care:" /><br> nail_care_tone1 <img alt="💅ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485-1f3fb.png" title=":nail_care_tone1:" /><br> nail_care_tone2 <img alt="💅ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485-1f3fc.png" title=":nail_care_tone2:" /><br> nail_care_tone3 <img alt="💅ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485-1f3fd.png" title=":nail_care_tone3:" /><br> nail_care_tone4 <img alt="💅ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485-1f3fe.png" title=":nail_care_tone4:" /><br> nail_care_tone5 <img alt="💅ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f485-1f3ff.png" title=":nail_care_tone5:" /><br> name_badge <img alt="📛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4db.png" title=":name_badge:" /><br> nauseated_face <img alt="🤢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f922.png" title=":nauseated_face:" /><br> necktie <img alt="👔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f454.png" title=":necktie:" /><br> negative_squared_cross_mark <img alt="âŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/274e.png" title=":negative_squared_cross_mark:" /><br> nerd <img alt="🤓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f913.png" title=":nerd:" /><br> neutral_face <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f610.png" title=":neutral_face:" /><br> new <img alt="🆕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f195.png" title=":new:" /><br> new_moon <img alt="🌑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f311.png" title=":new_moon:" /><br> new_moon_with_face <img alt="🌚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31a.png" title=":new_moon_with_face:" /><br> newspaper2 <img alt="🗞ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5de.png" title=":newspaper2:" /><br> newspaper <img alt="📰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f0.png" title=":newspaper:" /><br> ng <img alt="🆖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f196.png" title=":ng:" /><br> night_with_stars <img alt="🌃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f303.png" title=":night_with_stars:" /><br> nine <img alt="9ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0039-20e3.png" title=":nine:" /><br> no_bell <img alt="🔕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f515.png" title=":no_bell:" /><br> no_bicycles <img alt="🚳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b3.png" title=":no_bicycles:" /><br> no_entry <img alt="â›”ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26d4.png" title=":no_entry:" /><br> no_entry_sign <img alt="🚫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ab.png" title=":no_entry_sign:" /><br> no_good <img alt="🙅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645.png" title=":no_good:" /><br> no_good_tone1 <img alt="🙅ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645-1f3fb.png" title=":no_good_tone1:" /><br> no_good_tone2 <img alt="🙅ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645-1f3fc.png" title=":no_good_tone2:" /><br> no_good_tone3 <img alt="🙅ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645-1f3fd.png" title=":no_good_tone3:" /><br> no_good_tone4 <img alt="🙅ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645-1f3fe.png" title=":no_good_tone4:" /><br> no_good_tone5 <img alt="🙅ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f645-1f3ff.png" title=":no_good_tone5:" /><br> no_mobile_phones <img alt="📵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f5.png" title=":no_mobile_phones:" /><br> no_mouth <img alt="😶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f636.png" title=":no_mouth:" /><br> no_pedestrians <img alt="🚷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b7.png" title=":no_pedestrians:" /><br> no_smoking <img alt="🚭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ad.png" title=":no_smoking:" /><br> non-potable_water <img alt="🚱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b1.png" title=":non-potable_water:" /><br> nose <img alt="👃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443.png" title=":nose:" /><br> nose_tone1 <img alt="👃ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443-1f3fb.png" title=":nose_tone1:" /><br> nose_tone2 <img alt="👃ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443-1f3fc.png" title=":nose_tone2:" /><br> nose_tone3 <img alt="👃ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443-1f3fd.png" title=":nose_tone3:" /><br> nose_tone4 <img alt="👃ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443-1f3fe.png" title=":nose_tone4:" /><br> nose_tone5 <img alt="👃ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f443-1f3ff.png" title=":nose_tone5:" /><br> notebook <img alt="📓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d3.png" title=":notebook:" /><br> notebook_with_decorative_cover <img alt="📔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d4.png" title=":notebook_with_decorative_cover:" /><br> notepad_spiral <img alt="🗒ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5d2.png" title=":notepad_spiral:" /><br> notes <img alt="🎶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b6.png" title=":notes:" /><br> nut_and_bolt <img alt="🔩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f529.png" title=":nut_and_bolt:" /><br> o2 <img alt="🅾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f17e.png" title=":o2:" /><br> o <img alt="â­•ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b55.png" title=":o:" /><br> ocean <img alt="🌊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30a.png" title=":ocean:" /><br> octagonal_sign <img alt="🛑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6d1.png" title=":octagonal_sign:" /><br> octopus <img alt="ðŸ™" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f419.png" title=":octopus:" /><br> oden <img alt="ðŸ¢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f362.png" title=":oden:" /><br> office <img alt="ðŸ¢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e2.png" title=":office:" /><br> oil <img alt="🛢ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e2.png" title=":oil:" /><br> ok <img alt="🆗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f197.png" title=":ok:" /><br> ok_hand <img alt="👌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c.png" title=":ok_hand:" /><br> ok_hand_tone1 <img alt="👌ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c-1f3fb.png" title=":ok_hand_tone1:" /><br> ok_hand_tone2 <img alt="👌ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c-1f3fc.png" title=":ok_hand_tone2:" /><br> ok_hand_tone3 <img alt="👌ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c-1f3fd.png" title=":ok_hand_tone3:" /><br> ok_hand_tone4 <img alt="👌ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c-1f3fe.png" title=":ok_hand_tone4:" /><br> ok_hand_tone5 <img alt="👌ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44c-1f3ff.png" title=":ok_hand_tone5:" /><br> ok_woman <img alt="🙆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646.png" title=":ok_woman:" /><br> ok_woman_tone1 <img alt="🙆ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646-1f3fb.png" title=":ok_woman_tone1:" /><br> ok_woman_tone2 <img alt="🙆ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646-1f3fc.png" title=":ok_woman_tone2:" /><br> ok_woman_tone3 <img alt="🙆ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646-1f3fd.png" title=":ok_woman_tone3:" /><br> ok_woman_tone4 <img alt="🙆ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646-1f3fe.png" title=":ok_woman_tone4:" /><br> ok_woman_tone5 <img alt="🙆ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f646-1f3ff.png" title=":ok_woman_tone5:" /><br> older_man <img alt="👴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474.png" title=":older_man:" /><br> older_man_tone1 <img alt="👴ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474-1f3fb.png" title=":older_man_tone1:" /><br> older_man_tone2 <img alt="👴ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474-1f3fc.png" title=":older_man_tone2:" /><br> older_man_tone3 <img alt="👴ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474-1f3fd.png" title=":older_man_tone3:" /><br> older_man_tone4 <img alt="👴ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474-1f3fe.png" title=":older_man_tone4:" /><br> older_man_tone5 <img alt="👴ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f474-1f3ff.png" title=":older_man_tone5:" /><br> older_woman <img alt="👵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475.png" title=":older_woman:" /><br> older_woman_tone1 <img alt="👵ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475-1f3fb.png" title=":older_woman_tone1:" /><br> older_woman_tone2 <img alt="👵ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475-1f3fc.png" title=":older_woman_tone2:" /><br> older_woman_tone3 <img alt="👵ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475-1f3fd.png" title=":older_woman_tone3:" /><br> older_woman_tone4 <img alt="👵ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475-1f3fe.png" title=":older_woman_tone4:" /><br> older_woman_tone5 <img alt="👵ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f475-1f3ff.png" title=":older_woman_tone5:" /><br> om_symbol <img alt="🕉ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f549.png" title=":om_symbol:" /><br> on <img alt="🔛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51b.png" title=":on:" /><br> oncoming_automobile <img alt="🚘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f698.png" title=":oncoming_automobile:" /><br> oncoming_bus <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68d.png" title=":oncoming_bus:" /><br> oncoming_police_car <img alt="🚔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f694.png" title=":oncoming_police_car:" /><br> oncoming_taxi <img alt="🚖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f696.png" title=":oncoming_taxi:" /><br> one <img alt="1ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0031-20e3.png" title=":one:" /><br> open_file_folder <img alt="📂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c2.png" title=":open_file_folder:" /><br> open_hands <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450.png" title=":open_hands:" /><br> open_hands_tone1 <img alt="ðŸ‘ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450-1f3fb.png" title=":open_hands_tone1:" /><br> open_hands_tone2 <img alt="ðŸ‘ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450-1f3fc.png" title=":open_hands_tone2:" /><br> open_hands_tone3 <img alt="ðŸ‘ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450-1f3fd.png" title=":open_hands_tone3:" /><br> open_hands_tone4 <img alt="ðŸ‘ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450-1f3fe.png" title=":open_hands_tone4:" /><br> open_hands_tone5 <img alt="ðŸ‘ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f450-1f3ff.png" title=":open_hands_tone5:" /><br> open_mouth <img alt="😮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62e.png" title=":open_mouth:" /><br> ophiuchus <img alt="⛎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26ce.png" title=":ophiuchus:" /><br> orange_book <img alt="📙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d9.png" title=":orange_book:" /><br> orthodox_cross <img alt="☦ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2626.png" title=":orthodox_cross:" /><br> outbox_tray <img alt="📤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e4.png" title=":outbox_tray:" /><br> owl <img alt="🦉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f989.png" title=":owl:" /><br> ox <img alt="ðŸ‚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f402.png" title=":ox:" /><br> package <img alt="📦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e6.png" title=":package:" /><br> page_facing_up <img alt="📄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c4.png" title=":page_facing_up:" /><br> page_with_curl <img alt="📃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4c3.png" title=":page_with_curl:" /><br> pager <img alt="📟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4df.png" title=":pager:" /><br> paintbrush <img alt="🖌ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f58c.png" title=":paintbrush:" /><br> palm_tree <img alt="🌴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f334.png" title=":palm_tree:" /><br> pancakes <img alt="🥞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f95e.png" title=":pancakes:" /><br> panda_face <img alt="ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43c.png" title=":panda_face:" /><br> paperclip <img alt="📎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ce.png" title=":paperclip:" /><br> paperclips <img alt="🖇ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f587.png" title=":paperclips:" /><br> park <img alt="ðŸžï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3de.png" title=":park:" /><br> parking <img alt="🅿ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f17f.png" title=":parking:" /><br> part_alternation_mark <img alt="〽ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/303d.png" title=":part_alternation_mark:" /><br> partly_sunny <img alt="â›…ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26c5.png" title=":partly_sunny:" /><br> passport_control <img alt="🛂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6c2.png" title=":passport_control:" /><br> pause_button <img alt="â¸ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f8.png" title=":pause_button:" /><br> peace <img alt="☮ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/262e.png" title=":peace:" /><br> peach <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f351.png" title=":peach:" /><br> peanuts <img alt="🥜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f95c.png" title=":peanuts:" /><br> pear <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f350.png" title=":pear:" /><br> pen_ballpoint <img alt="🖊ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f58a.png" title=":pen_ballpoint:" /><br> pen_fountain <img alt="🖋ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f58b.png" title=":pen_fountain:" /><br> pencil2 <img alt="âœï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270f.png" title=":pencil2:" /><br> pencil <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4dd.png" title=":pencil:" /><br> penguin <img alt="ðŸ§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f427.png" title=":penguin:" /><br> pensive <img alt="😔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f614.png" title=":pensive:" /><br> performing_arts <img alt="🎭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ad.png" title=":performing_arts:" /><br> persevere <img alt="😣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f623.png" title=":persevere:" /><br> person_frowning <img alt="ðŸ™" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d.png" title=":person_frowning:" /><br> person_frowning_tone1 <img alt="ðŸ™ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d-1f3fb.png" title=":person_frowning_tone1:" /><br> person_frowning_tone2 <img alt="ðŸ™ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d-1f3fc.png" title=":person_frowning_tone2:" /><br> person_frowning_tone3 <img alt="ðŸ™ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d-1f3fd.png" title=":person_frowning_tone3:" /><br> person_frowning_tone4 <img alt="ðŸ™ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d-1f3fe.png" title=":person_frowning_tone4:" /><br> person_frowning_tone5 <img alt="ðŸ™ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64d-1f3ff.png" title=":person_frowning_tone5:" /><br> person_with_blond_hair <img alt="👱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471.png" title=":person_with_blond_hair:" /><br> person_with_blond_hair_tone1 <img alt="👱ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471-1f3fb.png" title=":person_with_blond_hair_tone1:" /><br> person_with_blond_hair_tone2 <img alt="👱ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471-1f3fc.png" title=":person_with_blond_hair_tone2:" /><br> person_with_blond_hair_tone3 <img alt="👱ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471-1f3fd.png" title=":person_with_blond_hair_tone3:" /><br> person_with_blond_hair_tone4 <img alt="👱ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471-1f3fe.png" title=":person_with_blond_hair_tone4:" /><br> person_with_blond_hair_tone5 <img alt="👱ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f471-1f3ff.png" title=":person_with_blond_hair_tone5:" /><br> person_with_pouting_face <img alt="🙎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e.png" title=":person_with_pouting_face:" /><br> person_with_pouting_face_tone1 <img alt="🙎ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e-1f3fb.png" title=":person_with_pouting_face_tone1:" /><br> person_with_pouting_face_tone2 <img alt="🙎ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e-1f3fc.png" title=":person_with_pouting_face_tone2:" /><br> person_with_pouting_face_tone3 <img alt="🙎ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e-1f3fd.png" title=":person_with_pouting_face_tone3:" /><br> person_with_pouting_face_tone4 <img alt="🙎ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e-1f3fe.png" title=":person_with_pouting_face_tone4:" /><br> person_with_pouting_face_tone5 <img alt="🙎ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64e-1f3ff.png" title=":person_with_pouting_face_tone5:" /><br> pick <img alt="â›ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26cf.png" title=":pick:" /><br> pig2 <img alt="ðŸ–" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f416.png" title=":pig2:" /><br> pig <img alt="ðŸ·" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f437.png" title=":pig:" /><br> pig_nose <img alt="ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43d.png" title=":pig_nose:" /><br> pill <img alt="💊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48a.png" title=":pill:" /><br> pineapple <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34d.png" title=":pineapple:" /><br> ping_pong <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d3.png" title=":ping_pong:" /><br> pisces <img alt="♓ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2653.png" title=":pisces:" /><br> pizza <img alt="ðŸ•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f355.png" title=":pizza:" /><br> place_of_worship <img alt="ðŸ›" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6d0.png" title=":place_of_worship:" /><br> play_pause <img alt="â¯ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23ef.png" title=":play_pause:" /><br> point_down <img alt="👇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447.png" title=":point_down:" /><br> point_down_tone1 <img alt="👇ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447-1f3fb.png" title=":point_down_tone1:" /><br> point_down_tone2 <img alt="👇ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447-1f3fc.png" title=":point_down_tone2:" /><br> point_down_tone3 <img alt="👇ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447-1f3fd.png" title=":point_down_tone3:" /><br> point_down_tone4 <img alt="👇ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447-1f3fe.png" title=":point_down_tone4:" /><br> point_down_tone5 <img alt="👇ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f447-1f3ff.png" title=":point_down_tone5:" /><br> point_left <img alt="👈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448.png" title=":point_left:" /><br> point_left_tone1 <img alt="👈ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448-1f3fb.png" title=":point_left_tone1:" /><br> point_left_tone2 <img alt="👈ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448-1f3fc.png" title=":point_left_tone2:" /><br> point_left_tone3 <img alt="👈ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448-1f3fd.png" title=":point_left_tone3:" /><br> point_left_tone4 <img alt="👈ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448-1f3fe.png" title=":point_left_tone4:" /><br> point_left_tone5 <img alt="👈ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f448-1f3ff.png" title=":point_left_tone5:" /><br> point_right <img alt="👉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449.png" title=":point_right:" /><br> point_right_tone1 <img alt="👉ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449-1f3fb.png" title=":point_right_tone1:" /><br> point_right_tone2 <img alt="👉ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449-1f3fc.png" title=":point_right_tone2:" /><br> point_right_tone3 <img alt="👉ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449-1f3fd.png" title=":point_right_tone3:" /><br> point_right_tone4 <img alt="👉ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449-1f3fe.png" title=":point_right_tone4:" /><br> point_right_tone5 <img alt="👉ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f449-1f3ff.png" title=":point_right_tone5:" /><br> point_up <img alt="â˜ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d.png" title=":point_up:" /><br> point_up_2 <img alt="👆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446.png" title=":point_up_2:" /><br> point_up_2_tone1 <img alt="👆ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446-1f3fb.png" title=":point_up_2_tone1:" /><br> point_up_2_tone2 <img alt="👆ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446-1f3fc.png" title=":point_up_2_tone2:" /><br> point_up_2_tone3 <img alt="👆ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446-1f3fd.png" title=":point_up_2_tone3:" /><br> point_up_2_tone4 <img alt="👆ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446-1f3fe.png" title=":point_up_2_tone4:" /><br> point_up_2_tone5 <img alt="👆ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f446-1f3ff.png" title=":point_up_2_tone5:" /><br> point_up_tone1 <img alt="â˜ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d-1f3fb.png" title=":point_up_tone1:" /><br> point_up_tone2 <img alt="â˜ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d-1f3fc.png" title=":point_up_tone2:" /><br> point_up_tone3 <img alt="â˜ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d-1f3fd.png" title=":point_up_tone3:" /><br> point_up_tone4 <img alt="â˜ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d-1f3fe.png" title=":point_up_tone4:" /><br> point_up_tone5 <img alt="â˜ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/261d-1f3ff.png" title=":point_up_tone5:" /><br> police_car <img alt="🚓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f693.png" title=":police_car:" /><br> poodle <img alt="ðŸ©" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f429.png" title=":poodle:" /><br> poop <img alt="💩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a9.png" title=":poop:" /><br> popcorn <img alt="ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f37f.png" title=":popcorn:" /><br> post_office <img alt="ðŸ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3e3.png" title=":post_office:" /><br> postal_horn <img alt="📯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ef.png" title=":postal_horn:" /><br> postbox <img alt="📮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ee.png" title=":postbox:" /><br> potable_water <img alt="🚰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b0.png" title=":potable_water:" /><br> potato <img alt="🥔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f954.png" title=":potato:" /><br> pouch <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45d.png" title=":pouch:" /><br> poultry_leg <img alt="ðŸ—" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f357.png" title=":poultry_leg:" /><br> pound <img alt="💷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b7.png" title=":pound:" /><br> pouting_cat <img alt="😾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63e.png" title=":pouting_cat:" /><br> pray <img alt="ðŸ™" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f.png" title=":pray:" /><br> pray_tone1 <img alt="ðŸ™ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f-1f3fb.png" title=":pray_tone1:" /><br> pray_tone2 <img alt="ðŸ™ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f-1f3fc.png" title=":pray_tone2:" /><br> pray_tone3 <img alt="ðŸ™ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f-1f3fd.png" title=":pray_tone3:" /><br> pray_tone4 <img alt="ðŸ™ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f-1f3fe.png" title=":pray_tone4:" /><br> pray_tone5 <img alt="ðŸ™ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64f-1f3ff.png" title=":pray_tone5:" /><br> prayer_beads <img alt="📿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ff.png" title=":prayer_beads:" /><br> pregnant_woman <img alt="🤰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930.png" title=":pregnant_woman:" /><br> pregnant_woman_tone1 <img alt="🤰ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930-1f3fb.png" title=":pregnant_woman_tone1:" /><br> pregnant_woman_tone2 <img alt="🤰ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930-1f3fc.png" title=":pregnant_woman_tone2:" /><br> pregnant_woman_tone3 <img alt="🤰ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930-1f3fd.png" title=":pregnant_woman_tone3:" /><br> pregnant_woman_tone4 <img alt="🤰ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930-1f3fe.png" title=":pregnant_woman_tone4:" /><br> pregnant_woman_tone5 <img alt="🤰ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f930-1f3ff.png" title=":pregnant_woman_tone5:" /><br> prince <img alt="🤴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934.png" title=":prince:" /><br> prince_tone1 <img alt="🤴ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934-1f3fb.png" title=":prince_tone1:" /><br> prince_tone2 <img alt="🤴ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934-1f3fc.png" title=":prince_tone2:" /><br> prince_tone3 <img alt="🤴ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934-1f3fd.png" title=":prince_tone3:" /><br> prince_tone4 <img alt="🤴ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934-1f3fe.png" title=":prince_tone4:" /><br> prince_tone5 <img alt="🤴ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f934-1f3ff.png" title=":prince_tone5:" /><br> princess <img alt="👸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478.png" title=":princess:" /><br> princess_tone1 <img alt="👸ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478-1f3fb.png" title=":princess_tone1:" /><br> princess_tone2 <img alt="👸ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478-1f3fc.png" title=":princess_tone2:" /><br> princess_tone3 <img alt="👸ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478-1f3fd.png" title=":princess_tone3:" /><br> princess_tone4 <img alt="👸ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478-1f3fe.png" title=":princess_tone4:" /><br> princess_tone5 <img alt="👸ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f478-1f3ff.png" title=":princess_tone5:" /><br> printer <img alt="🖨ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5a8.png" title=":printer:" /><br> projector <img alt="📽ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4fd.png" title=":projector:" /><br> punch <img alt="👊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a.png" title=":punch:" /><br> punch_tone1 <img alt="👊ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a-1f3fb.png" title=":punch_tone1:" /><br> punch_tone2 <img alt="👊ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a-1f3fc.png" title=":punch_tone2:" /><br> punch_tone3 <img alt="👊ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a-1f3fd.png" title=":punch_tone3:" /><br> punch_tone4 <img alt="👊ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a-1f3fe.png" title=":punch_tone4:" /><br> punch_tone5 <img alt="👊ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44a-1f3ff.png" title=":punch_tone5:" /><br> purple_heart <img alt="💜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49c.png" title=":purple_heart:" /><br> purse <img alt="👛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45b.png" title=":purse:" /><br> pushpin <img alt="📌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4cc.png" title=":pushpin:" /><br> put_litter_in_its_place <img alt="🚮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ae.png" title=":put_litter_in_its_place:" /><br> question <img alt="â“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2753.png" title=":question:" /><br> rabbit2 <img alt="ðŸ‡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f407.png" title=":rabbit2:" /><br> rabbit <img alt="ðŸ°" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f430.png" title=":rabbit:" /><br> race_car <img alt="ðŸŽï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ce.png" title=":race_car:" /><br> racehorse <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40e.png" title=":racehorse:" /><br> radio <img alt="📻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4fb.png" title=":radio:" /><br> radio_button <img alt="🔘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f518.png" title=":radio_button:" /><br> radioactive <img alt="☢ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2622.png" title=":radioactive:" /><br> rage <img alt="😡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f621.png" title=":rage:" /><br> railway_car <img alt="🚃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f683.png" title=":railway_car:" /><br> railway_track <img alt="🛤ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e4.png" title=":railway_track:" /><br> rainbow <img alt="🌈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f308.png" title=":rainbow:" /><br> rainbow_flag <img alt="ðŸ³ðŸŒˆ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f3-1f308.png" title=":rainbow_flag:" /><br> raised_back_of_hand <img alt="🤚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a.png" title=":raised_back_of_hand:" /><br> raised_back_of_hand_tone1 <img alt="🤚ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a-1f3fb.png" title=":raised_back_of_hand_tone1:" /><br> raised_back_of_hand_tone2 <img alt="🤚ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a-1f3fc.png" title=":raised_back_of_hand_tone2:" /><br> raised_back_of_hand_tone3 <img alt="🤚ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a-1f3fd.png" title=":raised_back_of_hand_tone3:" /><br> raised_back_of_hand_tone4 <img alt="🤚ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a-1f3fe.png" title=":raised_back_of_hand_tone4:" /><br> raised_back_of_hand_tone5 <img alt="🤚ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91a-1f3ff.png" title=":raised_back_of_hand_tone5:" /><br> raised_hand <img alt="✋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b.png" title=":raised_hand:" /><br> raised_hand_tone1 <img alt="✋ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b-1f3fb.png" title=":raised_hand_tone1:" /><br> raised_hand_tone2 <img alt="✋ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b-1f3fc.png" title=":raised_hand_tone2:" /><br> raised_hand_tone3 <img alt="✋ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b-1f3fd.png" title=":raised_hand_tone3:" /><br> raised_hand_tone4 <img alt="✋ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b-1f3fe.png" title=":raised_hand_tone4:" /><br> raised_hand_tone5 <img alt="✋ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270b-1f3ff.png" title=":raised_hand_tone5:" /><br> raised_hands <img alt="🙌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c.png" title=":raised_hands:" /><br> raised_hands_tone1 <img alt="🙌ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c-1f3fb.png" title=":raised_hands_tone1:" /><br> raised_hands_tone2 <img alt="🙌ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c-1f3fc.png" title=":raised_hands_tone2:" /><br> raised_hands_tone3 <img alt="🙌ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c-1f3fd.png" title=":raised_hands_tone3:" /><br> raised_hands_tone4 <img alt="🙌ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c-1f3fe.png" title=":raised_hands_tone4:" /><br> raised_hands_tone5 <img alt="🙌ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64c-1f3ff.png" title=":raised_hands_tone5:" /><br> raising_hand <img alt="🙋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b.png" title=":raising_hand:" /><br> raising_hand_tone1 <img alt="🙋ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b-1f3fb.png" title=":raising_hand_tone1:" /><br> raising_hand_tone2 <img alt="🙋ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b-1f3fc.png" title=":raising_hand_tone2:" /><br> raising_hand_tone3 <img alt="🙋ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b-1f3fd.png" title=":raising_hand_tone3:" /><br> raising_hand_tone4 <img alt="🙋ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b-1f3fe.png" title=":raising_hand_tone4:" /><br> raising_hand_tone5 <img alt="🙋ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64b-1f3ff.png" title=":raising_hand_tone5:" /><br> ram <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40f.png" title=":ram:" /><br> ramen <img alt="ðŸœ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35c.png" title=":ramen:" /><br> rat <img alt="ðŸ€" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f400.png" title=":rat:" /><br> record_button <img alt="âºï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23fa.png" title=":record_button:" /><br> recycle <img alt="â™»ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/267b.png" title=":recycle:" /><br> red_car <img alt="🚗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f697.png" title=":red_car:" /><br> red_circle <img alt="🔴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f534.png" title=":red_circle:" /><br> regional_indicator_a <img alt="🇦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e6.png" title=":regional_indicator_a:" /><br> regional_indicator_b <img alt="🇧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e7.png" title=":regional_indicator_b:" /><br> regional_indicator_c <img alt="🇨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e8.png" title=":regional_indicator_c:" /><br> regional_indicator_d <img alt="🇩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1e9.png" title=":regional_indicator_d:" /><br> regional_indicator_e <img alt="🇪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ea.png" title=":regional_indicator_e:" /><br> regional_indicator_f <img alt="🇫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1eb.png" title=":regional_indicator_f:" /><br> regional_indicator_g <img alt="🇬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ec.png" title=":regional_indicator_g:" /><br> regional_indicator_h <img alt="🇭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ed.png" title=":regional_indicator_h:" /><br> regional_indicator_i <img alt="🇮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ee.png" title=":regional_indicator_i:" /><br> regional_indicator_j <img alt="🇯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ef.png" title=":regional_indicator_j:" /><br> regional_indicator_k <img alt="🇰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f0.png" title=":regional_indicator_k:" /><br> regional_indicator_l <img alt="🇱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f1.png" title=":regional_indicator_l:" /><br> regional_indicator_m <img alt="🇲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f2.png" title=":regional_indicator_m:" /><br> regional_indicator_n <img alt="🇳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f3.png" title=":regional_indicator_n:" /><br> regional_indicator_o <img alt="🇴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f4.png" title=":regional_indicator_o:" /><br> regional_indicator_p <img alt="🇵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f5.png" title=":regional_indicator_p:" /><br> regional_indicator_q <img alt="🇶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f6.png" title=":regional_indicator_q:" /><br> regional_indicator_r <img alt="🇷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f7.png" title=":regional_indicator_r:" /><br> regional_indicator_s <img alt="🇸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f8.png" title=":regional_indicator_s:" /><br> regional_indicator_t <img alt="🇹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1f9.png" title=":regional_indicator_t:" /><br> regional_indicator_u <img alt="🇺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fa.png" title=":regional_indicator_u:" /><br> regional_indicator_v <img alt="🇻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fb.png" title=":regional_indicator_v:" /><br> regional_indicator_w <img alt="🇼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fc.png" title=":regional_indicator_w:" /><br> regional_indicator_x <img alt="🇽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fd.png" title=":regional_indicator_x:" /><br> regional_indicator_y <img alt="🇾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1fe.png" title=":regional_indicator_y:" /><br> regional_indicator_z <img alt="🇿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f1ff.png" title=":regional_indicator_z:" /><br> registered <img alt="®ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/00ae.png" title=":registered:" /><br> relaxed <img alt="☺ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/263a.png" title=":relaxed:" /><br> relieved <img alt="😌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60c.png" title=":relieved:" /><br> reminder_ribbon <img alt="🎗ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f397.png" title=":reminder_ribbon:" /><br> repeat <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f501.png" title=":repeat:" /><br> repeat_one <img alt="🔂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f502.png" title=":repeat_one:" /><br> restroom <img alt="🚻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6bb.png" title=":restroom:" /><br> revolving_hearts <img alt="💞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49e.png" title=":revolving_hearts:" /><br> rewind <img alt="âª" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23ea.png" title=":rewind:" /><br> rhino <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f98f.png" title=":rhino:" /><br> ribbon <img alt="🎀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f380.png" title=":ribbon:" /><br> rice <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35a.png" title=":rice:" /><br> rice_ball <img alt="ðŸ™" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f359.png" title=":rice_ball:" /><br> rice_cracker <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f358.png" title=":rice_cracker:" /><br> rice_scene <img alt="🎑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f391.png" title=":rice_scene:" /><br> right_facing_fist <img alt="🤜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c.png" title=":right_facing_fist:" /><br> right_facing_fist_tone1 <img alt="🤜ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c-1f3fb.png" title=":right_facing_fist_tone1:" /><br> right_facing_fist_tone2 <img alt="🤜ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c-1f3fc.png" title=":right_facing_fist_tone2:" /><br> right_facing_fist_tone3 <img alt="🤜ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c-1f3fd.png" title=":right_facing_fist_tone3:" /><br> right_facing_fist_tone4 <img alt="🤜ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c-1f3fe.png" title=":right_facing_fist_tone4:" /><br> right_facing_fist_tone5 <img alt="🤜ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f91c-1f3ff.png" title=":right_facing_fist_tone5:" /><br> ring <img alt="ðŸ’" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f48d.png" title=":ring:" /><br> robot <img alt="🤖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f916.png" title=":robot:" /><br> rocket <img alt="🚀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f680.png" title=":rocket:" /><br> rofl <img alt="🤣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f923.png" title=":rofl:" /><br> roller_coaster <img alt="🎢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a2.png" title=":roller_coaster:" /><br> rolling_eyes <img alt="🙄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f644.png" title=":rolling_eyes:" /><br> rooster <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f413.png" title=":rooster:" /><br> rose <img alt="🌹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f339.png" title=":rose:" /><br> rosette <img alt="ðŸµï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3f5.png" title=":rosette:" /><br> rotating_light <img alt="🚨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a8.png" title=":rotating_light:" /><br> round_pushpin <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4cd.png" title=":round_pushpin:" /><br> rowboat <img alt="🚣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3.png" title=":rowboat:" /><br> rowboat_tone1 <img alt="🚣ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3-1f3fb.png" title=":rowboat_tone1:" /><br> rowboat_tone2 <img alt="🚣ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3-1f3fc.png" title=":rowboat_tone2:" /><br> rowboat_tone3 <img alt="🚣ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3-1f3fd.png" title=":rowboat_tone3:" /><br> rowboat_tone4 <img alt="🚣ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3-1f3fe.png" title=":rowboat_tone4:" /><br> rowboat_tone5 <img alt="🚣ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a3-1f3ff.png" title=":rowboat_tone5:" /><br> rugby_football <img alt="ðŸ‰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c9.png" title=":rugby_football:" /><br> runner <img alt="ðŸƒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3.png" title=":runner:" /><br> runner_tone1 <img alt="ðŸƒðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3-1f3fb.png" title=":runner_tone1:" /><br> runner_tone2 <img alt="ðŸƒðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3-1f3fc.png" title=":runner_tone2:" /><br> runner_tone3 <img alt="ðŸƒðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3-1f3fd.png" title=":runner_tone3:" /><br> runner_tone4 <img alt="ðŸƒðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3-1f3fe.png" title=":runner_tone4:" /><br> runner_tone5 <img alt="ðŸƒðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c3-1f3ff.png" title=":runner_tone5:" /><br> running_shirt_with_sash <img alt="🎽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3bd.png" title=":running_shirt_with_sash:" /><br> sa <img alt="🈂ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f202.png" title=":sa:" /><br> sagittarius <img alt="â™ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2650.png" title=":sagittarius:" /><br> sailboat <img alt="⛵ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f5.png" title=":sailboat:" /><br> sake <img alt="ðŸ¶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f376.png" title=":sake:" /><br> salad <img alt="🥗" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f957.png" title=":salad:" /><br> sandal <img alt="👡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f461.png" title=":sandal:" /><br> santa <img alt="🎅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385.png" title=":santa:" /><br> santa_tone1 <img alt="🎅ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385-1f3fb.png" title=":santa_tone1:" /><br> santa_tone2 <img alt="🎅ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385-1f3fc.png" title=":santa_tone2:" /><br> santa_tone3 <img alt="🎅ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385-1f3fd.png" title=":santa_tone3:" /><br> santa_tone4 <img alt="🎅ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385-1f3fe.png" title=":santa_tone4:" /><br> santa_tone5 <img alt="🎅ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f385-1f3ff.png" title=":santa_tone5:" /><br> satellite <img alt="📡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4e1.png" title=":satellite:" /><br> satellite_orbital <img alt="🛰ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6f0.png" title=":satellite_orbital:" /><br> saxophone <img alt="🎷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b7.png" title=":saxophone:" /><br> scales <img alt="âš–ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2696.png" title=":scales:" /><br> school <img alt="ðŸ«" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3eb.png" title=":school:" /><br> school_satchel <img alt="🎒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f392.png" title=":school_satchel:" /><br> scissors <img alt="✂ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2702.png" title=":scissors:" /><br> scooter <img alt="🛴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6f4.png" title=":scooter:" /><br> scorpion <img alt="🦂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f982.png" title=":scorpion:" /><br> scorpius <img alt="â™ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264f.png" title=":scorpius:" /><br> scream <img alt="😱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f631.png" title=":scream:" /><br> scream_cat <img alt="🙀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f640.png" title=":scream_cat:" /><br> scroll <img alt="📜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4dc.png" title=":scroll:" /><br> seat <img alt="💺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ba.png" title=":seat:" /><br> second_place <img alt="🥈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f948.png" title=":second_place:" /><br> secret <img alt="㊙ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/3299.png" title=":secret:" /><br> see_no_evil <img alt="🙈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f648.png" title=":see_no_evil:" /><br> seedling <img alt="🌱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f331.png" title=":seedling:" /><br> selfie <img alt="🤳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933.png" title=":selfie:" /><br> selfie_tone1 <img alt="🤳ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933-1f3fb.png" title=":selfie_tone1:" /><br> selfie_tone2 <img alt="🤳ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933-1f3fc.png" title=":selfie_tone2:" /><br> selfie_tone3 <img alt="🤳ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933-1f3fd.png" title=":selfie_tone3:" /><br> selfie_tone4 <img alt="🤳ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933-1f3fe.png" title=":selfie_tone4:" /><br> selfie_tone5 <img alt="🤳ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f933-1f3ff.png" title=":selfie_tone5:" /><br> seven <img alt="7ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0037-20e3.png" title=":seven:" /><br> shallow_pan_of_food <img alt="🥘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f958.png" title=":shallow_pan_of_food:" /><br> shamrock <img alt="☘ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2618.png" title=":shamrock:" /><br> shark <img alt="🦈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f988.png" title=":shark:" /><br> shaved_ice <img alt="ðŸ§" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f367.png" title=":shaved_ice:" /><br> sheep <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f411.png" title=":sheep:" /><br> shell <img alt="ðŸš" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f41a.png" title=":shell:" /><br> shield <img alt="🛡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e1.png" title=":shield:" /><br> shinto_shrine <img alt="⛩ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26e9.png" title=":shinto_shrine:" /><br> ship <img alt="🚢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a2.png" title=":ship:" /><br> shirt <img alt="👕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f455.png" title=":shirt:" /><br> shopping_bags <img alt="ðŸ›ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6cd.png" title=":shopping_bags:" /><br> shopping_cart <img alt="🛒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6d2.png" title=":shopping_cart:" /><br> shower <img alt="🚿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6bf.png" title=":shower:" /><br> shrimp <img alt="ðŸ¦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f990.png" title=":shrimp:" /><br> shrug <img alt="🤷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937.png" title=":shrug:" /><br> shrug_tone1 <img alt="🤷ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937-1f3fb.png" title=":shrug_tone1:" /><br> shrug_tone2 <img alt="🤷ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937-1f3fc.png" title=":shrug_tone2:" /><br> shrug_tone3 <img alt="🤷ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937-1f3fd.png" title=":shrug_tone3:" /><br> shrug_tone4 <img alt="🤷ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937-1f3fe.png" title=":shrug_tone4:" /><br> shrug_tone5 <img alt="🤷ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f937-1f3ff.png" title=":shrug_tone5:" /><br> signal_strength <img alt="📶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f6.png" title=":signal_strength:" /><br> six <img alt="6ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0036-20e3.png" title=":six:" /><br> six_pointed_star <img alt="🔯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52f.png" title=":six_pointed_star:" /><br> ski <img alt="🎿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3bf.png" title=":ski:" /><br> skier <img alt="â›·ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26f7.png" title=":skier:" /><br> skull <img alt="💀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f480.png" title=":skull:" /><br> skull_crossbones <img alt="☠ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2620.png" title=":skull_crossbones:" /><br> sleeping <img alt="😴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f634.png" title=":sleeping:" /><br> sleeping_accommodation <img alt="🛌" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6cc.png" title=":sleeping_accommodation:" /><br> sleepy <img alt="😪" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62a.png" title=":sleepy:" /><br> slight_frown <img alt="ðŸ™" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f641.png" title=":slight_frown:" /><br> slight_smile <img alt="🙂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f642.png" title=":slight_smile:" /><br> slot_machine <img alt="🎰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3b0.png" title=":slot_machine:" /><br> small_blue_diamond <img alt="🔹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f539.png" title=":small_blue_diamond:" /><br> small_orange_diamond <img alt="🔸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f538.png" title=":small_orange_diamond:" /><br> small_red_triangle <img alt="🔺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f53a.png" title=":small_red_triangle:" /><br> small_red_triangle_down <img alt="🔻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f53b.png" title=":small_red_triangle_down:" /><br> smile <img alt="😄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f604.png" title=":smile:" /><br> smile_cat <img alt="😸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f638.png" title=":smile_cat:" /><br> smiley <img alt="😃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f603.png" title=":smiley:" /><br> smiley_cat <img alt="😺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63a.png" title=":smiley_cat:" /><br> smiling_imp <img alt="😈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f608.png" title=":smiling_imp:" /><br> smirk <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60f.png" title=":smirk:" /><br> smirk_cat <img alt="😼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f63c.png" title=":smirk_cat:" /><br> smoking <img alt="🚬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ac.png" title=":smoking:" /><br> snail <img alt="ðŸŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40c.png" title=":snail:" /><br> snake <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40d.png" title=":snake:" /><br> sneezing_face <img alt="🤧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f927.png" title=":sneezing_face:" /><br> snowboarder <img alt="ðŸ‚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c2.png" title=":snowboarder:" /><br> snowflake <img alt="â„ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2744.png" title=":snowflake:" /><br> snowman2 <img alt="☃ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2603.png" title=":snowman2:" /><br> snowman <img alt="⛄ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26c4.png" title=":snowman:" /><br> sob <img alt="😭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62d.png" title=":sob:" /><br> soccer <img alt="âš½ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26bd.png" title=":soccer:" /><br> soon <img alt="🔜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51c.png" title=":soon:" /><br> sos <img alt="🆘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f198.png" title=":sos:" /><br> sound <img alt="🔉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f509.png" title=":sound:" /><br> space_invader <img alt="👾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f47e.png" title=":space_invader:" /><br> spades <img alt="â™ ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2660.png" title=":spades:" /><br> spaghetti <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f35d.png" title=":spaghetti:" /><br> sparkle <img alt="â‡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2747.png" title=":sparkle:" /><br> sparkler <img alt="🎇" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f387.png" title=":sparkler:" /><br> sparkles <img alt="✨" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2728.png" title=":sparkles:" /><br> sparkling_heart <img alt="💖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f496.png" title=":sparkling_heart:" /><br> speak_no_evil <img alt="🙊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f64a.png" title=":speak_no_evil:" /><br> speaker <img alt="🔈" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f508.png" title=":speaker:" /><br> speaking_head <img alt="🗣ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5e3.png" title=":speaking_head:" /><br> speech_balloon <img alt="💬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ac.png" title=":speech_balloon:" /><br> speech_left <img alt="🗨ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5e8.png" title=":speech_left:" /><br> speedboat <img alt="🚤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a4.png" title=":speedboat:" /><br> spider <img alt="🕷ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f577.png" title=":spider:" /><br> spider_web <img alt="🕸ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f578.png" title=":spider_web:" /><br> spoon <img alt="🥄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f944.png" title=":spoon:" /><br> spy <img alt="🕵ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575.png" title=":spy:" /><br> spy_tone1 <img alt="🕵ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575-1f3fb.png" title=":spy_tone1:" /><br> spy_tone2 <img alt="🕵ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575-1f3fc.png" title=":spy_tone2:" /><br> spy_tone3 <img alt="🕵ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575-1f3fd.png" title=":spy_tone3:" /><br> spy_tone4 <img alt="🕵ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575-1f3fe.png" title=":spy_tone4:" /><br> spy_tone5 <img alt="🕵ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f575-1f3ff.png" title=":spy_tone5:" /><br> squid <img alt="🦑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f991.png" title=":squid:" /><br> stadium <img alt="ðŸŸï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3df.png" title=":stadium:" /><br> star2 <img alt="🌟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31f.png" title=":star2:" /><br> star <img alt="â­ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b50.png" title=":star:" /><br> star_and_crescent <img alt="☪ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/262a.png" title=":star_and_crescent:" /><br> star_of_david <img alt="✡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2721.png" title=":star_of_david:" /><br> stars <img alt="🌠" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f320.png" title=":stars:" /><br> station <img alt="🚉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f689.png" title=":station:" /><br> statue_of_liberty <img alt="🗽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5fd.png" title=":statue_of_liberty:" /><br> steam_locomotive <img alt="🚂" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f682.png" title=":steam_locomotive:" /><br> stew <img alt="ðŸ²" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f372.png" title=":stew:" /><br> stop_button <img alt="â¹ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f9.png" title=":stop_button:" /><br> stopwatch <img alt="â±ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f1.png" title=":stopwatch:" /><br> straight_ruler <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4cf.png" title=":straight_ruler:" /><br> strawberry <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f353.png" title=":strawberry:" /><br> stuck_out_tongue <img alt="😛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61b.png" title=":stuck_out_tongue:" /><br> stuck_out_tongue_closed_eyes <img alt="ðŸ˜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61d.png" title=":stuck_out_tongue_closed_eyes:" /><br> stuck_out_tongue_winking_eye <img alt="😜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61c.png" title=":stuck_out_tongue_winking_eye:" /><br> stuffed_flatbread <img alt="🥙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f959.png" title=":stuffed_flatbread:" /><br> sun_with_face <img alt="🌞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f31e.png" title=":sun_with_face:" /><br> sunflower <img alt="🌻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f33b.png" title=":sunflower:" /><br> sunglasses <img alt="😎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60e.png" title=":sunglasses:" /><br> sunny <img alt="☀ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2600.png" title=":sunny:" /><br> sunrise <img alt="🌅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f305.png" title=":sunrise:" /><br> sunrise_over_mountains <img alt="🌄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f304.png" title=":sunrise_over_mountains:" /><br> surfer <img alt="ðŸ„" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4.png" title=":surfer:" /><br> surfer_tone1 <img alt="ðŸ„ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4-1f3fb.png" title=":surfer_tone1:" /><br> surfer_tone2 <img alt="ðŸ„ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4-1f3fc.png" title=":surfer_tone2:" /><br> surfer_tone3 <img alt="ðŸ„ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4-1f3fd.png" title=":surfer_tone3:" /><br> surfer_tone4 <img alt="ðŸ„ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4-1f3fe.png" title=":surfer_tone4:" /><br> surfer_tone5 <img alt="ðŸ„ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c4-1f3ff.png" title=":surfer_tone5:" /><br> sushi <img alt="ðŸ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f363.png" title=":sushi:" /><br> suspension_railway <img alt="🚟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69f.png" title=":suspension_railway:" /><br> sweat <img alt="😓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f613.png" title=":sweat:" /><br> sweat_drops <img alt="💦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a6.png" title=":sweat_drops:" /><br> sweat_smile <img alt="😅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f605.png" title=":sweat_smile:" /><br> sweet_potato <img alt="ðŸ " class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f360.png" title=":sweet_potato:" /><br> swimmer <img alt="ðŸŠ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca.png" title=":swimmer:" /><br> swimmer_tone1 <img alt="ðŸŠðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca-1f3fb.png" title=":swimmer_tone1:" /><br> swimmer_tone2 <img alt="ðŸŠðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca-1f3fc.png" title=":swimmer_tone2:" /><br> swimmer_tone3 <img alt="ðŸŠðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca-1f3fd.png" title=":swimmer_tone3:" /><br> swimmer_tone4 <img alt="ðŸŠðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca-1f3fe.png" title=":swimmer_tone4:" /><br> swimmer_tone5 <img alt="ðŸŠðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ca-1f3ff.png" title=":swimmer_tone5:" /><br> symbols <img alt="🔣" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f523.png" title=":symbols:" /><br> synagogue <img alt="ðŸ•" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f54d.png" title=":synagogue:" /><br> syringe <img alt="💉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f489.png" title=":syringe:" /><br> taco <img alt="🌮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32e.png" title=":taco:" /><br> tada <img alt="🎉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f389.png" title=":tada:" /><br> tanabata_tree <img alt="🎋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f38b.png" title=":tanabata_tree:" /><br> tangerine <img alt="ðŸŠ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f34a.png" title=":tangerine:" /><br> taurus <img alt="♉ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2649.png" title=":taurus:" /><br> taxi <img alt="🚕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f695.png" title=":taxi:" /><br> tea <img alt="ðŸµ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f375.png" title=":tea:" /><br> telephone <img alt="☎ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/260e.png" title=":telephone:" /><br> telephone_receiver <img alt="📞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4de.png" title=":telephone_receiver:" /><br> telescope <img alt="🔭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f52d.png" title=":telescope:" /><br> tennis <img alt="🎾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3be.png" title=":tennis:" /><br> tent <img alt="⛺ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26fa.png" title=":tent:" /><br> thermometer <img alt="🌡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f321.png" title=":thermometer:" /><br> thermometer_face <img alt="🤒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f912.png" title=":thermometer_face:" /><br> thinking <img alt="🤔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f914.png" title=":thinking:" /><br> third_place <img alt="🥉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f949.png" title=":third_place:" /><br> thought_balloon <img alt="💭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ad.png" title=":thought_balloon:" /><br> three <img alt="3ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0033-20e3.png" title=":three:" /><br> thumbsdown <img alt="👎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e.png" title=":thumbsdown:" /><br> thumbsdown_tone1 <img alt="👎ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e-1f3fb.png" title=":thumbsdown_tone1:" /><br> thumbsdown_tone2 <img alt="👎ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e-1f3fc.png" title=":thumbsdown_tone2:" /><br> thumbsdown_tone3 <img alt="👎ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e-1f3fd.png" title=":thumbsdown_tone3:" /><br> thumbsdown_tone4 <img alt="👎ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e-1f3fe.png" title=":thumbsdown_tone4:" /><br> thumbsdown_tone5 <img alt="👎ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44e-1f3ff.png" title=":thumbsdown_tone5:" /><br> thumbsup <img alt="ðŸ‘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d.png" title=":thumbsup:" /><br> thumbsup_tone1 <img alt="ðŸ‘ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d-1f3fb.png" title=":thumbsup_tone1:" /><br> thumbsup_tone2 <img alt="ðŸ‘ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d-1f3fc.png" title=":thumbsup_tone2:" /><br> thumbsup_tone3 <img alt="ðŸ‘ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d-1f3fd.png" title=":thumbsup_tone3:" /><br> thumbsup_tone4 <img alt="ðŸ‘ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d-1f3fe.png" title=":thumbsup_tone4:" /><br> thumbsup_tone5 <img alt="ðŸ‘ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44d-1f3ff.png" title=":thumbsup_tone5:" /><br> thunder_cloud_rain <img alt="⛈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26c8.png" title=":thunder_cloud_rain:" /><br> ticket <img alt="🎫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ab.png" title=":ticket:" /><br> tickets <img alt="🎟ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f39f.png" title=":tickets:" /><br> tiger2 <img alt="ðŸ…" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f405.png" title=":tiger2:" /><br> tiger <img alt="ðŸ¯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f42f.png" title=":tiger:" /><br> timer <img alt="â²ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23f2.png" title=":timer:" /><br> tired_face <img alt="😫" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f62b.png" title=":tired_face:" /><br> tm <img alt="â„¢ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2122.png" title=":tm:" /><br> toilet <img alt="🚽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6bd.png" title=":toilet:" /><br> tokyo_tower <img alt="🗼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5fc.png" title=":tokyo_tower:" /><br> tomato <img alt="ðŸ…" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f345.png" title=":tomato:" /><br> tone1 <img alt="ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3fb.png" title=":tone1:" /><br> tone2 <img alt="ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3fc.png" title=":tone2:" /><br> tone3 <img alt="ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3fd.png" title=":tone3:" /><br> tone4 <img alt="ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3fe.png" title=":tone4:" /><br> tone5 <img alt="ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ff.png" title=":tone5:" /><br> tongue <img alt="👅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f445.png" title=":tongue:" /><br> tools <img alt="🛠ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6e0.png" title=":tools:" /><br> top <img alt="ðŸ”" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51d.png" title=":top:" /><br> tophat <img alt="🎩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3a9.png" title=":tophat:" /><br> track_next <img alt="â­ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23ed.png" title=":track_next:" /><br> track_previous <img alt="â®ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/23ee.png" title=":track_previous:" /><br> trackball <img alt="🖲ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5b2.png" title=":trackball:" /><br> tractor <img alt="🚜" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69c.png" title=":tractor:" /><br> traffic_light <img alt="🚥" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a5.png" title=":traffic_light:" /><br> train2 <img alt="🚆" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f686.png" title=":train2:" /><br> train <img alt="🚋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68b.png" title=":train:" /><br> tram <img alt="🚊" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68a.png" title=":tram:" /><br> triangular_flag_on_post <img alt="🚩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a9.png" title=":triangular_flag_on_post:" /><br> triangular_ruler <img alt="ðŸ“" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4d0.png" title=":triangular_ruler:" /><br> trident <img alt="🔱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f531.png" title=":trident:" /><br> triumph <img alt="😤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f624.png" title=":triumph:" /><br> trolleybus <img alt="🚎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f68e.png" title=":trolleybus:" /><br> trophy <img alt="ðŸ†" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3c6.png" title=":trophy:" /><br> tropical_drink <img alt="ðŸ¹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f379.png" title=":tropical_drink:" /><br> tropical_fish <img alt="ðŸ " class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f420.png" title=":tropical_fish:" /><br> truck <img alt="🚚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f69a.png" title=":truck:" /><br> trumpet <img alt="🎺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ba.png" title=":trumpet:" /><br> tulip <img alt="🌷" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f337.png" title=":tulip:" /><br> tumbler_glass <img alt="🥃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f943.png" title=":tumbler_glass:" /><br> turkey <img alt="🦃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f983.png" title=":turkey:" /><br> turtle <img alt="ðŸ¢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f422.png" title=":turtle:" /><br> tv <img alt="📺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4fa.png" title=":tv:" /><br> twisted_rightwards_arrows <img alt="🔀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f500.png" title=":twisted_rightwards_arrows:" /><br> two <img alt="2ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0032-20e3.png" title=":two:" /><br> two_hearts <img alt="💕" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f495.png" title=":two_hearts:" /><br> two_men_holding_hands <img alt="👬" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46c.png" title=":two_men_holding_hands:" /><br> two_women_holding_hands <img alt="👭" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f46d.png" title=":two_women_holding_hands:" /><br> u5272 <img alt="🈹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f239.png" title=":u5272:" /><br> u5408 <img alt="🈴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f234.png" title=":u5408:" /><br> u55b6 <img alt="🈺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f23a.png" title=":u55b6:" /><br> u6307 <img alt="🈯ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f22f.png" title=":u6307:" /><br> u6708 <img alt="🈷ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f237.png" title=":u6708:" /><br> u6709 <img alt="🈶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f236.png" title=":u6709:" /><br> u6e80 <img alt="🈵" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f235.png" title=":u6e80:" /><br> u7121 <img alt="🈚ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f21a.png" title=":u7121:" /><br> u7533 <img alt="🈸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f238.png" title=":u7533:" /><br> u7981 <img alt="🈲" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f232.png" title=":u7981:" /><br> u7a7a <img alt="🈳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f233.png" title=":u7a7a:" /><br> umbrella2 <img alt="☂ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2602.png" title=":umbrella2:" /><br> umbrella <img alt="☔ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2614.png" title=":umbrella:" /><br> unamused <img alt="😒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f612.png" title=":unamused:" /><br> underage <img alt="🔞" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f51e.png" title=":underage:" /><br> unicorn <img alt="🦄" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f984.png" title=":unicorn:" /><br> unlock <img alt="🔓" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f513.png" title=":unlock:" /><br> up <img alt="🆙" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f199.png" title=":up:" /><br> upside_down <img alt="🙃" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f643.png" title=":upside_down:" /><br> urn <img alt="âš±ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26b1.png" title=":urn:" /><br> v <img alt="✌ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c.png" title=":v:" /><br> v_tone1 <img alt="✌ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c-1f3fb.png" title=":v_tone1:" /><br> v_tone2 <img alt="✌ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c-1f3fc.png" title=":v_tone2:" /><br> v_tone3 <img alt="✌ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c-1f3fd.png" title=":v_tone3:" /><br> v_tone4 <img alt="✌ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c-1f3fe.png" title=":v_tone4:" /><br> v_tone5 <img alt="✌ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270c-1f3ff.png" title=":v_tone5:" /><br> vertical_traffic_light <img alt="🚦" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6a6.png" title=":vertical_traffic_light:" /><br> vhs <img alt="📼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4fc.png" title=":vhs:" /><br> vibration_mode <img alt="📳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f3.png" title=":vibration_mode:" /><br> video_camera <img alt="📹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4f9.png" title=":video_camera:" /><br> video_game <img alt="🎮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3ae.png" title=":video_game:" /><br> violin <img alt="🎻" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3bb.png" title=":violin:" /><br> virgo <img alt="â™ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/264d.png" title=":virgo:" /><br> volcano <img alt="🌋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f30b.png" title=":volcano:" /><br> volleyball <img alt="ðŸ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f3d0.png" title=":volleyball:" /><br> vs <img alt="🆚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f19a.png" title=":vs:" /><br> vulcan <img alt="🖖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596.png" title=":vulcan:" /><br> vulcan_tone1 <img alt="🖖ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596-1f3fb.png" title=":vulcan_tone1:" /><br> vulcan_tone2 <img alt="🖖ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596-1f3fc.png" title=":vulcan_tone2:" /><br> vulcan_tone3 <img alt="🖖ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596-1f3fd.png" title=":vulcan_tone3:" /><br> vulcan_tone4 <img alt="🖖ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596-1f3fe.png" title=":vulcan_tone4:" /><br> vulcan_tone5 <img alt="🖖ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f596-1f3ff.png" title=":vulcan_tone5:" /><br> walking <img alt="🚶" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6.png" title=":walking:" /><br> walking_tone1 <img alt="🚶ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6-1f3fb.png" title=":walking_tone1:" /><br> walking_tone2 <img alt="🚶ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6-1f3fc.png" title=":walking_tone2:" /><br> walking_tone3 <img alt="🚶ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6-1f3fd.png" title=":walking_tone3:" /><br> walking_tone4 <img alt="🚶ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6-1f3fe.png" title=":walking_tone4:" /><br> walking_tone5 <img alt="🚶ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6b6-1f3ff.png" title=":walking_tone5:" /><br> waning_crescent_moon <img alt="🌘" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f318.png" title=":waning_crescent_moon:" /><br> waning_gibbous_moon <img alt="🌖" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f316.png" title=":waning_gibbous_moon:" /><br> warning <img alt="âš ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26a0.png" title=":warning:" /><br> wastebasket <img alt="🗑ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f5d1.png" title=":wastebasket:" /><br> watch <img alt="⌚ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/231a.png" title=":watch:" /><br> water_buffalo <img alt="ðŸƒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f403.png" title=":water_buffalo:" /><br> water_polo <img alt="🤽" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d.png" title=":water_polo:" /><br> water_polo_tone1 <img alt="🤽ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d-1f3fb.png" title=":water_polo_tone1:" /><br> water_polo_tone2 <img alt="🤽ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d-1f3fc.png" title=":water_polo_tone2:" /><br> water_polo_tone3 <img alt="🤽ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d-1f3fd.png" title=":water_polo_tone3:" /><br> water_polo_tone4 <img alt="🤽ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d-1f3fe.png" title=":water_polo_tone4:" /><br> water_polo_tone5 <img alt="🤽ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93d-1f3ff.png" title=":water_polo_tone5:" /><br> watermelon <img alt="ðŸ‰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f349.png" title=":watermelon:" /><br> wave <img alt="👋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b.png" title=":wave:" /><br> wave_tone1 <img alt="👋ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b-1f3fb.png" title=":wave_tone1:" /><br> wave_tone2 <img alt="👋ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b-1f3fc.png" title=":wave_tone2:" /><br> wave_tone3 <img alt="👋ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b-1f3fd.png" title=":wave_tone3:" /><br> wave_tone4 <img alt="👋ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b-1f3fe.png" title=":wave_tone4:" /><br> wave_tone5 <img alt="👋ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f44b-1f3ff.png" title=":wave_tone5:" /><br> wavy_dash <img alt="〰ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/3030.png" title=":wavy_dash:" /><br> waxing_crescent_moon <img alt="🌒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f312.png" title=":waxing_crescent_moon:" /><br> waxing_gibbous_moon <img alt="🌔" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f314.png" title=":waxing_gibbous_moon:" /><br> wc <img alt="🚾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6be.png" title=":wc:" /><br> weary <img alt="😩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f629.png" title=":weary:" /><br> wedding <img alt="💒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f492.png" title=":wedding:" /><br> whale2 <img alt="ðŸ‹" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f40b.png" title=":whale2:" /><br> whale <img alt="ðŸ³" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f433.png" title=":whale:" /><br> wheel_of_dharma <img alt="☸ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2638.png" title=":wheel_of_dharma:" /><br> wheelchair <img alt="♿ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/267f.png" title=":wheelchair:" /><br> white_check_mark <img alt="✅" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2705.png" title=":white_check_mark:" /><br> white_circle <img alt="⚪ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26aa.png" title=":white_circle:" /><br> white_flower <img alt="💮" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4ae.png" title=":white_flower:" /><br> white_large_square <img alt="⬜ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/2b1c.png" title=":white_large_square:" /><br> white_medium_small_square <img alt="â—½ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25fd.png" title=":white_medium_small_square:" /><br> white_medium_square <img alt="â—»ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25fb.png" title=":white_medium_square:" /><br> white_small_square <img alt="â–«ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/25ab.png" title=":white_small_square:" /><br> white_square_button <img alt="🔳" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f533.png" title=":white_square_button:" /><br> white_sun_cloud <img alt="🌥ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f325.png" title=":white_sun_cloud:" /><br> white_sun_rain_cloud <img alt="🌦ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f326.png" title=":white_sun_rain_cloud:" /><br> white_sun_small_cloud <img alt="🌤ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f324.png" title=":white_sun_small_cloud:" /><br> wilted_rose <img alt="🥀" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f940.png" title=":wilted_rose:" /><br> wind_blowing_face <img alt="🌬ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f32c.png" title=":wind_blowing_face:" /><br> wind_chime <img alt="ðŸŽ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f390.png" title=":wind_chime:" /><br> wine_glass <img alt="ðŸ·" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f377.png" title=":wine_glass:" /><br> wink <img alt="😉" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f609.png" title=":wink:" /><br> wolf <img alt="ðŸº" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f43a.png" title=":wolf:" /><br> woman <img alt="👩" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469.png" title=":woman:" /><br> woman_tone1 <img alt="👩ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f3fb.png" title=":woman_tone1:" /><br> woman_tone2 <img alt="👩ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f3fc.png" title=":woman_tone2:" /><br> woman_tone3 <img alt="👩ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f3fd.png" title=":woman_tone3:" /><br> woman_tone4 <img alt="👩ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f3fe.png" title=":woman_tone4:" /><br> woman_tone5 <img alt="👩ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f469-1f3ff.png" title=":woman_tone5:" /><br> womans_clothes <img alt="👚" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f45a.png" title=":womans_clothes:" /><br> womans_hat <img alt="👒" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f452.png" title=":womans_hat:" /><br> womens <img alt="🚺" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f6ba.png" title=":womens:" /><br> worried <img alt="😟" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f61f.png" title=":worried:" /><br> wrench <img alt="🔧" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f527.png" title=":wrench:" /><br> wrestlers <img alt="🤼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c.png" title=":wrestlers:" /><br> wrestlers_tone1 <img alt="🤼ðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c-1f3fb.png" title=":wrestlers_tone1:" /><br> wrestlers_tone2 <img alt="🤼ðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c-1f3fc.png" title=":wrestlers_tone2:" /><br> wrestlers_tone3 <img alt="🤼ðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c-1f3fd.png" title=":wrestlers_tone3:" /><br> wrestlers_tone4 <img alt="🤼ðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c-1f3fe.png" title=":wrestlers_tone4:" /><br> wrestlers_tone5 <img alt="🤼ðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f93c-1f3ff.png" title=":wrestlers_tone5:" /><br> writing_hand <img alt="âœï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d.png" title=":writing_hand:" /><br> writing_hand_tone1 <img alt="âœðŸ»" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d-1f3fb.png" title=":writing_hand_tone1:" /><br> writing_hand_tone2 <img alt="âœðŸ¼" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d-1f3fc.png" title=":writing_hand_tone2:" /><br> writing_hand_tone3 <img alt="âœðŸ½" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d-1f3fd.png" title=":writing_hand_tone3:" /><br> writing_hand_tone4 <img alt="âœðŸ¾" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d-1f3fe.png" title=":writing_hand_tone4:" /><br> writing_hand_tone5 <img alt="âœðŸ¿" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/270d-1f3ff.png" title=":writing_hand_tone5:" /><br> x <img alt="âŒ" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/274c.png" title=":x:" /><br> yellow_heart <img alt="💛" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f49b.png" title=":yellow_heart:" /><br> yen <img alt="💴" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4b4.png" title=":yen:" /><br> yin_yang <img alt="☯ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/262f.png" title=":yin_yang:" /><br> yum <img alt="😋" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f60b.png" title=":yum:" /><br> zap <img alt="âš¡ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/26a1.png" title=":zap:" /><br> zero <img alt="0ï¸âƒ£" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/0030-20e3.png" title=":zero:" /><br> zipper_mouth <img alt="ðŸ¤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f910.png" title=":zipper_mouth:" /><br> zzz <img alt="💤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/1f4a4.png" title=":zzz:" /><br></p> </div> </body> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (png).txt�������������������������������������0000664�0000000�0000000�00000147023�14651242716�0024633�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> airplane_arriving :airplane_arriving:<br> airplane_departure :airplane_departure:<br> airplane_small :airplane_small:<br> alarm_clock :alarm_clock:<br> alembic :alembic:<br> alien :alien:<br> ambulance :ambulance:<br> amphora :amphora:<br> anchor :anchor:<br> angel :angel:<br> angel_tone1 :angel_tone1:<br> angel_tone2 :angel_tone2:<br> angel_tone3 :angel_tone3:<br> angel_tone4 :angel_tone4:<br> angel_tone5 :angel_tone5:<br> anger :anger:<br> anger_right :anger_right:<br> angry :angry:<br> anguished :anguished:<br> ant :ant:<br> apple :apple:<br> aquarius :aquarius:<br> aries :aries:<br> arrow_backward :arrow_backward:<br> arrow_double_down :arrow_double_down:<br> arrow_double_up :arrow_double_up:<br> arrow_down :arrow_down:<br> arrow_down_small :arrow_down_small:<br> arrow_forward :arrow_forward:<br> arrow_heading_down :arrow_heading_down:<br> arrow_heading_up :arrow_heading_up:<br> arrow_left :arrow_left:<br> arrow_lower_left :arrow_lower_left:<br> arrow_lower_right :arrow_lower_right:<br> arrow_right :arrow_right:<br> arrow_right_hook :arrow_right_hook:<br> arrow_up :arrow_up:<br> arrow_up_down :arrow_up_down:<br> arrow_up_small :arrow_up_small:<br> arrow_upper_left :arrow_upper_left:<br> arrow_upper_right :arrow_upper_right:<br> arrows_clockwise :arrows_clockwise:<br> arrows_counterclockwise :arrows_counterclockwise:<br> art :art:<br> articulated_lorry :articulated_lorry:<br> asterisk :asterisk:<br> astonished :astonished:<br> athletic_shoe :athletic_shoe:<br> atm :atm:<br> atom :atom:<br> avocado :avocado:<br> b :b:<br> baby :baby:<br> baby_bottle :baby_bottle:<br> baby_chick :baby_chick:<br> baby_symbol :baby_symbol:<br> baby_tone1 :baby_tone1:<br> baby_tone2 :baby_tone2:<br> baby_tone3 :baby_tone3:<br> baby_tone4 :baby_tone4:<br> baby_tone5 :baby_tone5:<br> back :back:<br> bacon :bacon:<br> badminton :badminton:<br> baggage_claim :baggage_claim:<br> balloon :balloon:<br> ballot_box :ballot_box:<br> ballot_box_with_check :ballot_box_with_check:<br> bamboo :bamboo:<br> banana :banana:<br> bangbang :bangbang:<br> bank :bank:<br> bar_chart :bar_chart:<br> barber :barber:<br> baseball :baseball:<br> basketball :basketball:<br> basketball_player :basketball_player:<br> basketball_player_tone1 :basketball_player_tone1:<br> basketball_player_tone2 :basketball_player_tone2:<br> basketball_player_tone3 :basketball_player_tone3:<br> basketball_player_tone4 :basketball_player_tone4:<br> basketball_player_tone5 :basketball_player_tone5:<br> bat :bat:<br> bath :bath:<br> bath_tone1 :bath_tone1:<br> bath_tone2 :bath_tone2:<br> bath_tone3 :bath_tone3:<br> bath_tone4 :bath_tone4:<br> bath_tone5 :bath_tone5:<br> bathtub :bathtub:<br> battery :battery:<br> beach :beach:<br> beach_umbrella :beach_umbrella:<br> bear :bear:<br> bed :bed:<br> bee :bee:<br> beer :beer:<br> beers :beers:<br> beetle :beetle:<br> beginner :beginner:<br> bell :bell:<br> bellhop :bellhop:<br> bento :bento:<br> bicyclist :bicyclist:<br> bicyclist_tone1 :bicyclist_tone1:<br> bicyclist_tone2 :bicyclist_tone2:<br> bicyclist_tone3 :bicyclist_tone3:<br> bicyclist_tone4 :bicyclist_tone4:<br> bicyclist_tone5 :bicyclist_tone5:<br> bike :bike:<br> bikini :bikini:<br> biohazard :biohazard:<br> bird :bird:<br> birthday :birthday:<br> black_circle :black_circle:<br> black_heart :black_heart:<br> black_joker :black_joker:<br> black_large_square :black_large_square:<br> black_medium_small_square :black_medium_small_square:<br> black_medium_square :black_medium_square:<br> black_nib :black_nib:<br> black_small_square :black_small_square:<br> black_square_button :black_square_button:<br> blossom :blossom:<br> blowfish :blowfish:<br> blue_book :blue_book:<br> blue_car :blue_car:<br> blue_circle :blue_circle:<br> blue_heart :blue_heart:<br> blush :blush:<br> boar :boar:<br> bomb :bomb:<br> book :book:<br> bookmark :bookmark:<br> bookmark_tabs :bookmark_tabs:<br> books :books:<br> boom :boom:<br> boot :boot:<br> bouquet :bouquet:<br> bow :bow:<br> bow_and_arrow :bow_and_arrow:<br> bow_tone1 :bow_tone1:<br> bow_tone2 :bow_tone2:<br> bow_tone3 :bow_tone3:<br> bow_tone4 :bow_tone4:<br> bow_tone5 :bow_tone5:<br> bowling :bowling:<br> boxing_glove :boxing_glove:<br> boy :boy:<br> boy_tone1 :boy_tone1:<br> boy_tone2 :boy_tone2:<br> boy_tone3 :boy_tone3:<br> boy_tone4 :boy_tone4:<br> boy_tone5 :boy_tone5:<br> bread :bread:<br> bride_with_veil :bride_with_veil:<br> bride_with_veil_tone1 :bride_with_veil_tone1:<br> bride_with_veil_tone2 :bride_with_veil_tone2:<br> bride_with_veil_tone3 :bride_with_veil_tone3:<br> bride_with_veil_tone4 :bride_with_veil_tone4:<br> bride_with_veil_tone5 :bride_with_veil_tone5:<br> bridge_at_night :bridge_at_night:<br> briefcase :briefcase:<br> broken_heart :broken_heart:<br> bug :bug:<br> bulb :bulb:<br> bullettrain_front :bullettrain_front:<br> bullettrain_side :bullettrain_side:<br> burrito :burrito:<br> bus :bus:<br> busstop :busstop:<br> bust_in_silhouette :bust_in_silhouette:<br> busts_in_silhouette :busts_in_silhouette:<br> butterfly :butterfly:<br> cactus :cactus:<br> cake :cake:<br> calendar :calendar:<br> calendar_spiral :calendar_spiral:<br> call_me :call_me:<br> call_me_tone1 :call_me_tone1:<br> call_me_tone2 :call_me_tone2:<br> call_me_tone3 :call_me_tone3:<br> call_me_tone4 :call_me_tone4:<br> call_me_tone5 :call_me_tone5:<br> calling :calling:<br> camel :camel:<br> camera :camera:<br> camera_with_flash :camera_with_flash:<br> camping :camping:<br> cancer :cancer:<br> candle :candle:<br> candy :candy:<br> canoe :canoe:<br> capital_abcd :capital_abcd:<br> capricorn :capricorn:<br> card_box :card_box:<br> card_index :card_index:<br> carousel_horse :carousel_horse:<br> carrot :carrot:<br> cartwheel :cartwheel:<br> cartwheel_tone1 :cartwheel_tone1:<br> cartwheel_tone2 :cartwheel_tone2:<br> cartwheel_tone3 :cartwheel_tone3:<br> cartwheel_tone4 :cartwheel_tone4:<br> cartwheel_tone5 :cartwheel_tone5:<br> cat2 :cat2:<br> cat :cat:<br> cd :cd:<br> chains :chains:<br> champagne :champagne:<br> champagne_glass :champagne_glass:<br> chart :chart:<br> chart_with_downwards_trend :chart_with_downwards_trend:<br> chart_with_upwards_trend :chart_with_upwards_trend:<br> checkered_flag :checkered_flag:<br> cheese :cheese:<br> cherries :cherries:<br> cherry_blossom :cherry_blossom:<br> chestnut :chestnut:<br> chicken :chicken:<br> children_crossing :children_crossing:<br> chipmunk :chipmunk:<br> chocolate_bar :chocolate_bar:<br> christmas_tree :christmas_tree:<br> church :church:<br> cinema :cinema:<br> circus_tent :circus_tent:<br> city_dusk :city_dusk:<br> city_sunset :city_sunset:<br> cityscape :cityscape:<br> cl :cl:<br> clap :clap:<br> clap_tone1 :clap_tone1:<br> clap_tone2 :clap_tone2:<br> clap_tone3 :clap_tone3:<br> clap_tone4 :clap_tone4:<br> clap_tone5 :clap_tone5:<br> clapper :clapper:<br> classical_building :classical_building:<br> clipboard :clipboard:<br> clock1030 :clock1030:<br> clock10 :clock10:<br> clock1130 :clock1130:<br> clock11 :clock11:<br> clock1230 :clock1230:<br> clock12 :clock12:<br> clock130 :clock130:<br> clock1 :clock1:<br> clock230 :clock230:<br> clock2 :clock2:<br> clock330 :clock330:<br> clock3 :clock3:<br> clock430 :clock430:<br> clock4 :clock4:<br> clock530 :clock530:<br> clock5 :clock5:<br> clock630 :clock630:<br> clock6 :clock6:<br> clock730 :clock730:<br> clock7 :clock7:<br> clock830 :clock830:<br> clock8 :clock8:<br> clock930 :clock930:<br> clock9 :clock9:<br> clock :clock:<br> closed_book :closed_book:<br> closed_lock_with_key :closed_lock_with_key:<br> closed_umbrella :closed_umbrella:<br> cloud :cloud:<br> cloud_lightning :cloud_lightning:<br> cloud_rain :cloud_rain:<br> cloud_snow :cloud_snow:<br> cloud_tornado :cloud_tornado:<br> clown :clown:<br> clubs :clubs:<br> cocktail :cocktail:<br> coffee :coffee:<br> coffin :coffin:<br> cold_sweat :cold_sweat:<br> comet :comet:<br> compression :compression:<br> computer :computer:<br> confetti_ball :confetti_ball:<br> confounded :confounded:<br> confused :confused:<br> congratulations :congratulations:<br> construction :construction:<br> construction_site :construction_site:<br> construction_worker :construction_worker:<br> construction_worker_tone1 :construction_worker_tone1:<br> construction_worker_tone2 :construction_worker_tone2:<br> construction_worker_tone3 :construction_worker_tone3:<br> construction_worker_tone4 :construction_worker_tone4:<br> construction_worker_tone5 :construction_worker_tone5:<br> control_knobs :control_knobs:<br> convenience_store :convenience_store:<br> cookie :cookie:<br> cooking :cooking:<br> cool :cool:<br> cop :cop:<br> cop_tone1 :cop_tone1:<br> cop_tone2 :cop_tone2:<br> cop_tone3 :cop_tone3:<br> cop_tone4 :cop_tone4:<br> cop_tone5 :cop_tone5:<br> copyright :copyright:<br> corn :corn:<br> couch :couch:<br> couple :couple:<br> couple_mm :couple_mm:<br> couple_with_heart :couple_with_heart:<br> couple_ww :couple_ww:<br> couplekiss :couplekiss:<br> cow2 :cow2:<br> cow :cow:<br> cowboy :cowboy:<br> crab :crab:<br> crayon :crayon:<br> credit_card :credit_card:<br> crescent_moon :crescent_moon:<br> cricket :cricket:<br> crocodile :crocodile:<br> croissant :croissant:<br> cross :cross:<br> crossed_flags :crossed_flags:<br> crossed_swords :crossed_swords:<br> crown :crown:<br> cruise_ship :cruise_ship:<br> cry :cry:<br> crying_cat_face :crying_cat_face:<br> crystal_ball :crystal_ball:<br> cucumber :cucumber:<br> cupid :cupid:<br> curly_loop :curly_loop:<br> currency_exchange :currency_exchange:<br> curry :curry:<br> custard :custard:<br> customs :customs:<br> cyclone :cyclone:<br> dagger :dagger:<br> dancer :dancer:<br> dancer_tone1 :dancer_tone1:<br> dancer_tone2 :dancer_tone2:<br> dancer_tone3 :dancer_tone3:<br> dancer_tone4 :dancer_tone4:<br> dancer_tone5 :dancer_tone5:<br> dancers :dancers:<br> dango :dango:<br> dark_sunglasses :dark_sunglasses:<br> dart :dart:<br> dash :dash:<br> date :date:<br> deciduous_tree :deciduous_tree:<br> deer :deer:<br> department_store :department_store:<br> desert :desert:<br> desktop :desktop:<br> diamond_shape_with_a_dot_inside :diamond_shape_with_a_dot_inside:<br> diamonds :diamonds:<br> disappointed :disappointed:<br> disappointed_relieved :disappointed_relieved:<br> dividers :dividers:<br> dizzy :dizzy:<br> dizzy_face :dizzy_face:<br> do_not_litter :do_not_litter:<br> dog2 :dog2:<br> dog :dog:<br> dollar :dollar:<br> dolls :dolls:<br> dolphin :dolphin:<br> door :door:<br> doughnut :doughnut:<br> dove :dove:<br> dragon :dragon:<br> dragon_face :dragon_face:<br> dress :dress:<br> dromedary_camel :dromedary_camel:<br> drooling_face :drooling_face:<br> droplet :droplet:<br> drum :drum:<br> duck :duck:<br> dvd :dvd:<br> e-mail :e-mail:<br> eagle :eagle:<br> ear :ear:<br> ear_of_rice :ear_of_rice:<br> ear_tone1 :ear_tone1:<br> ear_tone2 :ear_tone2:<br> ear_tone3 :ear_tone3:<br> ear_tone4 :ear_tone4:<br> ear_tone5 :ear_tone5:<br> earth_africa :earth_africa:<br> earth_americas :earth_americas:<br> earth_asia :earth_asia:<br> egg :egg:<br> eggplant :eggplant:<br> eight :eight:<br> eight_pointed_black_star :eight_pointed_black_star:<br> eight_spoked_asterisk :eight_spoked_asterisk:<br> eject :eject:<br> electric_plug :electric_plug:<br> elephant :elephant:<br> end :end:<br> envelope :envelope:<br> envelope_with_arrow :envelope_with_arrow:<br> euro :euro:<br> european_castle :european_castle:<br> european_post_office :european_post_office:<br> evergreen_tree :evergreen_tree:<br> exclamation :exclamation:<br> expressionless :expressionless:<br> eye :eye:<br> eye_in_speech_bubble :eye_in_speech_bubble:<br> eyeglasses :eyeglasses:<br> eyes :eyes:<br> face_palm :face_palm:<br> face_palm_tone1 :face_palm_tone1:<br> face_palm_tone2 :face_palm_tone2:<br> face_palm_tone3 :face_palm_tone3:<br> face_palm_tone4 :face_palm_tone4:<br> face_palm_tone5 :face_palm_tone5:<br> factory :factory:<br> fallen_leaf :fallen_leaf:<br> family :family:<br> family_mmb :family_mmb:<br> family_mmbb :family_mmbb:<br> family_mmg :family_mmg:<br> family_mmgb :family_mmgb:<br> family_mmgg :family_mmgg:<br> family_mwbb :family_mwbb:<br> family_mwg :family_mwg:<br> family_mwgb :family_mwgb:<br> family_mwgg :family_mwgg:<br> family_wwb :family_wwb:<br> family_wwbb :family_wwbb:<br> family_wwg :family_wwg:<br> family_wwgb :family_wwgb:<br> family_wwgg :family_wwgg:<br> fast_forward :fast_forward:<br> fax :fax:<br> fearful :fearful:<br> feet :feet:<br> fencer :fencer:<br> ferris_wheel :ferris_wheel:<br> ferry :ferry:<br> field_hockey :field_hockey:<br> file_cabinet :file_cabinet:<br> file_folder :file_folder:<br> film_frames :film_frames:<br> fingers_crossed :fingers_crossed:<br> fingers_crossed_tone1 :fingers_crossed_tone1:<br> fingers_crossed_tone2 :fingers_crossed_tone2:<br> fingers_crossed_tone3 :fingers_crossed_tone3:<br> fingers_crossed_tone4 :fingers_crossed_tone4:<br> fingers_crossed_tone5 :fingers_crossed_tone5:<br> fire :fire:<br> fire_engine :fire_engine:<br> fireworks :fireworks:<br> first_place :first_place:<br> first_quarter_moon :first_quarter_moon:<br> first_quarter_moon_with_face :first_quarter_moon_with_face:<br> fish :fish:<br> fish_cake :fish_cake:<br> fishing_pole_and_fish :fishing_pole_and_fish:<br> fist :fist:<br> fist_tone1 :fist_tone1:<br> fist_tone2 :fist_tone2:<br> fist_tone3 :fist_tone3:<br> fist_tone4 :fist_tone4:<br> fist_tone5 :fist_tone5:<br> five :five:<br> flag_ac :flag_ac:<br> flag_ad :flag_ad:<br> flag_ae :flag_ae:<br> flag_af :flag_af:<br> flag_ag :flag_ag:<br> flag_ai :flag_ai:<br> flag_al :flag_al:<br> flag_am :flag_am:<br> flag_ao :flag_ao:<br> flag_aq :flag_aq:<br> flag_ar :flag_ar:<br> flag_as :flag_as:<br> flag_at :flag_at:<br> flag_au :flag_au:<br> flag_aw :flag_aw:<br> flag_ax :flag_ax:<br> flag_az :flag_az:<br> flag_ba :flag_ba:<br> flag_bb :flag_bb:<br> flag_bd :flag_bd:<br> flag_be :flag_be:<br> flag_bf :flag_bf:<br> flag_bg :flag_bg:<br> flag_bh :flag_bh:<br> flag_bi :flag_bi:<br> flag_bj :flag_bj:<br> flag_bl :flag_bl:<br> flag_black :flag_black:<br> flag_bm :flag_bm:<br> flag_bn :flag_bn:<br> flag_bo :flag_bo:<br> flag_bq :flag_bq:<br> flag_br :flag_br:<br> flag_bs :flag_bs:<br> flag_bt :flag_bt:<br> flag_bv :flag_bv:<br> flag_bw :flag_bw:<br> flag_by :flag_by:<br> flag_bz :flag_bz:<br> flag_ca :flag_ca:<br> flag_cc :flag_cc:<br> flag_cd :flag_cd:<br> flag_cf :flag_cf:<br> flag_cg :flag_cg:<br> flag_ch :flag_ch:<br> flag_ci :flag_ci:<br> flag_ck :flag_ck:<br> flag_cl :flag_cl:<br> flag_cm :flag_cm:<br> flag_cn :flag_cn:<br> flag_co :flag_co:<br> flag_cp :flag_cp:<br> flag_cr :flag_cr:<br> flag_cu :flag_cu:<br> flag_cv :flag_cv:<br> flag_cw :flag_cw:<br> flag_cx :flag_cx:<br> flag_cy :flag_cy:<br> flag_cz :flag_cz:<br> flag_de :flag_de:<br> flag_dg :flag_dg:<br> flag_dj :flag_dj:<br> flag_dk :flag_dk:<br> flag_dm :flag_dm:<br> flag_do :flag_do:<br> flag_dz :flag_dz:<br> flag_ea :flag_ea:<br> flag_ec :flag_ec:<br> flag_ee :flag_ee:<br> flag_eg :flag_eg:<br> flag_eh :flag_eh:<br> flag_er :flag_er:<br> flag_es :flag_es:<br> flag_et :flag_et:<br> flag_eu :flag_eu:<br> flag_fi :flag_fi:<br> flag_fj :flag_fj:<br> flag_fk :flag_fk:<br> flag_fm :flag_fm:<br> flag_fo :flag_fo:<br> flag_fr :flag_fr:<br> flag_ga :flag_ga:<br> flag_gb :flag_gb:<br> flag_gd :flag_gd:<br> flag_ge :flag_ge:<br> flag_gf :flag_gf:<br> flag_gg :flag_gg:<br> flag_gh :flag_gh:<br> flag_gi :flag_gi:<br> flag_gl :flag_gl:<br> flag_gm :flag_gm:<br> flag_gn :flag_gn:<br> flag_gp :flag_gp:<br> flag_gq :flag_gq:<br> flag_gr :flag_gr:<br> flag_gs :flag_gs:<br> flag_gt :flag_gt:<br> flag_gu :flag_gu:<br> flag_gw :flag_gw:<br> flag_gy :flag_gy:<br> flag_hk :flag_hk:<br> flag_hm :flag_hm:<br> flag_hn :flag_hn:<br> flag_hr :flag_hr:<br> flag_ht :flag_ht:<br> flag_hu :flag_hu:<br> flag_ic :flag_ic:<br> flag_id :flag_id:<br> flag_ie :flag_ie:<br> flag_il :flag_il:<br> flag_im :flag_im:<br> flag_in :flag_in:<br> flag_io :flag_io:<br> flag_iq :flag_iq:<br> flag_ir :flag_ir:<br> flag_is :flag_is:<br> flag_it :flag_it:<br> flag_je :flag_je:<br> flag_jm :flag_jm:<br> flag_jo :flag_jo:<br> flag_jp :flag_jp:<br> flag_ke :flag_ke:<br> flag_kg :flag_kg:<br> flag_kh :flag_kh:<br> flag_ki :flag_ki:<br> flag_km :flag_km:<br> flag_kn :flag_kn:<br> flag_kp :flag_kp:<br> flag_kr :flag_kr:<br> flag_kw :flag_kw:<br> flag_ky :flag_ky:<br> flag_kz :flag_kz:<br> flag_la :flag_la:<br> flag_lb :flag_lb:<br> flag_lc :flag_lc:<br> flag_li :flag_li:<br> flag_lk :flag_lk:<br> flag_lr :flag_lr:<br> flag_ls :flag_ls:<br> flag_lt :flag_lt:<br> flag_lu :flag_lu:<br> flag_lv :flag_lv:<br> flag_ly :flag_ly:<br> flag_ma :flag_ma:<br> flag_mc :flag_mc:<br> flag_md :flag_md:<br> flag_me :flag_me:<br> flag_mf :flag_mf:<br> flag_mg :flag_mg:<br> flag_mh :flag_mh:<br> flag_mk :flag_mk:<br> flag_ml :flag_ml:<br> flag_mm :flag_mm:<br> flag_mn :flag_mn:<br> flag_mo :flag_mo:<br> flag_mp :flag_mp:<br> flag_mq :flag_mq:<br> flag_mr :flag_mr:<br> flag_ms :flag_ms:<br> flag_mt :flag_mt:<br> flag_mu :flag_mu:<br> flag_mv :flag_mv:<br> flag_mw :flag_mw:<br> flag_mx :flag_mx:<br> flag_my :flag_my:<br> flag_mz :flag_mz:<br> flag_na :flag_na:<br> flag_nc :flag_nc:<br> flag_ne :flag_ne:<br> flag_nf :flag_nf:<br> flag_ng :flag_ng:<br> flag_ni :flag_ni:<br> flag_nl :flag_nl:<br> flag_no :flag_no:<br> flag_np :flag_np:<br> flag_nr :flag_nr:<br> flag_nu :flag_nu:<br> flag_nz :flag_nz:<br> flag_om :flag_om:<br> flag_pa :flag_pa:<br> flag_pe :flag_pe:<br> flag_pf :flag_pf:<br> flag_pg :flag_pg:<br> flag_ph :flag_ph:<br> flag_pk :flag_pk:<br> flag_pl :flag_pl:<br> flag_pm :flag_pm:<br> flag_pn :flag_pn:<br> flag_pr :flag_pr:<br> flag_ps :flag_ps:<br> flag_pt :flag_pt:<br> flag_pw :flag_pw:<br> flag_py :flag_py:<br> flag_qa :flag_qa:<br> flag_re :flag_re:<br> flag_ro :flag_ro:<br> flag_rs :flag_rs:<br> flag_ru :flag_ru:<br> flag_rw :flag_rw:<br> flag_sa :flag_sa:<br> flag_sb :flag_sb:<br> flag_sc :flag_sc:<br> flag_sd :flag_sd:<br> flag_se :flag_se:<br> flag_sg :flag_sg:<br> flag_sh :flag_sh:<br> flag_si :flag_si:<br> flag_sj :flag_sj:<br> flag_sk :flag_sk:<br> flag_sl :flag_sl:<br> flag_sm :flag_sm:<br> flag_sn :flag_sn:<br> flag_so :flag_so:<br> flag_sr :flag_sr:<br> flag_ss :flag_ss:<br> flag_st :flag_st:<br> flag_sv :flag_sv:<br> flag_sx :flag_sx:<br> flag_sy :flag_sy:<br> flag_sz :flag_sz:<br> flag_ta :flag_ta:<br> flag_tc :flag_tc:<br> flag_td :flag_td:<br> flag_tf :flag_tf:<br> flag_tg :flag_tg:<br> flag_th :flag_th:<br> flag_tj :flag_tj:<br> flag_tk :flag_tk:<br> flag_tl :flag_tl:<br> flag_tm :flag_tm:<br> flag_tn :flag_tn:<br> flag_to :flag_to:<br> flag_tr :flag_tr:<br> flag_tt :flag_tt:<br> flag_tv :flag_tv:<br> flag_tw :flag_tw:<br> flag_tz :flag_tz:<br> flag_ua :flag_ua:<br> flag_ug :flag_ug:<br> flag_um :flag_um:<br> flag_us :flag_us:<br> flag_uy :flag_uy:<br> flag_uz :flag_uz:<br> flag_va :flag_va:<br> flag_vc :flag_vc:<br> flag_ve :flag_ve:<br> flag_vg :flag_vg:<br> flag_vi :flag_vi:<br> flag_vn :flag_vn:<br> flag_vu :flag_vu:<br> flag_wf :flag_wf:<br> flag_white :flag_white:<br> flag_ws :flag_ws:<br> flag_xk :flag_xk:<br> flag_ye :flag_ye:<br> flag_yt :flag_yt:<br> flag_za :flag_za:<br> flag_zm :flag_zm:<br> flag_zw :flag_zw:<br> flags :flags:<br> flashlight :flashlight:<br> fleur-de-lis :fleur-de-lis:<br> floppy_disk :floppy_disk:<br> flower_playing_cards :flower_playing_cards:<br> flushed :flushed:<br> fog :fog:<br> foggy :foggy:<br> football :football:<br> footprints :footprints:<br> fork_and_knife :fork_and_knife:<br> fork_knife_plate :fork_knife_plate:<br> fountain :fountain:<br> four :four:<br> four_leaf_clover :four_leaf_clover:<br> fox :fox:<br> frame_photo :frame_photo:<br> free :free:<br> french_bread :french_bread:<br> fried_shrimp :fried_shrimp:<br> fries :fries:<br> frog :frog:<br> frowning2 :frowning2:<br> frowning :frowning:<br> fuelpump :fuelpump:<br> full_moon :full_moon:<br> full_moon_with_face :full_moon_with_face:<br> game_die :game_die:<br> gear :gear:<br> gem :gem:<br> gemini :gemini:<br> ghost :ghost:<br> gift :gift:<br> gift_heart :gift_heart:<br> girl :girl:<br> girl_tone1 :girl_tone1:<br> girl_tone2 :girl_tone2:<br> girl_tone3 :girl_tone3:<br> girl_tone4 :girl_tone4:<br> girl_tone5 :girl_tone5:<br> globe_with_meridians :globe_with_meridians:<br> goal :goal:<br> goat :goat:<br> golf :golf:<br> golfer :golfer:<br> gorilla :gorilla:<br> grapes :grapes:<br> green_apple :green_apple:<br> green_book :green_book:<br> green_heart :green_heart:<br> grey_exclamation :grey_exclamation:<br> grey_question :grey_question:<br> grimacing :grimacing:<br> grin :grin:<br> grinning :grinning:<br> guardsman :guardsman:<br> guardsman_tone1 :guardsman_tone1:<br> guardsman_tone2 :guardsman_tone2:<br> guardsman_tone3 :guardsman_tone3:<br> guardsman_tone4 :guardsman_tone4:<br> guardsman_tone5 :guardsman_tone5:<br> guitar :guitar:<br> gun :gun:<br> haircut :haircut:<br> haircut_tone1 :haircut_tone1:<br> haircut_tone2 :haircut_tone2:<br> haircut_tone3 :haircut_tone3:<br> haircut_tone4 :haircut_tone4:<br> haircut_tone5 :haircut_tone5:<br> hamburger :hamburger:<br> hammer :hammer:<br> hammer_pick :hammer_pick:<br> hamster :hamster:<br> hand_splayed :hand_splayed:<br> hand_splayed_tone1 :hand_splayed_tone1:<br> hand_splayed_tone2 :hand_splayed_tone2:<br> hand_splayed_tone3 :hand_splayed_tone3:<br> hand_splayed_tone4 :hand_splayed_tone4:<br> hand_splayed_tone5 :hand_splayed_tone5:<br> handbag :handbag:<br> handball :handball:<br> handball_tone1 :handball_tone1:<br> handball_tone2 :handball_tone2:<br> handball_tone3 :handball_tone3:<br> handball_tone4 :handball_tone4:<br> handball_tone5 :handball_tone5:<br> handshake :handshake:<br> handshake_tone1 :handshake_tone1:<br> handshake_tone2 :handshake_tone2:<br> handshake_tone3 :handshake_tone3:<br> handshake_tone4 :handshake_tone4:<br> handshake_tone5 :handshake_tone5:<br> hash :hash:<br> hatched_chick :hatched_chick:<br> hatching_chick :hatching_chick:<br> head_bandage :head_bandage:<br> headphones :headphones:<br> hear_no_evil :hear_no_evil:<br> heart :heart:<br> heart_decoration :heart_decoration:<br> heart_exclamation :heart_exclamation:<br> heart_eyes :heart_eyes:<br> heart_eyes_cat :heart_eyes_cat:<br> heartbeat :heartbeat:<br> heartpulse :heartpulse:<br> hearts :hearts:<br> heavy_check_mark :heavy_check_mark:<br> heavy_division_sign :heavy_division_sign:<br> heavy_dollar_sign :heavy_dollar_sign:<br> heavy_minus_sign :heavy_minus_sign:<br> heavy_multiplication_x :heavy_multiplication_x:<br> heavy_plus_sign :heavy_plus_sign:<br> helicopter :helicopter:<br> helmet_with_cross :helmet_with_cross:<br> herb :herb:<br> hibiscus :hibiscus:<br> high_brightness :high_brightness:<br> high_heel :high_heel:<br> hockey :hockey:<br> hole :hole:<br> homes :homes:<br> honey_pot :honey_pot:<br> horse :horse:<br> horse_racing :horse_racing:<br> horse_racing_tone1 :horse_racing_tone1:<br> horse_racing_tone2 :horse_racing_tone2:<br> horse_racing_tone3 :horse_racing_tone3:<br> horse_racing_tone4 :horse_racing_tone4:<br> horse_racing_tone5 :horse_racing_tone5:<br> hospital :hospital:<br> hot_pepper :hot_pepper:<br> hotdog :hotdog:<br> hotel :hotel:<br> hotsprings :hotsprings:<br> hourglass :hourglass:<br> hourglass_flowing_sand :hourglass_flowing_sand:<br> house :house:<br> house_abandoned :house_abandoned:<br> house_with_garden :house_with_garden:<br> hugging :hugging:<br> hushed :hushed:<br> ice_cream :ice_cream:<br> ice_skate :ice_skate:<br> icecream :icecream:<br> id :id:<br> ideograph_advantage :ideograph_advantage:<br> imp :imp:<br> inbox_tray :inbox_tray:<br> incoming_envelope :incoming_envelope:<br> information_desk_person :information_desk_person:<br> information_desk_person_tone1 :information_desk_person_tone1:<br> information_desk_person_tone2 :information_desk_person_tone2:<br> information_desk_person_tone3 :information_desk_person_tone3:<br> information_desk_person_tone4 :information_desk_person_tone4:<br> information_desk_person_tone5 :information_desk_person_tone5:<br> information_source :information_source:<br> innocent :innocent:<br> interrobang :interrobang:<br> iphone :iphone:<br> island :island:<br> izakaya_lantern :izakaya_lantern:<br> jack_o_lantern :jack_o_lantern:<br> japan :japan:<br> japanese_castle :japanese_castle:<br> japanese_goblin :japanese_goblin:<br> japanese_ogre :japanese_ogre:<br> jeans :jeans:<br> joy :joy:<br> joy_cat :joy_cat:<br> joystick :joystick:<br> juggling :juggling:<br> juggling_tone1 :juggling_tone1:<br> juggling_tone2 :juggling_tone2:<br> juggling_tone3 :juggling_tone3:<br> juggling_tone4 :juggling_tone4:<br> juggling_tone5 :juggling_tone5:<br> kaaba :kaaba:<br> key2 :key2:<br> key :key:<br> keyboard :keyboard:<br> keycap_ten :keycap_ten:<br> kimono :kimono:<br> kiss :kiss:<br> kiss_mm :kiss_mm:<br> kiss_ww :kiss_ww:<br> kissing :kissing:<br> kissing_cat :kissing_cat:<br> kissing_closed_eyes :kissing_closed_eyes:<br> kissing_heart :kissing_heart:<br> kissing_smiling_eyes :kissing_smiling_eyes:<br> kiwi :kiwi:<br> knife :knife:<br> koala :koala:<br> koko :koko:<br> label :label:<br> large_blue_diamond :large_blue_diamond:<br> large_orange_diamond :large_orange_diamond:<br> last_quarter_moon :last_quarter_moon:<br> last_quarter_moon_with_face :last_quarter_moon_with_face:<br> laughing :laughing:<br> leaves :leaves:<br> ledger :ledger:<br> left_facing_fist :left_facing_fist:<br> left_facing_fist_tone1 :left_facing_fist_tone1:<br> left_facing_fist_tone2 :left_facing_fist_tone2:<br> left_facing_fist_tone3 :left_facing_fist_tone3:<br> left_facing_fist_tone4 :left_facing_fist_tone4:<br> left_facing_fist_tone5 :left_facing_fist_tone5:<br> left_luggage :left_luggage:<br> left_right_arrow :left_right_arrow:<br> leftwards_arrow_with_hook :leftwards_arrow_with_hook:<br> lemon :lemon:<br> leo :leo:<br> leopard :leopard:<br> level_slider :level_slider:<br> levitate :levitate:<br> libra :libra:<br> lifter :lifter:<br> lifter_tone1 :lifter_tone1:<br> lifter_tone2 :lifter_tone2:<br> lifter_tone3 :lifter_tone3:<br> lifter_tone4 :lifter_tone4:<br> lifter_tone5 :lifter_tone5:<br> light_rail :light_rail:<br> link :link:<br> lion_face :lion_face:<br> lips :lips:<br> lipstick :lipstick:<br> lizard :lizard:<br> lock :lock:<br> lock_with_ink_pen :lock_with_ink_pen:<br> lollipop :lollipop:<br> loop :loop:<br> loud_sound :loud_sound:<br> loudspeaker :loudspeaker:<br> love_hotel :love_hotel:<br> love_letter :love_letter:<br> low_brightness :low_brightness:<br> lying_face :lying_face:<br> m :m:<br> mag :mag:<br> mag_right :mag_right:<br> mahjong :mahjong:<br> mailbox :mailbox:<br> mailbox_closed :mailbox_closed:<br> mailbox_with_mail :mailbox_with_mail:<br> mailbox_with_no_mail :mailbox_with_no_mail:<br> man :man:<br> man_dancing :man_dancing:<br> man_dancing_tone1 :man_dancing_tone1:<br> man_dancing_tone2 :man_dancing_tone2:<br> man_dancing_tone3 :man_dancing_tone3:<br> man_dancing_tone4 :man_dancing_tone4:<br> man_dancing_tone5 :man_dancing_tone5:<br> man_in_tuxedo :man_in_tuxedo:<br> man_in_tuxedo_tone1 :man_in_tuxedo_tone1:<br> man_in_tuxedo_tone2 :man_in_tuxedo_tone2:<br> man_in_tuxedo_tone3 :man_in_tuxedo_tone3:<br> man_in_tuxedo_tone4 :man_in_tuxedo_tone4:<br> man_in_tuxedo_tone5 :man_in_tuxedo_tone5:<br> man_tone1 :man_tone1:<br> man_tone2 :man_tone2:<br> man_tone3 :man_tone3:<br> man_tone4 :man_tone4:<br> man_tone5 :man_tone5:<br> man_with_gua_pi_mao :man_with_gua_pi_mao:<br> man_with_gua_pi_mao_tone1 :man_with_gua_pi_mao_tone1:<br> man_with_gua_pi_mao_tone2 :man_with_gua_pi_mao_tone2:<br> man_with_gua_pi_mao_tone3 :man_with_gua_pi_mao_tone3:<br> man_with_gua_pi_mao_tone4 :man_with_gua_pi_mao_tone4:<br> man_with_gua_pi_mao_tone5 :man_with_gua_pi_mao_tone5:<br> man_with_turban :man_with_turban:<br> man_with_turban_tone1 :man_with_turban_tone1:<br> man_with_turban_tone2 :man_with_turban_tone2:<br> man_with_turban_tone3 :man_with_turban_tone3:<br> man_with_turban_tone4 :man_with_turban_tone4:<br> man_with_turban_tone5 :man_with_turban_tone5:<br> mans_shoe :mans_shoe:<br> map :map:<br> maple_leaf :maple_leaf:<br> martial_arts_uniform :martial_arts_uniform:<br> mask :mask:<br> massage :massage:<br> massage_tone1 :massage_tone1:<br> massage_tone2 :massage_tone2:<br> massage_tone3 :massage_tone3:<br> massage_tone4 :massage_tone4:<br> massage_tone5 :massage_tone5:<br> meat_on_bone :meat_on_bone:<br> medal :medal:<br> mega :mega:<br> melon :melon:<br> menorah :menorah:<br> mens :mens:<br> metal :metal:<br> metal_tone1 :metal_tone1:<br> metal_tone2 :metal_tone2:<br> metal_tone3 :metal_tone3:<br> metal_tone4 :metal_tone4:<br> metal_tone5 :metal_tone5:<br> metro :metro:<br> microphone2 :microphone2:<br> microphone :microphone:<br> microscope :microscope:<br> middle_finger :middle_finger:<br> middle_finger_tone1 :middle_finger_tone1:<br> middle_finger_tone2 :middle_finger_tone2:<br> middle_finger_tone3 :middle_finger_tone3:<br> middle_finger_tone4 :middle_finger_tone4:<br> middle_finger_tone5 :middle_finger_tone5:<br> military_medal :military_medal:<br> milk :milk:<br> milky_way :milky_way:<br> minibus :minibus:<br> minidisc :minidisc:<br> mobile_phone_off :mobile_phone_off:<br> money_mouth :money_mouth:<br> money_with_wings :money_with_wings:<br> moneybag :moneybag:<br> monkey :monkey:<br> monkey_face :monkey_face:<br> monorail :monorail:<br> mortar_board :mortar_board:<br> mosque :mosque:<br> motor_scooter :motor_scooter:<br> motorboat :motorboat:<br> motorcycle :motorcycle:<br> motorway :motorway:<br> mount_fuji :mount_fuji:<br> mountain :mountain:<br> mountain_bicyclist :mountain_bicyclist:<br> mountain_bicyclist_tone1 :mountain_bicyclist_tone1:<br> mountain_bicyclist_tone2 :mountain_bicyclist_tone2:<br> mountain_bicyclist_tone3 :mountain_bicyclist_tone3:<br> mountain_bicyclist_tone4 :mountain_bicyclist_tone4:<br> mountain_bicyclist_tone5 :mountain_bicyclist_tone5:<br> mountain_cableway :mountain_cableway:<br> mountain_railway :mountain_railway:<br> mountain_snow :mountain_snow:<br> mouse2 :mouse2:<br> mouse :mouse:<br> mouse_three_button :mouse_three_button:<br> movie_camera :movie_camera:<br> moyai :moyai:<br> mrs_claus :mrs_claus:<br> mrs_claus_tone1 :mrs_claus_tone1:<br> mrs_claus_tone2 :mrs_claus_tone2:<br> mrs_claus_tone3 :mrs_claus_tone3:<br> mrs_claus_tone4 :mrs_claus_tone4:<br> mrs_claus_tone5 :mrs_claus_tone5:<br> muscle :muscle:<br> muscle_tone1 :muscle_tone1:<br> muscle_tone2 :muscle_tone2:<br> muscle_tone3 :muscle_tone3:<br> muscle_tone4 :muscle_tone4:<br> muscle_tone5 :muscle_tone5:<br> mushroom :mushroom:<br> musical_keyboard :musical_keyboard:<br> musical_note :musical_note:<br> musical_score :musical_score:<br> mute :mute:<br> nail_care :nail_care:<br> nail_care_tone1 :nail_care_tone1:<br> nail_care_tone2 :nail_care_tone2:<br> nail_care_tone3 :nail_care_tone3:<br> nail_care_tone4 :nail_care_tone4:<br> nail_care_tone5 :nail_care_tone5:<br> name_badge :name_badge:<br> nauseated_face :nauseated_face:<br> necktie :necktie:<br> negative_squared_cross_mark :negative_squared_cross_mark:<br> nerd :nerd:<br> neutral_face :neutral_face:<br> new :new:<br> new_moon :new_moon:<br> new_moon_with_face :new_moon_with_face:<br> newspaper2 :newspaper2:<br> newspaper :newspaper:<br> ng :ng:<br> night_with_stars :night_with_stars:<br> nine :nine:<br> no_bell :no_bell:<br> no_bicycles :no_bicycles:<br> no_entry :no_entry:<br> no_entry_sign :no_entry_sign:<br> no_good :no_good:<br> no_good_tone1 :no_good_tone1:<br> no_good_tone2 :no_good_tone2:<br> no_good_tone3 :no_good_tone3:<br> no_good_tone4 :no_good_tone4:<br> no_good_tone5 :no_good_tone5:<br> no_mobile_phones :no_mobile_phones:<br> no_mouth :no_mouth:<br> no_pedestrians :no_pedestrians:<br> no_smoking :no_smoking:<br> non-potable_water :non-potable_water:<br> nose :nose:<br> nose_tone1 :nose_tone1:<br> nose_tone2 :nose_tone2:<br> nose_tone3 :nose_tone3:<br> nose_tone4 :nose_tone4:<br> nose_tone5 :nose_tone5:<br> notebook :notebook:<br> notebook_with_decorative_cover :notebook_with_decorative_cover:<br> notepad_spiral :notepad_spiral:<br> notes :notes:<br> nut_and_bolt :nut_and_bolt:<br> o2 :o2:<br> o :o:<br> ocean :ocean:<br> octagonal_sign :octagonal_sign:<br> octopus :octopus:<br> oden :oden:<br> office :office:<br> oil :oil:<br> ok :ok:<br> ok_hand :ok_hand:<br> ok_hand_tone1 :ok_hand_tone1:<br> ok_hand_tone2 :ok_hand_tone2:<br> ok_hand_tone3 :ok_hand_tone3:<br> ok_hand_tone4 :ok_hand_tone4:<br> ok_hand_tone5 :ok_hand_tone5:<br> ok_woman :ok_woman:<br> ok_woman_tone1 :ok_woman_tone1:<br> ok_woman_tone2 :ok_woman_tone2:<br> ok_woman_tone3 :ok_woman_tone3:<br> ok_woman_tone4 :ok_woman_tone4:<br> ok_woman_tone5 :ok_woman_tone5:<br> older_man :older_man:<br> older_man_tone1 :older_man_tone1:<br> older_man_tone2 :older_man_tone2:<br> older_man_tone3 :older_man_tone3:<br> older_man_tone4 :older_man_tone4:<br> older_man_tone5 :older_man_tone5:<br> older_woman :older_woman:<br> older_woman_tone1 :older_woman_tone1:<br> older_woman_tone2 :older_woman_tone2:<br> older_woman_tone3 :older_woman_tone3:<br> older_woman_tone4 :older_woman_tone4:<br> older_woman_tone5 :older_woman_tone5:<br> om_symbol :om_symbol:<br> on :on:<br> oncoming_automobile :oncoming_automobile:<br> oncoming_bus :oncoming_bus:<br> oncoming_police_car :oncoming_police_car:<br> oncoming_taxi :oncoming_taxi:<br> one :one:<br> open_file_folder :open_file_folder:<br> open_hands :open_hands:<br> open_hands_tone1 :open_hands_tone1:<br> open_hands_tone2 :open_hands_tone2:<br> open_hands_tone3 :open_hands_tone3:<br> open_hands_tone4 :open_hands_tone4:<br> open_hands_tone5 :open_hands_tone5:<br> open_mouth :open_mouth:<br> ophiuchus :ophiuchus:<br> orange_book :orange_book:<br> orthodox_cross :orthodox_cross:<br> outbox_tray :outbox_tray:<br> owl :owl:<br> ox :ox:<br> package :package:<br> page_facing_up :page_facing_up:<br> page_with_curl :page_with_curl:<br> pager :pager:<br> paintbrush :paintbrush:<br> palm_tree :palm_tree:<br> pancakes :pancakes:<br> panda_face :panda_face:<br> paperclip :paperclip:<br> paperclips :paperclips:<br> park :park:<br> parking :parking:<br> part_alternation_mark :part_alternation_mark:<br> partly_sunny :partly_sunny:<br> passport_control :passport_control:<br> pause_button :pause_button:<br> peace :peace:<br> peach :peach:<br> peanuts :peanuts:<br> pear :pear:<br> pen_ballpoint :pen_ballpoint:<br> pen_fountain :pen_fountain:<br> pencil2 :pencil2:<br> pencil :pencil:<br> penguin :penguin:<br> pensive :pensive:<br> performing_arts :performing_arts:<br> persevere :persevere:<br> person_frowning :person_frowning:<br> person_frowning_tone1 :person_frowning_tone1:<br> person_frowning_tone2 :person_frowning_tone2:<br> person_frowning_tone3 :person_frowning_tone3:<br> person_frowning_tone4 :person_frowning_tone4:<br> person_frowning_tone5 :person_frowning_tone5:<br> person_with_blond_hair :person_with_blond_hair:<br> person_with_blond_hair_tone1 :person_with_blond_hair_tone1:<br> person_with_blond_hair_tone2 :person_with_blond_hair_tone2:<br> person_with_blond_hair_tone3 :person_with_blond_hair_tone3:<br> person_with_blond_hair_tone4 :person_with_blond_hair_tone4:<br> person_with_blond_hair_tone5 :person_with_blond_hair_tone5:<br> person_with_pouting_face :person_with_pouting_face:<br> person_with_pouting_face_tone1 :person_with_pouting_face_tone1:<br> person_with_pouting_face_tone2 :person_with_pouting_face_tone2:<br> person_with_pouting_face_tone3 :person_with_pouting_face_tone3:<br> person_with_pouting_face_tone4 :person_with_pouting_face_tone4:<br> person_with_pouting_face_tone5 :person_with_pouting_face_tone5:<br> pick :pick:<br> pig2 :pig2:<br> pig :pig:<br> pig_nose :pig_nose:<br> pill :pill:<br> pineapple :pineapple:<br> ping_pong :ping_pong:<br> pisces :pisces:<br> pizza :pizza:<br> place_of_worship :place_of_worship:<br> play_pause :play_pause:<br> point_down :point_down:<br> point_down_tone1 :point_down_tone1:<br> point_down_tone2 :point_down_tone2:<br> point_down_tone3 :point_down_tone3:<br> point_down_tone4 :point_down_tone4:<br> point_down_tone5 :point_down_tone5:<br> point_left :point_left:<br> point_left_tone1 :point_left_tone1:<br> point_left_tone2 :point_left_tone2:<br> point_left_tone3 :point_left_tone3:<br> point_left_tone4 :point_left_tone4:<br> point_left_tone5 :point_left_tone5:<br> point_right :point_right:<br> point_right_tone1 :point_right_tone1:<br> point_right_tone2 :point_right_tone2:<br> point_right_tone3 :point_right_tone3:<br> point_right_tone4 :point_right_tone4:<br> point_right_tone5 :point_right_tone5:<br> point_up :point_up:<br> point_up_2 :point_up_2:<br> point_up_2_tone1 :point_up_2_tone1:<br> point_up_2_tone2 :point_up_2_tone2:<br> point_up_2_tone3 :point_up_2_tone3:<br> point_up_2_tone4 :point_up_2_tone4:<br> point_up_2_tone5 :point_up_2_tone5:<br> point_up_tone1 :point_up_tone1:<br> point_up_tone2 :point_up_tone2:<br> point_up_tone3 :point_up_tone3:<br> point_up_tone4 :point_up_tone4:<br> point_up_tone5 :point_up_tone5:<br> police_car :police_car:<br> poodle :poodle:<br> poop :poop:<br> popcorn :popcorn:<br> post_office :post_office:<br> postal_horn :postal_horn:<br> postbox :postbox:<br> potable_water :potable_water:<br> potato :potato:<br> pouch :pouch:<br> poultry_leg :poultry_leg:<br> pound :pound:<br> pouting_cat :pouting_cat:<br> pray :pray:<br> pray_tone1 :pray_tone1:<br> pray_tone2 :pray_tone2:<br> pray_tone3 :pray_tone3:<br> pray_tone4 :pray_tone4:<br> pray_tone5 :pray_tone5:<br> prayer_beads :prayer_beads:<br> pregnant_woman :pregnant_woman:<br> pregnant_woman_tone1 :pregnant_woman_tone1:<br> pregnant_woman_tone2 :pregnant_woman_tone2:<br> pregnant_woman_tone3 :pregnant_woman_tone3:<br> pregnant_woman_tone4 :pregnant_woman_tone4:<br> pregnant_woman_tone5 :pregnant_woman_tone5:<br> prince :prince:<br> prince_tone1 :prince_tone1:<br> prince_tone2 :prince_tone2:<br> prince_tone3 :prince_tone3:<br> prince_tone4 :prince_tone4:<br> prince_tone5 :prince_tone5:<br> princess :princess:<br> princess_tone1 :princess_tone1:<br> princess_tone2 :princess_tone2:<br> princess_tone3 :princess_tone3:<br> princess_tone4 :princess_tone4:<br> princess_tone5 :princess_tone5:<br> printer :printer:<br> projector :projector:<br> punch :punch:<br> punch_tone1 :punch_tone1:<br> punch_tone2 :punch_tone2:<br> punch_tone3 :punch_tone3:<br> punch_tone4 :punch_tone4:<br> punch_tone5 :punch_tone5:<br> purple_heart :purple_heart:<br> purse :purse:<br> pushpin :pushpin:<br> put_litter_in_its_place :put_litter_in_its_place:<br> question :question:<br> rabbit2 :rabbit2:<br> rabbit :rabbit:<br> race_car :race_car:<br> racehorse :racehorse:<br> radio :radio:<br> radio_button :radio_button:<br> radioactive :radioactive:<br> rage :rage:<br> railway_car :railway_car:<br> railway_track :railway_track:<br> rainbow :rainbow:<br> rainbow_flag :rainbow_flag:<br> raised_back_of_hand :raised_back_of_hand:<br> raised_back_of_hand_tone1 :raised_back_of_hand_tone1:<br> raised_back_of_hand_tone2 :raised_back_of_hand_tone2:<br> raised_back_of_hand_tone3 :raised_back_of_hand_tone3:<br> raised_back_of_hand_tone4 :raised_back_of_hand_tone4:<br> raised_back_of_hand_tone5 :raised_back_of_hand_tone5:<br> raised_hand :raised_hand:<br> raised_hand_tone1 :raised_hand_tone1:<br> raised_hand_tone2 :raised_hand_tone2:<br> raised_hand_tone3 :raised_hand_tone3:<br> raised_hand_tone4 :raised_hand_tone4:<br> raised_hand_tone5 :raised_hand_tone5:<br> raised_hands :raised_hands:<br> raised_hands_tone1 :raised_hands_tone1:<br> raised_hands_tone2 :raised_hands_tone2:<br> raised_hands_tone3 :raised_hands_tone3:<br> raised_hands_tone4 :raised_hands_tone4:<br> raised_hands_tone5 :raised_hands_tone5:<br> raising_hand :raising_hand:<br> raising_hand_tone1 :raising_hand_tone1:<br> raising_hand_tone2 :raising_hand_tone2:<br> raising_hand_tone3 :raising_hand_tone3:<br> raising_hand_tone4 :raising_hand_tone4:<br> raising_hand_tone5 :raising_hand_tone5:<br> ram :ram:<br> ramen :ramen:<br> rat :rat:<br> record_button :record_button:<br> recycle :recycle:<br> red_car :red_car:<br> red_circle :red_circle:<br> regional_indicator_a :regional_indicator_a:<br> regional_indicator_b :regional_indicator_b:<br> regional_indicator_c :regional_indicator_c:<br> regional_indicator_d :regional_indicator_d:<br> regional_indicator_e :regional_indicator_e:<br> regional_indicator_f :regional_indicator_f:<br> regional_indicator_g :regional_indicator_g:<br> regional_indicator_h :regional_indicator_h:<br> regional_indicator_i :regional_indicator_i:<br> regional_indicator_j :regional_indicator_j:<br> regional_indicator_k :regional_indicator_k:<br> regional_indicator_l :regional_indicator_l:<br> regional_indicator_m :regional_indicator_m:<br> regional_indicator_n :regional_indicator_n:<br> regional_indicator_o :regional_indicator_o:<br> regional_indicator_p :regional_indicator_p:<br> regional_indicator_q :regional_indicator_q:<br> regional_indicator_r :regional_indicator_r:<br> regional_indicator_s :regional_indicator_s:<br> regional_indicator_t :regional_indicator_t:<br> regional_indicator_u :regional_indicator_u:<br> regional_indicator_v :regional_indicator_v:<br> regional_indicator_w :regional_indicator_w:<br> regional_indicator_x :regional_indicator_x:<br> regional_indicator_y :regional_indicator_y:<br> regional_indicator_z :regional_indicator_z:<br> registered :registered:<br> relaxed :relaxed:<br> relieved :relieved:<br> reminder_ribbon :reminder_ribbon:<br> repeat :repeat:<br> repeat_one :repeat_one:<br> restroom :restroom:<br> revolving_hearts :revolving_hearts:<br> rewind :rewind:<br> rhino :rhino:<br> ribbon :ribbon:<br> rice :rice:<br> rice_ball :rice_ball:<br> rice_cracker :rice_cracker:<br> rice_scene :rice_scene:<br> right_facing_fist :right_facing_fist:<br> right_facing_fist_tone1 :right_facing_fist_tone1:<br> right_facing_fist_tone2 :right_facing_fist_tone2:<br> right_facing_fist_tone3 :right_facing_fist_tone3:<br> right_facing_fist_tone4 :right_facing_fist_tone4:<br> right_facing_fist_tone5 :right_facing_fist_tone5:<br> ring :ring:<br> robot :robot:<br> rocket :rocket:<br> rofl :rofl:<br> roller_coaster :roller_coaster:<br> rolling_eyes :rolling_eyes:<br> rooster :rooster:<br> rose :rose:<br> rosette :rosette:<br> rotating_light :rotating_light:<br> round_pushpin :round_pushpin:<br> rowboat :rowboat:<br> rowboat_tone1 :rowboat_tone1:<br> rowboat_tone2 :rowboat_tone2:<br> rowboat_tone3 :rowboat_tone3:<br> rowboat_tone4 :rowboat_tone4:<br> rowboat_tone5 :rowboat_tone5:<br> rugby_football :rugby_football:<br> runner :runner:<br> runner_tone1 :runner_tone1:<br> runner_tone2 :runner_tone2:<br> runner_tone3 :runner_tone3:<br> runner_tone4 :runner_tone4:<br> runner_tone5 :runner_tone5:<br> running_shirt_with_sash :running_shirt_with_sash:<br> sa :sa:<br> sagittarius :sagittarius:<br> sailboat :sailboat:<br> sake :sake:<br> salad :salad:<br> sandal :sandal:<br> santa :santa:<br> santa_tone1 :santa_tone1:<br> santa_tone2 :santa_tone2:<br> santa_tone3 :santa_tone3:<br> santa_tone4 :santa_tone4:<br> santa_tone5 :santa_tone5:<br> satellite :satellite:<br> satellite_orbital :satellite_orbital:<br> saxophone :saxophone:<br> scales :scales:<br> school :school:<br> school_satchel :school_satchel:<br> scissors :scissors:<br> scooter :scooter:<br> scorpion :scorpion:<br> scorpius :scorpius:<br> scream :scream:<br> scream_cat :scream_cat:<br> scroll :scroll:<br> seat :seat:<br> second_place :second_place:<br> secret :secret:<br> see_no_evil :see_no_evil:<br> seedling :seedling:<br> selfie :selfie:<br> selfie_tone1 :selfie_tone1:<br> selfie_tone2 :selfie_tone2:<br> selfie_tone3 :selfie_tone3:<br> selfie_tone4 :selfie_tone4:<br> selfie_tone5 :selfie_tone5:<br> seven :seven:<br> shallow_pan_of_food :shallow_pan_of_food:<br> shamrock :shamrock:<br> shark :shark:<br> shaved_ice :shaved_ice:<br> sheep :sheep:<br> shell :shell:<br> shield :shield:<br> shinto_shrine :shinto_shrine:<br> ship :ship:<br> shirt :shirt:<br> shopping_bags :shopping_bags:<br> shopping_cart :shopping_cart:<br> shower :shower:<br> shrimp :shrimp:<br> shrug :shrug:<br> shrug_tone1 :shrug_tone1:<br> shrug_tone2 :shrug_tone2:<br> shrug_tone3 :shrug_tone3:<br> shrug_tone4 :shrug_tone4:<br> shrug_tone5 :shrug_tone5:<br> signal_strength :signal_strength:<br> six :six:<br> six_pointed_star :six_pointed_star:<br> ski :ski:<br> skier :skier:<br> skull :skull:<br> skull_crossbones :skull_crossbones:<br> sleeping :sleeping:<br> sleeping_accommodation :sleeping_accommodation:<br> sleepy :sleepy:<br> slight_frown :slight_frown:<br> slight_smile :slight_smile:<br> slot_machine :slot_machine:<br> small_blue_diamond :small_blue_diamond:<br> small_orange_diamond :small_orange_diamond:<br> small_red_triangle :small_red_triangle:<br> small_red_triangle_down :small_red_triangle_down:<br> smile :smile:<br> smile_cat :smile_cat:<br> smiley :smiley:<br> smiley_cat :smiley_cat:<br> smiling_imp :smiling_imp:<br> smirk :smirk:<br> smirk_cat :smirk_cat:<br> smoking :smoking:<br> snail :snail:<br> snake :snake:<br> sneezing_face :sneezing_face:<br> snowboarder :snowboarder:<br> snowflake :snowflake:<br> snowman2 :snowman2:<br> snowman :snowman:<br> sob :sob:<br> soccer :soccer:<br> soon :soon:<br> sos :sos:<br> sound :sound:<br> space_invader :space_invader:<br> spades :spades:<br> spaghetti :spaghetti:<br> sparkle :sparkle:<br> sparkler :sparkler:<br> sparkles :sparkles:<br> sparkling_heart :sparkling_heart:<br> speak_no_evil :speak_no_evil:<br> speaker :speaker:<br> speaking_head :speaking_head:<br> speech_balloon :speech_balloon:<br> speech_left :speech_left:<br> speedboat :speedboat:<br> spider :spider:<br> spider_web :spider_web:<br> spoon :spoon:<br> spy :spy:<br> spy_tone1 :spy_tone1:<br> spy_tone2 :spy_tone2:<br> spy_tone3 :spy_tone3:<br> spy_tone4 :spy_tone4:<br> spy_tone5 :spy_tone5:<br> squid :squid:<br> stadium :stadium:<br> star2 :star2:<br> star :star:<br> star_and_crescent :star_and_crescent:<br> star_of_david :star_of_david:<br> stars :stars:<br> station :station:<br> statue_of_liberty :statue_of_liberty:<br> steam_locomotive :steam_locomotive:<br> stew :stew:<br> stop_button :stop_button:<br> stopwatch :stopwatch:<br> straight_ruler :straight_ruler:<br> strawberry :strawberry:<br> stuck_out_tongue :stuck_out_tongue:<br> stuck_out_tongue_closed_eyes :stuck_out_tongue_closed_eyes:<br> stuck_out_tongue_winking_eye :stuck_out_tongue_winking_eye:<br> stuffed_flatbread :stuffed_flatbread:<br> sun_with_face :sun_with_face:<br> sunflower :sunflower:<br> sunglasses :sunglasses:<br> sunny :sunny:<br> sunrise :sunrise:<br> sunrise_over_mountains :sunrise_over_mountains:<br> surfer :surfer:<br> surfer_tone1 :surfer_tone1:<br> surfer_tone2 :surfer_tone2:<br> surfer_tone3 :surfer_tone3:<br> surfer_tone4 :surfer_tone4:<br> surfer_tone5 :surfer_tone5:<br> sushi :sushi:<br> suspension_railway :suspension_railway:<br> sweat :sweat:<br> sweat_drops :sweat_drops:<br> sweat_smile :sweat_smile:<br> sweet_potato :sweet_potato:<br> swimmer :swimmer:<br> swimmer_tone1 :swimmer_tone1:<br> swimmer_tone2 :swimmer_tone2:<br> swimmer_tone3 :swimmer_tone3:<br> swimmer_tone4 :swimmer_tone4:<br> swimmer_tone5 :swimmer_tone5:<br> symbols :symbols:<br> synagogue :synagogue:<br> syringe :syringe:<br> taco :taco:<br> tada :tada:<br> tanabata_tree :tanabata_tree:<br> tangerine :tangerine:<br> taurus :taurus:<br> taxi :taxi:<br> tea :tea:<br> telephone :telephone:<br> telephone_receiver :telephone_receiver:<br> telescope :telescope:<br> tennis :tennis:<br> tent :tent:<br> thermometer :thermometer:<br> thermometer_face :thermometer_face:<br> thinking :thinking:<br> third_place :third_place:<br> thought_balloon :thought_balloon:<br> three :three:<br> thumbsdown :thumbsdown:<br> thumbsdown_tone1 :thumbsdown_tone1:<br> thumbsdown_tone2 :thumbsdown_tone2:<br> thumbsdown_tone3 :thumbsdown_tone3:<br> thumbsdown_tone4 :thumbsdown_tone4:<br> thumbsdown_tone5 :thumbsdown_tone5:<br> thumbsup :thumbsup:<br> thumbsup_tone1 :thumbsup_tone1:<br> thumbsup_tone2 :thumbsup_tone2:<br> thumbsup_tone3 :thumbsup_tone3:<br> thumbsup_tone4 :thumbsup_tone4:<br> thumbsup_tone5 :thumbsup_tone5:<br> thunder_cloud_rain :thunder_cloud_rain:<br> ticket :ticket:<br> tickets :tickets:<br> tiger2 :tiger2:<br> tiger :tiger:<br> timer :timer:<br> tired_face :tired_face:<br> tm :tm:<br> toilet :toilet:<br> tokyo_tower :tokyo_tower:<br> tomato :tomato:<br> tone1 :tone1:<br> tone2 :tone2:<br> tone3 :tone3:<br> tone4 :tone4:<br> tone5 :tone5:<br> tongue :tongue:<br> tools :tools:<br> top :top:<br> tophat :tophat:<br> track_next :track_next:<br> track_previous :track_previous:<br> trackball :trackball:<br> tractor :tractor:<br> traffic_light :traffic_light:<br> train2 :train2:<br> train :train:<br> tram :tram:<br> triangular_flag_on_post :triangular_flag_on_post:<br> triangular_ruler :triangular_ruler:<br> trident :trident:<br> triumph :triumph:<br> trolleybus :trolleybus:<br> trophy :trophy:<br> tropical_drink :tropical_drink:<br> tropical_fish :tropical_fish:<br> truck :truck:<br> trumpet :trumpet:<br> tulip :tulip:<br> tumbler_glass :tumbler_glass:<br> turkey :turkey:<br> turtle :turtle:<br> tv :tv:<br> twisted_rightwards_arrows :twisted_rightwards_arrows:<br> two :two:<br> two_hearts :two_hearts:<br> two_men_holding_hands :two_men_holding_hands:<br> two_women_holding_hands :two_women_holding_hands:<br> u5272 :u5272:<br> u5408 :u5408:<br> u55b6 :u55b6:<br> u6307 :u6307:<br> u6708 :u6708:<br> u6709 :u6709:<br> u6e80 :u6e80:<br> u7121 :u7121:<br> u7533 :u7533:<br> u7981 :u7981:<br> u7a7a :u7a7a:<br> umbrella2 :umbrella2:<br> umbrella :umbrella:<br> unamused :unamused:<br> underage :underage:<br> unicorn :unicorn:<br> unlock :unlock:<br> up :up:<br> upside_down :upside_down:<br> urn :urn:<br> v :v:<br> v_tone1 :v_tone1:<br> v_tone2 :v_tone2:<br> v_tone3 :v_tone3:<br> v_tone4 :v_tone4:<br> v_tone5 :v_tone5:<br> vertical_traffic_light :vertical_traffic_light:<br> vhs :vhs:<br> vibration_mode :vibration_mode:<br> video_camera :video_camera:<br> video_game :video_game:<br> violin :violin:<br> virgo :virgo:<br> volcano :volcano:<br> volleyball :volleyball:<br> vs :vs:<br> vulcan :vulcan:<br> vulcan_tone1 :vulcan_tone1:<br> vulcan_tone2 :vulcan_tone2:<br> vulcan_tone3 :vulcan_tone3:<br> vulcan_tone4 :vulcan_tone4:<br> vulcan_tone5 :vulcan_tone5:<br> walking :walking:<br> walking_tone1 :walking_tone1:<br> walking_tone2 :walking_tone2:<br> walking_tone3 :walking_tone3:<br> walking_tone4 :walking_tone4:<br> walking_tone5 :walking_tone5:<br> waning_crescent_moon :waning_crescent_moon:<br> waning_gibbous_moon :waning_gibbous_moon:<br> warning :warning:<br> wastebasket :wastebasket:<br> watch :watch:<br> water_buffalo :water_buffalo:<br> water_polo :water_polo:<br> water_polo_tone1 :water_polo_tone1:<br> water_polo_tone2 :water_polo_tone2:<br> water_polo_tone3 :water_polo_tone3:<br> water_polo_tone4 :water_polo_tone4:<br> water_polo_tone5 :water_polo_tone5:<br> watermelon :watermelon:<br> wave :wave:<br> wave_tone1 :wave_tone1:<br> wave_tone2 :wave_tone2:<br> wave_tone3 :wave_tone3:<br> wave_tone4 :wave_tone4:<br> wave_tone5 :wave_tone5:<br> wavy_dash :wavy_dash:<br> waxing_crescent_moon :waxing_crescent_moon:<br> waxing_gibbous_moon :waxing_gibbous_moon:<br> wc :wc:<br> weary :weary:<br> wedding :wedding:<br> whale2 :whale2:<br> whale :whale:<br> wheel_of_dharma :wheel_of_dharma:<br> wheelchair :wheelchair:<br> white_check_mark :white_check_mark:<br> white_circle :white_circle:<br> white_flower :white_flower:<br> white_large_square :white_large_square:<br> white_medium_small_square :white_medium_small_square:<br> white_medium_square :white_medium_square:<br> white_small_square :white_small_square:<br> white_square_button :white_square_button:<br> white_sun_cloud :white_sun_cloud:<br> white_sun_rain_cloud :white_sun_rain_cloud:<br> white_sun_small_cloud :white_sun_small_cloud:<br> wilted_rose :wilted_rose:<br> wind_blowing_face :wind_blowing_face:<br> wind_chime :wind_chime:<br> wine_glass :wine_glass:<br> wink :wink:<br> wolf :wolf:<br> woman :woman:<br> woman_tone1 :woman_tone1:<br> woman_tone2 :woman_tone2:<br> woman_tone3 :woman_tone3:<br> woman_tone4 :woman_tone4:<br> woman_tone5 :woman_tone5:<br> womans_clothes :womans_clothes:<br> womans_hat :womans_hat:<br> womens :womens:<br> worried :worried:<br> wrench :wrench:<br> wrestlers :wrestlers:<br> wrestlers_tone1 :wrestlers_tone1:<br> wrestlers_tone2 :wrestlers_tone2:<br> wrestlers_tone3 :wrestlers_tone3:<br> wrestlers_tone4 :wrestlers_tone4:<br> wrestlers_tone5 :wrestlers_tone5:<br> writing_hand :writing_hand:<br> writing_hand_tone1 :writing_hand_tone1:<br> writing_hand_tone2 :writing_hand_tone2:<br> writing_hand_tone3 :writing_hand_tone3:<br> writing_hand_tone4 :writing_hand_tone4:<br> writing_hand_tone5 :writing_hand_tone5:<br> x :x:<br> yellow_heart :yellow_heart:<br> yen :yen:<br> yin_yang :yin_yang:<br> yum :yum:<br> zap :zap:<br> zero :zero:<br> zipper_mouth :zipper_mouth:<br> zzz :zzz:<br> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (svg sprite).html�����������������������������0000664�0000000�0000000�00000002725�14651242716�0026261�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 <svg class="emojione"><description>💯</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f4af"></use></svg><br> 1234 <svg class="emojione"><description>🔢</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f522"></use></svg><br> 8ball <svg class="emojione"><description>🎱</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f3b1"></use></svg><br> a <svg class="emojione"><description>🅰</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f170"></use></svg><br> ab <svg class="emojione"><description>🆎</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f18e"></use></svg><br> abc <svg class="emojione"><description>🔤</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f524"></use></svg><br> abcd <svg class="emojione"><description>🔡</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f521"></use></svg><br> accept <svg class="emojione"><description>🉑</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f251"></use></svg><br> aerial_tramway <svg class="emojione"><description>🚡</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-1f6a1"></use></svg><br> airplane <svg class="emojione"><description>✈ï¸</description><use xlink:href="./../assets/sprites/emojione.sprites.svg#emoji-2708"></use></svg><br></p>�������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (svg sprite).txt������������������������������0000664�0000000�0000000�00000000275�14651242716�0026132�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (svg).html������������������������������������0000664�0000000�0000000�00000003230�14651242716�0024762�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/css/emojione.min.css"/> </head> <body> <div class="markdown-body"> <h1>Emojis</h1> <p>100 <img alt="💯" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f4af.svg" title=":100:" /><br> 1234 <img alt="🔢" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f522.svg" title=":1234:" /><br> 8ball <img alt="🎱" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f3b1.svg" title=":8ball:" /><br> a <img alt="🅰" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f170.svg" title=":a:" /><br> ab <img alt="🆎" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f18e.svg" title=":ab:" /><br> abc <img alt="🔤" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f524.svg" title=":abc:" /><br> abcd <img alt="🔡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f521.svg" title=":abcd:" /><br> accept <img alt="🉑" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f251.svg" title=":accept:" /><br> aerial_tramway <img alt="🚡" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/1f6a1.svg" title=":aerial_tramway:" /><br> airplane <img alt="✈ï¸" class="emojione" src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/2708.svg" title=":airplane:" /><br></p> </div> </body> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/emoji1 (svg).txt�������������������������������������0000664�0000000�0000000�00000000275�14651242716�0024643�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/gemoji (entities).html�������������������������������0000664�0000000�0000000�00000000364�14651242716�0026102�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>+1 👍<br> -1 👎<br> 100 💯<br> 1234 🔢<br> 1st_place_medal 🥇<br> 2nd_place_medal 🥈<br> 3rd_place_medal 🥉<br> 8ball 🎱<br> a 🅰️<br> ab 🆎<br></p>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/gemoji (entities).txt��������������������������������0000664�0000000�0000000�00000000331�14651242716�0025747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis +1 :+1:<br> -1 :-1:<br> 100 :100:<br> 1234 :1234:<br> 1st_place_medal :1st_place_medal:<br> 2nd_place_medal :2nd_place_medal:<br> 3rd_place_medal :3rd_place_medal:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/gemoji (png).html������������������������������������0000664�0000000�0000000�00001333524�14651242716�0025052�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>+1 <img align="absmiddle" alt=":+1:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" title=":+1:" width="20px" /><br> -1 <img align="absmiddle" alt=":-1:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" title=":-1:" width="20px" /><br> 100 <img align="absmiddle" alt=":100:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4af.png" title=":100:" width="20px" /><br> 1234 <img align="absmiddle" alt=":1234:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f522.png" title=":1234:" width="20px" /><br> 1st_place_medal <img align="absmiddle" alt=":1st_place_medal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f947.png" title=":1st_place_medal:" width="20px" /><br> 2nd_place_medal <img align="absmiddle" alt=":2nd_place_medal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f948.png" title=":2nd_place_medal:" width="20px" /><br> 3rd_place_medal <img align="absmiddle" alt=":3rd_place_medal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f949.png" title=":3rd_place_medal:" width="20px" /><br> 8ball <img align="absmiddle" alt=":8ball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b1.png" title=":8ball:" width="20px" /><br> a <img align="absmiddle" alt=":a:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f170.png" title=":a:" width="20px" /><br> ab <img align="absmiddle" alt=":ab:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f18e.png" title=":ab:" width="20px" /><br> abacus <img align="absmiddle" alt=":abacus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ee.png" title=":abacus:" width="20px" /><br> abc <img align="absmiddle" alt=":abc:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f524.png" title=":abc:" width="20px" /><br> abcd <img align="absmiddle" alt=":abcd:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f521.png" title=":abcd:" width="20px" /><br> accept <img align="absmiddle" alt=":accept:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f251.png" title=":accept:" width="20px" /><br> accordion <img align="absmiddle" alt=":accordion:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa97.png" title=":accordion:" width="20px" /><br> adhesive_bandage <img align="absmiddle" alt=":adhesive_bandage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa79.png" title=":adhesive_bandage:" width="20px" /><br> adult <img align="absmiddle" alt=":adult:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1.png" title=":adult:" width="20px" /><br> aerial_tramway <img align="absmiddle" alt=":aerial_tramway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a1.png" title=":aerial_tramway:" width="20px" /><br> afghanistan <img align="absmiddle" alt=":afghanistan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1eb.png" title=":afghanistan:" width="20px" /><br> airplane <img align="absmiddle" alt=":airplane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2708.png" title=":airplane:" width="20px" /><br> aland_islands <img align="absmiddle" alt=":aland_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1fd.png" title=":aland_islands:" width="20px" /><br> alarm_clock <img align="absmiddle" alt=":alarm_clock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f0.png" title=":alarm_clock:" width="20px" /><br> albania <img align="absmiddle" alt=":albania:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f1.png" title=":albania:" width="20px" /><br> alembic <img align="absmiddle" alt=":alembic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2697.png" title=":alembic:" width="20px" /><br> algeria <img align="absmiddle" alt=":algeria:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1ff.png" title=":algeria:" width="20px" /><br> alien <img align="absmiddle" alt=":alien:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47d.png" title=":alien:" width="20px" /><br> ambulance <img align="absmiddle" alt=":ambulance:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f691.png" title=":ambulance:" width="20px" /><br> american_samoa <img align="absmiddle" alt=":american_samoa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f8.png" title=":american_samoa:" width="20px" /><br> amphora <img align="absmiddle" alt=":amphora:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3fa.png" title=":amphora:" width="20px" /><br> anatomical_heart <img align="absmiddle" alt=":anatomical_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac0.png" title=":anatomical_heart:" width="20px" /><br> anchor <img align="absmiddle" alt=":anchor:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2693.png" title=":anchor:" width="20px" /><br> andorra <img align="absmiddle" alt=":andorra:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1e9.png" title=":andorra:" width="20px" /><br> angel <img align="absmiddle" alt=":angel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47c.png" title=":angel:" width="20px" /><br> anger <img align="absmiddle" alt=":anger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a2.png" title=":anger:" width="20px" /><br> angola <img align="absmiddle" alt=":angola:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f4.png" title=":angola:" width="20px" /><br> angry <img align="absmiddle" alt=":angry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f620.png" title=":angry:" width="20px" /><br> anguilla <img align="absmiddle" alt=":anguilla:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1ee.png" title=":anguilla:" width="20px" /><br> anguished <img align="absmiddle" alt=":anguished:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f627.png" title=":anguished:" width="20px" /><br> ant <img align="absmiddle" alt=":ant:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41c.png" title=":ant:" width="20px" /><br> antarctica <img align="absmiddle" alt=":antarctica:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f6.png" title=":antarctica:" width="20px" /><br> antigua_barbuda <img align="absmiddle" alt=":antigua_barbuda:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1ec.png" title=":antigua_barbuda:" width="20px" /><br> apple <img align="absmiddle" alt=":apple:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34e.png" title=":apple:" width="20px" /><br> aquarius <img align="absmiddle" alt=":aquarius:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2652.png" title=":aquarius:" width="20px" /><br> argentina <img align="absmiddle" alt=":argentina:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f7.png" title=":argentina:" width="20px" /><br> aries <img align="absmiddle" alt=":aries:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2648.png" title=":aries:" width="20px" /><br> armenia <img align="absmiddle" alt=":armenia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f2.png" title=":armenia:" width="20px" /><br> arrow_backward <img align="absmiddle" alt=":arrow_backward:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25c0.png" title=":arrow_backward:" width="20px" /><br> arrow_double_down <img align="absmiddle" alt=":arrow_double_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23ec.png" title=":arrow_double_down:" width="20px" /><br> arrow_double_up <img align="absmiddle" alt=":arrow_double_up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23eb.png" title=":arrow_double_up:" width="20px" /><br> arrow_down <img align="absmiddle" alt=":arrow_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b07.png" title=":arrow_down:" width="20px" /><br> arrow_down_small <img align="absmiddle" alt=":arrow_down_small:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f53d.png" title=":arrow_down_small:" width="20px" /><br> arrow_forward <img align="absmiddle" alt=":arrow_forward:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25b6.png" title=":arrow_forward:" width="20px" /><br> arrow_heading_down <img align="absmiddle" alt=":arrow_heading_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2935.png" title=":arrow_heading_down:" width="20px" /><br> arrow_heading_up <img align="absmiddle" alt=":arrow_heading_up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2934.png" title=":arrow_heading_up:" width="20px" /><br> arrow_left <img align="absmiddle" alt=":arrow_left:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b05.png" title=":arrow_left:" width="20px" /><br> arrow_lower_left <img align="absmiddle" alt=":arrow_lower_left:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2199.png" title=":arrow_lower_left:" width="20px" /><br> arrow_lower_right <img align="absmiddle" alt=":arrow_lower_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2198.png" title=":arrow_lower_right:" width="20px" /><br> arrow_right <img align="absmiddle" alt=":arrow_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/27a1.png" title=":arrow_right:" width="20px" /><br> arrow_right_hook <img align="absmiddle" alt=":arrow_right_hook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/21aa.png" title=":arrow_right_hook:" width="20px" /><br> arrow_up <img align="absmiddle" alt=":arrow_up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b06.png" title=":arrow_up:" width="20px" /><br> arrow_up_down <img align="absmiddle" alt=":arrow_up_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2195.png" title=":arrow_up_down:" width="20px" /><br> arrow_up_small <img align="absmiddle" alt=":arrow_up_small:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f53c.png" title=":arrow_up_small:" width="20px" /><br> arrow_upper_left <img align="absmiddle" alt=":arrow_upper_left:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2196.png" title=":arrow_upper_left:" width="20px" /><br> arrow_upper_right <img align="absmiddle" alt=":arrow_upper_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2197.png" title=":arrow_upper_right:" width="20px" /><br> arrows_clockwise <img align="absmiddle" alt=":arrows_clockwise:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f503.png" title=":arrows_clockwise:" width="20px" /><br> arrows_counterclockwise <img align="absmiddle" alt=":arrows_counterclockwise:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f504.png" title=":arrows_counterclockwise:" width="20px" /><br> art <img align="absmiddle" alt=":art:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a8.png" title=":art:" width="20px" /><br> articulated_lorry <img align="absmiddle" alt=":articulated_lorry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69b.png" title=":articulated_lorry:" width="20px" /><br> artificial_satellite <img align="absmiddle" alt=":artificial_satellite:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f0.png" title=":artificial_satellite:" width="20px" /><br> artist <img align="absmiddle" alt=":artist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f3a8.png" title=":artist:" width="20px" /><br> aruba <img align="absmiddle" alt=":aruba:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1fc.png" title=":aruba:" width="20px" /><br> ascension_island <img align="absmiddle" alt=":ascension_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1e8.png" title=":ascension_island:" width="20px" /><br> asterisk <img align="absmiddle" alt=":asterisk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/002a-20e3.png" title=":asterisk:" width="20px" /><br> astonished <img align="absmiddle" alt=":astonished:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f632.png" title=":astonished:" width="20px" /><br> astronaut <img align="absmiddle" alt=":astronaut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f680.png" title=":astronaut:" width="20px" /><br> athletic_shoe <img align="absmiddle" alt=":athletic_shoe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45f.png" title=":athletic_shoe:" width="20px" /><br> atm <img align="absmiddle" alt=":atm:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e7.png" title=":atm:" width="20px" /><br> atom_symbol <img align="absmiddle" alt=":atom_symbol:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/269b.png" title=":atom_symbol:" width="20px" /><br> australia <img align="absmiddle" alt=":australia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1fa.png" title=":australia:" width="20px" /><br> austria <img align="absmiddle" alt=":austria:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1f9.png" title=":austria:" width="20px" /><br> auto_rickshaw <img align="absmiddle" alt=":auto_rickshaw:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6fa.png" title=":auto_rickshaw:" width="20px" /><br> avocado <img align="absmiddle" alt=":avocado:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f951.png" title=":avocado:" width="20px" /><br> axe <img align="absmiddle" alt=":axe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa93.png" title=":axe:" width="20px" /><br> azerbaijan <img align="absmiddle" alt=":azerbaijan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1ff.png" title=":azerbaijan:" width="20px" /><br> b <img align="absmiddle" alt=":b:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f171.png" title=":b:" width="20px" /><br> baby <img align="absmiddle" alt=":baby:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f476.png" title=":baby:" width="20px" /><br> baby_bottle <img align="absmiddle" alt=":baby_bottle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37c.png" title=":baby_bottle:" width="20px" /><br> baby_chick <img align="absmiddle" alt=":baby_chick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f424.png" title=":baby_chick:" width="20px" /><br> baby_symbol <img align="absmiddle" alt=":baby_symbol:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6bc.png" title=":baby_symbol:" width="20px" /><br> back <img align="absmiddle" alt=":back:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f519.png" title=":back:" width="20px" /><br> bacon <img align="absmiddle" alt=":bacon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f953.png" title=":bacon:" width="20px" /><br> badger <img align="absmiddle" alt=":badger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a1.png" title=":badger:" width="20px" /><br> badminton <img align="absmiddle" alt=":badminton:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f8.png" title=":badminton:" width="20px" /><br> bagel <img align="absmiddle" alt=":bagel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96f.png" title=":bagel:" width="20px" /><br> baggage_claim <img align="absmiddle" alt=":baggage_claim:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c4.png" title=":baggage_claim:" width="20px" /><br> baguette_bread <img align="absmiddle" alt=":baguette_bread:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f956.png" title=":baguette_bread:" width="20px" /><br> bahamas <img align="absmiddle" alt=":bahamas:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f8.png" title=":bahamas:" width="20px" /><br> bahrain <img align="absmiddle" alt=":bahrain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ed.png" title=":bahrain:" width="20px" /><br> balance_scale <img align="absmiddle" alt=":balance_scale:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2696.png" title=":balance_scale:" width="20px" /><br> bald_man <img align="absmiddle" alt=":bald_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9b2.png" title=":bald_man:" width="20px" /><br> bald_woman <img align="absmiddle" alt=":bald_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9b2.png" title=":bald_woman:" width="20px" /><br> ballet_shoes <img align="absmiddle" alt=":ballet_shoes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa70.png" title=":ballet_shoes:" width="20px" /><br> balloon <img align="absmiddle" alt=":balloon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f388.png" title=":balloon:" width="20px" /><br> ballot_box <img align="absmiddle" alt=":ballot_box:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5f3.png" title=":ballot_box:" width="20px" /><br> ballot_box_with_check <img align="absmiddle" alt=":ballot_box_with_check:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2611.png" title=":ballot_box_with_check:" width="20px" /><br> bamboo <img align="absmiddle" alt=":bamboo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38d.png" title=":bamboo:" width="20px" /><br> banana <img align="absmiddle" alt=":banana:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34c.png" title=":banana:" width="20px" /><br> bangbang <img align="absmiddle" alt=":bangbang:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/203c.png" title=":bangbang:" width="20px" /><br> bangladesh <img align="absmiddle" alt=":bangladesh:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1e9.png" title=":bangladesh:" width="20px" /><br> banjo <img align="absmiddle" alt=":banjo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa95.png" title=":banjo:" width="20px" /><br> bank <img align="absmiddle" alt=":bank:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e6.png" title=":bank:" width="20px" /><br> bar_chart <img align="absmiddle" alt=":bar_chart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ca.png" title=":bar_chart:" width="20px" /><br> barbados <img align="absmiddle" alt=":barbados:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1e7.png" title=":barbados:" width="20px" /><br> barber <img align="absmiddle" alt=":barber:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f488.png" title=":barber:" width="20px" /><br> baseball <img align="absmiddle" alt=":baseball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26be.png" title=":baseball:" width="20px" /><br> basket <img align="absmiddle" alt=":basket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9fa.png" title=":basket:" width="20px" /><br> basketball <img align="absmiddle" alt=":basketball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c0.png" title=":basketball:" width="20px" /><br> bat <img align="absmiddle" alt=":bat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f987.png" title=":bat:" width="20px" /><br> bath <img align="absmiddle" alt=":bath:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c0.png" title=":bath:" width="20px" /><br> bathtub <img align="absmiddle" alt=":bathtub:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c1.png" title=":bathtub:" width="20px" /><br> battery <img align="absmiddle" alt=":battery:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50b.png" title=":battery:" width="20px" /><br> beach_umbrella <img align="absmiddle" alt=":beach_umbrella:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d6.png" title=":beach_umbrella:" width="20px" /><br> beans <img align="absmiddle" alt=":beans:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad8.png" title=":beans:" width="20px" /><br> bear <img align="absmiddle" alt=":bear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43b.png" title=":bear:" width="20px" /><br> bearded_person <img align="absmiddle" alt=":bearded_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d4.png" title=":bearded_person:" width="20px" /><br> beaver <img align="absmiddle" alt=":beaver:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ab.png" title=":beaver:" width="20px" /><br> bed <img align="absmiddle" alt=":bed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6cf.png" title=":bed:" width="20px" /><br> bee <img align="absmiddle" alt=":bee:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41d.png" title=":bee:" width="20px" /><br> beer <img align="absmiddle" alt=":beer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37a.png" title=":beer:" width="20px" /><br> beers <img align="absmiddle" alt=":beers:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37b.png" title=":beers:" width="20px" /><br> beetle <img align="absmiddle" alt=":beetle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab2.png" title=":beetle:" width="20px" /><br> beginner <img align="absmiddle" alt=":beginner:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f530.png" title=":beginner:" width="20px" /><br> belarus <img align="absmiddle" alt=":belarus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1fe.png" title=":belarus:" width="20px" /><br> belgium <img align="absmiddle" alt=":belgium:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ea.png" title=":belgium:" width="20px" /><br> belize <img align="absmiddle" alt=":belize:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ff.png" title=":belize:" width="20px" /><br> bell <img align="absmiddle" alt=":bell:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f514.png" title=":bell:" width="20px" /><br> bell_pepper <img align="absmiddle" alt=":bell_pepper:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad1.png" title=":bell_pepper:" width="20px" /><br> bellhop_bell <img align="absmiddle" alt=":bellhop_bell:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ce.png" title=":bellhop_bell:" width="20px" /><br> benin <img align="absmiddle" alt=":benin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ef.png" title=":benin:" width="20px" /><br> bento <img align="absmiddle" alt=":bento:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f371.png" title=":bento:" width="20px" /><br> bermuda <img align="absmiddle" alt=":bermuda:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f2.png" title=":bermuda:" width="20px" /><br> beverage_box <img align="absmiddle" alt=":beverage_box:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c3.png" title=":beverage_box:" width="20px" /><br> bhutan <img align="absmiddle" alt=":bhutan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f9.png" title=":bhutan:" width="20px" /><br> bicyclist <img align="absmiddle" alt=":bicyclist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b4.png" title=":bicyclist:" width="20px" /><br> bike <img align="absmiddle" alt=":bike:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b2.png" title=":bike:" width="20px" /><br> biking_man <img align="absmiddle" alt=":biking_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b4-2642.png" title=":biking_man:" width="20px" /><br> biking_woman <img align="absmiddle" alt=":biking_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b4-2640.png" title=":biking_woman:" width="20px" /><br> bikini <img align="absmiddle" alt=":bikini:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f459.png" title=":bikini:" width="20px" /><br> billed_cap <img align="absmiddle" alt=":billed_cap:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e2.png" title=":billed_cap:" width="20px" /><br> biohazard <img align="absmiddle" alt=":biohazard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2623.png" title=":biohazard:" width="20px" /><br> bird <img align="absmiddle" alt=":bird:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f426.png" title=":bird:" width="20px" /><br> birthday <img align="absmiddle" alt=":birthday:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f382.png" title=":birthday:" width="20px" /><br> bison <img align="absmiddle" alt=":bison:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ac.png" title=":bison:" width="20px" /><br> biting_lip <img align="absmiddle" alt=":biting_lip:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae6.png" title=":biting_lip:" width="20px" /><br> black_bird <img align="absmiddle" alt=":black_bird:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f426-2b1b.png" title=":black_bird:" width="20px" /><br> black_cat <img align="absmiddle" alt=":black_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f408-2b1b.png" title=":black_cat:" width="20px" /><br> black_circle <img align="absmiddle" alt=":black_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26ab.png" title=":black_circle:" width="20px" /><br> black_flag <img align="absmiddle" alt=":black_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f4.png" title=":black_flag:" width="20px" /><br> black_heart <img align="absmiddle" alt=":black_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5a4.png" title=":black_heart:" width="20px" /><br> black_joker <img align="absmiddle" alt=":black_joker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f0cf.png" title=":black_joker:" width="20px" /><br> black_large_square <img align="absmiddle" alt=":black_large_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b1b.png" title=":black_large_square:" width="20px" /><br> black_medium_small_square <img align="absmiddle" alt=":black_medium_small_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25fe.png" title=":black_medium_small_square:" width="20px" /><br> black_medium_square <img align="absmiddle" alt=":black_medium_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25fc.png" title=":black_medium_square:" width="20px" /><br> black_nib <img align="absmiddle" alt=":black_nib:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2712.png" title=":black_nib:" width="20px" /><br> black_small_square <img align="absmiddle" alt=":black_small_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25aa.png" title=":black_small_square:" width="20px" /><br> black_square_button <img align="absmiddle" alt=":black_square_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f532.png" title=":black_square_button:" width="20px" /><br> blond_haired_man <img align="absmiddle" alt=":blond_haired_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f471-2642.png" title=":blond_haired_man:" width="20px" /><br> blond_haired_person <img align="absmiddle" alt=":blond_haired_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f471.png" title=":blond_haired_person:" width="20px" /><br> blond_haired_woman <img align="absmiddle" alt=":blond_haired_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f471-2640.png" title=":blond_haired_woman:" width="20px" /><br> blossom <img align="absmiddle" alt=":blossom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33c.png" title=":blossom:" width="20px" /><br> blowfish <img align="absmiddle" alt=":blowfish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f421.png" title=":blowfish:" width="20px" /><br> blue_book <img align="absmiddle" alt=":blue_book:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d8.png" title=":blue_book:" width="20px" /><br> blue_car <img align="absmiddle" alt=":blue_car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f699.png" title=":blue_car:" width="20px" /><br> blue_heart <img align="absmiddle" alt=":blue_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f499.png" title=":blue_heart:" width="20px" /><br> blue_square <img align="absmiddle" alt=":blue_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e6.png" title=":blue_square:" width="20px" /><br> blueberries <img align="absmiddle" alt=":blueberries:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad0.png" title=":blueberries:" width="20px" /><br> blush <img align="absmiddle" alt=":blush:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60a.png" title=":blush:" width="20px" /><br> boar <img align="absmiddle" alt=":boar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f417.png" title=":boar:" width="20px" /><br> boat <img align="absmiddle" alt=":boat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f5.png" title=":boat:" width="20px" /><br> bolivia <img align="absmiddle" alt=":bolivia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f4.png" title=":bolivia:" width="20px" /><br> bomb <img align="absmiddle" alt=":bomb:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a3.png" title=":bomb:" width="20px" /><br> bone <img align="absmiddle" alt=":bone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b4.png" title=":bone:" width="20px" /><br> book <img align="absmiddle" alt=":book:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d6.png" title=":book:" width="20px" /><br> bookmark <img align="absmiddle" alt=":bookmark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f516.png" title=":bookmark:" width="20px" /><br> bookmark_tabs <img align="absmiddle" alt=":bookmark_tabs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d1.png" title=":bookmark_tabs:" width="20px" /><br> books <img align="absmiddle" alt=":books:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4da.png" title=":books:" width="20px" /><br> boom <img align="absmiddle" alt=":boom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a5.png" title=":boom:" width="20px" /><br> boomerang <img align="absmiddle" alt=":boomerang:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa83.png" title=":boomerang:" width="20px" /><br> boot <img align="absmiddle" alt=":boot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f462.png" title=":boot:" width="20px" /><br> bosnia_herzegovina <img align="absmiddle" alt=":bosnia_herzegovina:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1e6.png" title=":bosnia_herzegovina:" width="20px" /><br> botswana <img align="absmiddle" alt=":botswana:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1fc.png" title=":botswana:" width="20px" /><br> bouncing_ball_man <img align="absmiddle" alt=":bouncing_ball_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f9-2642.png" title=":bouncing_ball_man:" width="20px" /><br> bouncing_ball_person <img align="absmiddle" alt=":bouncing_ball_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f9.png" title=":bouncing_ball_person:" width="20px" /><br> bouncing_ball_woman <img align="absmiddle" alt=":bouncing_ball_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f9-2640.png" title=":bouncing_ball_woman:" width="20px" /><br> bouquet <img align="absmiddle" alt=":bouquet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f490.png" title=":bouquet:" width="20px" /><br> bouvet_island <img align="absmiddle" alt=":bouvet_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1fb.png" title=":bouvet_island:" width="20px" /><br> bow <img align="absmiddle" alt=":bow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f647.png" title=":bow:" width="20px" /><br> bow_and_arrow <img align="absmiddle" alt=":bow_and_arrow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f9.png" title=":bow_and_arrow:" width="20px" /><br> bowing_man <img align="absmiddle" alt=":bowing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f647-2642.png" title=":bowing_man:" width="20px" /><br> bowing_woman <img align="absmiddle" alt=":bowing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f647-2640.png" title=":bowing_woman:" width="20px" /><br> bowl_with_spoon <img align="absmiddle" alt=":bowl_with_spoon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f963.png" title=":bowl_with_spoon:" width="20px" /><br> bowling <img align="absmiddle" alt=":bowling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b3.png" title=":bowling:" width="20px" /><br> boxing_glove <img align="absmiddle" alt=":boxing_glove:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94a.png" title=":boxing_glove:" width="20px" /><br> boy <img align="absmiddle" alt=":boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f466.png" title=":boy:" width="20px" /><br> brain <img align="absmiddle" alt=":brain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e0.png" title=":brain:" width="20px" /><br> brazil <img align="absmiddle" alt=":brazil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f7.png" title=":brazil:" width="20px" /><br> bread <img align="absmiddle" alt=":bread:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35e.png" title=":bread:" width="20px" /><br> breast_feeding <img align="absmiddle" alt=":breast_feeding:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f931.png" title=":breast_feeding:" width="20px" /><br> bricks <img align="absmiddle" alt=":bricks:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f1.png" title=":bricks:" width="20px" /><br> bridge_at_night <img align="absmiddle" alt=":bridge_at_night:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f309.png" title=":bridge_at_night:" width="20px" /><br> briefcase <img align="absmiddle" alt=":briefcase:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4bc.png" title=":briefcase:" width="20px" /><br> british_indian_ocean_territory <img align="absmiddle" alt=":british_indian_ocean_territory:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f4.png" title=":british_indian_ocean_territory:" width="20px" /><br> british_virgin_islands <img align="absmiddle" alt=":british_virgin_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1ec.png" title=":british_virgin_islands:" width="20px" /><br> broccoli <img align="absmiddle" alt=":broccoli:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f966.png" title=":broccoli:" width="20px" /><br> broken_heart <img align="absmiddle" alt=":broken_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f494.png" title=":broken_heart:" width="20px" /><br> broom <img align="absmiddle" alt=":broom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f9.png" title=":broom:" width="20px" /><br> brown_circle <img align="absmiddle" alt=":brown_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e4.png" title=":brown_circle:" width="20px" /><br> brown_heart <img align="absmiddle" alt=":brown_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f90e.png" title=":brown_heart:" width="20px" /><br> brown_square <img align="absmiddle" alt=":brown_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7eb.png" title=":brown_square:" width="20px" /><br> brunei <img align="absmiddle" alt=":brunei:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f3.png" title=":brunei:" width="20px" /><br> bubble_tea <img align="absmiddle" alt=":bubble_tea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cb.png" title=":bubble_tea:" width="20px" /><br> bubbles <img align="absmiddle" alt=":bubbles:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae7.png" title=":bubbles:" width="20px" /><br> bucket <img align="absmiddle" alt=":bucket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa3.png" title=":bucket:" width="20px" /><br> bug <img align="absmiddle" alt=":bug:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png" title=":bug:" width="20px" /><br> building_construction <img align="absmiddle" alt=":building_construction:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d7.png" title=":building_construction:" width="20px" /><br> bulb <img align="absmiddle" alt=":bulb:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a1.png" title=":bulb:" width="20px" /><br> bulgaria <img align="absmiddle" alt=":bulgaria:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ec.png" title=":bulgaria:" width="20px" /><br> bullettrain_front <img align="absmiddle" alt=":bullettrain_front:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f685.png" title=":bullettrain_front:" width="20px" /><br> bullettrain_side <img align="absmiddle" alt=":bullettrain_side:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f684.png" title=":bullettrain_side:" width="20px" /><br> burkina_faso <img align="absmiddle" alt=":burkina_faso:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1eb.png" title=":burkina_faso:" width="20px" /><br> burrito <img align="absmiddle" alt=":burrito:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32f.png" title=":burrito:" width="20px" /><br> burundi <img align="absmiddle" alt=":burundi:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1ee.png" title=":burundi:" width="20px" /><br> bus <img align="absmiddle" alt=":bus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68c.png" title=":bus:" width="20px" /><br> business_suit_levitating <img align="absmiddle" alt=":business_suit_levitating:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f574.png" title=":business_suit_levitating:" width="20px" /><br> busstop <img align="absmiddle" alt=":busstop:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68f.png" title=":busstop:" width="20px" /><br> bust_in_silhouette <img align="absmiddle" alt=":bust_in_silhouette:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f464.png" title=":bust_in_silhouette:" width="20px" /><br> busts_in_silhouette <img align="absmiddle" alt=":busts_in_silhouette:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f465.png" title=":busts_in_silhouette:" width="20px" /><br> butter <img align="absmiddle" alt=":butter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c8.png" title=":butter:" width="20px" /><br> butterfly <img align="absmiddle" alt=":butterfly:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98b.png" title=":butterfly:" width="20px" /><br> cactus <img align="absmiddle" alt=":cactus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f335.png" title=":cactus:" width="20px" /><br> cake <img align="absmiddle" alt=":cake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f370.png" title=":cake:" width="20px" /><br> calendar <img align="absmiddle" alt=":calendar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c6.png" title=":calendar:" width="20px" /><br> call_me_hand <img align="absmiddle" alt=":call_me_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f919.png" title=":call_me_hand:" width="20px" /><br> calling <img align="absmiddle" alt=":calling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f2.png" title=":calling:" width="20px" /><br> cambodia <img align="absmiddle" alt=":cambodia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1ed.png" title=":cambodia:" width="20px" /><br> camel <img align="absmiddle" alt=":camel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42b.png" title=":camel:" width="20px" /><br> camera <img align="absmiddle" alt=":camera:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f7.png" title=":camera:" width="20px" /><br> camera_flash <img align="absmiddle" alt=":camera_flash:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f8.png" title=":camera_flash:" width="20px" /><br> cameroon <img align="absmiddle" alt=":cameroon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f2.png" title=":cameroon:" width="20px" /><br> camping <img align="absmiddle" alt=":camping:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d5.png" title=":camping:" width="20px" /><br> canada <img align="absmiddle" alt=":canada:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1e6.png" title=":canada:" width="20px" /><br> canary_islands <img align="absmiddle" alt=":canary_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1e8.png" title=":canary_islands:" width="20px" /><br> cancer <img align="absmiddle" alt=":cancer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264b.png" title=":cancer:" width="20px" /><br> candle <img align="absmiddle" alt=":candle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f56f.png" title=":candle:" width="20px" /><br> candy <img align="absmiddle" alt=":candy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36c.png" title=":candy:" width="20px" /><br> canned_food <img align="absmiddle" alt=":canned_food:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96b.png" title=":canned_food:" width="20px" /><br> canoe <img align="absmiddle" alt=":canoe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f6.png" title=":canoe:" width="20px" /><br> cape_verde <img align="absmiddle" alt=":cape_verde:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1fb.png" title=":cape_verde:" width="20px" /><br> capital_abcd <img align="absmiddle" alt=":capital_abcd:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f520.png" title=":capital_abcd:" width="20px" /><br> capricorn <img align="absmiddle" alt=":capricorn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2651.png" title=":capricorn:" width="20px" /><br> car <img align="absmiddle" alt=":car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f697.png" title=":car:" width="20px" /><br> card_file_box <img align="absmiddle" alt=":card_file_box:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5c3.png" title=":card_file_box:" width="20px" /><br> card_index <img align="absmiddle" alt=":card_index:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c7.png" title=":card_index:" width="20px" /><br> card_index_dividers <img align="absmiddle" alt=":card_index_dividers:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5c2.png" title=":card_index_dividers:" width="20px" /><br> caribbean_netherlands <img align="absmiddle" alt=":caribbean_netherlands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f6.png" title=":caribbean_netherlands:" width="20px" /><br> carousel_horse <img align="absmiddle" alt=":carousel_horse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a0.png" title=":carousel_horse:" width="20px" /><br> carpentry_saw <img align="absmiddle" alt=":carpentry_saw:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9a.png" title=":carpentry_saw:" width="20px" /><br> carrot <img align="absmiddle" alt=":carrot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f955.png" title=":carrot:" width="20px" /><br> cartwheeling <img align="absmiddle" alt=":cartwheeling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f938.png" title=":cartwheeling:" width="20px" /><br> cat2 <img align="absmiddle" alt=":cat2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f408.png" title=":cat2:" width="20px" /><br> cat <img align="absmiddle" alt=":cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f431.png" title=":cat:" width="20px" /><br> cayman_islands <img align="absmiddle" alt=":cayman_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1fe.png" title=":cayman_islands:" width="20px" /><br> cd <img align="absmiddle" alt=":cd:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4bf.png" title=":cd:" width="20px" /><br> central_african_republic <img align="absmiddle" alt=":central_african_republic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1eb.png" title=":central_african_republic:" width="20px" /><br> ceuta_melilla <img align="absmiddle" alt=":ceuta_melilla:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1e6.png" title=":ceuta_melilla:" width="20px" /><br> chad <img align="absmiddle" alt=":chad:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1e9.png" title=":chad:" width="20px" /><br> chains <img align="absmiddle" alt=":chains:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26d3.png" title=":chains:" width="20px" /><br> chair <img align="absmiddle" alt=":chair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa91.png" title=":chair:" width="20px" /><br> champagne <img align="absmiddle" alt=":champagne:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37e.png" title=":champagne:" width="20px" /><br> chart <img align="absmiddle" alt=":chart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b9.png" title=":chart:" width="20px" /><br> chart_with_downwards_trend <img align="absmiddle" alt=":chart_with_downwards_trend:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c9.png" title=":chart_with_downwards_trend:" width="20px" /><br> chart_with_upwards_trend <img align="absmiddle" alt=":chart_with_upwards_trend:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c8.png" title=":chart_with_upwards_trend:" width="20px" /><br> checkered_flag <img align="absmiddle" alt=":checkered_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c1.png" title=":checkered_flag:" width="20px" /><br> cheese <img align="absmiddle" alt=":cheese:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c0.png" title=":cheese:" width="20px" /><br> cherries <img align="absmiddle" alt=":cherries:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f352.png" title=":cherries:" width="20px" /><br> cherry_blossom <img align="absmiddle" alt=":cherry_blossom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f338.png" title=":cherry_blossom:" width="20px" /><br> chess_pawn <img align="absmiddle" alt=":chess_pawn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/265f.png" title=":chess_pawn:" width="20px" /><br> chestnut <img align="absmiddle" alt=":chestnut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f330.png" title=":chestnut:" width="20px" /><br> chicken <img align="absmiddle" alt=":chicken:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f414.png" title=":chicken:" width="20px" /><br> child <img align="absmiddle" alt=":child:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d2.png" title=":child:" width="20px" /><br> children_crossing <img align="absmiddle" alt=":children_crossing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b8.png" title=":children_crossing:" width="20px" /><br> chile <img align="absmiddle" alt=":chile:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f1.png" title=":chile:" width="20px" /><br> chipmunk <img align="absmiddle" alt=":chipmunk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43f.png" title=":chipmunk:" width="20px" /><br> chocolate_bar <img align="absmiddle" alt=":chocolate_bar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36b.png" title=":chocolate_bar:" width="20px" /><br> chopsticks <img align="absmiddle" alt=":chopsticks:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f962.png" title=":chopsticks:" width="20px" /><br> christmas_island <img align="absmiddle" alt=":christmas_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1fd.png" title=":christmas_island:" width="20px" /><br> christmas_tree <img align="absmiddle" alt=":christmas_tree:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f384.png" title=":christmas_tree:" width="20px" /><br> church <img align="absmiddle" alt=":church:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26ea.png" title=":church:" width="20px" /><br> cinema <img align="absmiddle" alt=":cinema:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a6.png" title=":cinema:" width="20px" /><br> circus_tent <img align="absmiddle" alt=":circus_tent:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3aa.png" title=":circus_tent:" width="20px" /><br> city_sunrise <img align="absmiddle" alt=":city_sunrise:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f307.png" title=":city_sunrise:" width="20px" /><br> city_sunset <img align="absmiddle" alt=":city_sunset:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f306.png" title=":city_sunset:" width="20px" /><br> cityscape <img align="absmiddle" alt=":cityscape:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d9.png" title=":cityscape:" width="20px" /><br> cl <img align="absmiddle" alt=":cl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f191.png" title=":cl:" width="20px" /><br> clamp <img align="absmiddle" alt=":clamp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5dc.png" title=":clamp:" width="20px" /><br> clap <img align="absmiddle" alt=":clap:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44f.png" title=":clap:" width="20px" /><br> clapper <img align="absmiddle" alt=":clapper:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ac.png" title=":clapper:" width="20px" /><br> classical_building <img align="absmiddle" alt=":classical_building:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3db.png" title=":classical_building:" width="20px" /><br> climbing <img align="absmiddle" alt=":climbing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d7.png" title=":climbing:" width="20px" /><br> climbing_man <img align="absmiddle" alt=":climbing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d7-2642.png" title=":climbing_man:" width="20px" /><br> climbing_woman <img align="absmiddle" alt=":climbing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d7-2640.png" title=":climbing_woman:" width="20px" /><br> clinking_glasses <img align="absmiddle" alt=":clinking_glasses:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f942.png" title=":clinking_glasses:" width="20px" /><br> clipboard <img align="absmiddle" alt=":clipboard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4cb.png" title=":clipboard:" width="20px" /><br> clipperton_island <img align="absmiddle" alt=":clipperton_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f5.png" title=":clipperton_island:" width="20px" /><br> clock1030 <img align="absmiddle" alt=":clock1030:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f565.png" title=":clock1030:" width="20px" /><br> clock10 <img align="absmiddle" alt=":clock10:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f559.png" title=":clock10:" width="20px" /><br> clock1130 <img align="absmiddle" alt=":clock1130:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f566.png" title=":clock1130:" width="20px" /><br> clock11 <img align="absmiddle" alt=":clock11:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55a.png" title=":clock11:" width="20px" /><br> clock1230 <img align="absmiddle" alt=":clock1230:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f567.png" title=":clock1230:" width="20px" /><br> clock12 <img align="absmiddle" alt=":clock12:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55b.png" title=":clock12:" width="20px" /><br> clock130 <img align="absmiddle" alt=":clock130:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55c.png" title=":clock130:" width="20px" /><br> clock1 <img align="absmiddle" alt=":clock1:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f550.png" title=":clock1:" width="20px" /><br> clock230 <img align="absmiddle" alt=":clock230:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55d.png" title=":clock230:" width="20px" /><br> clock2 <img align="absmiddle" alt=":clock2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f551.png" title=":clock2:" width="20px" /><br> clock330 <img align="absmiddle" alt=":clock330:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55e.png" title=":clock330:" width="20px" /><br> clock3 <img align="absmiddle" alt=":clock3:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f552.png" title=":clock3:" width="20px" /><br> clock430 <img align="absmiddle" alt=":clock430:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f55f.png" title=":clock430:" width="20px" /><br> clock4 <img align="absmiddle" alt=":clock4:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f553.png" title=":clock4:" width="20px" /><br> clock530 <img align="absmiddle" alt=":clock530:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f560.png" title=":clock530:" width="20px" /><br> clock5 <img align="absmiddle" alt=":clock5:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f554.png" title=":clock5:" width="20px" /><br> clock630 <img align="absmiddle" alt=":clock630:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f561.png" title=":clock630:" width="20px" /><br> clock6 <img align="absmiddle" alt=":clock6:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f555.png" title=":clock6:" width="20px" /><br> clock730 <img align="absmiddle" alt=":clock730:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f562.png" title=":clock730:" width="20px" /><br> clock7 <img align="absmiddle" alt=":clock7:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f556.png" title=":clock7:" width="20px" /><br> clock830 <img align="absmiddle" alt=":clock830:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f563.png" title=":clock830:" width="20px" /><br> clock8 <img align="absmiddle" alt=":clock8:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f557.png" title=":clock8:" width="20px" /><br> clock930 <img align="absmiddle" alt=":clock930:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f564.png" title=":clock930:" width="20px" /><br> clock9 <img align="absmiddle" alt=":clock9:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f558.png" title=":clock9:" width="20px" /><br> closed_book <img align="absmiddle" alt=":closed_book:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d5.png" title=":closed_book:" width="20px" /><br> closed_lock_with_key <img align="absmiddle" alt=":closed_lock_with_key:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f510.png" title=":closed_lock_with_key:" width="20px" /><br> closed_umbrella <img align="absmiddle" alt=":closed_umbrella:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f302.png" title=":closed_umbrella:" width="20px" /><br> cloud <img align="absmiddle" alt=":cloud:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2601.png" title=":cloud:" width="20px" /><br> cloud_with_lightning <img align="absmiddle" alt=":cloud_with_lightning:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f329.png" title=":cloud_with_lightning:" width="20px" /><br> cloud_with_lightning_and_rain <img align="absmiddle" alt=":cloud_with_lightning_and_rain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26c8.png" title=":cloud_with_lightning_and_rain:" width="20px" /><br> cloud_with_rain <img align="absmiddle" alt=":cloud_with_rain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f327.png" title=":cloud_with_rain:" width="20px" /><br> cloud_with_snow <img align="absmiddle" alt=":cloud_with_snow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f328.png" title=":cloud_with_snow:" width="20px" /><br> clown_face <img align="absmiddle" alt=":clown_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f921.png" title=":clown_face:" width="20px" /><br> clubs <img align="absmiddle" alt=":clubs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2663.png" title=":clubs:" width="20px" /><br> cn <img align="absmiddle" alt=":cn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f3.png" title=":cn:" width="20px" /><br> coat <img align="absmiddle" alt=":coat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e5.png" title=":coat:" width="20px" /><br> cockroach <img align="absmiddle" alt=":cockroach:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab3.png" title=":cockroach:" width="20px" /><br> cocktail <img align="absmiddle" alt=":cocktail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f378.png" title=":cocktail:" width="20px" /><br> coconut <img align="absmiddle" alt=":coconut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f965.png" title=":coconut:" width="20px" /><br> cocos_islands <img align="absmiddle" alt=":cocos_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1e8.png" title=":cocos_islands:" width="20px" /><br> coffee <img align="absmiddle" alt=":coffee:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2615.png" title=":coffee:" width="20px" /><br> coffin <img align="absmiddle" alt=":coffin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26b0.png" title=":coffin:" width="20px" /><br> coin <img align="absmiddle" alt=":coin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa99.png" title=":coin:" width="20px" /><br> cold_face <img align="absmiddle" alt=":cold_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f976.png" title=":cold_face:" width="20px" /><br> cold_sweat <img align="absmiddle" alt=":cold_sweat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f630.png" title=":cold_sweat:" width="20px" /><br> colombia <img align="absmiddle" alt=":colombia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f4.png" title=":colombia:" width="20px" /><br> comet <img align="absmiddle" alt=":comet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2604.png" title=":comet:" width="20px" /><br> comoros <img align="absmiddle" alt=":comoros:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1f2.png" title=":comoros:" width="20px" /><br> compass <img align="absmiddle" alt=":compass:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ed.png" title=":compass:" width="20px" /><br> computer <img align="absmiddle" alt=":computer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4bb.png" title=":computer:" width="20px" /><br> computer_mouse <img align="absmiddle" alt=":computer_mouse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5b1.png" title=":computer_mouse:" width="20px" /><br> confetti_ball <img align="absmiddle" alt=":confetti_ball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38a.png" title=":confetti_ball:" width="20px" /><br> confounded <img align="absmiddle" alt=":confounded:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f616.png" title=":confounded:" width="20px" /><br> confused <img align="absmiddle" alt=":confused:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f615.png" title=":confused:" width="20px" /><br> congo_brazzaville <img align="absmiddle" alt=":congo_brazzaville:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1ec.png" title=":congo_brazzaville:" width="20px" /><br> congo_kinshasa <img align="absmiddle" alt=":congo_kinshasa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1e9.png" title=":congo_kinshasa:" width="20px" /><br> congratulations <img align="absmiddle" alt=":congratulations:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/3297.png" title=":congratulations:" width="20px" /><br> construction <img align="absmiddle" alt=":construction:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a7.png" title=":construction:" width="20px" /><br> construction_worker <img align="absmiddle" alt=":construction_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f477.png" title=":construction_worker:" width="20px" /><br> construction_worker_man <img align="absmiddle" alt=":construction_worker_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f477-2642.png" title=":construction_worker_man:" width="20px" /><br> construction_worker_woman <img align="absmiddle" alt=":construction_worker_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f477-2640.png" title=":construction_worker_woman:" width="20px" /><br> control_knobs <img align="absmiddle" alt=":control_knobs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f39b.png" title=":control_knobs:" width="20px" /><br> convenience_store <img align="absmiddle" alt=":convenience_store:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ea.png" title=":convenience_store:" width="20px" /><br> cook <img align="absmiddle" alt=":cook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f373.png" title=":cook:" width="20px" /><br> cook_islands <img align="absmiddle" alt=":cook_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f0.png" title=":cook_islands:" width="20px" /><br> cookie <img align="absmiddle" alt=":cookie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36a.png" title=":cookie:" width="20px" /><br> cool <img align="absmiddle" alt=":cool:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f192.png" title=":cool:" width="20px" /><br> copyright <img align="absmiddle" alt=":copyright:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/00a9.png" title=":copyright:" width="20px" /><br> coral <img align="absmiddle" alt=":coral:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab8.png" title=":coral:" width="20px" /><br> corn <img align="absmiddle" alt=":corn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33d.png" title=":corn:" width="20px" /><br> costa_rica <img align="absmiddle" alt=":costa_rica:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f7.png" title=":costa_rica:" width="20px" /><br> cote_divoire <img align="absmiddle" alt=":cote_divoire:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1ee.png" title=":cote_divoire:" width="20px" /><br> couch_and_lamp <img align="absmiddle" alt=":couch_and_lamp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6cb.png" title=":couch_and_lamp:" width="20px" /><br> couple <img align="absmiddle" alt=":couple:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46b.png" title=":couple:" width="20px" /><br> couple_with_heart <img align="absmiddle" alt=":couple_with_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f491.png" title=":couple_with_heart:" width="20px" /><br> couple_with_heart_man_man <img align="absmiddle" alt=":couple_with_heart_man_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-2764-1f468.png" title=":couple_with_heart_man_man:" width="20px" /><br> couple_with_heart_woman_man <img align="absmiddle" alt=":couple_with_heart_woman_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2764-1f468.png" title=":couple_with_heart_woman_man:" width="20px" /><br> couple_with_heart_woman_woman <img align="absmiddle" alt=":couple_with_heart_woman_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2764-1f469.png" title=":couple_with_heart_woman_woman:" width="20px" /><br> couplekiss <img align="absmiddle" alt=":couplekiss:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48f.png" title=":couplekiss:" width="20px" /><br> couplekiss_man_man <img align="absmiddle" alt=":couplekiss_man_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-2764-1f48b-1f468.png" title=":couplekiss_man_man:" width="20px" /><br> couplekiss_man_woman <img align="absmiddle" alt=":couplekiss_man_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2764-1f48b-1f468.png" title=":couplekiss_man_woman:" width="20px" /><br> couplekiss_woman_woman <img align="absmiddle" alt=":couplekiss_woman_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2764-1f48b-1f469.png" title=":couplekiss_woman_woman:" width="20px" /><br> cow2 <img align="absmiddle" alt=":cow2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f404.png" title=":cow2:" width="20px" /><br> cow <img align="absmiddle" alt=":cow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42e.png" title=":cow:" width="20px" /><br> cowboy_hat_face <img align="absmiddle" alt=":cowboy_hat_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f920.png" title=":cowboy_hat_face:" width="20px" /><br> crab <img align="absmiddle" alt=":crab:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f980.png" title=":crab:" width="20px" /><br> crayon <img align="absmiddle" alt=":crayon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f58d.png" title=":crayon:" width="20px" /><br> credit_card <img align="absmiddle" alt=":credit_card:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b3.png" title=":credit_card:" width="20px" /><br> crescent_moon <img align="absmiddle" alt=":crescent_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f319.png" title=":crescent_moon:" width="20px" /><br> cricket <img align="absmiddle" alt=":cricket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f997.png" title=":cricket:" width="20px" /><br> cricket_game <img align="absmiddle" alt=":cricket_game:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cf.png" title=":cricket_game:" width="20px" /><br> croatia <img align="absmiddle" alt=":croatia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1f7.png" title=":croatia:" width="20px" /><br> crocodile <img align="absmiddle" alt=":crocodile:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40a.png" title=":crocodile:" width="20px" /><br> croissant <img align="absmiddle" alt=":croissant:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f950.png" title=":croissant:" width="20px" /><br> crossed_fingers <img align="absmiddle" alt=":crossed_fingers:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91e.png" title=":crossed_fingers:" width="20px" /><br> crossed_flags <img align="absmiddle" alt=":crossed_flags:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38c.png" title=":crossed_flags:" width="20px" /><br> crossed_swords <img align="absmiddle" alt=":crossed_swords:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2694.png" title=":crossed_swords:" width="20px" /><br> crown <img align="absmiddle" alt=":crown:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f451.png" title=":crown:" width="20px" /><br> crutch <img align="absmiddle" alt=":crutch:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa7c.png" title=":crutch:" width="20px" /><br> cry <img align="absmiddle" alt=":cry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f622.png" title=":cry:" width="20px" /><br> crying_cat_face <img align="absmiddle" alt=":crying_cat_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63f.png" title=":crying_cat_face:" width="20px" /><br> crystal_ball <img align="absmiddle" alt=":crystal_ball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52e.png" title=":crystal_ball:" width="20px" /><br> cuba <img align="absmiddle" alt=":cuba:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1fa.png" title=":cuba:" width="20px" /><br> cucumber <img align="absmiddle" alt=":cucumber:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f952.png" title=":cucumber:" width="20px" /><br> cup_with_straw <img align="absmiddle" alt=":cup_with_straw:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f964.png" title=":cup_with_straw:" width="20px" /><br> cupcake <img align="absmiddle" alt=":cupcake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c1.png" title=":cupcake:" width="20px" /><br> cupid <img align="absmiddle" alt=":cupid:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f498.png" title=":cupid:" width="20px" /><br> curacao <img align="absmiddle" alt=":curacao:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1fc.png" title=":curacao:" width="20px" /><br> curling_stone <img align="absmiddle" alt=":curling_stone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94c.png" title=":curling_stone:" width="20px" /><br> curly_haired_man <img align="absmiddle" alt=":curly_haired_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9b1.png" title=":curly_haired_man:" width="20px" /><br> curly_haired_woman <img align="absmiddle" alt=":curly_haired_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9b1.png" title=":curly_haired_woman:" width="20px" /><br> curly_loop <img align="absmiddle" alt=":curly_loop:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/27b0.png" title=":curly_loop:" width="20px" /><br> currency_exchange <img align="absmiddle" alt=":currency_exchange:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b1.png" title=":currency_exchange:" width="20px" /><br> curry <img align="absmiddle" alt=":curry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35b.png" title=":curry:" width="20px" /><br> cursing_face <img align="absmiddle" alt=":cursing_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92c.png" title=":cursing_face:" width="20px" /><br> custard <img align="absmiddle" alt=":custard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36e.png" title=":custard:" width="20px" /><br> customs <img align="absmiddle" alt=":customs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c3.png" title=":customs:" width="20px" /><br> cut_of_meat <img align="absmiddle" alt=":cut_of_meat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f969.png" title=":cut_of_meat:" width="20px" /><br> cyclone <img align="absmiddle" alt=":cyclone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f300.png" title=":cyclone:" width="20px" /><br> cyprus <img align="absmiddle" alt=":cyprus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1fe.png" title=":cyprus:" width="20px" /><br> czech_republic <img align="absmiddle" alt=":czech_republic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1ff.png" title=":czech_republic:" width="20px" /><br> dagger <img align="absmiddle" alt=":dagger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5e1.png" title=":dagger:" width="20px" /><br> dancers <img align="absmiddle" alt=":dancers:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46f.png" title=":dancers:" width="20px" /><br> dancing_men <img align="absmiddle" alt=":dancing_men:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46f-2642.png" title=":dancing_men:" width="20px" /><br> dancing_women <img align="absmiddle" alt=":dancing_women:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46f-2640.png" title=":dancing_women:" width="20px" /><br> dango <img align="absmiddle" alt=":dango:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f361.png" title=":dango:" width="20px" /><br> dark_sunglasses <img align="absmiddle" alt=":dark_sunglasses:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f576.png" title=":dark_sunglasses:" width="20px" /><br> dart <img align="absmiddle" alt=":dart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png" title=":dart:" width="20px" /><br> dash <img align="absmiddle" alt=":dash:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a8.png" title=":dash:" width="20px" /><br> date <img align="absmiddle" alt=":date:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c5.png" title=":date:" width="20px" /><br> de <img align="absmiddle" alt=":de:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1ea.png" title=":de:" width="20px" /><br> deaf_man <img align="absmiddle" alt=":deaf_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cf-2642.png" title=":deaf_man:" width="20px" /><br> deaf_person <img align="absmiddle" alt=":deaf_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cf.png" title=":deaf_person:" width="20px" /><br> deaf_woman <img align="absmiddle" alt=":deaf_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cf-2640.png" title=":deaf_woman:" width="20px" /><br> deciduous_tree <img align="absmiddle" alt=":deciduous_tree:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f333.png" title=":deciduous_tree:" width="20px" /><br> deer <img align="absmiddle" alt=":deer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98c.png" title=":deer:" width="20px" /><br> denmark <img align="absmiddle" alt=":denmark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1f0.png" title=":denmark:" width="20px" /><br> department_store <img align="absmiddle" alt=":department_store:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ec.png" title=":department_store:" width="20px" /><br> derelict_house <img align="absmiddle" alt=":derelict_house:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3da.png" title=":derelict_house:" width="20px" /><br> desert <img align="absmiddle" alt=":desert:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3dc.png" title=":desert:" width="20px" /><br> desert_island <img align="absmiddle" alt=":desert_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3dd.png" title=":desert_island:" width="20px" /><br> desktop_computer <img align="absmiddle" alt=":desktop_computer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5a5.png" title=":desktop_computer:" width="20px" /><br> detective <img align="absmiddle" alt=":detective:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f575.png" title=":detective:" width="20px" /><br> diamond_shape_with_a_dot_inside <img align="absmiddle" alt=":diamond_shape_with_a_dot_inside:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a0.png" title=":diamond_shape_with_a_dot_inside:" width="20px" /><br> diamonds <img align="absmiddle" alt=":diamonds:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2666.png" title=":diamonds:" width="20px" /><br> diego_garcia <img align="absmiddle" alt=":diego_garcia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1ec.png" title=":diego_garcia:" width="20px" /><br> disappointed <img align="absmiddle" alt=":disappointed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61e.png" title=":disappointed:" width="20px" /><br> disappointed_relieved <img align="absmiddle" alt=":disappointed_relieved:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f625.png" title=":disappointed_relieved:" width="20px" /><br> disguised_face <img align="absmiddle" alt=":disguised_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f978.png" title=":disguised_face:" width="20px" /><br> diving_mask <img align="absmiddle" alt=":diving_mask:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93f.png" title=":diving_mask:" width="20px" /><br> diya_lamp <img align="absmiddle" alt=":diya_lamp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa94.png" title=":diya_lamp:" width="20px" /><br> dizzy <img align="absmiddle" alt=":dizzy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ab.png" title=":dizzy:" width="20px" /><br> dizzy_face <img align="absmiddle" alt=":dizzy_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f635.png" title=":dizzy_face:" width="20px" /><br> djibouti <img align="absmiddle" alt=":djibouti:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1ef.png" title=":djibouti:" width="20px" /><br> dna <img align="absmiddle" alt=":dna:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ec.png" title=":dna:" width="20px" /><br> do_not_litter <img align="absmiddle" alt=":do_not_litter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6af.png" title=":do_not_litter:" width="20px" /><br> dodo <img align="absmiddle" alt=":dodo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a4.png" title=":dodo:" width="20px" /><br> dog2 <img align="absmiddle" alt=":dog2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f415.png" title=":dog2:" width="20px" /><br> dog <img align="absmiddle" alt=":dog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f436.png" title=":dog:" width="20px" /><br> dollar <img align="absmiddle" alt=":dollar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b5.png" title=":dollar:" width="20px" /><br> dolls <img align="absmiddle" alt=":dolls:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38e.png" title=":dolls:" width="20px" /><br> dolphin <img align="absmiddle" alt=":dolphin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42c.png" title=":dolphin:" width="20px" /><br> dominica <img align="absmiddle" alt=":dominica:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1f2.png" title=":dominica:" width="20px" /><br> dominican_republic <img align="absmiddle" alt=":dominican_republic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1f4.png" title=":dominican_republic:" width="20px" /><br> donkey <img align="absmiddle" alt=":donkey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1facf.png" title=":donkey:" width="20px" /><br> door <img align="absmiddle" alt=":door:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6aa.png" title=":door:" width="20px" /><br> dotted_line_face <img align="absmiddle" alt=":dotted_line_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae5.png" title=":dotted_line_face:" width="20px" /><br> doughnut <img align="absmiddle" alt=":doughnut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f369.png" title=":doughnut:" width="20px" /><br> dove <img align="absmiddle" alt=":dove:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f54a.png" title=":dove:" width="20px" /><br> dragon <img align="absmiddle" alt=":dragon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f409.png" title=":dragon:" width="20px" /><br> dragon_face <img align="absmiddle" alt=":dragon_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f432.png" title=":dragon_face:" width="20px" /><br> dress <img align="absmiddle" alt=":dress:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f457.png" title=":dress:" width="20px" /><br> dromedary_camel <img align="absmiddle" alt=":dromedary_camel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42a.png" title=":dromedary_camel:" width="20px" /><br> drooling_face <img align="absmiddle" alt=":drooling_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f924.png" title=":drooling_face:" width="20px" /><br> drop_of_blood <img align="absmiddle" alt=":drop_of_blood:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa78.png" title=":drop_of_blood:" width="20px" /><br> droplet <img align="absmiddle" alt=":droplet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a7.png" title=":droplet:" width="20px" /><br> drum <img align="absmiddle" alt=":drum:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f941.png" title=":drum:" width="20px" /><br> duck <img align="absmiddle" alt=":duck:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f986.png" title=":duck:" width="20px" /><br> dumpling <img align="absmiddle" alt=":dumpling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95f.png" title=":dumpling:" width="20px" /><br> dvd <img align="absmiddle" alt=":dvd:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c0.png" title=":dvd:" width="20px" /><br> eagle <img align="absmiddle" alt=":eagle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f985.png" title=":eagle:" width="20px" /><br> ear <img align="absmiddle" alt=":ear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f442.png" title=":ear:" width="20px" /><br> ear_of_rice <img align="absmiddle" alt=":ear_of_rice:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33e.png" title=":ear_of_rice:" width="20px" /><br> ear_with_hearing_aid <img align="absmiddle" alt=":ear_with_hearing_aid:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9bb.png" title=":ear_with_hearing_aid:" width="20px" /><br> earth_africa <img align="absmiddle" alt=":earth_africa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30d.png" title=":earth_africa:" width="20px" /><br> earth_americas <img align="absmiddle" alt=":earth_americas:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30e.png" title=":earth_americas:" width="20px" /><br> earth_asia <img align="absmiddle" alt=":earth_asia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30f.png" title=":earth_asia:" width="20px" /><br> ecuador <img align="absmiddle" alt=":ecuador:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1e8.png" title=":ecuador:" width="20px" /><br> egg <img align="absmiddle" alt=":egg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95a.png" title=":egg:" width="20px" /><br> eggplant <img align="absmiddle" alt=":eggplant:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f346.png" title=":eggplant:" width="20px" /><br> egypt <img align="absmiddle" alt=":egypt:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1ec.png" title=":egypt:" width="20px" /><br> eight <img align="absmiddle" alt=":eight:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0038-20e3.png" title=":eight:" width="20px" /><br> eight_pointed_black_star <img align="absmiddle" alt=":eight_pointed_black_star:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2734.png" title=":eight_pointed_black_star:" width="20px" /><br> eight_spoked_asterisk <img align="absmiddle" alt=":eight_spoked_asterisk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2733.png" title=":eight_spoked_asterisk:" width="20px" /><br> eject_button <img align="absmiddle" alt=":eject_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23cf.png" title=":eject_button:" width="20px" /><br> el_salvador <img align="absmiddle" alt=":el_salvador:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1fb.png" title=":el_salvador:" width="20px" /><br> electric_plug <img align="absmiddle" alt=":electric_plug:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50c.png" title=":electric_plug:" width="20px" /><br> elephant <img align="absmiddle" alt=":elephant:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f418.png" title=":elephant:" width="20px" /><br> elevator <img align="absmiddle" alt=":elevator:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d7.png" title=":elevator:" width="20px" /><br> elf <img align="absmiddle" alt=":elf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dd.png" title=":elf:" width="20px" /><br> elf_man <img align="absmiddle" alt=":elf_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dd-2642.png" title=":elf_man:" width="20px" /><br> elf_woman <img align="absmiddle" alt=":elf_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dd-2640.png" title=":elf_woman:" width="20px" /><br> email <img align="absmiddle" alt=":email:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e7.png" title=":email:" width="20px" /><br> empty_nest <img align="absmiddle" alt=":empty_nest:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab9.png" title=":empty_nest:" width="20px" /><br> end <img align="absmiddle" alt=":end:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51a.png" title=":end:" width="20px" /><br> england <img align="absmiddle" alt=":england:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png" title=":england:" width="20px" /><br> envelope <img align="absmiddle" alt=":envelope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2709.png" title=":envelope:" width="20px" /><br> envelope_with_arrow <img align="absmiddle" alt=":envelope_with_arrow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e9.png" title=":envelope_with_arrow:" width="20px" /><br> equatorial_guinea <img align="absmiddle" alt=":equatorial_guinea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f6.png" title=":equatorial_guinea:" width="20px" /><br> eritrea <img align="absmiddle" alt=":eritrea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1f7.png" title=":eritrea:" width="20px" /><br> es <img align="absmiddle" alt=":es:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1f8.png" title=":es:" width="20px" /><br> estonia <img align="absmiddle" alt=":estonia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1ea.png" title=":estonia:" width="20px" /><br> ethiopia <img align="absmiddle" alt=":ethiopia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1f9.png" title=":ethiopia:" width="20px" /><br> eu <img align="absmiddle" alt=":eu:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1fa.png" title=":eu:" width="20px" /><br> euro <img align="absmiddle" alt=":euro:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b6.png" title=":euro:" width="20px" /><br> european_castle <img align="absmiddle" alt=":european_castle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f0.png" title=":european_castle:" width="20px" /><br> european_post_office <img align="absmiddle" alt=":european_post_office:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e4.png" title=":european_post_office:" width="20px" /><br> evergreen_tree <img align="absmiddle" alt=":evergreen_tree:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f332.png" title=":evergreen_tree:" width="20px" /><br> exclamation <img align="absmiddle" alt=":exclamation:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2757.png" title=":exclamation:" width="20px" /><br> exploding_head <img align="absmiddle" alt=":exploding_head:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92f.png" title=":exploding_head:" width="20px" /><br> expressionless <img align="absmiddle" alt=":expressionless:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f611.png" title=":expressionless:" width="20px" /><br> eye <img align="absmiddle" alt=":eye:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f441.png" title=":eye:" width="20px" /><br> eye_speech_bubble <img align="absmiddle" alt=":eye_speech_bubble:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f441-1f5e8.png" title=":eye_speech_bubble:" width="20px" /><br> eyeglasses <img align="absmiddle" alt=":eyeglasses:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f453.png" title=":eyeglasses:" width="20px" /><br> eyes <img align="absmiddle" alt=":eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f440.png" title=":eyes:" width="20px" /><br> face_exhaling <img align="absmiddle" alt=":face_exhaling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62e-1f4a8.png" title=":face_exhaling:" width="20px" /><br> face_holding_back_tears <img align="absmiddle" alt=":face_holding_back_tears:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f979.png" title=":face_holding_back_tears:" width="20px" /><br> face_in_clouds <img align="absmiddle" alt=":face_in_clouds:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f636-1f32b.png" title=":face_in_clouds:" width="20px" /><br> face_with_diagonal_mouth <img align="absmiddle" alt=":face_with_diagonal_mouth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae4.png" title=":face_with_diagonal_mouth:" width="20px" /><br> face_with_head_bandage <img align="absmiddle" alt=":face_with_head_bandage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f915.png" title=":face_with_head_bandage:" width="20px" /><br> face_with_open_eyes_and_hand_over_mouth <img align="absmiddle" alt=":face_with_open_eyes_and_hand_over_mouth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae2.png" title=":face_with_open_eyes_and_hand_over_mouth:" width="20px" /><br> face_with_peeking_eye <img align="absmiddle" alt=":face_with_peeking_eye:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae3.png" title=":face_with_peeking_eye:" width="20px" /><br> face_with_spiral_eyes <img align="absmiddle" alt=":face_with_spiral_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f635-1f4ab.png" title=":face_with_spiral_eyes:" width="20px" /><br> face_with_thermometer <img align="absmiddle" alt=":face_with_thermometer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png" title=":face_with_thermometer:" width="20px" /><br> facepalm <img align="absmiddle" alt=":facepalm:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f926.png" title=":facepalm:" width="20px" /><br> factory <img align="absmiddle" alt=":factory:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ed.png" title=":factory:" width="20px" /><br> factory_worker <img align="absmiddle" alt=":factory_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f3ed.png" title=":factory_worker:" width="20px" /><br> fairy <img align="absmiddle" alt=":fairy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9da.png" title=":fairy:" width="20px" /><br> fairy_man <img align="absmiddle" alt=":fairy_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9da-2642.png" title=":fairy_man:" width="20px" /><br> fairy_woman <img align="absmiddle" alt=":fairy_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9da-2640.png" title=":fairy_woman:" width="20px" /><br> falafel <img align="absmiddle" alt=":falafel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c6.png" title=":falafel:" width="20px" /><br> falkland_islands <img align="absmiddle" alt=":falkland_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1f0.png" title=":falkland_islands:" width="20px" /><br> fallen_leaf <img align="absmiddle" alt=":fallen_leaf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f342.png" title=":fallen_leaf:" width="20px" /><br> family <img align="absmiddle" alt=":family:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46a.png" title=":family:" width="20px" /><br> family_man_boy <img align="absmiddle" alt=":family_man_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f466.png" title=":family_man_boy:" width="20px" /><br> family_man_boy_boy <img align="absmiddle" alt=":family_man_boy_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f466-1f466.png" title=":family_man_boy_boy:" width="20px" /><br> family_man_girl <img align="absmiddle" alt=":family_man_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f467.png" title=":family_man_girl:" width="20px" /><br> family_man_girl_boy <img align="absmiddle" alt=":family_man_girl_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f467-1f466.png" title=":family_man_girl_boy:" width="20px" /><br> family_man_girl_girl <img align="absmiddle" alt=":family_man_girl_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f467-1f467.png" title=":family_man_girl_girl:" width="20px" /><br> family_man_man_boy <img align="absmiddle" alt=":family_man_man_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f468-1f466.png" title=":family_man_man_boy:" width="20px" /><br> family_man_man_boy_boy <img align="absmiddle" alt=":family_man_man_boy_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f468-1f466-1f466.png" title=":family_man_man_boy_boy:" width="20px" /><br> family_man_man_girl <img align="absmiddle" alt=":family_man_man_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f468-1f467.png" title=":family_man_man_girl:" width="20px" /><br> family_man_man_girl_boy <img align="absmiddle" alt=":family_man_man_girl_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f468-1f467-1f466.png" title=":family_man_man_girl_boy:" width="20px" /><br> family_man_man_girl_girl <img align="absmiddle" alt=":family_man_man_girl_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f468-1f467-1f467.png" title=":family_man_man_girl_girl:" width="20px" /><br> family_man_woman_boy <img align="absmiddle" alt=":family_man_woman_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f469-1f466.png" title=":family_man_woman_boy:" width="20px" /><br> family_man_woman_boy_boy <img align="absmiddle" alt=":family_man_woman_boy_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f469-1f466-1f466.png" title=":family_man_woman_boy_boy:" width="20px" /><br> family_man_woman_girl <img align="absmiddle" alt=":family_man_woman_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f469-1f467.png" title=":family_man_woman_girl:" width="20px" /><br> family_man_woman_girl_boy <img align="absmiddle" alt=":family_man_woman_girl_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f469-1f467-1f466.png" title=":family_man_woman_girl_boy:" width="20px" /><br> family_man_woman_girl_girl <img align="absmiddle" alt=":family_man_woman_girl_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f469-1f467-1f467.png" title=":family_man_woman_girl_girl:" width="20px" /><br> family_woman_boy <img align="absmiddle" alt=":family_woman_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f466.png" title=":family_woman_boy:" width="20px" /><br> family_woman_boy_boy <img align="absmiddle" alt=":family_woman_boy_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f466-1f466.png" title=":family_woman_boy_boy:" width="20px" /><br> family_woman_girl <img align="absmiddle" alt=":family_woman_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f467.png" title=":family_woman_girl:" width="20px" /><br> family_woman_girl_boy <img align="absmiddle" alt=":family_woman_girl_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f467-1f466.png" title=":family_woman_girl_boy:" width="20px" /><br> family_woman_girl_girl <img align="absmiddle" alt=":family_woman_girl_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f467-1f467.png" title=":family_woman_girl_girl:" width="20px" /><br> family_woman_woman_boy <img align="absmiddle" alt=":family_woman_woman_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f469-1f466.png" title=":family_woman_woman_boy:" width="20px" /><br> family_woman_woman_boy_boy <img align="absmiddle" alt=":family_woman_woman_boy_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f469-1f466-1f466.png" title=":family_woman_woman_boy_boy:" width="20px" /><br> family_woman_woman_girl <img align="absmiddle" alt=":family_woman_woman_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f469-1f467.png" title=":family_woman_woman_girl:" width="20px" /><br> family_woman_woman_girl_boy <img align="absmiddle" alt=":family_woman_woman_girl_boy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f469-1f467-1f466.png" title=":family_woman_woman_girl_boy:" width="20px" /><br> family_woman_woman_girl_girl <img align="absmiddle" alt=":family_woman_woman_girl_girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f469-1f467-1f467.png" title=":family_woman_woman_girl_girl:" width="20px" /><br> farmer <img align="absmiddle" alt=":farmer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f33e.png" title=":farmer:" width="20px" /><br> faroe_islands <img align="absmiddle" alt=":faroe_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1f4.png" title=":faroe_islands:" width="20px" /><br> fast_forward <img align="absmiddle" alt=":fast_forward:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23e9.png" title=":fast_forward:" width="20px" /><br> fax <img align="absmiddle" alt=":fax:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e0.png" title=":fax:" width="20px" /><br> fearful <img align="absmiddle" alt=":fearful:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f628.png" title=":fearful:" width="20px" /><br> feather <img align="absmiddle" alt=":feather:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab6.png" title=":feather:" width="20px" /><br> feet <img align="absmiddle" alt=":feet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43e.png" title=":feet:" width="20px" /><br> female_detective <img align="absmiddle" alt=":female_detective:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f575-2640.png" title=":female_detective:" width="20px" /><br> female_sign <img align="absmiddle" alt=":female_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2640.png" title=":female_sign:" width="20px" /><br> ferris_wheel <img align="absmiddle" alt=":ferris_wheel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a1.png" title=":ferris_wheel:" width="20px" /><br> ferry <img align="absmiddle" alt=":ferry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f4.png" title=":ferry:" width="20px" /><br> field_hockey <img align="absmiddle" alt=":field_hockey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d1.png" title=":field_hockey:" width="20px" /><br> fiji <img align="absmiddle" alt=":fiji:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1ef.png" title=":fiji:" width="20px" /><br> file_cabinet <img align="absmiddle" alt=":file_cabinet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5c4.png" title=":file_cabinet:" width="20px" /><br> file_folder <img align="absmiddle" alt=":file_folder:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c1.png" title=":file_folder:" width="20px" /><br> film_projector <img align="absmiddle" alt=":film_projector:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4fd.png" title=":film_projector:" width="20px" /><br> film_strip <img align="absmiddle" alt=":film_strip:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f39e.png" title=":film_strip:" width="20px" /><br> finland <img align="absmiddle" alt=":finland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1ee.png" title=":finland:" width="20px" /><br> fire <img align="absmiddle" alt=":fire:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f525.png" title=":fire:" width="20px" /><br> fire_engine <img align="absmiddle" alt=":fire_engine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f692.png" title=":fire_engine:" width="20px" /><br> fire_extinguisher <img align="absmiddle" alt=":fire_extinguisher:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ef.png" title=":fire_extinguisher:" width="20px" /><br> firecracker <img align="absmiddle" alt=":firecracker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e8.png" title=":firecracker:" width="20px" /><br> firefighter <img align="absmiddle" alt=":firefighter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f692.png" title=":firefighter:" width="20px" /><br> fireworks <img align="absmiddle" alt=":fireworks:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f386.png" title=":fireworks:" width="20px" /><br> first_quarter_moon <img align="absmiddle" alt=":first_quarter_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f313.png" title=":first_quarter_moon:" width="20px" /><br> first_quarter_moon_with_face <img align="absmiddle" alt=":first_quarter_moon_with_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31b.png" title=":first_quarter_moon_with_face:" width="20px" /><br> fish <img align="absmiddle" alt=":fish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41f.png" title=":fish:" width="20px" /><br> fish_cake <img align="absmiddle" alt=":fish_cake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f365.png" title=":fish_cake:" width="20px" /><br> fishing_pole_and_fish <img align="absmiddle" alt=":fishing_pole_and_fish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a3.png" title=":fishing_pole_and_fish:" width="20px" /><br> fist_left <img align="absmiddle" alt=":fist_left:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91b.png" title=":fist_left:" width="20px" /><br> fist_oncoming <img align="absmiddle" alt=":fist_oncoming:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44a.png" title=":fist_oncoming:" width="20px" /><br> fist_raised <img align="absmiddle" alt=":fist_raised:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/270a.png" title=":fist_raised:" width="20px" /><br> fist_right <img align="absmiddle" alt=":fist_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91c.png" title=":fist_right:" width="20px" /><br> five <img align="absmiddle" alt=":five:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0035-20e3.png" title=":five:" width="20px" /><br> flags <img align="absmiddle" alt=":flags:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38f.png" title=":flags:" width="20px" /><br> flamingo <img align="absmiddle" alt=":flamingo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a9.png" title=":flamingo:" width="20px" /><br> flashlight <img align="absmiddle" alt=":flashlight:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f526.png" title=":flashlight:" width="20px" /><br> flat_shoe <img align="absmiddle" alt=":flat_shoe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97f.png" title=":flat_shoe:" width="20px" /><br> flatbread <img align="absmiddle" alt=":flatbread:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad3.png" title=":flatbread:" width="20px" /><br> fleur_de_lis <img align="absmiddle" alt=":fleur_de_lis:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/269c.png" title=":fleur_de_lis:" width="20px" /><br> flight_arrival <img align="absmiddle" alt=":flight_arrival:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ec.png" title=":flight_arrival:" width="20px" /><br> flight_departure <img align="absmiddle" alt=":flight_departure:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6eb.png" title=":flight_departure:" width="20px" /><br> floppy_disk <img align="absmiddle" alt=":floppy_disk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4be.png" title=":floppy_disk:" width="20px" /><br> flower_playing_cards <img align="absmiddle" alt=":flower_playing_cards:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b4.png" title=":flower_playing_cards:" width="20px" /><br> flushed <img align="absmiddle" alt=":flushed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f633.png" title=":flushed:" width="20px" /><br> flute <img align="absmiddle" alt=":flute:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa88.png" title=":flute:" width="20px" /><br> fly <img align="absmiddle" alt=":fly:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab0.png" title=":fly:" width="20px" /><br> flying_disc <img align="absmiddle" alt=":flying_disc:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94f.png" title=":flying_disc:" width="20px" /><br> flying_saucer <img align="absmiddle" alt=":flying_saucer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f8.png" title=":flying_saucer:" width="20px" /><br> fog <img align="absmiddle" alt=":fog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32b.png" title=":fog:" width="20px" /><br> foggy <img align="absmiddle" alt=":foggy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f301.png" title=":foggy:" width="20px" /><br> folding_hand_fan <img align="absmiddle" alt=":folding_hand_fan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faad.png" title=":folding_hand_fan:" width="20px" /><br> fondue <img align="absmiddle" alt=":fondue:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad5.png" title=":fondue:" width="20px" /><br> foot <img align="absmiddle" alt=":foot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b6.png" title=":foot:" width="20px" /><br> football <img align="absmiddle" alt=":football:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c8.png" title=":football:" width="20px" /><br> footprints <img align="absmiddle" alt=":footprints:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f463.png" title=":footprints:" width="20px" /><br> fork_and_knife <img align="absmiddle" alt=":fork_and_knife:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f374.png" title=":fork_and_knife:" width="20px" /><br> fortune_cookie <img align="absmiddle" alt=":fortune_cookie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f960.png" title=":fortune_cookie:" width="20px" /><br> fountain <img align="absmiddle" alt=":fountain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f2.png" title=":fountain:" width="20px" /><br> fountain_pen <img align="absmiddle" alt=":fountain_pen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f58b.png" title=":fountain_pen:" width="20px" /><br> four <img align="absmiddle" alt=":four:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0034-20e3.png" title=":four:" width="20px" /><br> four_leaf_clover <img align="absmiddle" alt=":four_leaf_clover:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f340.png" title=":four_leaf_clover:" width="20px" /><br> fox_face <img align="absmiddle" alt=":fox_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98a.png" title=":fox_face:" width="20px" /><br> fr <img align="absmiddle" alt=":fr:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1f7.png" title=":fr:" width="20px" /><br> framed_picture <img align="absmiddle" alt=":framed_picture:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5bc.png" title=":framed_picture:" width="20px" /><br> free <img align="absmiddle" alt=":free:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f193.png" title=":free:" width="20px" /><br> french_guiana <img align="absmiddle" alt=":french_guiana:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1eb.png" title=":french_guiana:" width="20px" /><br> french_polynesia <img align="absmiddle" alt=":french_polynesia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1eb.png" title=":french_polynesia:" width="20px" /><br> french_southern_territories <img align="absmiddle" alt=":french_southern_territories:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1eb.png" title=":french_southern_territories:" width="20px" /><br> fried_egg <img align="absmiddle" alt=":fried_egg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f373.png" title=":fried_egg:" width="20px" /><br> fried_shrimp <img align="absmiddle" alt=":fried_shrimp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f364.png" title=":fried_shrimp:" width="20px" /><br> fries <img align="absmiddle" alt=":fries:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35f.png" title=":fries:" width="20px" /><br> frog <img align="absmiddle" alt=":frog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f438.png" title=":frog:" width="20px" /><br> frowning <img align="absmiddle" alt=":frowning:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f626.png" title=":frowning:" width="20px" /><br> frowning_face <img align="absmiddle" alt=":frowning_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2639.png" title=":frowning_face:" width="20px" /><br> frowning_man <img align="absmiddle" alt=":frowning_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64d-2642.png" title=":frowning_man:" width="20px" /><br> frowning_person <img align="absmiddle" alt=":frowning_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64d.png" title=":frowning_person:" width="20px" /><br> frowning_woman <img align="absmiddle" alt=":frowning_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64d-2640.png" title=":frowning_woman:" width="20px" /><br> fuelpump <img align="absmiddle" alt=":fuelpump:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26fd.png" title=":fuelpump:" width="20px" /><br> full_moon <img align="absmiddle" alt=":full_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f315.png" title=":full_moon:" width="20px" /><br> full_moon_with_face <img align="absmiddle" alt=":full_moon_with_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31d.png" title=":full_moon_with_face:" width="20px" /><br> funeral_urn <img align="absmiddle" alt=":funeral_urn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26b1.png" title=":funeral_urn:" width="20px" /><br> gabon <img align="absmiddle" alt=":gabon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1e6.png" title=":gabon:" width="20px" /><br> gambia <img align="absmiddle" alt=":gambia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f2.png" title=":gambia:" width="20px" /><br> game_die <img align="absmiddle" alt=":game_die:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b2.png" title=":game_die:" width="20px" /><br> garlic <img align="absmiddle" alt=":garlic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c4.png" title=":garlic:" width="20px" /><br> gb <img align="absmiddle" alt=":gb:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1e7.png" title=":gb:" width="20px" /><br> gear <img align="absmiddle" alt=":gear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2699.png" title=":gear:" width="20px" /><br> gem <img align="absmiddle" alt=":gem:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48e.png" title=":gem:" width="20px" /><br> gemini <img align="absmiddle" alt=":gemini:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264a.png" title=":gemini:" width="20px" /><br> genie <img align="absmiddle" alt=":genie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9de.png" title=":genie:" width="20px" /><br> genie_man <img align="absmiddle" alt=":genie_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9de-2642.png" title=":genie_man:" width="20px" /><br> genie_woman <img align="absmiddle" alt=":genie_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9de-2640.png" title=":genie_woman:" width="20px" /><br> georgia <img align="absmiddle" alt=":georgia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1ea.png" title=":georgia:" width="20px" /><br> ghana <img align="absmiddle" alt=":ghana:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1ed.png" title=":ghana:" width="20px" /><br> ghost <img align="absmiddle" alt=":ghost:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47b.png" title=":ghost:" width="20px" /><br> gibraltar <img align="absmiddle" alt=":gibraltar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1ee.png" title=":gibraltar:" width="20px" /><br> gift <img align="absmiddle" alt=":gift:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f381.png" title=":gift:" width="20px" /><br> gift_heart <img align="absmiddle" alt=":gift_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49d.png" title=":gift_heart:" width="20px" /><br> ginger_root <img align="absmiddle" alt=":ginger_root:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fada.png" title=":ginger_root:" width="20px" /><br> giraffe <img align="absmiddle" alt=":giraffe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f992.png" title=":giraffe:" width="20px" /><br> girl <img align="absmiddle" alt=":girl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f467.png" title=":girl:" width="20px" /><br> globe_with_meridians <img align="absmiddle" alt=":globe_with_meridians:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f310.png" title=":globe_with_meridians:" width="20px" /><br> gloves <img align="absmiddle" alt=":gloves:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e4.png" title=":gloves:" width="20px" /><br> goal_net <img align="absmiddle" alt=":goal_net:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f945.png" title=":goal_net:" width="20px" /><br> goat <img align="absmiddle" alt=":goat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f410.png" title=":goat:" width="20px" /><br> goggles <img align="absmiddle" alt=":goggles:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97d.png" title=":goggles:" width="20px" /><br> golf <img align="absmiddle" alt=":golf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f3.png" title=":golf:" width="20px" /><br> golfing <img align="absmiddle" alt=":golfing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cc.png" title=":golfing:" width="20px" /><br> golfing_man <img align="absmiddle" alt=":golfing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cc-2642.png" title=":golfing_man:" width="20px" /><br> golfing_woman <img align="absmiddle" alt=":golfing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cc-2640.png" title=":golfing_woman:" width="20px" /><br> goose <img align="absmiddle" alt=":goose:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fabf.png" title=":goose:" width="20px" /><br> gorilla <img align="absmiddle" alt=":gorilla:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98d.png" title=":gorilla:" width="20px" /><br> grapes <img align="absmiddle" alt=":grapes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f347.png" title=":grapes:" width="20px" /><br> greece <img align="absmiddle" alt=":greece:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f7.png" title=":greece:" width="20px" /><br> green_apple <img align="absmiddle" alt=":green_apple:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34f.png" title=":green_apple:" width="20px" /><br> green_book <img align="absmiddle" alt=":green_book:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d7.png" title=":green_book:" width="20px" /><br> green_circle <img align="absmiddle" alt=":green_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e2.png" title=":green_circle:" width="20px" /><br> green_heart <img align="absmiddle" alt=":green_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49a.png" title=":green_heart:" width="20px" /><br> green_salad <img align="absmiddle" alt=":green_salad:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f957.png" title=":green_salad:" width="20px" /><br> green_square <img align="absmiddle" alt=":green_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e9.png" title=":green_square:" width="20px" /><br> greenland <img align="absmiddle" alt=":greenland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f1.png" title=":greenland:" width="20px" /><br> grenada <img align="absmiddle" alt=":grenada:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1e9.png" title=":grenada:" width="20px" /><br> grey_exclamation <img align="absmiddle" alt=":grey_exclamation:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2755.png" title=":grey_exclamation:" width="20px" /><br> grey_heart <img align="absmiddle" alt=":grey_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa76.png" title=":grey_heart:" width="20px" /><br> grey_question <img align="absmiddle" alt=":grey_question:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2754.png" title=":grey_question:" width="20px" /><br> grimacing <img align="absmiddle" alt=":grimacing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62c.png" title=":grimacing:" width="20px" /><br> grin <img align="absmiddle" alt=":grin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f601.png" title=":grin:" width="20px" /><br> grinning <img align="absmiddle" alt=":grinning:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f600.png" title=":grinning:" width="20px" /><br> guadeloupe <img align="absmiddle" alt=":guadeloupe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f5.png" title=":guadeloupe:" width="20px" /><br> guam <img align="absmiddle" alt=":guam:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1fa.png" title=":guam:" width="20px" /><br> guard <img align="absmiddle" alt=":guard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f482.png" title=":guard:" width="20px" /><br> guardsman <img align="absmiddle" alt=":guardsman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f482-2642.png" title=":guardsman:" width="20px" /><br> guardswoman <img align="absmiddle" alt=":guardswoman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f482-2640.png" title=":guardswoman:" width="20px" /><br> guatemala <img align="absmiddle" alt=":guatemala:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f9.png" title=":guatemala:" width="20px" /><br> guernsey <img align="absmiddle" alt=":guernsey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1ec.png" title=":guernsey:" width="20px" /><br> guide_dog <img align="absmiddle" alt=":guide_dog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ae.png" title=":guide_dog:" width="20px" /><br> guinea <img align="absmiddle" alt=":guinea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f3.png" title=":guinea:" width="20px" /><br> guinea_bissau <img align="absmiddle" alt=":guinea_bissau:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1fc.png" title=":guinea_bissau:" width="20px" /><br> guitar <img align="absmiddle" alt=":guitar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b8.png" title=":guitar:" width="20px" /><br> gun <img align="absmiddle" alt=":gun:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52b.png" title=":gun:" width="20px" /><br> guyana <img align="absmiddle" alt=":guyana:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1fe.png" title=":guyana:" width="20px" /><br> hair_pick <img align="absmiddle" alt=":hair_pick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faae.png" title=":hair_pick:" width="20px" /><br> haircut <img align="absmiddle" alt=":haircut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f487.png" title=":haircut:" width="20px" /><br> haircut_man <img align="absmiddle" alt=":haircut_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f487-2642.png" title=":haircut_man:" width="20px" /><br> haircut_woman <img align="absmiddle" alt=":haircut_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f487-2640.png" title=":haircut_woman:" width="20px" /><br> haiti <img align="absmiddle" alt=":haiti:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1f9.png" title=":haiti:" width="20px" /><br> hamburger <img align="absmiddle" alt=":hamburger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f354.png" title=":hamburger:" width="20px" /><br> hammer <img align="absmiddle" alt=":hammer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f528.png" title=":hammer:" width="20px" /><br> hammer_and_pick <img align="absmiddle" alt=":hammer_and_pick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2692.png" title=":hammer_and_pick:" width="20px" /><br> hammer_and_wrench <img align="absmiddle" alt=":hammer_and_wrench:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e0.png" title=":hammer_and_wrench:" width="20px" /><br> hamsa <img align="absmiddle" alt=":hamsa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faac.png" title=":hamsa:" width="20px" /><br> hamster <img align="absmiddle" alt=":hamster:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f439.png" title=":hamster:" width="20px" /><br> hand <img align="absmiddle" alt=":hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/270b.png" title=":hand:" width="20px" /><br> hand_over_mouth <img align="absmiddle" alt=":hand_over_mouth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92d.png" title=":hand_over_mouth:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf0.png" title=":hand_with_index_finger_and_thumb_crossed:" width="20px" /><br> handbag <img align="absmiddle" alt=":handbag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45c.png" title=":handbag:" width="20px" /><br> handball_person <img align="absmiddle" alt=":handball_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93e.png" title=":handball_person:" width="20px" /><br> handshake <img align="absmiddle" alt=":handshake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91d.png" title=":handshake:" width="20px" /><br> hankey <img align="absmiddle" alt=":hankey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a9.png" title=":hankey:" width="20px" /><br> hash <img align="absmiddle" alt=":hash:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0023-20e3.png" title=":hash:" width="20px" /><br> hatched_chick <img align="absmiddle" alt=":hatched_chick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f425.png" title=":hatched_chick:" width="20px" /><br> hatching_chick <img align="absmiddle" alt=":hatching_chick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f423.png" title=":hatching_chick:" width="20px" /><br> headphones <img align="absmiddle" alt=":headphones:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a7.png" title=":headphones:" width="20px" /><br> headstone <img align="absmiddle" alt=":headstone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa6.png" title=":headstone:" width="20px" /><br> health_worker <img align="absmiddle" alt=":health_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-2695.png" title=":health_worker:" width="20px" /><br> hear_no_evil <img align="absmiddle" alt=":hear_no_evil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f649.png" title=":hear_no_evil:" width="20px" /><br> heard_mcdonald_islands <img align="absmiddle" alt=":heard_mcdonald_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1f2.png" title=":heard_mcdonald_islands:" width="20px" /><br> heart <img align="absmiddle" alt=":heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2764.png" title=":heart:" width="20px" /><br> heart_decoration <img align="absmiddle" alt=":heart_decoration:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49f.png" title=":heart_decoration:" width="20px" /><br> heart_eyes <img align="absmiddle" alt=":heart_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60d.png" title=":heart_eyes:" width="20px" /><br> heart_eyes_cat <img align="absmiddle" alt=":heart_eyes_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63b.png" title=":heart_eyes_cat:" width="20px" /><br> heart_hands <img align="absmiddle" alt=":heart_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf6.png" title=":heart_hands:" width="20px" /><br> heart_on_fire <img align="absmiddle" alt=":heart_on_fire:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2764-1f525.png" title=":heart_on_fire:" width="20px" /><br> heartbeat <img align="absmiddle" alt=":heartbeat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f493.png" title=":heartbeat:" width="20px" /><br> heartpulse <img align="absmiddle" alt=":heartpulse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f497.png" title=":heartpulse:" width="20px" /><br> hearts <img align="absmiddle" alt=":hearts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2665.png" title=":hearts:" width="20px" /><br> heavy_check_mark <img align="absmiddle" alt=":heavy_check_mark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2714.png" title=":heavy_check_mark:" width="20px" /><br> heavy_division_sign <img align="absmiddle" alt=":heavy_division_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2797.png" title=":heavy_division_sign:" width="20px" /><br> heavy_dollar_sign <img align="absmiddle" alt=":heavy_dollar_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b2.png" title=":heavy_dollar_sign:" width="20px" /><br> heavy_equals_sign <img align="absmiddle" alt=":heavy_equals_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7f0.png" title=":heavy_equals_sign:" width="20px" /><br> heavy_heart_exclamation <img align="absmiddle" alt=":heavy_heart_exclamation:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2763.png" title=":heavy_heart_exclamation:" width="20px" /><br> heavy_minus_sign <img align="absmiddle" alt=":heavy_minus_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2796.png" title=":heavy_minus_sign:" width="20px" /><br> heavy_multiplication_x <img align="absmiddle" alt=":heavy_multiplication_x:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2716.png" title=":heavy_multiplication_x:" width="20px" /><br> heavy_plus_sign <img align="absmiddle" alt=":heavy_plus_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2795.png" title=":heavy_plus_sign:" width="20px" /><br> hedgehog <img align="absmiddle" alt=":hedgehog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f994.png" title=":hedgehog:" width="20px" /><br> helicopter <img align="absmiddle" alt=":helicopter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f681.png" title=":helicopter:" width="20px" /><br> herb <img align="absmiddle" alt=":herb:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33f.png" title=":herb:" width="20px" /><br> hibiscus <img align="absmiddle" alt=":hibiscus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33a.png" title=":hibiscus:" width="20px" /><br> high_brightness <img align="absmiddle" alt=":high_brightness:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f506.png" title=":high_brightness:" width="20px" /><br> high_heel <img align="absmiddle" alt=":high_heel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f460.png" title=":high_heel:" width="20px" /><br> hiking_boot <img align="absmiddle" alt=":hiking_boot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97e.png" title=":hiking_boot:" width="20px" /><br> hindu_temple <img align="absmiddle" alt=":hindu_temple:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d5.png" title=":hindu_temple:" width="20px" /><br> hippopotamus <img align="absmiddle" alt=":hippopotamus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99b.png" title=":hippopotamus:" width="20px" /><br> hocho <img align="absmiddle" alt=":hocho:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52a.png" title=":hocho:" width="20px" /><br> hole <img align="absmiddle" alt=":hole:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f573.png" title=":hole:" width="20px" /><br> honduras <img align="absmiddle" alt=":honduras:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1f3.png" title=":honduras:" width="20px" /><br> honey_pot <img align="absmiddle" alt=":honey_pot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36f.png" title=":honey_pot:" width="20px" /><br> hong_kong <img align="absmiddle" alt=":hong_kong:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1f0.png" title=":hong_kong:" width="20px" /><br> hook <img align="absmiddle" alt=":hook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9d.png" title=":hook:" width="20px" /><br> horse <img align="absmiddle" alt=":horse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f434.png" title=":horse:" width="20px" /><br> horse_racing <img align="absmiddle" alt=":horse_racing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c7.png" title=":horse_racing:" width="20px" /><br> hospital <img align="absmiddle" alt=":hospital:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e5.png" title=":hospital:" width="20px" /><br> hot_face <img align="absmiddle" alt=":hot_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f975.png" title=":hot_face:" width="20px" /><br> hot_pepper <img align="absmiddle" alt=":hot_pepper:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f336.png" title=":hot_pepper:" width="20px" /><br> hotdog <img align="absmiddle" alt=":hotdog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32d.png" title=":hotdog:" width="20px" /><br> hotel <img align="absmiddle" alt=":hotel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e8.png" title=":hotel:" width="20px" /><br> hotsprings <img align="absmiddle" alt=":hotsprings:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2668.png" title=":hotsprings:" width="20px" /><br> hourglass <img align="absmiddle" alt=":hourglass:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/231b.png" title=":hourglass:" width="20px" /><br> hourglass_flowing_sand <img align="absmiddle" alt=":hourglass_flowing_sand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f3.png" title=":hourglass_flowing_sand:" width="20px" /><br> house <img align="absmiddle" alt=":house:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png" title=":house:" width="20px" /><br> house_with_garden <img align="absmiddle" alt=":house_with_garden:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e1.png" title=":house_with_garden:" width="20px" /><br> houses <img align="absmiddle" alt=":houses:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d8.png" title=":houses:" width="20px" /><br> hugs <img align="absmiddle" alt=":hugs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f917.png" title=":hugs:" width="20px" /><br> hungary <img align="absmiddle" alt=":hungary:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ed-1f1fa.png" title=":hungary:" width="20px" /><br> hushed <img align="absmiddle" alt=":hushed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62f.png" title=":hushed:" width="20px" /><br> hut <img align="absmiddle" alt=":hut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d6.png" title=":hut:" width="20px" /><br> hyacinth <img align="absmiddle" alt=":hyacinth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fabb.png" title=":hyacinth:" width="20px" /><br> ice_cream <img align="absmiddle" alt=":ice_cream:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f368.png" title=":ice_cream:" width="20px" /><br> ice_cube <img align="absmiddle" alt=":ice_cube:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ca.png" title=":ice_cube:" width="20px" /><br> ice_hockey <img align="absmiddle" alt=":ice_hockey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d2.png" title=":ice_hockey:" width="20px" /><br> ice_skate <img align="absmiddle" alt=":ice_skate:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f8.png" title=":ice_skate:" width="20px" /><br> icecream <img align="absmiddle" alt=":icecream:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f366.png" title=":icecream:" width="20px" /><br> iceland <img align="absmiddle" alt=":iceland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f8.png" title=":iceland:" width="20px" /><br> id <img align="absmiddle" alt=":id:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f194.png" title=":id:" width="20px" /><br> identification_card <img align="absmiddle" alt=":identification_card:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faaa.png" title=":identification_card:" width="20px" /><br> ideograph_advantage <img align="absmiddle" alt=":ideograph_advantage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f250.png" title=":ideograph_advantage:" width="20px" /><br> imp <img align="absmiddle" alt=":imp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47f.png" title=":imp:" width="20px" /><br> inbox_tray <img align="absmiddle" alt=":inbox_tray:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e5.png" title=":inbox_tray:" width="20px" /><br> incoming_envelope <img align="absmiddle" alt=":incoming_envelope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e8.png" title=":incoming_envelope:" width="20px" /><br> index_pointing_at_the_viewer <img align="absmiddle" alt=":index_pointing_at_the_viewer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf5.png" title=":index_pointing_at_the_viewer:" width="20px" /><br> india <img align="absmiddle" alt=":india:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f3.png" title=":india:" width="20px" /><br> indonesia <img align="absmiddle" alt=":indonesia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1e9.png" title=":indonesia:" width="20px" /><br> infinity <img align="absmiddle" alt=":infinity:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/267e.png" title=":infinity:" width="20px" /><br> information_source <img align="absmiddle" alt=":information_source:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2139.png" title=":information_source:" width="20px" /><br> innocent <img align="absmiddle" alt=":innocent:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f607.png" title=":innocent:" width="20px" /><br> interrobang <img align="absmiddle" alt=":interrobang:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2049.png" title=":interrobang:" width="20px" /><br> iphone <img align="absmiddle" alt=":iphone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f1.png" title=":iphone:" width="20px" /><br> iran <img align="absmiddle" alt=":iran:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f7.png" title=":iran:" width="20px" /><br> iraq <img align="absmiddle" alt=":iraq:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f6.png" title=":iraq:" width="20px" /><br> ireland <img align="absmiddle" alt=":ireland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1ea.png" title=":ireland:" width="20px" /><br> isle_of_man <img align="absmiddle" alt=":isle_of_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f2.png" title=":isle_of_man:" width="20px" /><br> israel <img align="absmiddle" alt=":israel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f1.png" title=":israel:" width="20px" /><br> it <img align="absmiddle" alt=":it:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ee-1f1f9.png" title=":it:" width="20px" /><br> izakaya_lantern <img align="absmiddle" alt=":izakaya_lantern:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ee.png" title=":izakaya_lantern:" width="20px" /><br> jack_o_lantern <img align="absmiddle" alt=":jack_o_lantern:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f383.png" title=":jack_o_lantern:" width="20px" /><br> jamaica <img align="absmiddle" alt=":jamaica:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ef-1f1f2.png" title=":jamaica:" width="20px" /><br> japan <img align="absmiddle" alt=":japan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5fe.png" title=":japan:" width="20px" /><br> japanese_castle <img align="absmiddle" alt=":japanese_castle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ef.png" title=":japanese_castle:" width="20px" /><br> japanese_goblin <img align="absmiddle" alt=":japanese_goblin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47a.png" title=":japanese_goblin:" width="20px" /><br> japanese_ogre <img align="absmiddle" alt=":japanese_ogre:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f479.png" title=":japanese_ogre:" width="20px" /><br> jar <img align="absmiddle" alt=":jar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad9.png" title=":jar:" width="20px" /><br> jeans <img align="absmiddle" alt=":jeans:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f456.png" title=":jeans:" width="20px" /><br> jellyfish <img align="absmiddle" alt=":jellyfish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fabc.png" title=":jellyfish:" width="20px" /><br> jersey <img align="absmiddle" alt=":jersey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ef-1f1ea.png" title=":jersey:" width="20px" /><br> jigsaw <img align="absmiddle" alt=":jigsaw:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e9.png" title=":jigsaw:" width="20px" /><br> jordan <img align="absmiddle" alt=":jordan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ef-1f1f4.png" title=":jordan:" width="20px" /><br> joy <img align="absmiddle" alt=":joy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f602.png" title=":joy:" width="20px" /><br> joy_cat <img align="absmiddle" alt=":joy_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f639.png" title=":joy_cat:" width="20px" /><br> joystick <img align="absmiddle" alt=":joystick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f579.png" title=":joystick:" width="20px" /><br> jp <img align="absmiddle" alt=":jp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ef-1f1f5.png" title=":jp:" width="20px" /><br> judge <img align="absmiddle" alt=":judge:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-2696.png" title=":judge:" width="20px" /><br> juggling_person <img align="absmiddle" alt=":juggling_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f939.png" title=":juggling_person:" width="20px" /><br> kaaba <img align="absmiddle" alt=":kaaba:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f54b.png" title=":kaaba:" width="20px" /><br> kangaroo <img align="absmiddle" alt=":kangaroo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f998.png" title=":kangaroo:" width="20px" /><br> kazakhstan <img align="absmiddle" alt=":kazakhstan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1ff.png" title=":kazakhstan:" width="20px" /><br> kenya <img align="absmiddle" alt=":kenya:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1ea.png" title=":kenya:" width="20px" /><br> key <img align="absmiddle" alt=":key:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f511.png" title=":key:" width="20px" /><br> keyboard <img align="absmiddle" alt=":keyboard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2328.png" title=":keyboard:" width="20px" /><br> keycap_ten <img align="absmiddle" alt=":keycap_ten:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51f.png" title=":keycap_ten:" width="20px" /><br> khanda <img align="absmiddle" alt=":khanda:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faaf.png" title=":khanda:" width="20px" /><br> kick_scooter <img align="absmiddle" alt=":kick_scooter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f4.png" title=":kick_scooter:" width="20px" /><br> kimono <img align="absmiddle" alt=":kimono:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f458.png" title=":kimono:" width="20px" /><br> kiribati <img align="absmiddle" alt=":kiribati:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1ee.png" title=":kiribati:" width="20px" /><br> kiss <img align="absmiddle" alt=":kiss:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48b.png" title=":kiss:" width="20px" /><br> kissing <img align="absmiddle" alt=":kissing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f617.png" title=":kissing:" width="20px" /><br> kissing_cat <img align="absmiddle" alt=":kissing_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63d.png" title=":kissing_cat:" width="20px" /><br> kissing_closed_eyes <img align="absmiddle" alt=":kissing_closed_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61a.png" title=":kissing_closed_eyes:" width="20px" /><br> kissing_heart <img align="absmiddle" alt=":kissing_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f618.png" title=":kissing_heart:" width="20px" /><br> kissing_smiling_eyes <img align="absmiddle" alt=":kissing_smiling_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f619.png" title=":kissing_smiling_eyes:" width="20px" /><br> kite <img align="absmiddle" alt=":kite:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa81.png" title=":kite:" width="20px" /><br> kiwi_fruit <img align="absmiddle" alt=":kiwi_fruit:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95d.png" title=":kiwi_fruit:" width="20px" /><br> kneeling_man <img align="absmiddle" alt=":kneeling_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ce-2642.png" title=":kneeling_man:" width="20px" /><br> kneeling_person <img align="absmiddle" alt=":kneeling_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ce.png" title=":kneeling_person:" width="20px" /><br> kneeling_woman <img align="absmiddle" alt=":kneeling_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ce-2640.png" title=":kneeling_woman:" width="20px" /><br> knot <img align="absmiddle" alt=":knot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa2.png" title=":knot:" width="20px" /><br> koala <img align="absmiddle" alt=":koala:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f428.png" title=":koala:" width="20px" /><br> koko <img align="absmiddle" alt=":koko:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f201.png" title=":koko:" width="20px" /><br> kosovo <img align="absmiddle" alt=":kosovo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fd-1f1f0.png" title=":kosovo:" width="20px" /><br> kr <img align="absmiddle" alt=":kr:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1f7.png" title=":kr:" width="20px" /><br> kuwait <img align="absmiddle" alt=":kuwait:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1fc.png" title=":kuwait:" width="20px" /><br> kyrgyzstan <img align="absmiddle" alt=":kyrgyzstan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1ec.png" title=":kyrgyzstan:" width="20px" /><br> lab_coat <img align="absmiddle" alt=":lab_coat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97c.png" title=":lab_coat:" width="20px" /><br> label <img align="absmiddle" alt=":label:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f7.png" title=":label:" width="20px" /><br> lacrosse <img align="absmiddle" alt=":lacrosse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94d.png" title=":lacrosse:" width="20px" /><br> ladder <img align="absmiddle" alt=":ladder:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9c.png" title=":ladder:" width="20px" /><br> lady_beetle <img align="absmiddle" alt=":lady_beetle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41e.png" title=":lady_beetle:" width="20px" /><br> laos <img align="absmiddle" alt=":laos:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1e6.png" title=":laos:" width="20px" /><br> large_blue_circle <img align="absmiddle" alt=":large_blue_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f535.png" title=":large_blue_circle:" width="20px" /><br> large_blue_diamond <img align="absmiddle" alt=":large_blue_diamond:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f537.png" title=":large_blue_diamond:" width="20px" /><br> large_orange_diamond <img align="absmiddle" alt=":large_orange_diamond:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f536.png" title=":large_orange_diamond:" width="20px" /><br> last_quarter_moon <img align="absmiddle" alt=":last_quarter_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f317.png" title=":last_quarter_moon:" width="20px" /><br> last_quarter_moon_with_face <img align="absmiddle" alt=":last_quarter_moon_with_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31c.png" title=":last_quarter_moon_with_face:" width="20px" /><br> latin_cross <img align="absmiddle" alt=":latin_cross:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/271d.png" title=":latin_cross:" width="20px" /><br> latvia <img align="absmiddle" alt=":latvia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1fb.png" title=":latvia:" width="20px" /><br> laughing <img align="absmiddle" alt=":laughing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f606.png" title=":laughing:" width="20px" /><br> leafy_green <img align="absmiddle" alt=":leafy_green:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96c.png" title=":leafy_green:" width="20px" /><br> leaves <img align="absmiddle" alt=":leaves:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f343.png" title=":leaves:" width="20px" /><br> lebanon <img align="absmiddle" alt=":lebanon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1e7.png" title=":lebanon:" width="20px" /><br> ledger <img align="absmiddle" alt=":ledger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d2.png" title=":ledger:" width="20px" /><br> left_luggage <img align="absmiddle" alt=":left_luggage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c5.png" title=":left_luggage:" width="20px" /><br> left_right_arrow <img align="absmiddle" alt=":left_right_arrow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2194.png" title=":left_right_arrow:" width="20px" /><br> left_speech_bubble <img align="absmiddle" alt=":left_speech_bubble:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5e8.png" title=":left_speech_bubble:" width="20px" /><br> leftwards_arrow_with_hook <img align="absmiddle" alt=":leftwards_arrow_with_hook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/21a9.png" title=":leftwards_arrow_with_hook:" width="20px" /><br> leftwards_hand <img align="absmiddle" alt=":leftwards_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf2.png" title=":leftwards_hand:" width="20px" /><br> leftwards_pushing_hand <img align="absmiddle" alt=":leftwards_pushing_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf7.png" title=":leftwards_pushing_hand:" width="20px" /><br> leg <img align="absmiddle" alt=":leg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b5.png" title=":leg:" width="20px" /><br> lemon <img align="absmiddle" alt=":lemon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34b.png" title=":lemon:" width="20px" /><br> leo <img align="absmiddle" alt=":leo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264c.png" title=":leo:" width="20px" /><br> leopard <img align="absmiddle" alt=":leopard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f406.png" title=":leopard:" width="20px" /><br> lesotho <img align="absmiddle" alt=":lesotho:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1f8.png" title=":lesotho:" width="20px" /><br> level_slider <img align="absmiddle" alt=":level_slider:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f39a.png" title=":level_slider:" width="20px" /><br> liberia <img align="absmiddle" alt=":liberia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1f7.png" title=":liberia:" width="20px" /><br> libra <img align="absmiddle" alt=":libra:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264e.png" title=":libra:" width="20px" /><br> libya <img align="absmiddle" alt=":libya:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1fe.png" title=":libya:" width="20px" /><br> liechtenstein <img align="absmiddle" alt=":liechtenstein:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1ee.png" title=":liechtenstein:" width="20px" /><br> light_blue_heart <img align="absmiddle" alt=":light_blue_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa75.png" title=":light_blue_heart:" width="20px" /><br> light_rail <img align="absmiddle" alt=":light_rail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f688.png" title=":light_rail:" width="20px" /><br> link <img align="absmiddle" alt=":link:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f517.png" title=":link:" width="20px" /><br> lion <img align="absmiddle" alt=":lion:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f981.png" title=":lion:" width="20px" /><br> lips <img align="absmiddle" alt=":lips:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f444.png" title=":lips:" width="20px" /><br> lipstick <img align="absmiddle" alt=":lipstick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f484.png" title=":lipstick:" width="20px" /><br> lithuania <img align="absmiddle" alt=":lithuania:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1f9.png" title=":lithuania:" width="20px" /><br> lizard <img align="absmiddle" alt=":lizard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98e.png" title=":lizard:" width="20px" /><br> llama <img align="absmiddle" alt=":llama:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f999.png" title=":llama:" width="20px" /><br> lobster <img align="absmiddle" alt=":lobster:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99e.png" title=":lobster:" width="20px" /><br> lock <img align="absmiddle" alt=":lock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f512.png" title=":lock:" width="20px" /><br> lock_with_ink_pen <img align="absmiddle" alt=":lock_with_ink_pen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50f.png" title=":lock_with_ink_pen:" width="20px" /><br> lollipop <img align="absmiddle" alt=":lollipop:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f36d.png" title=":lollipop:" width="20px" /><br> long_drum <img align="absmiddle" alt=":long_drum:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa98.png" title=":long_drum:" width="20px" /><br> loop <img align="absmiddle" alt=":loop:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/27bf.png" title=":loop:" width="20px" /><br> lotion_bottle <img align="absmiddle" alt=":lotion_bottle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f4.png" title=":lotion_bottle:" width="20px" /><br> lotus <img align="absmiddle" alt=":lotus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab7.png" title=":lotus:" width="20px" /><br> lotus_position <img align="absmiddle" alt=":lotus_position:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d8.png" title=":lotus_position:" width="20px" /><br> lotus_position_man <img align="absmiddle" alt=":lotus_position_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d8-2642.png" title=":lotus_position_man:" width="20px" /><br> lotus_position_woman <img align="absmiddle" alt=":lotus_position_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d8-2640.png" title=":lotus_position_woman:" width="20px" /><br> loud_sound <img align="absmiddle" alt=":loud_sound:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50a.png" title=":loud_sound:" width="20px" /><br> loudspeaker <img align="absmiddle" alt=":loudspeaker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e2.png" title=":loudspeaker:" width="20px" /><br> love_hotel <img align="absmiddle" alt=":love_hotel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e9.png" title=":love_hotel:" width="20px" /><br> love_letter <img align="absmiddle" alt=":love_letter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48c.png" title=":love_letter:" width="20px" /><br> love_you_gesture <img align="absmiddle" alt=":love_you_gesture:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91f.png" title=":love_you_gesture:" width="20px" /><br> low_battery <img align="absmiddle" alt=":low_battery:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faab.png" title=":low_battery:" width="20px" /><br> low_brightness <img align="absmiddle" alt=":low_brightness:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f505.png" title=":low_brightness:" width="20px" /><br> luggage <img align="absmiddle" alt=":luggage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f3.png" title=":luggage:" width="20px" /><br> lungs <img align="absmiddle" alt=":lungs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac1.png" title=":lungs:" width="20px" /><br> luxembourg <img align="absmiddle" alt=":luxembourg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1fa.png" title=":luxembourg:" width="20px" /><br> lying_face <img align="absmiddle" alt=":lying_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f925.png" title=":lying_face:" width="20px" /><br> m <img align="absmiddle" alt=":m:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/24c2.png" title=":m:" width="20px" /><br> macau <img align="absmiddle" alt=":macau:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f4.png" title=":macau:" width="20px" /><br> macedonia <img align="absmiddle" alt=":macedonia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f0.png" title=":macedonia:" width="20px" /><br> madagascar <img align="absmiddle" alt=":madagascar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1ec.png" title=":madagascar:" width="20px" /><br> mag <img align="absmiddle" alt=":mag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50d.png" title=":mag:" width="20px" /><br> mag_right <img align="absmiddle" alt=":mag_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f50e.png" title=":mag_right:" width="20px" /><br> mage <img align="absmiddle" alt=":mage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d9.png" title=":mage:" width="20px" /><br> mage_man <img align="absmiddle" alt=":mage_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d9-2642.png" title=":mage_man:" width="20px" /><br> mage_woman <img align="absmiddle" alt=":mage_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d9-2640.png" title=":mage_woman:" width="20px" /><br> magic_wand <img align="absmiddle" alt=":magic_wand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa84.png" title=":magic_wand:" width="20px" /><br> magnet <img align="absmiddle" alt=":magnet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f2.png" title=":magnet:" width="20px" /><br> mahjong <img align="absmiddle" alt=":mahjong:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f004.png" title=":mahjong:" width="20px" /><br> mailbox <img align="absmiddle" alt=":mailbox:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4eb.png" title=":mailbox:" width="20px" /><br> mailbox_closed <img align="absmiddle" alt=":mailbox_closed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ea.png" title=":mailbox_closed:" width="20px" /><br> mailbox_with_mail <img align="absmiddle" alt=":mailbox_with_mail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ec.png" title=":mailbox_with_mail:" width="20px" /><br> mailbox_with_no_mail <img align="absmiddle" alt=":mailbox_with_no_mail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ed.png" title=":mailbox_with_no_mail:" width="20px" /><br> malawi <img align="absmiddle" alt=":malawi:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1fc.png" title=":malawi:" width="20px" /><br> malaysia <img align="absmiddle" alt=":malaysia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1fe.png" title=":malaysia:" width="20px" /><br> maldives <img align="absmiddle" alt=":maldives:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1fb.png" title=":maldives:" width="20px" /><br> male_detective <img align="absmiddle" alt=":male_detective:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f575-2642.png" title=":male_detective:" width="20px" /><br> male_sign <img align="absmiddle" alt=":male_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2642.png" title=":male_sign:" width="20px" /><br> mali <img align="absmiddle" alt=":mali:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f1.png" title=":mali:" width="20px" /><br> malta <img align="absmiddle" alt=":malta:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f9.png" title=":malta:" width="20px" /><br> mammoth <img align="absmiddle" alt=":mammoth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a3.png" title=":mammoth:" width="20px" /><br> man <img align="absmiddle" alt=":man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468.png" title=":man:" width="20px" /><br> man_artist <img align="absmiddle" alt=":man_artist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f3a8.png" title=":man_artist:" width="20px" /><br> man_astronaut <img align="absmiddle" alt=":man_astronaut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f680.png" title=":man_astronaut:" width="20px" /><br> man_beard <img align="absmiddle" alt=":man_beard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d4-2642.png" title=":man_beard:" width="20px" /><br> man_cartwheeling <img align="absmiddle" alt=":man_cartwheeling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f938-2642.png" title=":man_cartwheeling:" width="20px" /><br> man_cook <img align="absmiddle" alt=":man_cook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f373.png" title=":man_cook:" width="20px" /><br> man_dancing <img align="absmiddle" alt=":man_dancing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f57a.png" title=":man_dancing:" width="20px" /><br> man_facepalming <img align="absmiddle" alt=":man_facepalming:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f926-2642.png" title=":man_facepalming:" width="20px" /><br> man_factory_worker <img align="absmiddle" alt=":man_factory_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f3ed.png" title=":man_factory_worker:" width="20px" /><br> man_farmer <img align="absmiddle" alt=":man_farmer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f33e.png" title=":man_farmer:" width="20px" /><br> man_feeding_baby <img align="absmiddle" alt=":man_feeding_baby:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f37c.png" title=":man_feeding_baby:" width="20px" /><br> man_firefighter <img align="absmiddle" alt=":man_firefighter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f692.png" title=":man_firefighter:" width="20px" /><br> man_health_worker <img align="absmiddle" alt=":man_health_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-2695.png" title=":man_health_worker:" width="20px" /><br> man_in_manual_wheelchair <img align="absmiddle" alt=":man_in_manual_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9bd.png" title=":man_in_manual_wheelchair:" width="20px" /><br> man_in_motorized_wheelchair <img align="absmiddle" alt=":man_in_motorized_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9bc.png" title=":man_in_motorized_wheelchair:" width="20px" /><br> man_in_tuxedo <img align="absmiddle" alt=":man_in_tuxedo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f935-2642.png" title=":man_in_tuxedo:" width="20px" /><br> man_judge <img align="absmiddle" alt=":man_judge:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-2696.png" title=":man_judge:" width="20px" /><br> man_juggling <img align="absmiddle" alt=":man_juggling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f939-2642.png" title=":man_juggling:" width="20px" /><br> man_mechanic <img align="absmiddle" alt=":man_mechanic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f527.png" title=":man_mechanic:" width="20px" /><br> man_office_worker <img align="absmiddle" alt=":man_office_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f4bc.png" title=":man_office_worker:" width="20px" /><br> man_pilot <img align="absmiddle" alt=":man_pilot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-2708.png" title=":man_pilot:" width="20px" /><br> man_playing_handball <img align="absmiddle" alt=":man_playing_handball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93e-2642.png" title=":man_playing_handball:" width="20px" /><br> man_playing_water_polo <img align="absmiddle" alt=":man_playing_water_polo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93d-2642.png" title=":man_playing_water_polo:" width="20px" /><br> man_scientist <img align="absmiddle" alt=":man_scientist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f52c.png" title=":man_scientist:" width="20px" /><br> man_shrugging <img align="absmiddle" alt=":man_shrugging:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f937-2642.png" title=":man_shrugging:" width="20px" /><br> man_singer <img align="absmiddle" alt=":man_singer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f3a4.png" title=":man_singer:" width="20px" /><br> man_student <img align="absmiddle" alt=":man_student:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f393.png" title=":man_student:" width="20px" /><br> man_teacher <img align="absmiddle" alt=":man_teacher:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f3eb.png" title=":man_teacher:" width="20px" /><br> man_technologist <img align="absmiddle" alt=":man_technologist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f4bb.png" title=":man_technologist:" width="20px" /><br> man_with_gua_pi_mao <img align="absmiddle" alt=":man_with_gua_pi_mao:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f472.png" title=":man_with_gua_pi_mao:" width="20px" /><br> man_with_probing_cane <img align="absmiddle" alt=":man_with_probing_cane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9af.png" title=":man_with_probing_cane:" width="20px" /><br> man_with_turban <img align="absmiddle" alt=":man_with_turban:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f473-2642.png" title=":man_with_turban:" width="20px" /><br> man_with_veil <img align="absmiddle" alt=":man_with_veil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f470-2642.png" title=":man_with_veil:" width="20px" /><br> mango <img align="absmiddle" alt=":mango:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96d.png" title=":mango:" width="20px" /><br> mans_shoe <img align="absmiddle" alt=":mans_shoe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45e.png" title=":mans_shoe:" width="20px" /><br> mantelpiece_clock <img align="absmiddle" alt=":mantelpiece_clock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f570.png" title=":mantelpiece_clock:" width="20px" /><br> manual_wheelchair <img align="absmiddle" alt=":manual_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9bd.png" title=":manual_wheelchair:" width="20px" /><br> maple_leaf <img align="absmiddle" alt=":maple_leaf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f341.png" title=":maple_leaf:" width="20px" /><br> maracas <img align="absmiddle" alt=":maracas:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa87.png" title=":maracas:" width="20px" /><br> marshall_islands <img align="absmiddle" alt=":marshall_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1ed.png" title=":marshall_islands:" width="20px" /><br> martial_arts_uniform <img align="absmiddle" alt=":martial_arts_uniform:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94b.png" title=":martial_arts_uniform:" width="20px" /><br> martinique <img align="absmiddle" alt=":martinique:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f6.png" title=":martinique:" width="20px" /><br> mask <img align="absmiddle" alt=":mask:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f637.png" title=":mask:" width="20px" /><br> massage <img align="absmiddle" alt=":massage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f486.png" title=":massage:" width="20px" /><br> massage_man <img align="absmiddle" alt=":massage_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f486-2642.png" title=":massage_man:" width="20px" /><br> massage_woman <img align="absmiddle" alt=":massage_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f486-2640.png" title=":massage_woman:" width="20px" /><br> mate <img align="absmiddle" alt=":mate:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c9.png" title=":mate:" width="20px" /><br> mauritania <img align="absmiddle" alt=":mauritania:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f7.png" title=":mauritania:" width="20px" /><br> mauritius <img align="absmiddle" alt=":mauritius:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1fa.png" title=":mauritius:" width="20px" /><br> mayotte <img align="absmiddle" alt=":mayotte:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fe-1f1f9.png" title=":mayotte:" width="20px" /><br> meat_on_bone <img align="absmiddle" alt=":meat_on_bone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f356.png" title=":meat_on_bone:" width="20px" /><br> mechanic <img align="absmiddle" alt=":mechanic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f527.png" title=":mechanic:" width="20px" /><br> mechanical_arm <img align="absmiddle" alt=":mechanical_arm:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9be.png" title=":mechanical_arm:" width="20px" /><br> mechanical_leg <img align="absmiddle" alt=":mechanical_leg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9bf.png" title=":mechanical_leg:" width="20px" /><br> medal_military <img align="absmiddle" alt=":medal_military:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f396.png" title=":medal_military:" width="20px" /><br> medal_sports <img align="absmiddle" alt=":medal_sports:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c5.png" title=":medal_sports:" width="20px" /><br> medical_symbol <img align="absmiddle" alt=":medical_symbol:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2695.png" title=":medical_symbol:" width="20px" /><br> mega <img align="absmiddle" alt=":mega:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e3.png" title=":mega:" width="20px" /><br> melon <img align="absmiddle" alt=":melon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f348.png" title=":melon:" width="20px" /><br> melting_face <img align="absmiddle" alt=":melting_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae0.png" title=":melting_face:" width="20px" /><br> memo <img align="absmiddle" alt=":memo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4dd.png" title=":memo:" width="20px" /><br> men_wrestling <img align="absmiddle" alt=":men_wrestling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93c-2642.png" title=":men_wrestling:" width="20px" /><br> mending_heart <img align="absmiddle" alt=":mending_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2764-1fa79.png" title=":mending_heart:" width="20px" /><br> menorah <img align="absmiddle" alt=":menorah:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f54e.png" title=":menorah:" width="20px" /><br> mens <img align="absmiddle" alt=":mens:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b9.png" title=":mens:" width="20px" /><br> mermaid <img align="absmiddle" alt=":mermaid:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dc-2640.png" title=":mermaid:" width="20px" /><br> merman <img align="absmiddle" alt=":merman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dc-2642.png" title=":merman:" width="20px" /><br> merperson <img align="absmiddle" alt=":merperson:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9dc.png" title=":merperson:" width="20px" /><br> metal <img align="absmiddle" alt=":metal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f918.png" title=":metal:" width="20px" /><br> metro <img align="absmiddle" alt=":metro:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f687.png" title=":metro:" width="20px" /><br> mexico <img align="absmiddle" alt=":mexico:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1fd.png" title=":mexico:" width="20px" /><br> microbe <img align="absmiddle" alt=":microbe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a0.png" title=":microbe:" width="20px" /><br> micronesia <img align="absmiddle" alt=":micronesia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1eb-1f1f2.png" title=":micronesia:" width="20px" /><br> microphone <img align="absmiddle" alt=":microphone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a4.png" title=":microphone:" width="20px" /><br> microscope <img align="absmiddle" alt=":microscope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png" title=":microscope:" width="20px" /><br> middle_finger <img align="absmiddle" alt=":middle_finger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f595.png" title=":middle_finger:" width="20px" /><br> military_helmet <img align="absmiddle" alt=":military_helmet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa96.png" title=":military_helmet:" width="20px" /><br> milk_glass <img align="absmiddle" alt=":milk_glass:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95b.png" title=":milk_glass:" width="20px" /><br> milky_way <img align="absmiddle" alt=":milky_way:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30c.png" title=":milky_way:" width="20px" /><br> minibus <img align="absmiddle" alt=":minibus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f690.png" title=":minibus:" width="20px" /><br> minidisc <img align="absmiddle" alt=":minidisc:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4bd.png" title=":minidisc:" width="20px" /><br> mirror <img align="absmiddle" alt=":mirror:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9e.png" title=":mirror:" width="20px" /><br> mirror_ball <img align="absmiddle" alt=":mirror_ball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa9.png" title=":mirror_ball:" width="20px" /><br> mobile_phone_off <img align="absmiddle" alt=":mobile_phone_off:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f4.png" title=":mobile_phone_off:" width="20px" /><br> moldova <img align="absmiddle" alt=":moldova:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1e9.png" title=":moldova:" width="20px" /><br> monaco <img align="absmiddle" alt=":monaco:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1e8.png" title=":monaco:" width="20px" /><br> money_mouth_face <img align="absmiddle" alt=":money_mouth_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f911.png" title=":money_mouth_face:" width="20px" /><br> money_with_wings <img align="absmiddle" alt=":money_with_wings:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b8.png" title=":money_with_wings:" width="20px" /><br> moneybag <img align="absmiddle" alt=":moneybag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b0.png" title=":moneybag:" width="20px" /><br> mongolia <img align="absmiddle" alt=":mongolia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f3.png" title=":mongolia:" width="20px" /><br> monkey <img align="absmiddle" alt=":monkey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f412.png" title=":monkey:" width="20px" /><br> monkey_face <img align="absmiddle" alt=":monkey_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f435.png" title=":monkey_face:" width="20px" /><br> monocle_face <img align="absmiddle" alt=":monocle_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d0.png" title=":monocle_face:" width="20px" /><br> monorail <img align="absmiddle" alt=":monorail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69d.png" title=":monorail:" width="20px" /><br> montenegro <img align="absmiddle" alt=":montenegro:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1ea.png" title=":montenegro:" width="20px" /><br> montserrat <img align="absmiddle" alt=":montserrat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f8.png" title=":montserrat:" width="20px" /><br> moon <img align="absmiddle" alt=":moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f314.png" title=":moon:" width="20px" /><br> moon_cake <img align="absmiddle" alt=":moon_cake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96e.png" title=":moon_cake:" width="20px" /><br> moose <img align="absmiddle" alt=":moose:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1face.png" title=":moose:" width="20px" /><br> morocco <img align="absmiddle" alt=":morocco:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1e6.png" title=":morocco:" width="20px" /><br> mortar_board <img align="absmiddle" alt=":mortar_board:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f393.png" title=":mortar_board:" width="20px" /><br> mosque <img align="absmiddle" alt=":mosque:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f54c.png" title=":mosque:" width="20px" /><br> mosquito <img align="absmiddle" alt=":mosquito:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99f.png" title=":mosquito:" width="20px" /><br> motor_boat <img align="absmiddle" alt=":motor_boat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e5.png" title=":motor_boat:" width="20px" /><br> motor_scooter <img align="absmiddle" alt=":motor_scooter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f5.png" title=":motor_scooter:" width="20px" /><br> motorcycle <img align="absmiddle" alt=":motorcycle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cd.png" title=":motorcycle:" width="20px" /><br> motorized_wheelchair <img align="absmiddle" alt=":motorized_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9bc.png" title=":motorized_wheelchair:" width="20px" /><br> motorway <img align="absmiddle" alt=":motorway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e3.png" title=":motorway:" width="20px" /><br> mount_fuji <img align="absmiddle" alt=":mount_fuji:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5fb.png" title=":mount_fuji:" width="20px" /><br> mountain <img align="absmiddle" alt=":mountain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f0.png" title=":mountain:" width="20px" /><br> mountain_bicyclist <img align="absmiddle" alt=":mountain_bicyclist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b5.png" title=":mountain_bicyclist:" width="20px" /><br> mountain_biking_man <img align="absmiddle" alt=":mountain_biking_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b5-2642.png" title=":mountain_biking_man:" width="20px" /><br> mountain_biking_woman <img align="absmiddle" alt=":mountain_biking_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b5-2640.png" title=":mountain_biking_woman:" width="20px" /><br> mountain_cableway <img align="absmiddle" alt=":mountain_cableway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a0.png" title=":mountain_cableway:" width="20px" /><br> mountain_railway <img align="absmiddle" alt=":mountain_railway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69e.png" title=":mountain_railway:" width="20px" /><br> mountain_snow <img align="absmiddle" alt=":mountain_snow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d4.png" title=":mountain_snow:" width="20px" /><br> mouse2 <img align="absmiddle" alt=":mouse2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f401.png" title=":mouse2:" width="20px" /><br> mouse <img align="absmiddle" alt=":mouse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42d.png" title=":mouse:" width="20px" /><br> mouse_trap <img align="absmiddle" alt=":mouse_trap:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa4.png" title=":mouse_trap:" width="20px" /><br> movie_camera <img align="absmiddle" alt=":movie_camera:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a5.png" title=":movie_camera:" width="20px" /><br> moyai <img align="absmiddle" alt=":moyai:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5ff.png" title=":moyai:" width="20px" /><br> mozambique <img align="absmiddle" alt=":mozambique:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1ff.png" title=":mozambique:" width="20px" /><br> mrs_claus <img align="absmiddle" alt=":mrs_claus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f936.png" title=":mrs_claus:" width="20px" /><br> muscle <img align="absmiddle" alt=":muscle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4aa.png" title=":muscle:" width="20px" /><br> mushroom <img align="absmiddle" alt=":mushroom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f344.png" title=":mushroom:" width="20px" /><br> musical_keyboard <img align="absmiddle" alt=":musical_keyboard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b9.png" title=":musical_keyboard:" width="20px" /><br> musical_note <img align="absmiddle" alt=":musical_note:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b5.png" title=":musical_note:" width="20px" /><br> musical_score <img align="absmiddle" alt=":musical_score:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3bc.png" title=":musical_score:" width="20px" /><br> mute <img align="absmiddle" alt=":mute:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f507.png" title=":mute:" width="20px" /><br> mx_claus <img align="absmiddle" alt=":mx_claus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f384.png" title=":mx_claus:" width="20px" /><br> myanmar <img align="absmiddle" alt=":myanmar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f2.png" title=":myanmar:" width="20px" /><br> nail_care <img align="absmiddle" alt=":nail_care:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png" title=":nail_care:" width="20px" /><br> name_badge <img align="absmiddle" alt=":name_badge:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4db.png" title=":name_badge:" width="20px" /><br> namibia <img align="absmiddle" alt=":namibia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1e6.png" title=":namibia:" width="20px" /><br> national_park <img align="absmiddle" alt=":national_park:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3de.png" title=":national_park:" width="20px" /><br> nauru <img align="absmiddle" alt=":nauru:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1f7.png" title=":nauru:" width="20px" /><br> nauseated_face <img align="absmiddle" alt=":nauseated_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f922.png" title=":nauseated_face:" width="20px" /><br> nazar_amulet <img align="absmiddle" alt=":nazar_amulet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ff.png" title=":nazar_amulet:" width="20px" /><br> necktie <img align="absmiddle" alt=":necktie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f454.png" title=":necktie:" width="20px" /><br> negative_squared_cross_mark <img align="absmiddle" alt=":negative_squared_cross_mark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/274e.png" title=":negative_squared_cross_mark:" width="20px" /><br> nepal <img align="absmiddle" alt=":nepal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1f5.png" title=":nepal:" width="20px" /><br> nerd_face <img align="absmiddle" alt=":nerd_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f913.png" title=":nerd_face:" width="20px" /><br> nest_with_eggs <img align="absmiddle" alt=":nest_with_eggs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faba.png" title=":nest_with_eggs:" width="20px" /><br> nesting_dolls <img align="absmiddle" alt=":nesting_dolls:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa86.png" title=":nesting_dolls:" width="20px" /><br> netherlands <img align="absmiddle" alt=":netherlands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1f1.png" title=":netherlands:" width="20px" /><br> neutral_face <img align="absmiddle" alt=":neutral_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f610.png" title=":neutral_face:" width="20px" /><br> new <img align="absmiddle" alt=":new:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f195.png" title=":new:" width="20px" /><br> new_caledonia <img align="absmiddle" alt=":new_caledonia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1e8.png" title=":new_caledonia:" width="20px" /><br> new_moon <img align="absmiddle" alt=":new_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f311.png" title=":new_moon:" width="20px" /><br> new_moon_with_face <img align="absmiddle" alt=":new_moon_with_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31a.png" title=":new_moon_with_face:" width="20px" /><br> new_zealand <img align="absmiddle" alt=":new_zealand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1ff.png" title=":new_zealand:" width="20px" /><br> newspaper <img align="absmiddle" alt=":newspaper:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f0.png" title=":newspaper:" width="20px" /><br> newspaper_roll <img align="absmiddle" alt=":newspaper_roll:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5de.png" title=":newspaper_roll:" width="20px" /><br> next_track_button <img align="absmiddle" alt=":next_track_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23ed.png" title=":next_track_button:" width="20px" /><br> ng <img align="absmiddle" alt=":ng:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f196.png" title=":ng:" width="20px" /><br> nicaragua <img align="absmiddle" alt=":nicaragua:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1ee.png" title=":nicaragua:" width="20px" /><br> niger <img align="absmiddle" alt=":niger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1ea.png" title=":niger:" width="20px" /><br> nigeria <img align="absmiddle" alt=":nigeria:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1ec.png" title=":nigeria:" width="20px" /><br> night_with_stars <img align="absmiddle" alt=":night_with_stars:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f303.png" title=":night_with_stars:" width="20px" /><br> nine <img align="absmiddle" alt=":nine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0039-20e3.png" title=":nine:" width="20px" /><br> ninja <img align="absmiddle" alt=":ninja:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f977.png" title=":ninja:" width="20px" /><br> niue <img align="absmiddle" alt=":niue:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1fa.png" title=":niue:" width="20px" /><br> no_bell <img align="absmiddle" alt=":no_bell:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f515.png" title=":no_bell:" width="20px" /><br> no_bicycles <img align="absmiddle" alt=":no_bicycles:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b3.png" title=":no_bicycles:" width="20px" /><br> no_entry <img align="absmiddle" alt=":no_entry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26d4.png" title=":no_entry:" width="20px" /><br> no_entry_sign <img align="absmiddle" alt=":no_entry_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ab.png" title=":no_entry_sign:" width="20px" /><br> no_good <img align="absmiddle" alt=":no_good:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f645.png" title=":no_good:" width="20px" /><br> no_good_man <img align="absmiddle" alt=":no_good_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f645-2642.png" title=":no_good_man:" width="20px" /><br> no_good_woman <img align="absmiddle" alt=":no_good_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f645-2640.png" title=":no_good_woman:" width="20px" /><br> no_mobile_phones <img align="absmiddle" alt=":no_mobile_phones:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f5.png" title=":no_mobile_phones:" width="20px" /><br> no_mouth <img align="absmiddle" alt=":no_mouth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f636.png" title=":no_mouth:" width="20px" /><br> no_pedestrians <img align="absmiddle" alt=":no_pedestrians:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b7.png" title=":no_pedestrians:" width="20px" /><br> no_smoking <img align="absmiddle" alt=":no_smoking:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ad.png" title=":no_smoking:" width="20px" /><br> non-potable_water <img align="absmiddle" alt=":non-potable_water:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b1.png" title=":non-potable_water:" width="20px" /><br> norfolk_island <img align="absmiddle" alt=":norfolk_island:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1eb.png" title=":norfolk_island:" width="20px" /><br> north_korea <img align="absmiddle" alt=":north_korea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1f5.png" title=":north_korea:" width="20px" /><br> northern_mariana_islands <img align="absmiddle" alt=":northern_mariana_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1f5.png" title=":northern_mariana_islands:" width="20px" /><br> norway <img align="absmiddle" alt=":norway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f3-1f1f4.png" title=":norway:" width="20px" /><br> nose <img align="absmiddle" alt=":nose:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f443.png" title=":nose:" width="20px" /><br> notebook <img align="absmiddle" alt=":notebook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d3.png" title=":notebook:" width="20px" /><br> notebook_with_decorative_cover <img align="absmiddle" alt=":notebook_with_decorative_cover:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d4.png" title=":notebook_with_decorative_cover:" width="20px" /><br> notes <img align="absmiddle" alt=":notes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b6.png" title=":notes:" width="20px" /><br> nut_and_bolt <img align="absmiddle" alt=":nut_and_bolt:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f529.png" title=":nut_and_bolt:" width="20px" /><br> o2 <img align="absmiddle" alt=":o2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f17e.png" title=":o2:" width="20px" /><br> o <img align="absmiddle" alt=":o:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b55.png" title=":o:" width="20px" /><br> ocean <img align="absmiddle" alt=":ocean:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30a.png" title=":ocean:" width="20px" /><br> octopus <img align="absmiddle" alt=":octopus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f419.png" title=":octopus:" width="20px" /><br> oden <img align="absmiddle" alt=":oden:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f362.png" title=":oden:" width="20px" /><br> office <img align="absmiddle" alt=":office:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e2.png" title=":office:" width="20px" /><br> office_worker <img align="absmiddle" alt=":office_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f4bc.png" title=":office_worker:" width="20px" /><br> oil_drum <img align="absmiddle" alt=":oil_drum:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e2.png" title=":oil_drum:" width="20px" /><br> ok <img align="absmiddle" alt=":ok:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f197.png" title=":ok:" width="20px" /><br> ok_hand <img align="absmiddle" alt=":ok_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44c.png" title=":ok_hand:" width="20px" /><br> ok_man <img align="absmiddle" alt=":ok_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f646-2642.png" title=":ok_man:" width="20px" /><br> ok_person <img align="absmiddle" alt=":ok_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f646.png" title=":ok_person:" width="20px" /><br> ok_woman <img align="absmiddle" alt=":ok_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f646-2640.png" title=":ok_woman:" width="20px" /><br> old_key <img align="absmiddle" alt=":old_key:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5dd.png" title=":old_key:" width="20px" /><br> older_adult <img align="absmiddle" alt=":older_adult:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d3.png" title=":older_adult:" width="20px" /><br> older_man <img align="absmiddle" alt=":older_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f474.png" title=":older_man:" width="20px" /><br> older_woman <img align="absmiddle" alt=":older_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f475.png" title=":older_woman:" width="20px" /><br> olive <img align="absmiddle" alt=":olive:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad2.png" title=":olive:" width="20px" /><br> om <img align="absmiddle" alt=":om:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f549.png" title=":om:" width="20px" /><br> oman <img align="absmiddle" alt=":oman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f4-1f1f2.png" title=":oman:" width="20px" /><br> on <img align="absmiddle" alt=":on:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51b.png" title=":on:" width="20px" /><br> oncoming_automobile <img align="absmiddle" alt=":oncoming_automobile:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f698.png" title=":oncoming_automobile:" width="20px" /><br> oncoming_bus <img align="absmiddle" alt=":oncoming_bus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68d.png" title=":oncoming_bus:" width="20px" /><br> oncoming_police_car <img align="absmiddle" alt=":oncoming_police_car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f694.png" title=":oncoming_police_car:" width="20px" /><br> oncoming_taxi <img align="absmiddle" alt=":oncoming_taxi:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f696.png" title=":oncoming_taxi:" width="20px" /><br> one <img align="absmiddle" alt=":one:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0031-20e3.png" title=":one:" width="20px" /><br> one_piece_swimsuit <img align="absmiddle" alt=":one_piece_swimsuit:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa71.png" title=":one_piece_swimsuit:" width="20px" /><br> onion <img align="absmiddle" alt=":onion:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c5.png" title=":onion:" width="20px" /><br> open_file_folder <img align="absmiddle" alt=":open_file_folder:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c2.png" title=":open_file_folder:" width="20px" /><br> open_hands <img align="absmiddle" alt=":open_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f450.png" title=":open_hands:" width="20px" /><br> open_mouth <img align="absmiddle" alt=":open_mouth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62e.png" title=":open_mouth:" width="20px" /><br> open_umbrella <img align="absmiddle" alt=":open_umbrella:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2602.png" title=":open_umbrella:" width="20px" /><br> ophiuchus <img align="absmiddle" alt=":ophiuchus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26ce.png" title=":ophiuchus:" width="20px" /><br> orange_book <img align="absmiddle" alt=":orange_book:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d9.png" title=":orange_book:" width="20px" /><br> orange_circle <img align="absmiddle" alt=":orange_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e0.png" title=":orange_circle:" width="20px" /><br> orange_heart <img align="absmiddle" alt=":orange_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e1.png" title=":orange_heart:" width="20px" /><br> orange_square <img align="absmiddle" alt=":orange_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e7.png" title=":orange_square:" width="20px" /><br> orangutan <img align="absmiddle" alt=":orangutan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a7.png" title=":orangutan:" width="20px" /><br> orthodox_cross <img align="absmiddle" alt=":orthodox_cross:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2626.png" title=":orthodox_cross:" width="20px" /><br> otter <img align="absmiddle" alt=":otter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a6.png" title=":otter:" width="20px" /><br> outbox_tray <img align="absmiddle" alt=":outbox_tray:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e4.png" title=":outbox_tray:" width="20px" /><br> owl <img align="absmiddle" alt=":owl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f989.png" title=":owl:" width="20px" /><br> ox <img align="absmiddle" alt=":ox:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f402.png" title=":ox:" width="20px" /><br> oyster <img align="absmiddle" alt=":oyster:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9aa.png" title=":oyster:" width="20px" /><br> package <img align="absmiddle" alt=":package:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e6.png" title=":package:" width="20px" /><br> page_facing_up <img align="absmiddle" alt=":page_facing_up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c4.png" title=":page_facing_up:" width="20px" /><br> page_with_curl <img align="absmiddle" alt=":page_with_curl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4c3.png" title=":page_with_curl:" width="20px" /><br> pager <img align="absmiddle" alt=":pager:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4df.png" title=":pager:" width="20px" /><br> paintbrush <img align="absmiddle" alt=":paintbrush:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f58c.png" title=":paintbrush:" width="20px" /><br> pakistan <img align="absmiddle" alt=":pakistan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f0.png" title=":pakistan:" width="20px" /><br> palau <img align="absmiddle" alt=":palau:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1fc.png" title=":palau:" width="20px" /><br> palestinian_territories <img align="absmiddle" alt=":palestinian_territories:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f8.png" title=":palestinian_territories:" width="20px" /><br> palm_down_hand <img align="absmiddle" alt=":palm_down_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf3.png" title=":palm_down_hand:" width="20px" /><br> palm_tree <img align="absmiddle" alt=":palm_tree:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png" title=":palm_tree:" width="20px" /><br> palm_up_hand <img align="absmiddle" alt=":palm_up_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf4.png" title=":palm_up_hand:" width="20px" /><br> palms_up_together <img align="absmiddle" alt=":palms_up_together:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f932.png" title=":palms_up_together:" width="20px" /><br> panama <img align="absmiddle" alt=":panama:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1e6.png" title=":panama:" width="20px" /><br> pancakes <img align="absmiddle" alt=":pancakes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95e.png" title=":pancakes:" width="20px" /><br> panda_face <img align="absmiddle" alt=":panda_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43c.png" title=":panda_face:" width="20px" /><br> paperclip <img align="absmiddle" alt=":paperclip:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ce.png" title=":paperclip:" width="20px" /><br> paperclips <img align="absmiddle" alt=":paperclips:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f587.png" title=":paperclips:" width="20px" /><br> papua_new_guinea <img align="absmiddle" alt=":papua_new_guinea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1ec.png" title=":papua_new_guinea:" width="20px" /><br> parachute <img align="absmiddle" alt=":parachute:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa82.png" title=":parachute:" width="20px" /><br> paraguay <img align="absmiddle" alt=":paraguay:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1fe.png" title=":paraguay:" width="20px" /><br> parasol_on_ground <img align="absmiddle" alt=":parasol_on_ground:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f1.png" title=":parasol_on_ground:" width="20px" /><br> parking <img align="absmiddle" alt=":parking:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f17f.png" title=":parking:" width="20px" /><br> parrot <img align="absmiddle" alt=":parrot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99c.png" title=":parrot:" width="20px" /><br> part_alternation_mark <img align="absmiddle" alt=":part_alternation_mark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/303d.png" title=":part_alternation_mark:" width="20px" /><br> partly_sunny <img align="absmiddle" alt=":partly_sunny:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26c5.png" title=":partly_sunny:" width="20px" /><br> partying_face <img align="absmiddle" alt=":partying_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f973.png" title=":partying_face:" width="20px" /><br> passenger_ship <img align="absmiddle" alt=":passenger_ship:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f3.png" title=":passenger_ship:" width="20px" /><br> passport_control <img align="absmiddle" alt=":passport_control:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6c2.png" title=":passport_control:" width="20px" /><br> pause_button <img align="absmiddle" alt=":pause_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f8.png" title=":pause_button:" width="20px" /><br> pea_pod <img align="absmiddle" alt=":pea_pod:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fadb.png" title=":pea_pod:" width="20px" /><br> peace_symbol <img align="absmiddle" alt=":peace_symbol:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/262e.png" title=":peace_symbol:" width="20px" /><br> peach <img align="absmiddle" alt=":peach:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f351.png" title=":peach:" width="20px" /><br> peacock <img align="absmiddle" alt=":peacock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99a.png" title=":peacock:" width="20px" /><br> peanuts <img align="absmiddle" alt=":peanuts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f95c.png" title=":peanuts:" width="20px" /><br> pear <img align="absmiddle" alt=":pear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f350.png" title=":pear:" width="20px" /><br> pen <img align="absmiddle" alt=":pen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f58a.png" title=":pen:" width="20px" /><br> pencil2 <img align="absmiddle" alt=":pencil2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/270f.png" title=":pencil2:" width="20px" /><br> penguin <img align="absmiddle" alt=":penguin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f427.png" title=":penguin:" width="20px" /><br> pensive <img align="absmiddle" alt=":pensive:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f614.png" title=":pensive:" width="20px" /><br> people_holding_hands <img align="absmiddle" alt=":people_holding_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f91d-1f9d1.png" title=":people_holding_hands:" width="20px" /><br> people_hugging <img align="absmiddle" alt=":people_hugging:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac2.png" title=":people_hugging:" width="20px" /><br> performing_arts <img align="absmiddle" alt=":performing_arts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ad.png" title=":performing_arts:" width="20px" /><br> persevere <img align="absmiddle" alt=":persevere:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f623.png" title=":persevere:" width="20px" /><br> person_bald <img align="absmiddle" alt=":person_bald:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9b2.png" title=":person_bald:" width="20px" /><br> person_curly_hair <img align="absmiddle" alt=":person_curly_hair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9b1.png" title=":person_curly_hair:" width="20px" /><br> person_feeding_baby <img align="absmiddle" alt=":person_feeding_baby:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f37c.png" title=":person_feeding_baby:" width="20px" /><br> person_fencing <img align="absmiddle" alt=":person_fencing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93a.png" title=":person_fencing:" width="20px" /><br> person_in_manual_wheelchair <img align="absmiddle" alt=":person_in_manual_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9bd.png" title=":person_in_manual_wheelchair:" width="20px" /><br> person_in_motorized_wheelchair <img align="absmiddle" alt=":person_in_motorized_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9bc.png" title=":person_in_motorized_wheelchair:" width="20px" /><br> person_in_tuxedo <img align="absmiddle" alt=":person_in_tuxedo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f935.png" title=":person_in_tuxedo:" width="20px" /><br> person_red_hair <img align="absmiddle" alt=":person_red_hair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9b0.png" title=":person_red_hair:" width="20px" /><br> person_white_hair <img align="absmiddle" alt=":person_white_hair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9b3.png" title=":person_white_hair:" width="20px" /><br> person_with_crown <img align="absmiddle" alt=":person_with_crown:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac5.png" title=":person_with_crown:" width="20px" /><br> person_with_probing_cane <img align="absmiddle" alt=":person_with_probing_cane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f9af.png" title=":person_with_probing_cane:" width="20px" /><br> person_with_turban <img align="absmiddle" alt=":person_with_turban:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f473.png" title=":person_with_turban:" width="20px" /><br> person_with_veil <img align="absmiddle" alt=":person_with_veil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f470.png" title=":person_with_veil:" width="20px" /><br> peru <img align="absmiddle" alt=":peru:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1ea.png" title=":peru:" width="20px" /><br> petri_dish <img align="absmiddle" alt=":petri_dish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9eb.png" title=":petri_dish:" width="20px" /><br> philippines <img align="absmiddle" alt=":philippines:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1ed.png" title=":philippines:" width="20px" /><br> phone <img align="absmiddle" alt=":phone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/260e.png" title=":phone:" width="20px" /><br> pick <img align="absmiddle" alt=":pick:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26cf.png" title=":pick:" width="20px" /><br> pickup_truck <img align="absmiddle" alt=":pickup_truck:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6fb.png" title=":pickup_truck:" width="20px" /><br> pie <img align="absmiddle" alt=":pie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f967.png" title=":pie:" width="20px" /><br> pig2 <img align="absmiddle" alt=":pig2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f416.png" title=":pig2:" width="20px" /><br> pig <img align="absmiddle" alt=":pig:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f437.png" title=":pig:" width="20px" /><br> pig_nose <img align="absmiddle" alt=":pig_nose:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43d.png" title=":pig_nose:" width="20px" /><br> pill <img align="absmiddle" alt=":pill:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48a.png" title=":pill:" width="20px" /><br> pilot <img align="absmiddle" alt=":pilot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-2708.png" title=":pilot:" width="20px" /><br> pinata <img align="absmiddle" alt=":pinata:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa85.png" title=":pinata:" width="20px" /><br> pinched_fingers <img align="absmiddle" alt=":pinched_fingers:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f90c.png" title=":pinched_fingers:" width="20px" /><br> pinching_hand <img align="absmiddle" alt=":pinching_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f90f.png" title=":pinching_hand:" width="20px" /><br> pineapple <img align="absmiddle" alt=":pineapple:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34d.png" title=":pineapple:" width="20px" /><br> ping_pong <img align="absmiddle" alt=":ping_pong:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d3.png" title=":ping_pong:" width="20px" /><br> pink_heart <img align="absmiddle" alt=":pink_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa77.png" title=":pink_heart:" width="20px" /><br> pirate_flag <img align="absmiddle" alt=":pirate_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f4-2620.png" title=":pirate_flag:" width="20px" /><br> pisces <img align="absmiddle" alt=":pisces:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2653.png" title=":pisces:" width="20px" /><br> pitcairn_islands <img align="absmiddle" alt=":pitcairn_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f3.png" title=":pitcairn_islands:" width="20px" /><br> pizza <img align="absmiddle" alt=":pizza:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f355.png" title=":pizza:" width="20px" /><br> placard <img align="absmiddle" alt=":placard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa7.png" title=":placard:" width="20px" /><br> place_of_worship <img align="absmiddle" alt=":place_of_worship:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d0.png" title=":place_of_worship:" width="20px" /><br> plate_with_cutlery <img align="absmiddle" alt=":plate_with_cutlery:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37d.png" title=":plate_with_cutlery:" width="20px" /><br> play_or_pause_button <img align="absmiddle" alt=":play_or_pause_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23ef.png" title=":play_or_pause_button:" width="20px" /><br> playground_slide <img align="absmiddle" alt=":playground_slide:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6dd.png" title=":playground_slide:" width="20px" /><br> pleading_face <img align="absmiddle" alt=":pleading_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97a.png" title=":pleading_face:" width="20px" /><br> plunger <img align="absmiddle" alt=":plunger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa0.png" title=":plunger:" width="20px" /><br> point_down <img align="absmiddle" alt=":point_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f447.png" title=":point_down:" width="20px" /><br> point_left <img align="absmiddle" alt=":point_left:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f448.png" title=":point_left:" width="20px" /><br> point_right <img align="absmiddle" alt=":point_right:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f449.png" title=":point_right:" width="20px" /><br> point_up <img align="absmiddle" alt=":point_up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/261d.png" title=":point_up:" width="20px" /><br> point_up_2 <img align="absmiddle" alt=":point_up_2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f446.png" title=":point_up_2:" width="20px" /><br> poland <img align="absmiddle" alt=":poland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f1.png" title=":poland:" width="20px" /><br> polar_bear <img align="absmiddle" alt=":polar_bear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43b-2744.png" title=":polar_bear:" width="20px" /><br> police_car <img align="absmiddle" alt=":police_car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f693.png" title=":police_car:" width="20px" /><br> police_officer <img align="absmiddle" alt=":police_officer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46e.png" title=":police_officer:" width="20px" /><br> policeman <img align="absmiddle" alt=":policeman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46e-2642.png" title=":policeman:" width="20px" /><br> policewoman <img align="absmiddle" alt=":policewoman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46e-2640.png" title=":policewoman:" width="20px" /><br> poodle <img align="absmiddle" alt=":poodle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f429.png" title=":poodle:" width="20px" /><br> popcorn <img align="absmiddle" alt=":popcorn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f37f.png" title=":popcorn:" width="20px" /><br> portugal <img align="absmiddle" alt=":portugal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f9.png" title=":portugal:" width="20px" /><br> post_office <img align="absmiddle" alt=":post_office:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e3.png" title=":post_office:" width="20px" /><br> postal_horn <img align="absmiddle" alt=":postal_horn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ef.png" title=":postal_horn:" width="20px" /><br> postbox <img align="absmiddle" alt=":postbox:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ee.png" title=":postbox:" width="20px" /><br> potable_water <img align="absmiddle" alt=":potable_water:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b0.png" title=":potable_water:" width="20px" /><br> potato <img align="absmiddle" alt=":potato:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f954.png" title=":potato:" width="20px" /><br> potted_plant <img align="absmiddle" alt=":potted_plant:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab4.png" title=":potted_plant:" width="20px" /><br> pouch <img align="absmiddle" alt=":pouch:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45d.png" title=":pouch:" width="20px" /><br> poultry_leg <img align="absmiddle" alt=":poultry_leg:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f357.png" title=":poultry_leg:" width="20px" /><br> pound <img align="absmiddle" alt=":pound:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b7.png" title=":pound:" width="20px" /><br> pouring_liquid <img align="absmiddle" alt=":pouring_liquid:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad7.png" title=":pouring_liquid:" width="20px" /><br> pouting_cat <img align="absmiddle" alt=":pouting_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63e.png" title=":pouting_cat:" width="20px" /><br> pouting_face <img align="absmiddle" alt=":pouting_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64e.png" title=":pouting_face:" width="20px" /><br> pouting_man <img align="absmiddle" alt=":pouting_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64e-2642.png" title=":pouting_man:" width="20px" /><br> pouting_woman <img align="absmiddle" alt=":pouting_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64e-2640.png" title=":pouting_woman:" width="20px" /><br> pray <img align="absmiddle" alt=":pray:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64f.png" title=":pray:" width="20px" /><br> prayer_beads <img align="absmiddle" alt=":prayer_beads:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ff.png" title=":prayer_beads:" width="20px" /><br> pregnant_man <img align="absmiddle" alt=":pregnant_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac3.png" title=":pregnant_man:" width="20px" /><br> pregnant_person <img align="absmiddle" alt=":pregnant_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fac4.png" title=":pregnant_person:" width="20px" /><br> pregnant_woman <img align="absmiddle" alt=":pregnant_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f930.png" title=":pregnant_woman:" width="20px" /><br> pretzel <img align="absmiddle" alt=":pretzel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f968.png" title=":pretzel:" width="20px" /><br> previous_track_button <img align="absmiddle" alt=":previous_track_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23ee.png" title=":previous_track_button:" width="20px" /><br> prince <img align="absmiddle" alt=":prince:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f934.png" title=":prince:" width="20px" /><br> princess <img align="absmiddle" alt=":princess:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f478.png" title=":princess:" width="20px" /><br> printer <img align="absmiddle" alt=":printer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5a8.png" title=":printer:" width="20px" /><br> probing_cane <img align="absmiddle" alt=":probing_cane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9af.png" title=":probing_cane:" width="20px" /><br> puerto_rico <img align="absmiddle" alt=":puerto_rico:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f7.png" title=":puerto_rico:" width="20px" /><br> purple_circle <img align="absmiddle" alt=":purple_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e3.png" title=":purple_circle:" width="20px" /><br> purple_heart <img align="absmiddle" alt=":purple_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49c.png" title=":purple_heart:" width="20px" /><br> purple_square <img align="absmiddle" alt=":purple_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7ea.png" title=":purple_square:" width="20px" /><br> purse <img align="absmiddle" alt=":purse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45b.png" title=":purse:" width="20px" /><br> pushpin <img align="absmiddle" alt=":pushpin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4cc.png" title=":pushpin:" width="20px" /><br> put_litter_in_its_place <img align="absmiddle" alt=":put_litter_in_its_place:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ae.png" title=":put_litter_in_its_place:" width="20px" /><br> qatar <img align="absmiddle" alt=":qatar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f6-1f1e6.png" title=":qatar:" width="20px" /><br> question <img align="absmiddle" alt=":question:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2753.png" title=":question:" width="20px" /><br> rabbit2 <img align="absmiddle" alt=":rabbit2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f407.png" title=":rabbit2:" width="20px" /><br> rabbit <img align="absmiddle" alt=":rabbit:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f430.png" title=":rabbit:" width="20px" /><br> raccoon <img align="absmiddle" alt=":raccoon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f99d.png" title=":raccoon:" width="20px" /><br> racehorse <img align="absmiddle" alt=":racehorse:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40e.png" title=":racehorse:" width="20px" /><br> racing_car <img align="absmiddle" alt=":racing_car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ce.png" title=":racing_car:" width="20px" /><br> radio <img align="absmiddle" alt=":radio:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4fb.png" title=":radio:" width="20px" /><br> radio_button <img align="absmiddle" alt=":radio_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f518.png" title=":radio_button:" width="20px" /><br> radioactive <img align="absmiddle" alt=":radioactive:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2622.png" title=":radioactive:" width="20px" /><br> rage <img align="absmiddle" alt=":rage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f621.png" title=":rage:" width="20px" /><br> railway_car <img align="absmiddle" alt=":railway_car:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f683.png" title=":railway_car:" width="20px" /><br> railway_track <img align="absmiddle" alt=":railway_track:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e4.png" title=":railway_track:" width="20px" /><br> rainbow <img align="absmiddle" alt=":rainbow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f308.png" title=":rainbow:" width="20px" /><br> rainbow_flag <img align="absmiddle" alt=":rainbow_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f3-1f308.png" title=":rainbow_flag:" width="20px" /><br> raised_back_of_hand <img align="absmiddle" alt=":raised_back_of_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f91a.png" title=":raised_back_of_hand:" width="20px" /><br> raised_eyebrow <img align="absmiddle" alt=":raised_eyebrow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f928.png" title=":raised_eyebrow:" width="20px" /><br> raised_hand_with_fingers_splayed <img align="absmiddle" alt=":raised_hand_with_fingers_splayed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f590.png" title=":raised_hand_with_fingers_splayed:" width="20px" /><br> raised_hands <img align="absmiddle" alt=":raised_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64c.png" title=":raised_hands:" width="20px" /><br> raising_hand <img align="absmiddle" alt=":raising_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64b.png" title=":raising_hand:" width="20px" /><br> raising_hand_man <img align="absmiddle" alt=":raising_hand_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64b-2642.png" title=":raising_hand_man:" width="20px" /><br> raising_hand_woman <img align="absmiddle" alt=":raising_hand_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64b-2640.png" title=":raising_hand_woman:" width="20px" /><br> ram <img align="absmiddle" alt=":ram:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40f.png" title=":ram:" width="20px" /><br> ramen <img align="absmiddle" alt=":ramen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35c.png" title=":ramen:" width="20px" /><br> rat <img align="absmiddle" alt=":rat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f400.png" title=":rat:" width="20px" /><br> razor <img align="absmiddle" alt=":razor:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa92.png" title=":razor:" width="20px" /><br> receipt <img align="absmiddle" alt=":receipt:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9fe.png" title=":receipt:" width="20px" /><br> record_button <img align="absmiddle" alt=":record_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23fa.png" title=":record_button:" width="20px" /><br> recycle <img align="absmiddle" alt=":recycle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/267b.png" title=":recycle:" width="20px" /><br> red_circle <img align="absmiddle" alt=":red_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f534.png" title=":red_circle:" width="20px" /><br> red_envelope <img align="absmiddle" alt=":red_envelope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e7.png" title=":red_envelope:" width="20px" /><br> red_haired_man <img align="absmiddle" alt=":red_haired_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9b0.png" title=":red_haired_man:" width="20px" /><br> red_haired_woman <img align="absmiddle" alt=":red_haired_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9b0.png" title=":red_haired_woman:" width="20px" /><br> red_square <img align="absmiddle" alt=":red_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e5.png" title=":red_square:" width="20px" /><br> registered <img align="absmiddle" alt=":registered:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/00ae.png" title=":registered:" width="20px" /><br> relaxed <img align="absmiddle" alt=":relaxed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/263a.png" title=":relaxed:" width="20px" /><br> relieved <img align="absmiddle" alt=":relieved:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60c.png" title=":relieved:" width="20px" /><br> reminder_ribbon <img align="absmiddle" alt=":reminder_ribbon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f397.png" title=":reminder_ribbon:" width="20px" /><br> repeat <img align="absmiddle" alt=":repeat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f501.png" title=":repeat:" width="20px" /><br> repeat_one <img align="absmiddle" alt=":repeat_one:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f502.png" title=":repeat_one:" width="20px" /><br> rescue_worker_helmet <img align="absmiddle" alt=":rescue_worker_helmet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26d1.png" title=":rescue_worker_helmet:" width="20px" /><br> restroom <img align="absmiddle" alt=":restroom:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6bb.png" title=":restroom:" width="20px" /><br> reunion <img align="absmiddle" alt=":reunion:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1ea.png" title=":reunion:" width="20px" /><br> revolving_hearts <img align="absmiddle" alt=":revolving_hearts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49e.png" title=":revolving_hearts:" width="20px" /><br> rewind <img align="absmiddle" alt=":rewind:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23ea.png" title=":rewind:" width="20px" /><br> rhinoceros <img align="absmiddle" alt=":rhinoceros:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f98f.png" title=":rhinoceros:" width="20px" /><br> ribbon <img align="absmiddle" alt=":ribbon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f380.png" title=":ribbon:" width="20px" /><br> rice <img align="absmiddle" alt=":rice:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35a.png" title=":rice:" width="20px" /><br> rice_ball <img align="absmiddle" alt=":rice_ball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f359.png" title=":rice_ball:" width="20px" /><br> rice_cracker <img align="absmiddle" alt=":rice_cracker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f358.png" title=":rice_cracker:" width="20px" /><br> rice_scene <img align="absmiddle" alt=":rice_scene:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f391.png" title=":rice_scene:" width="20px" /><br> right_anger_bubble <img align="absmiddle" alt=":right_anger_bubble:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5ef.png" title=":right_anger_bubble:" width="20px" /><br> rightwards_hand <img align="absmiddle" alt=":rightwards_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf1.png" title=":rightwards_hand:" width="20px" /><br> rightwards_pushing_hand <img align="absmiddle" alt=":rightwards_pushing_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faf8.png" title=":rightwards_pushing_hand:" width="20px" /><br> ring <img align="absmiddle" alt=":ring:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f48d.png" title=":ring:" width="20px" /><br> ring_buoy <img align="absmiddle" alt=":ring_buoy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6df.png" title=":ring_buoy:" width="20px" /><br> ringed_planet <img align="absmiddle" alt=":ringed_planet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa90.png" title=":ringed_planet:" width="20px" /><br> robot <img align="absmiddle" alt=":robot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f916.png" title=":robot:" width="20px" /><br> rock <img align="absmiddle" alt=":rock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa8.png" title=":rock:" width="20px" /><br> rocket <img align="absmiddle" alt=":rocket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png" title=":rocket:" width="20px" /><br> rofl <img align="absmiddle" alt=":rofl:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f923.png" title=":rofl:" width="20px" /><br> roll_eyes <img align="absmiddle" alt=":roll_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f644.png" title=":roll_eyes:" width="20px" /><br> roll_of_paper <img align="absmiddle" alt=":roll_of_paper:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9fb.png" title=":roll_of_paper:" width="20px" /><br> roller_coaster <img align="absmiddle" alt=":roller_coaster:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a2.png" title=":roller_coaster:" width="20px" /><br> roller_skate <img align="absmiddle" alt=":roller_skate:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6fc.png" title=":roller_skate:" width="20px" /><br> romania <img align="absmiddle" alt=":romania:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1f4.png" title=":romania:" width="20px" /><br> rooster <img align="absmiddle" alt=":rooster:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f413.png" title=":rooster:" width="20px" /><br> rose <img align="absmiddle" alt=":rose:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f339.png" title=":rose:" width="20px" /><br> rosette <img align="absmiddle" alt=":rosette:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f5.png" title=":rosette:" width="20px" /><br> rotating_light <img align="absmiddle" alt=":rotating_light:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a8.png" title=":rotating_light:" width="20px" /><br> round_pushpin <img align="absmiddle" alt=":round_pushpin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4cd.png" title=":round_pushpin:" width="20px" /><br> rowboat <img align="absmiddle" alt=":rowboat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a3.png" title=":rowboat:" width="20px" /><br> rowing_man <img align="absmiddle" alt=":rowing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a3-2642.png" title=":rowing_man:" width="20px" /><br> rowing_woman <img align="absmiddle" alt=":rowing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a3-2640.png" title=":rowing_woman:" width="20px" /><br> ru <img align="absmiddle" alt=":ru:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1fa.png" title=":ru:" width="20px" /><br> rugby_football <img align="absmiddle" alt=":rugby_football:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c9.png" title=":rugby_football:" width="20px" /><br> runner <img align="absmiddle" alt=":runner:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c3.png" title=":runner:" width="20px" /><br> running_man <img align="absmiddle" alt=":running_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c3-2642.png" title=":running_man:" width="20px" /><br> running_shirt_with_sash <img align="absmiddle" alt=":running_shirt_with_sash:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3bd.png" title=":running_shirt_with_sash:" width="20px" /><br> running_woman <img align="absmiddle" alt=":running_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c3-2640.png" title=":running_woman:" width="20px" /><br> rwanda <img align="absmiddle" alt=":rwanda:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1fc.png" title=":rwanda:" width="20px" /><br> sa <img align="absmiddle" alt=":sa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f202.png" title=":sa:" width="20px" /><br> safety_pin <img align="absmiddle" alt=":safety_pin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f7.png" title=":safety_pin:" width="20px" /><br> safety_vest <img align="absmiddle" alt=":safety_vest:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ba.png" title=":safety_vest:" width="20px" /><br> sagittarius <img align="absmiddle" alt=":sagittarius:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2650.png" title=":sagittarius:" width="20px" /><br> sake <img align="absmiddle" alt=":sake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f376.png" title=":sake:" width="20px" /><br> salt <img align="absmiddle" alt=":salt:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c2.png" title=":salt:" width="20px" /><br> saluting_face <img align="absmiddle" alt=":saluting_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae1.png" title=":saluting_face:" width="20px" /><br> samoa <img align="absmiddle" alt=":samoa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fc-1f1f8.png" title=":samoa:" width="20px" /><br> san_marino <img align="absmiddle" alt=":san_marino:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f2.png" title=":san_marino:" width="20px" /><br> sandal <img align="absmiddle" alt=":sandal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f461.png" title=":sandal:" width="20px" /><br> sandwich <img align="absmiddle" alt=":sandwich:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f96a.png" title=":sandwich:" width="20px" /><br> santa <img align="absmiddle" alt=":santa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f385.png" title=":santa:" width="20px" /><br> sao_tome_principe <img align="absmiddle" alt=":sao_tome_principe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f9.png" title=":sao_tome_principe:" width="20px" /><br> sari <img align="absmiddle" alt=":sari:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f97b.png" title=":sari:" width="20px" /><br> satellite <img align="absmiddle" alt=":satellite:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e1.png" title=":satellite:" width="20px" /><br> saudi_arabia <img align="absmiddle" alt=":saudi_arabia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1e6.png" title=":saudi_arabia:" width="20px" /><br> sauna_man <img align="absmiddle" alt=":sauna_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d6-2642.png" title=":sauna_man:" width="20px" /><br> sauna_person <img align="absmiddle" alt=":sauna_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d6.png" title=":sauna_person:" width="20px" /><br> sauna_woman <img align="absmiddle" alt=":sauna_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d6-2640.png" title=":sauna_woman:" width="20px" /><br> sauropod <img align="absmiddle" alt=":sauropod:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f995.png" title=":sauropod:" width="20px" /><br> saxophone <img align="absmiddle" alt=":saxophone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b7.png" title=":saxophone:" width="20px" /><br> scarf <img align="absmiddle" alt=":scarf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e3.png" title=":scarf:" width="20px" /><br> school <img align="absmiddle" alt=":school:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3eb.png" title=":school:" width="20px" /><br> school_satchel <img align="absmiddle" alt=":school_satchel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f392.png" title=":school_satchel:" width="20px" /><br> scientist <img align="absmiddle" alt=":scientist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f52c.png" title=":scientist:" width="20px" /><br> scissors <img align="absmiddle" alt=":scissors:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2702.png" title=":scissors:" width="20px" /><br> scorpion <img align="absmiddle" alt=":scorpion:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f982.png" title=":scorpion:" width="20px" /><br> scorpius <img align="absmiddle" alt=":scorpius:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264f.png" title=":scorpius:" width="20px" /><br> scotland <img align="absmiddle" alt=":scotland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png" title=":scotland:" width="20px" /><br> scream <img align="absmiddle" alt=":scream:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f631.png" title=":scream:" width="20px" /><br> scream_cat <img align="absmiddle" alt=":scream_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f640.png" title=":scream_cat:" width="20px" /><br> screwdriver <img align="absmiddle" alt=":screwdriver:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9b.png" title=":screwdriver:" width="20px" /><br> scroll <img align="absmiddle" alt=":scroll:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4dc.png" title=":scroll:" width="20px" /><br> seal <img align="absmiddle" alt=":seal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ad.png" title=":seal:" width="20px" /><br> seat <img align="absmiddle" alt=":seat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ba.png" title=":seat:" width="20px" /><br> secret <img align="absmiddle" alt=":secret:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/3299.png" title=":secret:" width="20px" /><br> see_no_evil <img align="absmiddle" alt=":see_no_evil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f648.png" title=":see_no_evil:" width="20px" /><br> seedling <img align="absmiddle" alt=":seedling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f331.png" title=":seedling:" width="20px" /><br> selfie <img align="absmiddle" alt=":selfie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f933.png" title=":selfie:" width="20px" /><br> senegal <img align="absmiddle" alt=":senegal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f3.png" title=":senegal:" width="20px" /><br> serbia <img align="absmiddle" alt=":serbia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1f8.png" title=":serbia:" width="20px" /><br> service_dog <img align="absmiddle" alt=":service_dog:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f415-1f9ba.png" title=":service_dog:" width="20px" /><br> seven <img align="absmiddle" alt=":seven:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0037-20e3.png" title=":seven:" width="20px" /><br> sewing_needle <img align="absmiddle" alt=":sewing_needle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa1.png" title=":sewing_needle:" width="20px" /><br> seychelles <img align="absmiddle" alt=":seychelles:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1e8.png" title=":seychelles:" width="20px" /><br> shaking_face <img align="absmiddle" alt=":shaking_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fae8.png" title=":shaking_face:" width="20px" /><br> shallow_pan_of_food <img align="absmiddle" alt=":shallow_pan_of_food:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f958.png" title=":shallow_pan_of_food:" width="20px" /><br> shamrock <img align="absmiddle" alt=":shamrock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2618.png" title=":shamrock:" width="20px" /><br> shark <img align="absmiddle" alt=":shark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f988.png" title=":shark:" width="20px" /><br> shaved_ice <img align="absmiddle" alt=":shaved_ice:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f367.png" title=":shaved_ice:" width="20px" /><br> sheep <img align="absmiddle" alt=":sheep:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f411.png" title=":sheep:" width="20px" /><br> shell <img align="absmiddle" alt=":shell:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f41a.png" title=":shell:" width="20px" /><br> shield <img align="absmiddle" alt=":shield:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e1.png" title=":shield:" width="20px" /><br> shinto_shrine <img align="absmiddle" alt=":shinto_shrine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26e9.png" title=":shinto_shrine:" width="20px" /><br> ship <img align="absmiddle" alt=":ship:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a2.png" title=":ship:" width="20px" /><br> shirt <img align="absmiddle" alt=":shirt:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f455.png" title=":shirt:" width="20px" /><br> shopping <img align="absmiddle" alt=":shopping:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6cd.png" title=":shopping:" width="20px" /><br> shopping_cart <img align="absmiddle" alt=":shopping_cart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d2.png" title=":shopping_cart:" width="20px" /><br> shorts <img align="absmiddle" alt=":shorts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa73.png" title=":shorts:" width="20px" /><br> shower <img align="absmiddle" alt=":shower:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6bf.png" title=":shower:" width="20px" /><br> shrimp <img align="absmiddle" alt=":shrimp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f990.png" title=":shrimp:" width="20px" /><br> shrug <img align="absmiddle" alt=":shrug:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f937.png" title=":shrug:" width="20px" /><br> shushing_face <img align="absmiddle" alt=":shushing_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92b.png" title=":shushing_face:" width="20px" /><br> sierra_leone <img align="absmiddle" alt=":sierra_leone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f1.png" title=":sierra_leone:" width="20px" /><br> signal_strength <img align="absmiddle" alt=":signal_strength:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f6.png" title=":signal_strength:" width="20px" /><br> singapore <img align="absmiddle" alt=":singapore:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ec.png" title=":singapore:" width="20px" /><br> singer <img align="absmiddle" alt=":singer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f3a4.png" title=":singer:" width="20px" /><br> sint_maarten <img align="absmiddle" alt=":sint_maarten:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1fd.png" title=":sint_maarten:" width="20px" /><br> six <img align="absmiddle" alt=":six:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0036-20e3.png" title=":six:" width="20px" /><br> six_pointed_star <img align="absmiddle" alt=":six_pointed_star:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52f.png" title=":six_pointed_star:" width="20px" /><br> skateboard <img align="absmiddle" alt=":skateboard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f9.png" title=":skateboard:" width="20px" /><br> ski <img align="absmiddle" alt=":ski:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3bf.png" title=":ski:" width="20px" /><br> skier <img align="absmiddle" alt=":skier:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26f7.png" title=":skier:" width="20px" /><br> skull <img align="absmiddle" alt=":skull:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f480.png" title=":skull:" width="20px" /><br> skull_and_crossbones <img align="absmiddle" alt=":skull_and_crossbones:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2620.png" title=":skull_and_crossbones:" width="20px" /><br> skunk <img align="absmiddle" alt=":skunk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a8.png" title=":skunk:" width="20px" /><br> sled <img align="absmiddle" alt=":sled:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6f7.png" title=":sled:" width="20px" /><br> sleeping <img align="absmiddle" alt=":sleeping:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f634.png" title=":sleeping:" width="20px" /><br> sleeping_bed <img align="absmiddle" alt=":sleeping_bed:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6cc.png" title=":sleeping_bed:" width="20px" /><br> sleepy <img align="absmiddle" alt=":sleepy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62a.png" title=":sleepy:" width="20px" /><br> slightly_frowning_face <img align="absmiddle" alt=":slightly_frowning_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f641.png" title=":slightly_frowning_face:" width="20px" /><br> slightly_smiling_face <img align="absmiddle" alt=":slightly_smiling_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f642.png" title=":slightly_smiling_face:" width="20px" /><br> slot_machine <img align="absmiddle" alt=":slot_machine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3b0.png" title=":slot_machine:" width="20px" /><br> sloth <img align="absmiddle" alt=":sloth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a5.png" title=":sloth:" width="20px" /><br> slovakia <img align="absmiddle" alt=":slovakia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f0.png" title=":slovakia:" width="20px" /><br> slovenia <img align="absmiddle" alt=":slovenia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ee.png" title=":slovenia:" width="20px" /><br> small_airplane <img align="absmiddle" alt=":small_airplane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6e9.png" title=":small_airplane:" width="20px" /><br> small_blue_diamond <img align="absmiddle" alt=":small_blue_diamond:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f539.png" title=":small_blue_diamond:" width="20px" /><br> small_orange_diamond <img align="absmiddle" alt=":small_orange_diamond:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f538.png" title=":small_orange_diamond:" width="20px" /><br> small_red_triangle <img align="absmiddle" alt=":small_red_triangle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f53a.png" title=":small_red_triangle:" width="20px" /><br> small_red_triangle_down <img align="absmiddle" alt=":small_red_triangle_down:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f53b.png" title=":small_red_triangle_down:" width="20px" /><br> smile <img align="absmiddle" alt=":smile:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f604.png" title=":smile:" width="20px" /><br> smile_cat <img align="absmiddle" alt=":smile_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f638.png" title=":smile_cat:" width="20px" /><br> smiley <img align="absmiddle" alt=":smiley:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f603.png" title=":smiley:" width="20px" /><br> smiley_cat <img align="absmiddle" alt=":smiley_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63a.png" title=":smiley_cat:" width="20px" /><br> smiling_face_with_tear <img align="absmiddle" alt=":smiling_face_with_tear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f972.png" title=":smiling_face_with_tear:" width="20px" /><br> smiling_face_with_three_hearts <img align="absmiddle" alt=":smiling_face_with_three_hearts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f970.png" title=":smiling_face_with_three_hearts:" width="20px" /><br> smiling_imp <img align="absmiddle" alt=":smiling_imp:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f608.png" title=":smiling_imp:" width="20px" /><br> smirk <img align="absmiddle" alt=":smirk:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60f.png" title=":smirk:" width="20px" /><br> smirk_cat <img align="absmiddle" alt=":smirk_cat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f63c.png" title=":smirk_cat:" width="20px" /><br> smoking <img align="absmiddle" alt=":smoking:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ac.png" title=":smoking:" width="20px" /><br> snail <img align="absmiddle" alt=":snail:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40c.png" title=":snail:" width="20px" /><br> snake <img align="absmiddle" alt=":snake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40d.png" title=":snake:" width="20px" /><br> sneezing_face <img align="absmiddle" alt=":sneezing_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f927.png" title=":sneezing_face:" width="20px" /><br> snowboarder <img align="absmiddle" alt=":snowboarder:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c2.png" title=":snowboarder:" width="20px" /><br> snowflake <img align="absmiddle" alt=":snowflake:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2744.png" title=":snowflake:" width="20px" /><br> snowman <img align="absmiddle" alt=":snowman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26c4.png" title=":snowman:" width="20px" /><br> snowman_with_snow <img align="absmiddle" alt=":snowman_with_snow:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2603.png" title=":snowman_with_snow:" width="20px" /><br> soap <img align="absmiddle" alt=":soap:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9fc.png" title=":soap:" width="20px" /><br> sob <img align="absmiddle" alt=":sob:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62d.png" title=":sob:" width="20px" /><br> soccer <img align="absmiddle" alt=":soccer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26bd.png" title=":soccer:" width="20px" /><br> socks <img align="absmiddle" alt=":socks:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9e6.png" title=":socks:" width="20px" /><br> softball <img align="absmiddle" alt=":softball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f94e.png" title=":softball:" width="20px" /><br> solomon_islands <img align="absmiddle" alt=":solomon_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1e7.png" title=":solomon_islands:" width="20px" /><br> somalia <img align="absmiddle" alt=":somalia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f4.png" title=":somalia:" width="20px" /><br> soon <img align="absmiddle" alt=":soon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51c.png" title=":soon:" width="20px" /><br> sos <img align="absmiddle" alt=":sos:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f198.png" title=":sos:" width="20px" /><br> sound <img align="absmiddle" alt=":sound:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f509.png" title=":sound:" width="20px" /><br> south_africa <img align="absmiddle" alt=":south_africa:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ff-1f1e6.png" title=":south_africa:" width="20px" /><br> south_georgia_south_sandwich_islands <img align="absmiddle" alt=":south_georgia_south_sandwich_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1f8.png" title=":south_georgia_south_sandwich_islands:" width="20px" /><br> south_sudan <img align="absmiddle" alt=":south_sudan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f8.png" title=":south_sudan:" width="20px" /><br> space_invader <img align="absmiddle" alt=":space_invader:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f47e.png" title=":space_invader:" width="20px" /><br> spades <img align="absmiddle" alt=":spades:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2660.png" title=":spades:" width="20px" /><br> spaghetti <img align="absmiddle" alt=":spaghetti:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f35d.png" title=":spaghetti:" width="20px" /><br> sparkle <img align="absmiddle" alt=":sparkle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2747.png" title=":sparkle:" width="20px" /><br> sparkler <img align="absmiddle" alt=":sparkler:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f387.png" title=":sparkler:" width="20px" /><br> sparkles <img align="absmiddle" alt=":sparkles:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2728.png" title=":sparkles:" width="20px" /><br> sparkling_heart <img align="absmiddle" alt=":sparkling_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f496.png" title=":sparkling_heart:" width="20px" /><br> speak_no_evil <img align="absmiddle" alt=":speak_no_evil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f64a.png" title=":speak_no_evil:" width="20px" /><br> speaker <img align="absmiddle" alt=":speaker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f508.png" title=":speaker:" width="20px" /><br> speaking_head <img align="absmiddle" alt=":speaking_head:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5e3.png" title=":speaking_head:" width="20px" /><br> speech_balloon <img align="absmiddle" alt=":speech_balloon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ac.png" title=":speech_balloon:" width="20px" /><br> speedboat <img align="absmiddle" alt=":speedboat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a4.png" title=":speedboat:" width="20px" /><br> spider <img align="absmiddle" alt=":spider:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f577.png" title=":spider:" width="20px" /><br> spider_web <img align="absmiddle" alt=":spider_web:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f578.png" title=":spider_web:" width="20px" /><br> spiral_calendar <img align="absmiddle" alt=":spiral_calendar:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5d3.png" title=":spiral_calendar:" width="20px" /><br> spiral_notepad <img align="absmiddle" alt=":spiral_notepad:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5d2.png" title=":spiral_notepad:" width="20px" /><br> sponge <img align="absmiddle" alt=":sponge:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9fd.png" title=":sponge:" width="20px" /><br> spoon <img align="absmiddle" alt=":spoon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f944.png" title=":spoon:" width="20px" /><br> squid <img align="absmiddle" alt=":squid:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f991.png" title=":squid:" width="20px" /><br> sri_lanka <img align="absmiddle" alt=":sri_lanka:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1f0.png" title=":sri_lanka:" width="20px" /><br> st_barthelemy <img align="absmiddle" alt=":st_barthelemy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f1.png" title=":st_barthelemy:" width="20px" /><br> st_helena <img align="absmiddle" alt=":st_helena:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ed.png" title=":st_helena:" width="20px" /><br> st_kitts_nevis <img align="absmiddle" alt=":st_kitts_nevis:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f0-1f1f3.png" title=":st_kitts_nevis:" width="20px" /><br> st_lucia <img align="absmiddle" alt=":st_lucia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f1-1f1e8.png" title=":st_lucia:" width="20px" /><br> st_martin <img align="absmiddle" alt=":st_martin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f2-1f1eb.png" title=":st_martin:" width="20px" /><br> st_pierre_miquelon <img align="absmiddle" alt=":st_pierre_miquelon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f5-1f1f2.png" title=":st_pierre_miquelon:" width="20px" /><br> st_vincent_grenadines <img align="absmiddle" alt=":st_vincent_grenadines:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1e8.png" title=":st_vincent_grenadines:" width="20px" /><br> stadium <img align="absmiddle" alt=":stadium:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3df.png" title=":stadium:" width="20px" /><br> standing_man <img align="absmiddle" alt=":standing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cd-2642.png" title=":standing_man:" width="20px" /><br> standing_person <img align="absmiddle" alt=":standing_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cd.png" title=":standing_person:" width="20px" /><br> standing_woman <img align="absmiddle" alt=":standing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cd-2640.png" title=":standing_woman:" width="20px" /><br> star2 <img align="absmiddle" alt=":star2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31f.png" title=":star2:" width="20px" /><br> star <img align="absmiddle" alt=":star:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b50.png" title=":star:" width="20px" /><br> star_and_crescent <img align="absmiddle" alt=":star_and_crescent:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/262a.png" title=":star_and_crescent:" width="20px" /><br> star_of_david <img align="absmiddle" alt=":star_of_david:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2721.png" title=":star_of_david:" width="20px" /><br> star_struck <img align="absmiddle" alt=":star_struck:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f929.png" title=":star_struck:" width="20px" /><br> stars <img align="absmiddle" alt=":stars:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f320.png" title=":stars:" width="20px" /><br> station <img align="absmiddle" alt=":station:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f689.png" title=":station:" width="20px" /><br> statue_of_liberty <img align="absmiddle" alt=":statue_of_liberty:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5fd.png" title=":statue_of_liberty:" width="20px" /><br> steam_locomotive <img align="absmiddle" alt=":steam_locomotive:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f682.png" title=":steam_locomotive:" width="20px" /><br> stethoscope <img align="absmiddle" alt=":stethoscope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa7a.png" title=":stethoscope:" width="20px" /><br> stew <img align="absmiddle" alt=":stew:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f372.png" title=":stew:" width="20px" /><br> stop_button <img align="absmiddle" alt=":stop_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f9.png" title=":stop_button:" width="20px" /><br> stop_sign <img align="absmiddle" alt=":stop_sign:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6d1.png" title=":stop_sign:" width="20px" /><br> stopwatch <img align="absmiddle" alt=":stopwatch:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f1.png" title=":stopwatch:" width="20px" /><br> straight_ruler <img align="absmiddle" alt=":straight_ruler:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4cf.png" title=":straight_ruler:" width="20px" /><br> strawberry <img align="absmiddle" alt=":strawberry:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f353.png" title=":strawberry:" width="20px" /><br> stuck_out_tongue <img align="absmiddle" alt=":stuck_out_tongue:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61b.png" title=":stuck_out_tongue:" width="20px" /><br> stuck_out_tongue_closed_eyes <img align="absmiddle" alt=":stuck_out_tongue_closed_eyes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61d.png" title=":stuck_out_tongue_closed_eyes:" width="20px" /><br> stuck_out_tongue_winking_eye <img align="absmiddle" alt=":stuck_out_tongue_winking_eye:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61c.png" title=":stuck_out_tongue_winking_eye:" width="20px" /><br> student <img align="absmiddle" alt=":student:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f393.png" title=":student:" width="20px" /><br> studio_microphone <img align="absmiddle" alt=":studio_microphone:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f399.png" title=":studio_microphone:" width="20px" /><br> stuffed_flatbread <img align="absmiddle" alt=":stuffed_flatbread:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f959.png" title=":stuffed_flatbread:" width="20px" /><br> sudan <img align="absmiddle" alt=":sudan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1e9.png" title=":sudan:" width="20px" /><br> sun_behind_large_cloud <img align="absmiddle" alt=":sun_behind_large_cloud:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f325.png" title=":sun_behind_large_cloud:" width="20px" /><br> sun_behind_rain_cloud <img align="absmiddle" alt=":sun_behind_rain_cloud:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f326.png" title=":sun_behind_rain_cloud:" width="20px" /><br> sun_behind_small_cloud <img align="absmiddle" alt=":sun_behind_small_cloud:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f324.png" title=":sun_behind_small_cloud:" width="20px" /><br> sun_with_face <img align="absmiddle" alt=":sun_with_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f31e.png" title=":sun_with_face:" width="20px" /><br> sunflower <img align="absmiddle" alt=":sunflower:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f33b.png" title=":sunflower:" width="20px" /><br> sunglasses <img align="absmiddle" alt=":sunglasses:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60e.png" title=":sunglasses:" width="20px" /><br> sunny <img align="absmiddle" alt=":sunny:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2600.png" title=":sunny:" width="20px" /><br> sunrise <img align="absmiddle" alt=":sunrise:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f305.png" title=":sunrise:" width="20px" /><br> sunrise_over_mountains <img align="absmiddle" alt=":sunrise_over_mountains:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f304.png" title=":sunrise_over_mountains:" width="20px" /><br> superhero <img align="absmiddle" alt=":superhero:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b8.png" title=":superhero:" width="20px" /><br> superhero_man <img align="absmiddle" alt=":superhero_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b8-2642.png" title=":superhero_man:" width="20px" /><br> superhero_woman <img align="absmiddle" alt=":superhero_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b8-2640.png" title=":superhero_woman:" width="20px" /><br> supervillain <img align="absmiddle" alt=":supervillain:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b9.png" title=":supervillain:" width="20px" /><br> supervillain_man <img align="absmiddle" alt=":supervillain_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b9-2642.png" title=":supervillain_man:" width="20px" /><br> supervillain_woman <img align="absmiddle" alt=":supervillain_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b9-2640.png" title=":supervillain_woman:" width="20px" /><br> surfer <img align="absmiddle" alt=":surfer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c4.png" title=":surfer:" width="20px" /><br> surfing_man <img align="absmiddle" alt=":surfing_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c4-2642.png" title=":surfing_man:" width="20px" /><br> surfing_woman <img align="absmiddle" alt=":surfing_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c4-2640.png" title=":surfing_woman:" width="20px" /><br> suriname <img align="absmiddle" alt=":suriname:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1f7.png" title=":suriname:" width="20px" /><br> sushi <img align="absmiddle" alt=":sushi:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f363.png" title=":sushi:" width="20px" /><br> suspension_railway <img align="absmiddle" alt=":suspension_railway:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69f.png" title=":suspension_railway:" width="20px" /><br> svalbard_jan_mayen <img align="absmiddle" alt=":svalbard_jan_mayen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ef.png" title=":svalbard_jan_mayen:" width="20px" /><br> swan <img align="absmiddle" alt=":swan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9a2.png" title=":swan:" width="20px" /><br> swaziland <img align="absmiddle" alt=":swaziland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ff.png" title=":swaziland:" width="20px" /><br> sweat <img align="absmiddle" alt=":sweat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f613.png" title=":sweat:" width="20px" /><br> sweat_drops <img align="absmiddle" alt=":sweat_drops:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a6.png" title=":sweat_drops:" width="20px" /><br> sweat_smile <img align="absmiddle" alt=":sweat_smile:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f605.png" title=":sweat_smile:" width="20px" /><br> sweden <img align="absmiddle" alt=":sweden:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1ea.png" title=":sweden:" width="20px" /><br> sweet_potato <img align="absmiddle" alt=":sweet_potato:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f360.png" title=":sweet_potato:" width="20px" /><br> swim_brief <img align="absmiddle" alt=":swim_brief:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa72.png" title=":swim_brief:" width="20px" /><br> swimmer <img align="absmiddle" alt=":swimmer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ca.png" title=":swimmer:" width="20px" /><br> swimming_man <img align="absmiddle" alt=":swimming_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ca-2642.png" title=":swimming_man:" width="20px" /><br> swimming_woman <img align="absmiddle" alt=":swimming_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ca-2640.png" title=":swimming_woman:" width="20px" /><br> switzerland <img align="absmiddle" alt=":switzerland:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1ed.png" title=":switzerland:" width="20px" /><br> symbols <img align="absmiddle" alt=":symbols:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f523.png" title=":symbols:" width="20px" /><br> synagogue <img align="absmiddle" alt=":synagogue:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f54d.png" title=":synagogue:" width="20px" /><br> syria <img align="absmiddle" alt=":syria:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f8-1f1fe.png" title=":syria:" width="20px" /><br> syringe <img align="absmiddle" alt=":syringe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f489.png" title=":syringe:" width="20px" /><br> t-rex <img align="absmiddle" alt=":t-rex:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f996.png" title=":t-rex:" width="20px" /><br> taco <img align="absmiddle" alt=":taco:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32e.png" title=":taco:" width="20px" /><br> tada <img align="absmiddle" alt=":tada:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png" title=":tada:" width="20px" /><br> taiwan <img align="absmiddle" alt=":taiwan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1fc.png" title=":taiwan:" width="20px" /><br> tajikistan <img align="absmiddle" alt=":tajikistan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1ef.png" title=":tajikistan:" width="20px" /><br> takeout_box <img align="absmiddle" alt=":takeout_box:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f961.png" title=":takeout_box:" width="20px" /><br> tamale <img align="absmiddle" alt=":tamale:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad4.png" title=":tamale:" width="20px" /><br> tanabata_tree <img align="absmiddle" alt=":tanabata_tree:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f38b.png" title=":tanabata_tree:" width="20px" /><br> tangerine <img align="absmiddle" alt=":tangerine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f34a.png" title=":tangerine:" width="20px" /><br> tanzania <img align="absmiddle" alt=":tanzania:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1ff.png" title=":tanzania:" width="20px" /><br> taurus <img align="absmiddle" alt=":taurus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2649.png" title=":taurus:" width="20px" /><br> taxi <img align="absmiddle" alt=":taxi:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f695.png" title=":taxi:" width="20px" /><br> tea <img align="absmiddle" alt=":tea:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f375.png" title=":tea:" width="20px" /><br> teacher <img align="absmiddle" alt=":teacher:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f3eb.png" title=":teacher:" width="20px" /><br> teapot <img align="absmiddle" alt=":teapot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fad6.png" title=":teapot:" width="20px" /><br> technologist <img align="absmiddle" alt=":technologist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d1-1f4bb.png" title=":technologist:" width="20px" /><br> teddy_bear <img align="absmiddle" alt=":teddy_bear:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f8.png" title=":teddy_bear:" width="20px" /><br> telephone_receiver <img align="absmiddle" alt=":telephone_receiver:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4de.png" title=":telephone_receiver:" width="20px" /><br> telescope <img align="absmiddle" alt=":telescope:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f52d.png" title=":telescope:" width="20px" /><br> tennis <img align="absmiddle" alt=":tennis:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3be.png" title=":tennis:" width="20px" /><br> tent <img align="absmiddle" alt=":tent:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26fa.png" title=":tent:" width="20px" /><br> test_tube <img align="absmiddle" alt=":test_tube:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9ea.png" title=":test_tube:" width="20px" /><br> thailand <img align="absmiddle" alt=":thailand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1ed.png" title=":thailand:" width="20px" /><br> thermometer <img align="absmiddle" alt=":thermometer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f321.png" title=":thermometer:" width="20px" /><br> thinking <img align="absmiddle" alt=":thinking:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f914.png" title=":thinking:" width="20px" /><br> thong_sandal <img align="absmiddle" alt=":thong_sandal:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa74.png" title=":thong_sandal:" width="20px" /><br> thought_balloon <img align="absmiddle" alt=":thought_balloon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ad.png" title=":thought_balloon:" width="20px" /><br> thread <img align="absmiddle" alt=":thread:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f5.png" title=":thread:" width="20px" /><br> three <img align="absmiddle" alt=":three:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0033-20e3.png" title=":three:" width="20px" /><br> ticket <img align="absmiddle" alt=":ticket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ab.png" title=":ticket:" width="20px" /><br> tickets <img align="absmiddle" alt=":tickets:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f39f.png" title=":tickets:" width="20px" /><br> tiger2 <img align="absmiddle" alt=":tiger2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f405.png" title=":tiger2:" width="20px" /><br> tiger <img align="absmiddle" alt=":tiger:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f42f.png" title=":tiger:" width="20px" /><br> timer_clock <img align="absmiddle" alt=":timer_clock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/23f2.png" title=":timer_clock:" width="20px" /><br> timor_leste <img align="absmiddle" alt=":timor_leste:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f1.png" title=":timor_leste:" width="20px" /><br> tipping_hand_man <img align="absmiddle" alt=":tipping_hand_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f481-2642.png" title=":tipping_hand_man:" width="20px" /><br> tipping_hand_person <img align="absmiddle" alt=":tipping_hand_person:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f481.png" title=":tipping_hand_person:" width="20px" /><br> tipping_hand_woman <img align="absmiddle" alt=":tipping_hand_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f481-2640.png" title=":tipping_hand_woman:" width="20px" /><br> tired_face <img align="absmiddle" alt=":tired_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f62b.png" title=":tired_face:" width="20px" /><br> tm <img align="absmiddle" alt=":tm:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2122.png" title=":tm:" width="20px" /><br> togo <img align="absmiddle" alt=":togo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1ec.png" title=":togo:" width="20px" /><br> toilet <img align="absmiddle" alt=":toilet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6bd.png" title=":toilet:" width="20px" /><br> tokelau <img align="absmiddle" alt=":tokelau:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f0.png" title=":tokelau:" width="20px" /><br> tokyo_tower <img align="absmiddle" alt=":tokyo_tower:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5fc.png" title=":tokyo_tower:" width="20px" /><br> tomato <img align="absmiddle" alt=":tomato:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f345.png" title=":tomato:" width="20px" /><br> tonga <img align="absmiddle" alt=":tonga:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f4.png" title=":tonga:" width="20px" /><br> tongue <img align="absmiddle" alt=":tongue:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f445.png" title=":tongue:" width="20px" /><br> toolbox <img align="absmiddle" alt=":toolbox:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f0.png" title=":toolbox:" width="20px" /><br> tooth <img align="absmiddle" alt=":tooth:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9b7.png" title=":tooth:" width="20px" /><br> toothbrush <img align="absmiddle" alt=":toothbrush:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1faa5.png" title=":toothbrush:" width="20px" /><br> top <img align="absmiddle" alt=":top:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51d.png" title=":top:" width="20px" /><br> tophat <img align="absmiddle" alt=":tophat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3a9.png" title=":tophat:" width="20px" /><br> tornado <img align="absmiddle" alt=":tornado:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32a.png" title=":tornado:" width="20px" /><br> tr <img align="absmiddle" alt=":tr:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f7.png" title=":tr:" width="20px" /><br> trackball <img align="absmiddle" alt=":trackball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5b2.png" title=":trackball:" width="20px" /><br> tractor <img align="absmiddle" alt=":tractor:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69c.png" title=":tractor:" width="20px" /><br> traffic_light <img align="absmiddle" alt=":traffic_light:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a5.png" title=":traffic_light:" width="20px" /><br> train2 <img align="absmiddle" alt=":train2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f686.png" title=":train2:" width="20px" /><br> train <img align="absmiddle" alt=":train:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68b.png" title=":train:" width="20px" /><br> tram <img align="absmiddle" alt=":tram:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68a.png" title=":tram:" width="20px" /><br> transgender_flag <img align="absmiddle" alt=":transgender_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f3-26a7.png" title=":transgender_flag:" width="20px" /><br> transgender_symbol <img align="absmiddle" alt=":transgender_symbol:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26a7.png" title=":transgender_symbol:" width="20px" /><br> triangular_flag_on_post <img align="absmiddle" alt=":triangular_flag_on_post:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a9.png" title=":triangular_flag_on_post:" width="20px" /><br> triangular_ruler <img align="absmiddle" alt=":triangular_ruler:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d0.png" title=":triangular_ruler:" width="20px" /><br> trident <img align="absmiddle" alt=":trident:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f531.png" title=":trident:" width="20px" /><br> trinidad_tobago <img align="absmiddle" alt=":trinidad_tobago:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f9.png" title=":trinidad_tobago:" width="20px" /><br> tristan_da_cunha <img align="absmiddle" alt=":tristan_da_cunha:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1e6.png" title=":tristan_da_cunha:" width="20px" /><br> triumph <img align="absmiddle" alt=":triumph:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f624.png" title=":triumph:" width="20px" /><br> troll <img align="absmiddle" alt=":troll:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9cc.png" title=":troll:" width="20px" /><br> trolleybus <img align="absmiddle" alt=":trolleybus:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f68e.png" title=":trolleybus:" width="20px" /><br> trophy <img align="absmiddle" alt=":trophy:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c6.png" title=":trophy:" width="20px" /><br> tropical_drink <img align="absmiddle" alt=":tropical_drink:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f379.png" title=":tropical_drink:" width="20px" /><br> tropical_fish <img align="absmiddle" alt=":tropical_fish:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f420.png" title=":tropical_fish:" width="20px" /><br> truck <img align="absmiddle" alt=":truck:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f69a.png" title=":truck:" width="20px" /><br> trumpet <img align="absmiddle" alt=":trumpet:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ba.png" title=":trumpet:" width="20px" /><br> tulip <img align="absmiddle" alt=":tulip:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f337.png" title=":tulip:" width="20px" /><br> tumbler_glass <img align="absmiddle" alt=":tumbler_glass:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f943.png" title=":tumbler_glass:" width="20px" /><br> tunisia <img align="absmiddle" alt=":tunisia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f3.png" title=":tunisia:" width="20px" /><br> turkey <img align="absmiddle" alt=":turkey:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f983.png" title=":turkey:" width="20px" /><br> turkmenistan <img align="absmiddle" alt=":turkmenistan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1f2.png" title=":turkmenistan:" width="20px" /><br> turks_caicos_islands <img align="absmiddle" alt=":turks_caicos_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1e8.png" title=":turks_caicos_islands:" width="20px" /><br> turtle <img align="absmiddle" alt=":turtle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f422.png" title=":turtle:" width="20px" /><br> tuvalu <img align="absmiddle" alt=":tuvalu:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f9-1f1fb.png" title=":tuvalu:" width="20px" /><br> tv <img align="absmiddle" alt=":tv:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4fa.png" title=":tv:" width="20px" /><br> twisted_rightwards_arrows <img align="absmiddle" alt=":twisted_rightwards_arrows:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f500.png" title=":twisted_rightwards_arrows:" width="20px" /><br> two <img align="absmiddle" alt=":two:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0032-20e3.png" title=":two:" width="20px" /><br> two_hearts <img align="absmiddle" alt=":two_hearts:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f495.png" title=":two_hearts:" width="20px" /><br> two_men_holding_hands <img align="absmiddle" alt=":two_men_holding_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46c.png" title=":two_men_holding_hands:" width="20px" /><br> two_women_holding_hands <img align="absmiddle" alt=":two_women_holding_hands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f46d.png" title=":two_women_holding_hands:" width="20px" /><br> u5272 <img align="absmiddle" alt=":u5272:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f239.png" title=":u5272:" width="20px" /><br> u5408 <img align="absmiddle" alt=":u5408:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f234.png" title=":u5408:" width="20px" /><br> u55b6 <img align="absmiddle" alt=":u55b6:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f23a.png" title=":u55b6:" width="20px" /><br> u6307 <img align="absmiddle" alt=":u6307:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f22f.png" title=":u6307:" width="20px" /><br> u6708 <img align="absmiddle" alt=":u6708:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f237.png" title=":u6708:" width="20px" /><br> u6709 <img align="absmiddle" alt=":u6709:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f236.png" title=":u6709:" width="20px" /><br> u6e80 <img align="absmiddle" alt=":u6e80:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f235.png" title=":u6e80:" width="20px" /><br> u7121 <img align="absmiddle" alt=":u7121:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f21a.png" title=":u7121:" width="20px" /><br> u7533 <img align="absmiddle" alt=":u7533:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f238.png" title=":u7533:" width="20px" /><br> u7981 <img align="absmiddle" alt=":u7981:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f232.png" title=":u7981:" width="20px" /><br> u7a7a <img align="absmiddle" alt=":u7a7a:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f233.png" title=":u7a7a:" width="20px" /><br> uganda <img align="absmiddle" alt=":uganda:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1ec.png" title=":uganda:" width="20px" /><br> ukraine <img align="absmiddle" alt=":ukraine:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1e6.png" title=":ukraine:" width="20px" /><br> umbrella <img align="absmiddle" alt=":umbrella:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2614.png" title=":umbrella:" width="20px" /><br> unamused <img align="absmiddle" alt=":unamused:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f612.png" title=":unamused:" width="20px" /><br> underage <img align="absmiddle" alt=":underage:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f51e.png" title=":underage:" width="20px" /><br> unicorn <img align="absmiddle" alt=":unicorn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f984.png" title=":unicorn:" width="20px" /><br> united_arab_emirates <img align="absmiddle" alt=":united_arab_emirates:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e6-1f1ea.png" title=":united_arab_emirates:" width="20px" /><br> united_nations <img align="absmiddle" alt=":united_nations:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1f3.png" title=":united_nations:" width="20px" /><br> unlock <img align="absmiddle" alt=":unlock:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f513.png" title=":unlock:" width="20px" /><br> up <img align="absmiddle" alt=":up:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f199.png" title=":up:" width="20px" /><br> upside_down_face <img align="absmiddle" alt=":upside_down_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f643.png" title=":upside_down_face:" width="20px" /><br> uruguay <img align="absmiddle" alt=":uruguay:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1fe.png" title=":uruguay:" width="20px" /><br> us <img align="absmiddle" alt=":us:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1f8.png" title=":us:" width="20px" /><br> us_outlying_islands <img align="absmiddle" alt=":us_outlying_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1f2.png" title=":us_outlying_islands:" width="20px" /><br> us_virgin_islands <img align="absmiddle" alt=":us_virgin_islands:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1ee.png" title=":us_virgin_islands:" width="20px" /><br> uzbekistan <img align="absmiddle" alt=":uzbekistan:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fa-1f1ff.png" title=":uzbekistan:" width="20px" /><br> v <img align="absmiddle" alt=":v:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/270c.png" title=":v:" width="20px" /><br> vampire <img align="absmiddle" alt=":vampire:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9db.png" title=":vampire:" width="20px" /><br> vampire_man <img align="absmiddle" alt=":vampire_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9db-2642.png" title=":vampire_man:" width="20px" /><br> vampire_woman <img align="absmiddle" alt=":vampire_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9db-2640.png" title=":vampire_woman:" width="20px" /><br> vanuatu <img align="absmiddle" alt=":vanuatu:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1fa.png" title=":vanuatu:" width="20px" /><br> vatican_city <img align="absmiddle" alt=":vatican_city:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1e6.png" title=":vatican_city:" width="20px" /><br> venezuela <img align="absmiddle" alt=":venezuela:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1ea.png" title=":venezuela:" width="20px" /><br> vertical_traffic_light <img align="absmiddle" alt=":vertical_traffic_light:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6a6.png" title=":vertical_traffic_light:" width="20px" /><br> vhs <img align="absmiddle" alt=":vhs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4fc.png" title=":vhs:" width="20px" /><br> vibration_mode <img align="absmiddle" alt=":vibration_mode:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f3.png" title=":vibration_mode:" width="20px" /><br> video_camera <img align="absmiddle" alt=":video_camera:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4f9.png" title=":video_camera:" width="20px" /><br> video_game <img align="absmiddle" alt=":video_game:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3ae.png" title=":video_game:" width="20px" /><br> vietnam <img align="absmiddle" alt=":vietnam:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fb-1f1f3.png" title=":vietnam:" width="20px" /><br> violin <img align="absmiddle" alt=":violin:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3bb.png" title=":violin:" width="20px" /><br> virgo <img align="absmiddle" alt=":virgo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/264d.png" title=":virgo:" width="20px" /><br> volcano <img align="absmiddle" alt=":volcano:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f30b.png" title=":volcano:" width="20px" /><br> volleyball <img align="absmiddle" alt=":volleyball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3d0.png" title=":volleyball:" width="20px" /><br> vomiting_face <img align="absmiddle" alt=":vomiting_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92e.png" title=":vomiting_face:" width="20px" /><br> vs <img align="absmiddle" alt=":vs:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f19a.png" title=":vs:" width="20px" /><br> vulcan_salute <img align="absmiddle" alt=":vulcan_salute:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f596.png" title=":vulcan_salute:" width="20px" /><br> waffle <img align="absmiddle" alt=":waffle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9c7.png" title=":waffle:" width="20px" /><br> wales <img align="absmiddle" alt=":wales:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png" title=":wales:" width="20px" /><br> walking <img align="absmiddle" alt=":walking:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b6.png" title=":walking:" width="20px" /><br> walking_man <img align="absmiddle" alt=":walking_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b6-2642.png" title=":walking_man:" width="20px" /><br> walking_woman <img align="absmiddle" alt=":walking_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6b6-2640.png" title=":walking_woman:" width="20px" /><br> wallis_futuna <img align="absmiddle" alt=":wallis_futuna:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fc-1f1eb.png" title=":wallis_futuna:" width="20px" /><br> waning_crescent_moon <img align="absmiddle" alt=":waning_crescent_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f318.png" title=":waning_crescent_moon:" width="20px" /><br> waning_gibbous_moon <img align="absmiddle" alt=":waning_gibbous_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f316.png" title=":waning_gibbous_moon:" width="20px" /><br> warning <img align="absmiddle" alt=":warning:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26a0.png" title=":warning:" width="20px" /><br> wastebasket <img align="absmiddle" alt=":wastebasket:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5d1.png" title=":wastebasket:" width="20px" /><br> watch <img align="absmiddle" alt=":watch:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/231a.png" title=":watch:" width="20px" /><br> water_buffalo <img align="absmiddle" alt=":water_buffalo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f403.png" title=":water_buffalo:" width="20px" /><br> water_polo <img align="absmiddle" alt=":water_polo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93d.png" title=":water_polo:" width="20px" /><br> watermelon <img align="absmiddle" alt=":watermelon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f349.png" title=":watermelon:" width="20px" /><br> wave <img align="absmiddle" alt=":wave:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44b.png" title=":wave:" width="20px" /><br> wavy_dash <img align="absmiddle" alt=":wavy_dash:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/3030.png" title=":wavy_dash:" width="20px" /><br> waxing_crescent_moon <img align="absmiddle" alt=":waxing_crescent_moon:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f312.png" title=":waxing_crescent_moon:" width="20px" /><br> wc <img align="absmiddle" alt=":wc:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6be.png" title=":wc:" width="20px" /><br> weary <img align="absmiddle" alt=":weary:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f629.png" title=":weary:" width="20px" /><br> wedding <img align="absmiddle" alt=":wedding:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f492.png" title=":wedding:" width="20px" /><br> weight_lifting <img align="absmiddle" alt=":weight_lifting:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cb.png" title=":weight_lifting:" width="20px" /><br> weight_lifting_man <img align="absmiddle" alt=":weight_lifting_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cb-2642.png" title=":weight_lifting_man:" width="20px" /><br> weight_lifting_woman <img align="absmiddle" alt=":weight_lifting_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3cb-2640.png" title=":weight_lifting_woman:" width="20px" /><br> western_sahara <img align="absmiddle" alt=":western_sahara:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1ed.png" title=":western_sahara:" width="20px" /><br> whale2 <img align="absmiddle" alt=":whale2:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f40b.png" title=":whale2:" width="20px" /><br> whale <img align="absmiddle" alt=":whale:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f433.png" title=":whale:" width="20px" /><br> wheel <img align="absmiddle" alt=":wheel:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6de.png" title=":wheel:" width="20px" /><br> wheel_of_dharma <img align="absmiddle" alt=":wheel_of_dharma:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2638.png" title=":wheel_of_dharma:" width="20px" /><br> wheelchair <img align="absmiddle" alt=":wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/267f.png" title=":wheelchair:" width="20px" /><br> white_check_mark <img align="absmiddle" alt=":white_check_mark:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png" title=":white_check_mark:" width="20px" /><br> white_circle <img align="absmiddle" alt=":white_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26aa.png" title=":white_circle:" width="20px" /><br> white_flag <img align="absmiddle" alt=":white_flag:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f3f3.png" title=":white_flag:" width="20px" /><br> white_flower <img align="absmiddle" alt=":white_flower:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4ae.png" title=":white_flower:" width="20px" /><br> white_haired_man <img align="absmiddle" alt=":white_haired_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f468-1f9b3.png" title=":white_haired_man:" width="20px" /><br> white_haired_woman <img align="absmiddle" alt=":white_haired_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9b3.png" title=":white_haired_woman:" width="20px" /><br> white_heart <img align="absmiddle" alt=":white_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f90d.png" title=":white_heart:" width="20px" /><br> white_large_square <img align="absmiddle" alt=":white_large_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/2b1c.png" title=":white_large_square:" width="20px" /><br> white_medium_small_square <img align="absmiddle" alt=":white_medium_small_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25fd.png" title=":white_medium_small_square:" width="20px" /><br> white_medium_square <img align="absmiddle" alt=":white_medium_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25fb.png" title=":white_medium_square:" width="20px" /><br> white_small_square <img align="absmiddle" alt=":white_small_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/25ab.png" title=":white_small_square:" width="20px" /><br> white_square_button <img align="absmiddle" alt=":white_square_button:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f533.png" title=":white_square_button:" width="20px" /><br> wilted_flower <img align="absmiddle" alt=":wilted_flower:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f940.png" title=":wilted_flower:" width="20px" /><br> wind_chime <img align="absmiddle" alt=":wind_chime:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f390.png" title=":wind_chime:" width="20px" /><br> wind_face <img align="absmiddle" alt=":wind_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f32c.png" title=":wind_face:" width="20px" /><br> window <img align="absmiddle" alt=":window:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa9f.png" title=":window:" width="20px" /><br> wine_glass <img align="absmiddle" alt=":wine_glass:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f377.png" title=":wine_glass:" width="20px" /><br> wing <img align="absmiddle" alt=":wing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fabd.png" title=":wing:" width="20px" /><br> wink <img align="absmiddle" alt=":wink:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f609.png" title=":wink:" width="20px" /><br> wireless <img align="absmiddle" alt=":wireless:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6dc.png" title=":wireless:" width="20px" /><br> wolf <img align="absmiddle" alt=":wolf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f43a.png" title=":wolf:" width="20px" /><br> woman <img align="absmiddle" alt=":woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469.png" title=":woman:" width="20px" /><br> woman_artist <img align="absmiddle" alt=":woman_artist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f3a8.png" title=":woman_artist:" width="20px" /><br> woman_astronaut <img align="absmiddle" alt=":woman_astronaut:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f680.png" title=":woman_astronaut:" width="20px" /><br> woman_beard <img align="absmiddle" alt=":woman_beard:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d4-2640.png" title=":woman_beard:" width="20px" /><br> woman_cartwheeling <img align="absmiddle" alt=":woman_cartwheeling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f938-2640.png" title=":woman_cartwheeling:" width="20px" /><br> woman_cook <img align="absmiddle" alt=":woman_cook:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f373.png" title=":woman_cook:" width="20px" /><br> woman_dancing <img align="absmiddle" alt=":woman_dancing:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f483.png" title=":woman_dancing:" width="20px" /><br> woman_facepalming <img align="absmiddle" alt=":woman_facepalming:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f926-2640.png" title=":woman_facepalming:" width="20px" /><br> woman_factory_worker <img align="absmiddle" alt=":woman_factory_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f3ed.png" title=":woman_factory_worker:" width="20px" /><br> woman_farmer <img align="absmiddle" alt=":woman_farmer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f33e.png" title=":woman_farmer:" width="20px" /><br> woman_feeding_baby <img align="absmiddle" alt=":woman_feeding_baby:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f37c.png" title=":woman_feeding_baby:" width="20px" /><br> woman_firefighter <img align="absmiddle" alt=":woman_firefighter:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f692.png" title=":woman_firefighter:" width="20px" /><br> woman_health_worker <img align="absmiddle" alt=":woman_health_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2695.png" title=":woman_health_worker:" width="20px" /><br> woman_in_manual_wheelchair <img align="absmiddle" alt=":woman_in_manual_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9bd.png" title=":woman_in_manual_wheelchair:" width="20px" /><br> woman_in_motorized_wheelchair <img align="absmiddle" alt=":woman_in_motorized_wheelchair:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9bc.png" title=":woman_in_motorized_wheelchair:" width="20px" /><br> woman_in_tuxedo <img align="absmiddle" alt=":woman_in_tuxedo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f935-2640.png" title=":woman_in_tuxedo:" width="20px" /><br> woman_judge <img align="absmiddle" alt=":woman_judge:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2696.png" title=":woman_judge:" width="20px" /><br> woman_juggling <img align="absmiddle" alt=":woman_juggling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f939-2640.png" title=":woman_juggling:" width="20px" /><br> woman_mechanic <img align="absmiddle" alt=":woman_mechanic:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f527.png" title=":woman_mechanic:" width="20px" /><br> woman_office_worker <img align="absmiddle" alt=":woman_office_worker:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f4bc.png" title=":woman_office_worker:" width="20px" /><br> woman_pilot <img align="absmiddle" alt=":woman_pilot:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-2708.png" title=":woman_pilot:" width="20px" /><br> woman_playing_handball <img align="absmiddle" alt=":woman_playing_handball:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93e-2640.png" title=":woman_playing_handball:" width="20px" /><br> woman_playing_water_polo <img align="absmiddle" alt=":woman_playing_water_polo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93d-2640.png" title=":woman_playing_water_polo:" width="20px" /><br> woman_scientist <img align="absmiddle" alt=":woman_scientist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f52c.png" title=":woman_scientist:" width="20px" /><br> woman_shrugging <img align="absmiddle" alt=":woman_shrugging:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f937-2640.png" title=":woman_shrugging:" width="20px" /><br> woman_singer <img align="absmiddle" alt=":woman_singer:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f3a4.png" title=":woman_singer:" width="20px" /><br> woman_student <img align="absmiddle" alt=":woman_student:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f393.png" title=":woman_student:" width="20px" /><br> woman_teacher <img align="absmiddle" alt=":woman_teacher:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f3eb.png" title=":woman_teacher:" width="20px" /><br> woman_technologist <img align="absmiddle" alt=":woman_technologist:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f4bb.png" title=":woman_technologist:" width="20px" /><br> woman_with_headscarf <img align="absmiddle" alt=":woman_with_headscarf:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9d5.png" title=":woman_with_headscarf:" width="20px" /><br> woman_with_probing_cane <img align="absmiddle" alt=":woman_with_probing_cane:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f469-1f9af.png" title=":woman_with_probing_cane:" width="20px" /><br> woman_with_turban <img align="absmiddle" alt=":woman_with_turban:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f473-2640.png" title=":woman_with_turban:" width="20px" /><br> woman_with_veil <img align="absmiddle" alt=":woman_with_veil:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f470-2640.png" title=":woman_with_veil:" width="20px" /><br> womans_clothes <img align="absmiddle" alt=":womans_clothes:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f45a.png" title=":womans_clothes:" width="20px" /><br> womans_hat <img align="absmiddle" alt=":womans_hat:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f452.png" title=":womans_hat:" width="20px" /><br> women_wrestling <img align="absmiddle" alt=":women_wrestling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93c-2640.png" title=":women_wrestling:" width="20px" /><br> womens <img align="absmiddle" alt=":womens:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f6ba.png" title=":womens:" width="20px" /><br> wood <img align="absmiddle" alt=":wood:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab5.png" title=":wood:" width="20px" /><br> woozy_face <img align="absmiddle" alt=":woozy_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f974.png" title=":woozy_face:" width="20px" /><br> world_map <img align="absmiddle" alt=":world_map:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f5fa.png" title=":world_map:" width="20px" /><br> worm <img align="absmiddle" alt=":worm:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fab1.png" title=":worm:" width="20px" /><br> worried <img align="absmiddle" alt=":worried:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f61f.png" title=":worried:" width="20px" /><br> wrench <img align="absmiddle" alt=":wrench:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f527.png" title=":wrench:" width="20px" /><br> wrestling <img align="absmiddle" alt=":wrestling:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f93c.png" title=":wrestling:" width="20px" /><br> writing_hand <img align="absmiddle" alt=":writing_hand:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/270d.png" title=":writing_hand:" width="20px" /><br> x <img align="absmiddle" alt=":x:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/274c.png" title=":x:" width="20px" /><br> x_ray <img align="absmiddle" alt=":x_ray:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa7b.png" title=":x_ray:" width="20px" /><br> yarn <img align="absmiddle" alt=":yarn:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9f6.png" title=":yarn:" width="20px" /><br> yawning_face <img align="absmiddle" alt=":yawning_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f971.png" title=":yawning_face:" width="20px" /><br> yellow_circle <img align="absmiddle" alt=":yellow_circle:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e1.png" title=":yellow_circle:" width="20px" /><br> yellow_heart <img align="absmiddle" alt=":yellow_heart:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f49b.png" title=":yellow_heart:" width="20px" /><br> yellow_square <img align="absmiddle" alt=":yellow_square:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f7e8.png" title=":yellow_square:" width="20px" /><br> yemen <img align="absmiddle" alt=":yemen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1fe-1f1ea.png" title=":yemen:" width="20px" /><br> yen <img align="absmiddle" alt=":yen:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4b4.png" title=":yen:" width="20px" /><br> yin_yang <img align="absmiddle" alt=":yin_yang:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/262f.png" title=":yin_yang:" width="20px" /><br> yo_yo <img align="absmiddle" alt=":yo_yo:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1fa80.png" title=":yo_yo:" width="20px" /><br> yum <img align="absmiddle" alt=":yum:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f60b.png" title=":yum:" width="20px" /><br> zambia <img align="absmiddle" alt=":zambia:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ff-1f1f2.png" title=":zambia:" width="20px" /><br> zany_face <img align="absmiddle" alt=":zany_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f92a.png" title=":zany_face:" width="20px" /><br> zap <img align="absmiddle" alt=":zap:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/26a1.png" title=":zap:" width="20px" /><br> zebra <img align="absmiddle" alt=":zebra:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f993.png" title=":zebra:" width="20px" /><br> zero <img align="absmiddle" alt=":zero:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/0030-20e3.png" title=":zero:" width="20px" /><br> zimbabwe <img align="absmiddle" alt=":zimbabwe:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ff-1f1fc.png" title=":zimbabwe:" width="20px" /><br> zipper_mouth_face <img align="absmiddle" alt=":zipper_mouth_face:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f910.png" title=":zipper_mouth_face:" width="20px" /><br> zombie <img align="absmiddle" alt=":zombie:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9df.png" title=":zombie:" width="20px" /><br> zombie_man <img align="absmiddle" alt=":zombie_man:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9df-2642.png" title=":zombie_man:" width="20px" /><br> zombie_woman <img align="absmiddle" alt=":zombie_woman:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f9df-2640.png" title=":zombie_woman:" width="20px" /><br> zzz <img align="absmiddle" alt=":zzz:" class="gemoji" height="20px" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a4.png" title=":zzz:" width="20px" /><br></p>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/gemoji (png).txt�������������������������������������0000664�0000000�0000000�00000150035�14651242716�0024716�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis +1 :+1:<br> -1 :-1:<br> 100 :100:<br> 1234 :1234:<br> 1st_place_medal :1st_place_medal:<br> 2nd_place_medal :2nd_place_medal:<br> 3rd_place_medal :3rd_place_medal:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abacus :abacus:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> accordion :accordion:<br> adhesive_bandage :adhesive_bandage:<br> adult :adult:<br> aerial_tramway :aerial_tramway:<br> afghanistan :afghanistan:<br> airplane :airplane:<br> aland_islands :aland_islands:<br> alarm_clock :alarm_clock:<br> albania :albania:<br> alembic :alembic:<br> algeria :algeria:<br> alien :alien:<br> ambulance :ambulance:<br> american_samoa :american_samoa:<br> amphora :amphora:<br> anatomical_heart :anatomical_heart:<br> anchor :anchor:<br> andorra :andorra:<br> angel :angel:<br> anger :anger:<br> angola :angola:<br> angry :angry:<br> anguilla :anguilla:<br> anguished :anguished:<br> ant :ant:<br> antarctica :antarctica:<br> antigua_barbuda :antigua_barbuda:<br> apple :apple:<br> aquarius :aquarius:<br> argentina :argentina:<br> aries :aries:<br> armenia :armenia:<br> arrow_backward :arrow_backward:<br> arrow_double_down :arrow_double_down:<br> arrow_double_up :arrow_double_up:<br> arrow_down :arrow_down:<br> arrow_down_small :arrow_down_small:<br> arrow_forward :arrow_forward:<br> arrow_heading_down :arrow_heading_down:<br> arrow_heading_up :arrow_heading_up:<br> arrow_left :arrow_left:<br> arrow_lower_left :arrow_lower_left:<br> arrow_lower_right :arrow_lower_right:<br> arrow_right :arrow_right:<br> arrow_right_hook :arrow_right_hook:<br> arrow_up :arrow_up:<br> arrow_up_down :arrow_up_down:<br> arrow_up_small :arrow_up_small:<br> arrow_upper_left :arrow_upper_left:<br> arrow_upper_right :arrow_upper_right:<br> arrows_clockwise :arrows_clockwise:<br> arrows_counterclockwise :arrows_counterclockwise:<br> art :art:<br> articulated_lorry :articulated_lorry:<br> artificial_satellite :artificial_satellite:<br> artist :artist:<br> aruba :aruba:<br> ascension_island :ascension_island:<br> asterisk :asterisk:<br> astonished :astonished:<br> astronaut :astronaut:<br> athletic_shoe :athletic_shoe:<br> atm :atm:<br> atom_symbol :atom_symbol:<br> australia :australia:<br> austria :austria:<br> auto_rickshaw :auto_rickshaw:<br> avocado :avocado:<br> axe :axe:<br> azerbaijan :azerbaijan:<br> b :b:<br> baby :baby:<br> baby_bottle :baby_bottle:<br> baby_chick :baby_chick:<br> baby_symbol :baby_symbol:<br> back :back:<br> bacon :bacon:<br> badger :badger:<br> badminton :badminton:<br> bagel :bagel:<br> baggage_claim :baggage_claim:<br> baguette_bread :baguette_bread:<br> bahamas :bahamas:<br> bahrain :bahrain:<br> balance_scale :balance_scale:<br> bald_man :bald_man:<br> bald_woman :bald_woman:<br> ballet_shoes :ballet_shoes:<br> balloon :balloon:<br> ballot_box :ballot_box:<br> ballot_box_with_check :ballot_box_with_check:<br> bamboo :bamboo:<br> banana :banana:<br> bangbang :bangbang:<br> bangladesh :bangladesh:<br> banjo :banjo:<br> bank :bank:<br> bar_chart :bar_chart:<br> barbados :barbados:<br> barber :barber:<br> baseball :baseball:<br> basket :basket:<br> basketball :basketball:<br> bat :bat:<br> bath :bath:<br> bathtub :bathtub:<br> battery :battery:<br> beach_umbrella :beach_umbrella:<br> beans :beans:<br> bear :bear:<br> bearded_person :bearded_person:<br> beaver :beaver:<br> bed :bed:<br> bee :bee:<br> beer :beer:<br> beers :beers:<br> beetle :beetle:<br> beginner :beginner:<br> belarus :belarus:<br> belgium :belgium:<br> belize :belize:<br> bell :bell:<br> bell_pepper :bell_pepper:<br> bellhop_bell :bellhop_bell:<br> benin :benin:<br> bento :bento:<br> bermuda :bermuda:<br> beverage_box :beverage_box:<br> bhutan :bhutan:<br> bicyclist :bicyclist:<br> bike :bike:<br> biking_man :biking_man:<br> biking_woman :biking_woman:<br> bikini :bikini:<br> billed_cap :billed_cap:<br> biohazard :biohazard:<br> bird :bird:<br> birthday :birthday:<br> bison :bison:<br> biting_lip :biting_lip:<br> black_bird :black_bird:<br> black_cat :black_cat:<br> black_circle :black_circle:<br> black_flag :black_flag:<br> black_heart :black_heart:<br> black_joker :black_joker:<br> black_large_square :black_large_square:<br> black_medium_small_square :black_medium_small_square:<br> black_medium_square :black_medium_square:<br> black_nib :black_nib:<br> black_small_square :black_small_square:<br> black_square_button :black_square_button:<br> blond_haired_man :blond_haired_man:<br> blond_haired_person :blond_haired_person:<br> blond_haired_woman :blond_haired_woman:<br> blossom :blossom:<br> blowfish :blowfish:<br> blue_book :blue_book:<br> blue_car :blue_car:<br> blue_heart :blue_heart:<br> blue_square :blue_square:<br> blueberries :blueberries:<br> blush :blush:<br> boar :boar:<br> boat :boat:<br> bolivia :bolivia:<br> bomb :bomb:<br> bone :bone:<br> book :book:<br> bookmark :bookmark:<br> bookmark_tabs :bookmark_tabs:<br> books :books:<br> boom :boom:<br> boomerang :boomerang:<br> boot :boot:<br> bosnia_herzegovina :bosnia_herzegovina:<br> botswana :botswana:<br> bouncing_ball_man :bouncing_ball_man:<br> bouncing_ball_person :bouncing_ball_person:<br> bouncing_ball_woman :bouncing_ball_woman:<br> bouquet :bouquet:<br> bouvet_island :bouvet_island:<br> bow :bow:<br> bow_and_arrow :bow_and_arrow:<br> bowing_man :bowing_man:<br> bowing_woman :bowing_woman:<br> bowl_with_spoon :bowl_with_spoon:<br> bowling :bowling:<br> boxing_glove :boxing_glove:<br> boy :boy:<br> brain :brain:<br> brazil :brazil:<br> bread :bread:<br> breast_feeding :breast_feeding:<br> bricks :bricks:<br> bridge_at_night :bridge_at_night:<br> briefcase :briefcase:<br> british_indian_ocean_territory :british_indian_ocean_territory:<br> british_virgin_islands :british_virgin_islands:<br> broccoli :broccoli:<br> broken_heart :broken_heart:<br> broom :broom:<br> brown_circle :brown_circle:<br> brown_heart :brown_heart:<br> brown_square :brown_square:<br> brunei :brunei:<br> bubble_tea :bubble_tea:<br> bubbles :bubbles:<br> bucket :bucket:<br> bug :bug:<br> building_construction :building_construction:<br> bulb :bulb:<br> bulgaria :bulgaria:<br> bullettrain_front :bullettrain_front:<br> bullettrain_side :bullettrain_side:<br> burkina_faso :burkina_faso:<br> burrito :burrito:<br> burundi :burundi:<br> bus :bus:<br> business_suit_levitating :business_suit_levitating:<br> busstop :busstop:<br> bust_in_silhouette :bust_in_silhouette:<br> busts_in_silhouette :busts_in_silhouette:<br> butter :butter:<br> butterfly :butterfly:<br> cactus :cactus:<br> cake :cake:<br> calendar :calendar:<br> call_me_hand :call_me_hand:<br> calling :calling:<br> cambodia :cambodia:<br> camel :camel:<br> camera :camera:<br> camera_flash :camera_flash:<br> cameroon :cameroon:<br> camping :camping:<br> canada :canada:<br> canary_islands :canary_islands:<br> cancer :cancer:<br> candle :candle:<br> candy :candy:<br> canned_food :canned_food:<br> canoe :canoe:<br> cape_verde :cape_verde:<br> capital_abcd :capital_abcd:<br> capricorn :capricorn:<br> car :car:<br> card_file_box :card_file_box:<br> card_index :card_index:<br> card_index_dividers :card_index_dividers:<br> caribbean_netherlands :caribbean_netherlands:<br> carousel_horse :carousel_horse:<br> carpentry_saw :carpentry_saw:<br> carrot :carrot:<br> cartwheeling :cartwheeling:<br> cat2 :cat2:<br> cat :cat:<br> cayman_islands :cayman_islands:<br> cd :cd:<br> central_african_republic :central_african_republic:<br> ceuta_melilla :ceuta_melilla:<br> chad :chad:<br> chains :chains:<br> chair :chair:<br> champagne :champagne:<br> chart :chart:<br> chart_with_downwards_trend :chart_with_downwards_trend:<br> chart_with_upwards_trend :chart_with_upwards_trend:<br> checkered_flag :checkered_flag:<br> cheese :cheese:<br> cherries :cherries:<br> cherry_blossom :cherry_blossom:<br> chess_pawn :chess_pawn:<br> chestnut :chestnut:<br> chicken :chicken:<br> child :child:<br> children_crossing :children_crossing:<br> chile :chile:<br> chipmunk :chipmunk:<br> chocolate_bar :chocolate_bar:<br> chopsticks :chopsticks:<br> christmas_island :christmas_island:<br> christmas_tree :christmas_tree:<br> church :church:<br> cinema :cinema:<br> circus_tent :circus_tent:<br> city_sunrise :city_sunrise:<br> city_sunset :city_sunset:<br> cityscape :cityscape:<br> cl :cl:<br> clamp :clamp:<br> clap :clap:<br> clapper :clapper:<br> classical_building :classical_building:<br> climbing :climbing:<br> climbing_man :climbing_man:<br> climbing_woman :climbing_woman:<br> clinking_glasses :clinking_glasses:<br> clipboard :clipboard:<br> clipperton_island :clipperton_island:<br> clock1030 :clock1030:<br> clock10 :clock10:<br> clock1130 :clock1130:<br> clock11 :clock11:<br> clock1230 :clock1230:<br> clock12 :clock12:<br> clock130 :clock130:<br> clock1 :clock1:<br> clock230 :clock230:<br> clock2 :clock2:<br> clock330 :clock330:<br> clock3 :clock3:<br> clock430 :clock430:<br> clock4 :clock4:<br> clock530 :clock530:<br> clock5 :clock5:<br> clock630 :clock630:<br> clock6 :clock6:<br> clock730 :clock730:<br> clock7 :clock7:<br> clock830 :clock830:<br> clock8 :clock8:<br> clock930 :clock930:<br> clock9 :clock9:<br> closed_book :closed_book:<br> closed_lock_with_key :closed_lock_with_key:<br> closed_umbrella :closed_umbrella:<br> cloud :cloud:<br> cloud_with_lightning :cloud_with_lightning:<br> cloud_with_lightning_and_rain :cloud_with_lightning_and_rain:<br> cloud_with_rain :cloud_with_rain:<br> cloud_with_snow :cloud_with_snow:<br> clown_face :clown_face:<br> clubs :clubs:<br> cn :cn:<br> coat :coat:<br> cockroach :cockroach:<br> cocktail :cocktail:<br> coconut :coconut:<br> cocos_islands :cocos_islands:<br> coffee :coffee:<br> coffin :coffin:<br> coin :coin:<br> cold_face :cold_face:<br> cold_sweat :cold_sweat:<br> colombia :colombia:<br> comet :comet:<br> comoros :comoros:<br> compass :compass:<br> computer :computer:<br> computer_mouse :computer_mouse:<br> confetti_ball :confetti_ball:<br> confounded :confounded:<br> confused :confused:<br> congo_brazzaville :congo_brazzaville:<br> congo_kinshasa :congo_kinshasa:<br> congratulations :congratulations:<br> construction :construction:<br> construction_worker :construction_worker:<br> construction_worker_man :construction_worker_man:<br> construction_worker_woman :construction_worker_woman:<br> control_knobs :control_knobs:<br> convenience_store :convenience_store:<br> cook :cook:<br> cook_islands :cook_islands:<br> cookie :cookie:<br> cool :cool:<br> copyright :copyright:<br> coral :coral:<br> corn :corn:<br> costa_rica :costa_rica:<br> cote_divoire :cote_divoire:<br> couch_and_lamp :couch_and_lamp:<br> couple :couple:<br> couple_with_heart :couple_with_heart:<br> couple_with_heart_man_man :couple_with_heart_man_man:<br> couple_with_heart_woman_man :couple_with_heart_woman_man:<br> couple_with_heart_woman_woman :couple_with_heart_woman_woman:<br> couplekiss :couplekiss:<br> couplekiss_man_man :couplekiss_man_man:<br> couplekiss_man_woman :couplekiss_man_woman:<br> couplekiss_woman_woman :couplekiss_woman_woman:<br> cow2 :cow2:<br> cow :cow:<br> cowboy_hat_face :cowboy_hat_face:<br> crab :crab:<br> crayon :crayon:<br> credit_card :credit_card:<br> crescent_moon :crescent_moon:<br> cricket :cricket:<br> cricket_game :cricket_game:<br> croatia :croatia:<br> crocodile :crocodile:<br> croissant :croissant:<br> crossed_fingers :crossed_fingers:<br> crossed_flags :crossed_flags:<br> crossed_swords :crossed_swords:<br> crown :crown:<br> crutch :crutch:<br> cry :cry:<br> crying_cat_face :crying_cat_face:<br> crystal_ball :crystal_ball:<br> cuba :cuba:<br> cucumber :cucumber:<br> cup_with_straw :cup_with_straw:<br> cupcake :cupcake:<br> cupid :cupid:<br> curacao :curacao:<br> curling_stone :curling_stone:<br> curly_haired_man :curly_haired_man:<br> curly_haired_woman :curly_haired_woman:<br> curly_loop :curly_loop:<br> currency_exchange :currency_exchange:<br> curry :curry:<br> cursing_face :cursing_face:<br> custard :custard:<br> customs :customs:<br> cut_of_meat :cut_of_meat:<br> cyclone :cyclone:<br> cyprus :cyprus:<br> czech_republic :czech_republic:<br> dagger :dagger:<br> dancers :dancers:<br> dancing_men :dancing_men:<br> dancing_women :dancing_women:<br> dango :dango:<br> dark_sunglasses :dark_sunglasses:<br> dart :dart:<br> dash :dash:<br> date :date:<br> de :de:<br> deaf_man :deaf_man:<br> deaf_person :deaf_person:<br> deaf_woman :deaf_woman:<br> deciduous_tree :deciduous_tree:<br> deer :deer:<br> denmark :denmark:<br> department_store :department_store:<br> derelict_house :derelict_house:<br> desert :desert:<br> desert_island :desert_island:<br> desktop_computer :desktop_computer:<br> detective :detective:<br> diamond_shape_with_a_dot_inside :diamond_shape_with_a_dot_inside:<br> diamonds :diamonds:<br> diego_garcia :diego_garcia:<br> disappointed :disappointed:<br> disappointed_relieved :disappointed_relieved:<br> disguised_face :disguised_face:<br> diving_mask :diving_mask:<br> diya_lamp :diya_lamp:<br> dizzy :dizzy:<br> dizzy_face :dizzy_face:<br> djibouti :djibouti:<br> dna :dna:<br> do_not_litter :do_not_litter:<br> dodo :dodo:<br> dog2 :dog2:<br> dog :dog:<br> dollar :dollar:<br> dolls :dolls:<br> dolphin :dolphin:<br> dominica :dominica:<br> dominican_republic :dominican_republic:<br> donkey :donkey:<br> door :door:<br> dotted_line_face :dotted_line_face:<br> doughnut :doughnut:<br> dove :dove:<br> dragon :dragon:<br> dragon_face :dragon_face:<br> dress :dress:<br> dromedary_camel :dromedary_camel:<br> drooling_face :drooling_face:<br> drop_of_blood :drop_of_blood:<br> droplet :droplet:<br> drum :drum:<br> duck :duck:<br> dumpling :dumpling:<br> dvd :dvd:<br> eagle :eagle:<br> ear :ear:<br> ear_of_rice :ear_of_rice:<br> ear_with_hearing_aid :ear_with_hearing_aid:<br> earth_africa :earth_africa:<br> earth_americas :earth_americas:<br> earth_asia :earth_asia:<br> ecuador :ecuador:<br> egg :egg:<br> eggplant :eggplant:<br> egypt :egypt:<br> eight :eight:<br> eight_pointed_black_star :eight_pointed_black_star:<br> eight_spoked_asterisk :eight_spoked_asterisk:<br> eject_button :eject_button:<br> el_salvador :el_salvador:<br> electric_plug :electric_plug:<br> elephant :elephant:<br> elevator :elevator:<br> elf :elf:<br> elf_man :elf_man:<br> elf_woman :elf_woman:<br> email :email:<br> empty_nest :empty_nest:<br> end :end:<br> england :england:<br> envelope :envelope:<br> envelope_with_arrow :envelope_with_arrow:<br> equatorial_guinea :equatorial_guinea:<br> eritrea :eritrea:<br> es :es:<br> estonia :estonia:<br> ethiopia :ethiopia:<br> eu :eu:<br> euro :euro:<br> european_castle :european_castle:<br> european_post_office :european_post_office:<br> evergreen_tree :evergreen_tree:<br> exclamation :exclamation:<br> exploding_head :exploding_head:<br> expressionless :expressionless:<br> eye :eye:<br> eye_speech_bubble :eye_speech_bubble:<br> eyeglasses :eyeglasses:<br> eyes :eyes:<br> face_exhaling :face_exhaling:<br> face_holding_back_tears :face_holding_back_tears:<br> face_in_clouds :face_in_clouds:<br> face_with_diagonal_mouth :face_with_diagonal_mouth:<br> face_with_head_bandage :face_with_head_bandage:<br> face_with_open_eyes_and_hand_over_mouth :face_with_open_eyes_and_hand_over_mouth:<br> face_with_peeking_eye :face_with_peeking_eye:<br> face_with_spiral_eyes :face_with_spiral_eyes:<br> face_with_thermometer :face_with_thermometer:<br> facepalm :facepalm:<br> factory :factory:<br> factory_worker :factory_worker:<br> fairy :fairy:<br> fairy_man :fairy_man:<br> fairy_woman :fairy_woman:<br> falafel :falafel:<br> falkland_islands :falkland_islands:<br> fallen_leaf :fallen_leaf:<br> family :family:<br> family_man_boy :family_man_boy:<br> family_man_boy_boy :family_man_boy_boy:<br> family_man_girl :family_man_girl:<br> family_man_girl_boy :family_man_girl_boy:<br> family_man_girl_girl :family_man_girl_girl:<br> family_man_man_boy :family_man_man_boy:<br> family_man_man_boy_boy :family_man_man_boy_boy:<br> family_man_man_girl :family_man_man_girl:<br> family_man_man_girl_boy :family_man_man_girl_boy:<br> family_man_man_girl_girl :family_man_man_girl_girl:<br> family_man_woman_boy :family_man_woman_boy:<br> family_man_woman_boy_boy :family_man_woman_boy_boy:<br> family_man_woman_girl :family_man_woman_girl:<br> family_man_woman_girl_boy :family_man_woman_girl_boy:<br> family_man_woman_girl_girl :family_man_woman_girl_girl:<br> family_woman_boy :family_woman_boy:<br> family_woman_boy_boy :family_woman_boy_boy:<br> family_woman_girl :family_woman_girl:<br> family_woman_girl_boy :family_woman_girl_boy:<br> family_woman_girl_girl :family_woman_girl_girl:<br> family_woman_woman_boy :family_woman_woman_boy:<br> family_woman_woman_boy_boy :family_woman_woman_boy_boy:<br> family_woman_woman_girl :family_woman_woman_girl:<br> family_woman_woman_girl_boy :family_woman_woman_girl_boy:<br> family_woman_woman_girl_girl :family_woman_woman_girl_girl:<br> farmer :farmer:<br> faroe_islands :faroe_islands:<br> fast_forward :fast_forward:<br> fax :fax:<br> fearful :fearful:<br> feather :feather:<br> feet :feet:<br> female_detective :female_detective:<br> female_sign :female_sign:<br> ferris_wheel :ferris_wheel:<br> ferry :ferry:<br> field_hockey :field_hockey:<br> fiji :fiji:<br> file_cabinet :file_cabinet:<br> file_folder :file_folder:<br> film_projector :film_projector:<br> film_strip :film_strip:<br> finland :finland:<br> fire :fire:<br> fire_engine :fire_engine:<br> fire_extinguisher :fire_extinguisher:<br> firecracker :firecracker:<br> firefighter :firefighter:<br> fireworks :fireworks:<br> first_quarter_moon :first_quarter_moon:<br> first_quarter_moon_with_face :first_quarter_moon_with_face:<br> fish :fish:<br> fish_cake :fish_cake:<br> fishing_pole_and_fish :fishing_pole_and_fish:<br> fist_left :fist_left:<br> fist_oncoming :fist_oncoming:<br> fist_raised :fist_raised:<br> fist_right :fist_right:<br> five :five:<br> flags :flags:<br> flamingo :flamingo:<br> flashlight :flashlight:<br> flat_shoe :flat_shoe:<br> flatbread :flatbread:<br> fleur_de_lis :fleur_de_lis:<br> flight_arrival :flight_arrival:<br> flight_departure :flight_departure:<br> floppy_disk :floppy_disk:<br> flower_playing_cards :flower_playing_cards:<br> flushed :flushed:<br> flute :flute:<br> fly :fly:<br> flying_disc :flying_disc:<br> flying_saucer :flying_saucer:<br> fog :fog:<br> foggy :foggy:<br> folding_hand_fan :folding_hand_fan:<br> fondue :fondue:<br> foot :foot:<br> football :football:<br> footprints :footprints:<br> fork_and_knife :fork_and_knife:<br> fortune_cookie :fortune_cookie:<br> fountain :fountain:<br> fountain_pen :fountain_pen:<br> four :four:<br> four_leaf_clover :four_leaf_clover:<br> fox_face :fox_face:<br> fr :fr:<br> framed_picture :framed_picture:<br> free :free:<br> french_guiana :french_guiana:<br> french_polynesia :french_polynesia:<br> french_southern_territories :french_southern_territories:<br> fried_egg :fried_egg:<br> fried_shrimp :fried_shrimp:<br> fries :fries:<br> frog :frog:<br> frowning :frowning:<br> frowning_face :frowning_face:<br> frowning_man :frowning_man:<br> frowning_person :frowning_person:<br> frowning_woman :frowning_woman:<br> fuelpump :fuelpump:<br> full_moon :full_moon:<br> full_moon_with_face :full_moon_with_face:<br> funeral_urn :funeral_urn:<br> gabon :gabon:<br> gambia :gambia:<br> game_die :game_die:<br> garlic :garlic:<br> gb :gb:<br> gear :gear:<br> gem :gem:<br> gemini :gemini:<br> genie :genie:<br> genie_man :genie_man:<br> genie_woman :genie_woman:<br> georgia :georgia:<br> ghana :ghana:<br> ghost :ghost:<br> gibraltar :gibraltar:<br> gift :gift:<br> gift_heart :gift_heart:<br> ginger_root :ginger_root:<br> giraffe :giraffe:<br> girl :girl:<br> globe_with_meridians :globe_with_meridians:<br> gloves :gloves:<br> goal_net :goal_net:<br> goat :goat:<br> goggles :goggles:<br> golf :golf:<br> golfing :golfing:<br> golfing_man :golfing_man:<br> golfing_woman :golfing_woman:<br> goose :goose:<br> gorilla :gorilla:<br> grapes :grapes:<br> greece :greece:<br> green_apple :green_apple:<br> green_book :green_book:<br> green_circle :green_circle:<br> green_heart :green_heart:<br> green_salad :green_salad:<br> green_square :green_square:<br> greenland :greenland:<br> grenada :grenada:<br> grey_exclamation :grey_exclamation:<br> grey_heart :grey_heart:<br> grey_question :grey_question:<br> grimacing :grimacing:<br> grin :grin:<br> grinning :grinning:<br> guadeloupe :guadeloupe:<br> guam :guam:<br> guard :guard:<br> guardsman :guardsman:<br> guardswoman :guardswoman:<br> guatemala :guatemala:<br> guernsey :guernsey:<br> guide_dog :guide_dog:<br> guinea :guinea:<br> guinea_bissau :guinea_bissau:<br> guitar :guitar:<br> gun :gun:<br> guyana :guyana:<br> hair_pick :hair_pick:<br> haircut :haircut:<br> haircut_man :haircut_man:<br> haircut_woman :haircut_woman:<br> haiti :haiti:<br> hamburger :hamburger:<br> hammer :hammer:<br> hammer_and_pick :hammer_and_pick:<br> hammer_and_wrench :hammer_and_wrench:<br> hamsa :hamsa:<br> hamster :hamster:<br> hand :hand:<br> hand_over_mouth :hand_over_mouth:<br> hand_with_index_finger_and_thumb_crossed :hand_with_index_finger_and_thumb_crossed:<br> handbag :handbag:<br> handball_person :handball_person:<br> handshake :handshake:<br> hankey :hankey:<br> hash :hash:<br> hatched_chick :hatched_chick:<br> hatching_chick :hatching_chick:<br> headphones :headphones:<br> headstone :headstone:<br> health_worker :health_worker:<br> hear_no_evil :hear_no_evil:<br> heard_mcdonald_islands :heard_mcdonald_islands:<br> heart :heart:<br> heart_decoration :heart_decoration:<br> heart_eyes :heart_eyes:<br> heart_eyes_cat :heart_eyes_cat:<br> heart_hands :heart_hands:<br> heart_on_fire :heart_on_fire:<br> heartbeat :heartbeat:<br> heartpulse :heartpulse:<br> hearts :hearts:<br> heavy_check_mark :heavy_check_mark:<br> heavy_division_sign :heavy_division_sign:<br> heavy_dollar_sign :heavy_dollar_sign:<br> heavy_equals_sign :heavy_equals_sign:<br> heavy_heart_exclamation :heavy_heart_exclamation:<br> heavy_minus_sign :heavy_minus_sign:<br> heavy_multiplication_x :heavy_multiplication_x:<br> heavy_plus_sign :heavy_plus_sign:<br> hedgehog :hedgehog:<br> helicopter :helicopter:<br> herb :herb:<br> hibiscus :hibiscus:<br> high_brightness :high_brightness:<br> high_heel :high_heel:<br> hiking_boot :hiking_boot:<br> hindu_temple :hindu_temple:<br> hippopotamus :hippopotamus:<br> hocho :hocho:<br> hole :hole:<br> honduras :honduras:<br> honey_pot :honey_pot:<br> hong_kong :hong_kong:<br> hook :hook:<br> horse :horse:<br> horse_racing :horse_racing:<br> hospital :hospital:<br> hot_face :hot_face:<br> hot_pepper :hot_pepper:<br> hotdog :hotdog:<br> hotel :hotel:<br> hotsprings :hotsprings:<br> hourglass :hourglass:<br> hourglass_flowing_sand :hourglass_flowing_sand:<br> house :house:<br> house_with_garden :house_with_garden:<br> houses :houses:<br> hugs :hugs:<br> hungary :hungary:<br> hushed :hushed:<br> hut :hut:<br> hyacinth :hyacinth:<br> ice_cream :ice_cream:<br> ice_cube :ice_cube:<br> ice_hockey :ice_hockey:<br> ice_skate :ice_skate:<br> icecream :icecream:<br> iceland :iceland:<br> id :id:<br> identification_card :identification_card:<br> ideograph_advantage :ideograph_advantage:<br> imp :imp:<br> inbox_tray :inbox_tray:<br> incoming_envelope :incoming_envelope:<br> index_pointing_at_the_viewer :index_pointing_at_the_viewer:<br> india :india:<br> indonesia :indonesia:<br> infinity :infinity:<br> information_source :information_source:<br> innocent :innocent:<br> interrobang :interrobang:<br> iphone :iphone:<br> iran :iran:<br> iraq :iraq:<br> ireland :ireland:<br> isle_of_man :isle_of_man:<br> israel :israel:<br> it :it:<br> izakaya_lantern :izakaya_lantern:<br> jack_o_lantern :jack_o_lantern:<br> jamaica :jamaica:<br> japan :japan:<br> japanese_castle :japanese_castle:<br> japanese_goblin :japanese_goblin:<br> japanese_ogre :japanese_ogre:<br> jar :jar:<br> jeans :jeans:<br> jellyfish :jellyfish:<br> jersey :jersey:<br> jigsaw :jigsaw:<br> jordan :jordan:<br> joy :joy:<br> joy_cat :joy_cat:<br> joystick :joystick:<br> jp :jp:<br> judge :judge:<br> juggling_person :juggling_person:<br> kaaba :kaaba:<br> kangaroo :kangaroo:<br> kazakhstan :kazakhstan:<br> kenya :kenya:<br> key :key:<br> keyboard :keyboard:<br> keycap_ten :keycap_ten:<br> khanda :khanda:<br> kick_scooter :kick_scooter:<br> kimono :kimono:<br> kiribati :kiribati:<br> kiss :kiss:<br> kissing :kissing:<br> kissing_cat :kissing_cat:<br> kissing_closed_eyes :kissing_closed_eyes:<br> kissing_heart :kissing_heart:<br> kissing_smiling_eyes :kissing_smiling_eyes:<br> kite :kite:<br> kiwi_fruit :kiwi_fruit:<br> kneeling_man :kneeling_man:<br> kneeling_person :kneeling_person:<br> kneeling_woman :kneeling_woman:<br> knot :knot:<br> koala :koala:<br> koko :koko:<br> kosovo :kosovo:<br> kr :kr:<br> kuwait :kuwait:<br> kyrgyzstan :kyrgyzstan:<br> lab_coat :lab_coat:<br> label :label:<br> lacrosse :lacrosse:<br> ladder :ladder:<br> lady_beetle :lady_beetle:<br> laos :laos:<br> large_blue_circle :large_blue_circle:<br> large_blue_diamond :large_blue_diamond:<br> large_orange_diamond :large_orange_diamond:<br> last_quarter_moon :last_quarter_moon:<br> last_quarter_moon_with_face :last_quarter_moon_with_face:<br> latin_cross :latin_cross:<br> latvia :latvia:<br> laughing :laughing:<br> leafy_green :leafy_green:<br> leaves :leaves:<br> lebanon :lebanon:<br> ledger :ledger:<br> left_luggage :left_luggage:<br> left_right_arrow :left_right_arrow:<br> left_speech_bubble :left_speech_bubble:<br> leftwards_arrow_with_hook :leftwards_arrow_with_hook:<br> leftwards_hand :leftwards_hand:<br> leftwards_pushing_hand :leftwards_pushing_hand:<br> leg :leg:<br> lemon :lemon:<br> leo :leo:<br> leopard :leopard:<br> lesotho :lesotho:<br> level_slider :level_slider:<br> liberia :liberia:<br> libra :libra:<br> libya :libya:<br> liechtenstein :liechtenstein:<br> light_blue_heart :light_blue_heart:<br> light_rail :light_rail:<br> link :link:<br> lion :lion:<br> lips :lips:<br> lipstick :lipstick:<br> lithuania :lithuania:<br> lizard :lizard:<br> llama :llama:<br> lobster :lobster:<br> lock :lock:<br> lock_with_ink_pen :lock_with_ink_pen:<br> lollipop :lollipop:<br> long_drum :long_drum:<br> loop :loop:<br> lotion_bottle :lotion_bottle:<br> lotus :lotus:<br> lotus_position :lotus_position:<br> lotus_position_man :lotus_position_man:<br> lotus_position_woman :lotus_position_woman:<br> loud_sound :loud_sound:<br> loudspeaker :loudspeaker:<br> love_hotel :love_hotel:<br> love_letter :love_letter:<br> love_you_gesture :love_you_gesture:<br> low_battery :low_battery:<br> low_brightness :low_brightness:<br> luggage :luggage:<br> lungs :lungs:<br> luxembourg :luxembourg:<br> lying_face :lying_face:<br> m :m:<br> macau :macau:<br> macedonia :macedonia:<br> madagascar :madagascar:<br> mag :mag:<br> mag_right :mag_right:<br> mage :mage:<br> mage_man :mage_man:<br> mage_woman :mage_woman:<br> magic_wand :magic_wand:<br> magnet :magnet:<br> mahjong :mahjong:<br> mailbox :mailbox:<br> mailbox_closed :mailbox_closed:<br> mailbox_with_mail :mailbox_with_mail:<br> mailbox_with_no_mail :mailbox_with_no_mail:<br> malawi :malawi:<br> malaysia :malaysia:<br> maldives :maldives:<br> male_detective :male_detective:<br> male_sign :male_sign:<br> mali :mali:<br> malta :malta:<br> mammoth :mammoth:<br> man :man:<br> man_artist :man_artist:<br> man_astronaut :man_astronaut:<br> man_beard :man_beard:<br> man_cartwheeling :man_cartwheeling:<br> man_cook :man_cook:<br> man_dancing :man_dancing:<br> man_facepalming :man_facepalming:<br> man_factory_worker :man_factory_worker:<br> man_farmer :man_farmer:<br> man_feeding_baby :man_feeding_baby:<br> man_firefighter :man_firefighter:<br> man_health_worker :man_health_worker:<br> man_in_manual_wheelchair :man_in_manual_wheelchair:<br> man_in_motorized_wheelchair :man_in_motorized_wheelchair:<br> man_in_tuxedo :man_in_tuxedo:<br> man_judge :man_judge:<br> man_juggling :man_juggling:<br> man_mechanic :man_mechanic:<br> man_office_worker :man_office_worker:<br> man_pilot :man_pilot:<br> man_playing_handball :man_playing_handball:<br> man_playing_water_polo :man_playing_water_polo:<br> man_scientist :man_scientist:<br> man_shrugging :man_shrugging:<br> man_singer :man_singer:<br> man_student :man_student:<br> man_teacher :man_teacher:<br> man_technologist :man_technologist:<br> man_with_gua_pi_mao :man_with_gua_pi_mao:<br> man_with_probing_cane :man_with_probing_cane:<br> man_with_turban :man_with_turban:<br> man_with_veil :man_with_veil:<br> mango :mango:<br> mans_shoe :mans_shoe:<br> mantelpiece_clock :mantelpiece_clock:<br> manual_wheelchair :manual_wheelchair:<br> maple_leaf :maple_leaf:<br> maracas :maracas:<br> marshall_islands :marshall_islands:<br> martial_arts_uniform :martial_arts_uniform:<br> martinique :martinique:<br> mask :mask:<br> massage :massage:<br> massage_man :massage_man:<br> massage_woman :massage_woman:<br> mate :mate:<br> mauritania :mauritania:<br> mauritius :mauritius:<br> mayotte :mayotte:<br> meat_on_bone :meat_on_bone:<br> mechanic :mechanic:<br> mechanical_arm :mechanical_arm:<br> mechanical_leg :mechanical_leg:<br> medal_military :medal_military:<br> medal_sports :medal_sports:<br> medical_symbol :medical_symbol:<br> mega :mega:<br> melon :melon:<br> melting_face :melting_face:<br> memo :memo:<br> men_wrestling :men_wrestling:<br> mending_heart :mending_heart:<br> menorah :menorah:<br> mens :mens:<br> mermaid :mermaid:<br> merman :merman:<br> merperson :merperson:<br> metal :metal:<br> metro :metro:<br> mexico :mexico:<br> microbe :microbe:<br> micronesia :micronesia:<br> microphone :microphone:<br> microscope :microscope:<br> middle_finger :middle_finger:<br> military_helmet :military_helmet:<br> milk_glass :milk_glass:<br> milky_way :milky_way:<br> minibus :minibus:<br> minidisc :minidisc:<br> mirror :mirror:<br> mirror_ball :mirror_ball:<br> mobile_phone_off :mobile_phone_off:<br> moldova :moldova:<br> monaco :monaco:<br> money_mouth_face :money_mouth_face:<br> money_with_wings :money_with_wings:<br> moneybag :moneybag:<br> mongolia :mongolia:<br> monkey :monkey:<br> monkey_face :monkey_face:<br> monocle_face :monocle_face:<br> monorail :monorail:<br> montenegro :montenegro:<br> montserrat :montserrat:<br> moon :moon:<br> moon_cake :moon_cake:<br> moose :moose:<br> morocco :morocco:<br> mortar_board :mortar_board:<br> mosque :mosque:<br> mosquito :mosquito:<br> motor_boat :motor_boat:<br> motor_scooter :motor_scooter:<br> motorcycle :motorcycle:<br> motorized_wheelchair :motorized_wheelchair:<br> motorway :motorway:<br> mount_fuji :mount_fuji:<br> mountain :mountain:<br> mountain_bicyclist :mountain_bicyclist:<br> mountain_biking_man :mountain_biking_man:<br> mountain_biking_woman :mountain_biking_woman:<br> mountain_cableway :mountain_cableway:<br> mountain_railway :mountain_railway:<br> mountain_snow :mountain_snow:<br> mouse2 :mouse2:<br> mouse :mouse:<br> mouse_trap :mouse_trap:<br> movie_camera :movie_camera:<br> moyai :moyai:<br> mozambique :mozambique:<br> mrs_claus :mrs_claus:<br> muscle :muscle:<br> mushroom :mushroom:<br> musical_keyboard :musical_keyboard:<br> musical_note :musical_note:<br> musical_score :musical_score:<br> mute :mute:<br> mx_claus :mx_claus:<br> myanmar :myanmar:<br> nail_care :nail_care:<br> name_badge :name_badge:<br> namibia :namibia:<br> national_park :national_park:<br> nauru :nauru:<br> nauseated_face :nauseated_face:<br> nazar_amulet :nazar_amulet:<br> necktie :necktie:<br> negative_squared_cross_mark :negative_squared_cross_mark:<br> nepal :nepal:<br> nerd_face :nerd_face:<br> nest_with_eggs :nest_with_eggs:<br> nesting_dolls :nesting_dolls:<br> netherlands :netherlands:<br> neutral_face :neutral_face:<br> new :new:<br> new_caledonia :new_caledonia:<br> new_moon :new_moon:<br> new_moon_with_face :new_moon_with_face:<br> new_zealand :new_zealand:<br> newspaper :newspaper:<br> newspaper_roll :newspaper_roll:<br> next_track_button :next_track_button:<br> ng :ng:<br> nicaragua :nicaragua:<br> niger :niger:<br> nigeria :nigeria:<br> night_with_stars :night_with_stars:<br> nine :nine:<br> ninja :ninja:<br> niue :niue:<br> no_bell :no_bell:<br> no_bicycles :no_bicycles:<br> no_entry :no_entry:<br> no_entry_sign :no_entry_sign:<br> no_good :no_good:<br> no_good_man :no_good_man:<br> no_good_woman :no_good_woman:<br> no_mobile_phones :no_mobile_phones:<br> no_mouth :no_mouth:<br> no_pedestrians :no_pedestrians:<br> no_smoking :no_smoking:<br> non-potable_water :non-potable_water:<br> norfolk_island :norfolk_island:<br> north_korea :north_korea:<br> northern_mariana_islands :northern_mariana_islands:<br> norway :norway:<br> nose :nose:<br> notebook :notebook:<br> notebook_with_decorative_cover :notebook_with_decorative_cover:<br> notes :notes:<br> nut_and_bolt :nut_and_bolt:<br> o2 :o2:<br> o :o:<br> ocean :ocean:<br> octopus :octopus:<br> oden :oden:<br> office :office:<br> office_worker :office_worker:<br> oil_drum :oil_drum:<br> ok :ok:<br> ok_hand :ok_hand:<br> ok_man :ok_man:<br> ok_person :ok_person:<br> ok_woman :ok_woman:<br> old_key :old_key:<br> older_adult :older_adult:<br> older_man :older_man:<br> older_woman :older_woman:<br> olive :olive:<br> om :om:<br> oman :oman:<br> on :on:<br> oncoming_automobile :oncoming_automobile:<br> oncoming_bus :oncoming_bus:<br> oncoming_police_car :oncoming_police_car:<br> oncoming_taxi :oncoming_taxi:<br> one :one:<br> one_piece_swimsuit :one_piece_swimsuit:<br> onion :onion:<br> open_file_folder :open_file_folder:<br> open_hands :open_hands:<br> open_mouth :open_mouth:<br> open_umbrella :open_umbrella:<br> ophiuchus :ophiuchus:<br> orange_book :orange_book:<br> orange_circle :orange_circle:<br> orange_heart :orange_heart:<br> orange_square :orange_square:<br> orangutan :orangutan:<br> orthodox_cross :orthodox_cross:<br> otter :otter:<br> outbox_tray :outbox_tray:<br> owl :owl:<br> ox :ox:<br> oyster :oyster:<br> package :package:<br> page_facing_up :page_facing_up:<br> page_with_curl :page_with_curl:<br> pager :pager:<br> paintbrush :paintbrush:<br> pakistan :pakistan:<br> palau :palau:<br> palestinian_territories :palestinian_territories:<br> palm_down_hand :palm_down_hand:<br> palm_tree :palm_tree:<br> palm_up_hand :palm_up_hand:<br> palms_up_together :palms_up_together:<br> panama :panama:<br> pancakes :pancakes:<br> panda_face :panda_face:<br> paperclip :paperclip:<br> paperclips :paperclips:<br> papua_new_guinea :papua_new_guinea:<br> parachute :parachute:<br> paraguay :paraguay:<br> parasol_on_ground :parasol_on_ground:<br> parking :parking:<br> parrot :parrot:<br> part_alternation_mark :part_alternation_mark:<br> partly_sunny :partly_sunny:<br> partying_face :partying_face:<br> passenger_ship :passenger_ship:<br> passport_control :passport_control:<br> pause_button :pause_button:<br> pea_pod :pea_pod:<br> peace_symbol :peace_symbol:<br> peach :peach:<br> peacock :peacock:<br> peanuts :peanuts:<br> pear :pear:<br> pen :pen:<br> pencil2 :pencil2:<br> penguin :penguin:<br> pensive :pensive:<br> people_holding_hands :people_holding_hands:<br> people_hugging :people_hugging:<br> performing_arts :performing_arts:<br> persevere :persevere:<br> person_bald :person_bald:<br> person_curly_hair :person_curly_hair:<br> person_feeding_baby :person_feeding_baby:<br> person_fencing :person_fencing:<br> person_in_manual_wheelchair :person_in_manual_wheelchair:<br> person_in_motorized_wheelchair :person_in_motorized_wheelchair:<br> person_in_tuxedo :person_in_tuxedo:<br> person_red_hair :person_red_hair:<br> person_white_hair :person_white_hair:<br> person_with_crown :person_with_crown:<br> person_with_probing_cane :person_with_probing_cane:<br> person_with_turban :person_with_turban:<br> person_with_veil :person_with_veil:<br> peru :peru:<br> petri_dish :petri_dish:<br> philippines :philippines:<br> phone :phone:<br> pick :pick:<br> pickup_truck :pickup_truck:<br> pie :pie:<br> pig2 :pig2:<br> pig :pig:<br> pig_nose :pig_nose:<br> pill :pill:<br> pilot :pilot:<br> pinata :pinata:<br> pinched_fingers :pinched_fingers:<br> pinching_hand :pinching_hand:<br> pineapple :pineapple:<br> ping_pong :ping_pong:<br> pink_heart :pink_heart:<br> pirate_flag :pirate_flag:<br> pisces :pisces:<br> pitcairn_islands :pitcairn_islands:<br> pizza :pizza:<br> placard :placard:<br> place_of_worship :place_of_worship:<br> plate_with_cutlery :plate_with_cutlery:<br> play_or_pause_button :play_or_pause_button:<br> playground_slide :playground_slide:<br> pleading_face :pleading_face:<br> plunger :plunger:<br> point_down :point_down:<br> point_left :point_left:<br> point_right :point_right:<br> point_up :point_up:<br> point_up_2 :point_up_2:<br> poland :poland:<br> polar_bear :polar_bear:<br> police_car :police_car:<br> police_officer :police_officer:<br> policeman :policeman:<br> policewoman :policewoman:<br> poodle :poodle:<br> popcorn :popcorn:<br> portugal :portugal:<br> post_office :post_office:<br> postal_horn :postal_horn:<br> postbox :postbox:<br> potable_water :potable_water:<br> potato :potato:<br> potted_plant :potted_plant:<br> pouch :pouch:<br> poultry_leg :poultry_leg:<br> pound :pound:<br> pouring_liquid :pouring_liquid:<br> pouting_cat :pouting_cat:<br> pouting_face :pouting_face:<br> pouting_man :pouting_man:<br> pouting_woman :pouting_woman:<br> pray :pray:<br> prayer_beads :prayer_beads:<br> pregnant_man :pregnant_man:<br> pregnant_person :pregnant_person:<br> pregnant_woman :pregnant_woman:<br> pretzel :pretzel:<br> previous_track_button :previous_track_button:<br> prince :prince:<br> princess :princess:<br> printer :printer:<br> probing_cane :probing_cane:<br> puerto_rico :puerto_rico:<br> purple_circle :purple_circle:<br> purple_heart :purple_heart:<br> purple_square :purple_square:<br> purse :purse:<br> pushpin :pushpin:<br> put_litter_in_its_place :put_litter_in_its_place:<br> qatar :qatar:<br> question :question:<br> rabbit2 :rabbit2:<br> rabbit :rabbit:<br> raccoon :raccoon:<br> racehorse :racehorse:<br> racing_car :racing_car:<br> radio :radio:<br> radio_button :radio_button:<br> radioactive :radioactive:<br> rage :rage:<br> railway_car :railway_car:<br> railway_track :railway_track:<br> rainbow :rainbow:<br> rainbow_flag :rainbow_flag:<br> raised_back_of_hand :raised_back_of_hand:<br> raised_eyebrow :raised_eyebrow:<br> raised_hand_with_fingers_splayed :raised_hand_with_fingers_splayed:<br> raised_hands :raised_hands:<br> raising_hand :raising_hand:<br> raising_hand_man :raising_hand_man:<br> raising_hand_woman :raising_hand_woman:<br> ram :ram:<br> ramen :ramen:<br> rat :rat:<br> razor :razor:<br> receipt :receipt:<br> record_button :record_button:<br> recycle :recycle:<br> red_circle :red_circle:<br> red_envelope :red_envelope:<br> red_haired_man :red_haired_man:<br> red_haired_woman :red_haired_woman:<br> red_square :red_square:<br> registered :registered:<br> relaxed :relaxed:<br> relieved :relieved:<br> reminder_ribbon :reminder_ribbon:<br> repeat :repeat:<br> repeat_one :repeat_one:<br> rescue_worker_helmet :rescue_worker_helmet:<br> restroom :restroom:<br> reunion :reunion:<br> revolving_hearts :revolving_hearts:<br> rewind :rewind:<br> rhinoceros :rhinoceros:<br> ribbon :ribbon:<br> rice :rice:<br> rice_ball :rice_ball:<br> rice_cracker :rice_cracker:<br> rice_scene :rice_scene:<br> right_anger_bubble :right_anger_bubble:<br> rightwards_hand :rightwards_hand:<br> rightwards_pushing_hand :rightwards_pushing_hand:<br> ring :ring:<br> ring_buoy :ring_buoy:<br> ringed_planet :ringed_planet:<br> robot :robot:<br> rock :rock:<br> rocket :rocket:<br> rofl :rofl:<br> roll_eyes :roll_eyes:<br> roll_of_paper :roll_of_paper:<br> roller_coaster :roller_coaster:<br> roller_skate :roller_skate:<br> romania :romania:<br> rooster :rooster:<br> rose :rose:<br> rosette :rosette:<br> rotating_light :rotating_light:<br> round_pushpin :round_pushpin:<br> rowboat :rowboat:<br> rowing_man :rowing_man:<br> rowing_woman :rowing_woman:<br> ru :ru:<br> rugby_football :rugby_football:<br> runner :runner:<br> running_man :running_man:<br> running_shirt_with_sash :running_shirt_with_sash:<br> running_woman :running_woman:<br> rwanda :rwanda:<br> sa :sa:<br> safety_pin :safety_pin:<br> safety_vest :safety_vest:<br> sagittarius :sagittarius:<br> sake :sake:<br> salt :salt:<br> saluting_face :saluting_face:<br> samoa :samoa:<br> san_marino :san_marino:<br> sandal :sandal:<br> sandwich :sandwich:<br> santa :santa:<br> sao_tome_principe :sao_tome_principe:<br> sari :sari:<br> satellite :satellite:<br> saudi_arabia :saudi_arabia:<br> sauna_man :sauna_man:<br> sauna_person :sauna_person:<br> sauna_woman :sauna_woman:<br> sauropod :sauropod:<br> saxophone :saxophone:<br> scarf :scarf:<br> school :school:<br> school_satchel :school_satchel:<br> scientist :scientist:<br> scissors :scissors:<br> scorpion :scorpion:<br> scorpius :scorpius:<br> scotland :scotland:<br> scream :scream:<br> scream_cat :scream_cat:<br> screwdriver :screwdriver:<br> scroll :scroll:<br> seal :seal:<br> seat :seat:<br> secret :secret:<br> see_no_evil :see_no_evil:<br> seedling :seedling:<br> selfie :selfie:<br> senegal :senegal:<br> serbia :serbia:<br> service_dog :service_dog:<br> seven :seven:<br> sewing_needle :sewing_needle:<br> seychelles :seychelles:<br> shaking_face :shaking_face:<br> shallow_pan_of_food :shallow_pan_of_food:<br> shamrock :shamrock:<br> shark :shark:<br> shaved_ice :shaved_ice:<br> sheep :sheep:<br> shell :shell:<br> shield :shield:<br> shinto_shrine :shinto_shrine:<br> ship :ship:<br> shirt :shirt:<br> shopping :shopping:<br> shopping_cart :shopping_cart:<br> shorts :shorts:<br> shower :shower:<br> shrimp :shrimp:<br> shrug :shrug:<br> shushing_face :shushing_face:<br> sierra_leone :sierra_leone:<br> signal_strength :signal_strength:<br> singapore :singapore:<br> singer :singer:<br> sint_maarten :sint_maarten:<br> six :six:<br> six_pointed_star :six_pointed_star:<br> skateboard :skateboard:<br> ski :ski:<br> skier :skier:<br> skull :skull:<br> skull_and_crossbones :skull_and_crossbones:<br> skunk :skunk:<br> sled :sled:<br> sleeping :sleeping:<br> sleeping_bed :sleeping_bed:<br> sleepy :sleepy:<br> slightly_frowning_face :slightly_frowning_face:<br> slightly_smiling_face :slightly_smiling_face:<br> slot_machine :slot_machine:<br> sloth :sloth:<br> slovakia :slovakia:<br> slovenia :slovenia:<br> small_airplane :small_airplane:<br> small_blue_diamond :small_blue_diamond:<br> small_orange_diamond :small_orange_diamond:<br> small_red_triangle :small_red_triangle:<br> small_red_triangle_down :small_red_triangle_down:<br> smile :smile:<br> smile_cat :smile_cat:<br> smiley :smiley:<br> smiley_cat :smiley_cat:<br> smiling_face_with_tear :smiling_face_with_tear:<br> smiling_face_with_three_hearts :smiling_face_with_three_hearts:<br> smiling_imp :smiling_imp:<br> smirk :smirk:<br> smirk_cat :smirk_cat:<br> smoking :smoking:<br> snail :snail:<br> snake :snake:<br> sneezing_face :sneezing_face:<br> snowboarder :snowboarder:<br> snowflake :snowflake:<br> snowman :snowman:<br> snowman_with_snow :snowman_with_snow:<br> soap :soap:<br> sob :sob:<br> soccer :soccer:<br> socks :socks:<br> softball :softball:<br> solomon_islands :solomon_islands:<br> somalia :somalia:<br> soon :soon:<br> sos :sos:<br> sound :sound:<br> south_africa :south_africa:<br> south_georgia_south_sandwich_islands :south_georgia_south_sandwich_islands:<br> south_sudan :south_sudan:<br> space_invader :space_invader:<br> spades :spades:<br> spaghetti :spaghetti:<br> sparkle :sparkle:<br> sparkler :sparkler:<br> sparkles :sparkles:<br> sparkling_heart :sparkling_heart:<br> speak_no_evil :speak_no_evil:<br> speaker :speaker:<br> speaking_head :speaking_head:<br> speech_balloon :speech_balloon:<br> speedboat :speedboat:<br> spider :spider:<br> spider_web :spider_web:<br> spiral_calendar :spiral_calendar:<br> spiral_notepad :spiral_notepad:<br> sponge :sponge:<br> spoon :spoon:<br> squid :squid:<br> sri_lanka :sri_lanka:<br> st_barthelemy :st_barthelemy:<br> st_helena :st_helena:<br> st_kitts_nevis :st_kitts_nevis:<br> st_lucia :st_lucia:<br> st_martin :st_martin:<br> st_pierre_miquelon :st_pierre_miquelon:<br> st_vincent_grenadines :st_vincent_grenadines:<br> stadium :stadium:<br> standing_man :standing_man:<br> standing_person :standing_person:<br> standing_woman :standing_woman:<br> star2 :star2:<br> star :star:<br> star_and_crescent :star_and_crescent:<br> star_of_david :star_of_david:<br> star_struck :star_struck:<br> stars :stars:<br> station :station:<br> statue_of_liberty :statue_of_liberty:<br> steam_locomotive :steam_locomotive:<br> stethoscope :stethoscope:<br> stew :stew:<br> stop_button :stop_button:<br> stop_sign :stop_sign:<br> stopwatch :stopwatch:<br> straight_ruler :straight_ruler:<br> strawberry :strawberry:<br> stuck_out_tongue :stuck_out_tongue:<br> stuck_out_tongue_closed_eyes :stuck_out_tongue_closed_eyes:<br> stuck_out_tongue_winking_eye :stuck_out_tongue_winking_eye:<br> student :student:<br> studio_microphone :studio_microphone:<br> stuffed_flatbread :stuffed_flatbread:<br> sudan :sudan:<br> sun_behind_large_cloud :sun_behind_large_cloud:<br> sun_behind_rain_cloud :sun_behind_rain_cloud:<br> sun_behind_small_cloud :sun_behind_small_cloud:<br> sun_with_face :sun_with_face:<br> sunflower :sunflower:<br> sunglasses :sunglasses:<br> sunny :sunny:<br> sunrise :sunrise:<br> sunrise_over_mountains :sunrise_over_mountains:<br> superhero :superhero:<br> superhero_man :superhero_man:<br> superhero_woman :superhero_woman:<br> supervillain :supervillain:<br> supervillain_man :supervillain_man:<br> supervillain_woman :supervillain_woman:<br> surfer :surfer:<br> surfing_man :surfing_man:<br> surfing_woman :surfing_woman:<br> suriname :suriname:<br> sushi :sushi:<br> suspension_railway :suspension_railway:<br> svalbard_jan_mayen :svalbard_jan_mayen:<br> swan :swan:<br> swaziland :swaziland:<br> sweat :sweat:<br> sweat_drops :sweat_drops:<br> sweat_smile :sweat_smile:<br> sweden :sweden:<br> sweet_potato :sweet_potato:<br> swim_brief :swim_brief:<br> swimmer :swimmer:<br> swimming_man :swimming_man:<br> swimming_woman :swimming_woman:<br> switzerland :switzerland:<br> symbols :symbols:<br> synagogue :synagogue:<br> syria :syria:<br> syringe :syringe:<br> t-rex :t-rex:<br> taco :taco:<br> tada :tada:<br> taiwan :taiwan:<br> tajikistan :tajikistan:<br> takeout_box :takeout_box:<br> tamale :tamale:<br> tanabata_tree :tanabata_tree:<br> tangerine :tangerine:<br> tanzania :tanzania:<br> taurus :taurus:<br> taxi :taxi:<br> tea :tea:<br> teacher :teacher:<br> teapot :teapot:<br> technologist :technologist:<br> teddy_bear :teddy_bear:<br> telephone_receiver :telephone_receiver:<br> telescope :telescope:<br> tennis :tennis:<br> tent :tent:<br> test_tube :test_tube:<br> thailand :thailand:<br> thermometer :thermometer:<br> thinking :thinking:<br> thong_sandal :thong_sandal:<br> thought_balloon :thought_balloon:<br> thread :thread:<br> three :three:<br> ticket :ticket:<br> tickets :tickets:<br> tiger2 :tiger2:<br> tiger :tiger:<br> timer_clock :timer_clock:<br> timor_leste :timor_leste:<br> tipping_hand_man :tipping_hand_man:<br> tipping_hand_person :tipping_hand_person:<br> tipping_hand_woman :tipping_hand_woman:<br> tired_face :tired_face:<br> tm :tm:<br> togo :togo:<br> toilet :toilet:<br> tokelau :tokelau:<br> tokyo_tower :tokyo_tower:<br> tomato :tomato:<br> tonga :tonga:<br> tongue :tongue:<br> toolbox :toolbox:<br> tooth :tooth:<br> toothbrush :toothbrush:<br> top :top:<br> tophat :tophat:<br> tornado :tornado:<br> tr :tr:<br> trackball :trackball:<br> tractor :tractor:<br> traffic_light :traffic_light:<br> train2 :train2:<br> train :train:<br> tram :tram:<br> transgender_flag :transgender_flag:<br> transgender_symbol :transgender_symbol:<br> triangular_flag_on_post :triangular_flag_on_post:<br> triangular_ruler :triangular_ruler:<br> trident :trident:<br> trinidad_tobago :trinidad_tobago:<br> tristan_da_cunha :tristan_da_cunha:<br> triumph :triumph:<br> troll :troll:<br> trolleybus :trolleybus:<br> trophy :trophy:<br> tropical_drink :tropical_drink:<br> tropical_fish :tropical_fish:<br> truck :truck:<br> trumpet :trumpet:<br> tulip :tulip:<br> tumbler_glass :tumbler_glass:<br> tunisia :tunisia:<br> turkey :turkey:<br> turkmenistan :turkmenistan:<br> turks_caicos_islands :turks_caicos_islands:<br> turtle :turtle:<br> tuvalu :tuvalu:<br> tv :tv:<br> twisted_rightwards_arrows :twisted_rightwards_arrows:<br> two :two:<br> two_hearts :two_hearts:<br> two_men_holding_hands :two_men_holding_hands:<br> two_women_holding_hands :two_women_holding_hands:<br> u5272 :u5272:<br> u5408 :u5408:<br> u55b6 :u55b6:<br> u6307 :u6307:<br> u6708 :u6708:<br> u6709 :u6709:<br> u6e80 :u6e80:<br> u7121 :u7121:<br> u7533 :u7533:<br> u7981 :u7981:<br> u7a7a :u7a7a:<br> uganda :uganda:<br> ukraine :ukraine:<br> umbrella :umbrella:<br> unamused :unamused:<br> underage :underage:<br> unicorn :unicorn:<br> united_arab_emirates :united_arab_emirates:<br> united_nations :united_nations:<br> unlock :unlock:<br> up :up:<br> upside_down_face :upside_down_face:<br> uruguay :uruguay:<br> us :us:<br> us_outlying_islands :us_outlying_islands:<br> us_virgin_islands :us_virgin_islands:<br> uzbekistan :uzbekistan:<br> v :v:<br> vampire :vampire:<br> vampire_man :vampire_man:<br> vampire_woman :vampire_woman:<br> vanuatu :vanuatu:<br> vatican_city :vatican_city:<br> venezuela :venezuela:<br> vertical_traffic_light :vertical_traffic_light:<br> vhs :vhs:<br> vibration_mode :vibration_mode:<br> video_camera :video_camera:<br> video_game :video_game:<br> vietnam :vietnam:<br> violin :violin:<br> virgo :virgo:<br> volcano :volcano:<br> volleyball :volleyball:<br> vomiting_face :vomiting_face:<br> vs :vs:<br> vulcan_salute :vulcan_salute:<br> waffle :waffle:<br> wales :wales:<br> walking :walking:<br> walking_man :walking_man:<br> walking_woman :walking_woman:<br> wallis_futuna :wallis_futuna:<br> waning_crescent_moon :waning_crescent_moon:<br> waning_gibbous_moon :waning_gibbous_moon:<br> warning :warning:<br> wastebasket :wastebasket:<br> watch :watch:<br> water_buffalo :water_buffalo:<br> water_polo :water_polo:<br> watermelon :watermelon:<br> wave :wave:<br> wavy_dash :wavy_dash:<br> waxing_crescent_moon :waxing_crescent_moon:<br> wc :wc:<br> weary :weary:<br> wedding :wedding:<br> weight_lifting :weight_lifting:<br> weight_lifting_man :weight_lifting_man:<br> weight_lifting_woman :weight_lifting_woman:<br> western_sahara :western_sahara:<br> whale2 :whale2:<br> whale :whale:<br> wheel :wheel:<br> wheel_of_dharma :wheel_of_dharma:<br> wheelchair :wheelchair:<br> white_check_mark :white_check_mark:<br> white_circle :white_circle:<br> white_flag :white_flag:<br> white_flower :white_flower:<br> white_haired_man :white_haired_man:<br> white_haired_woman :white_haired_woman:<br> white_heart :white_heart:<br> white_large_square :white_large_square:<br> white_medium_small_square :white_medium_small_square:<br> white_medium_square :white_medium_square:<br> white_small_square :white_small_square:<br> white_square_button :white_square_button:<br> wilted_flower :wilted_flower:<br> wind_chime :wind_chime:<br> wind_face :wind_face:<br> window :window:<br> wine_glass :wine_glass:<br> wing :wing:<br> wink :wink:<br> wireless :wireless:<br> wolf :wolf:<br> woman :woman:<br> woman_artist :woman_artist:<br> woman_astronaut :woman_astronaut:<br> woman_beard :woman_beard:<br> woman_cartwheeling :woman_cartwheeling:<br> woman_cook :woman_cook:<br> woman_dancing :woman_dancing:<br> woman_facepalming :woman_facepalming:<br> woman_factory_worker :woman_factory_worker:<br> woman_farmer :woman_farmer:<br> woman_feeding_baby :woman_feeding_baby:<br> woman_firefighter :woman_firefighter:<br> woman_health_worker :woman_health_worker:<br> woman_in_manual_wheelchair :woman_in_manual_wheelchair:<br> woman_in_motorized_wheelchair :woman_in_motorized_wheelchair:<br> woman_in_tuxedo :woman_in_tuxedo:<br> woman_judge :woman_judge:<br> woman_juggling :woman_juggling:<br> woman_mechanic :woman_mechanic:<br> woman_office_worker :woman_office_worker:<br> woman_pilot :woman_pilot:<br> woman_playing_handball :woman_playing_handball:<br> woman_playing_water_polo :woman_playing_water_polo:<br> woman_scientist :woman_scientist:<br> woman_shrugging :woman_shrugging:<br> woman_singer :woman_singer:<br> woman_student :woman_student:<br> woman_teacher :woman_teacher:<br> woman_technologist :woman_technologist:<br> woman_with_headscarf :woman_with_headscarf:<br> woman_with_probing_cane :woman_with_probing_cane:<br> woman_with_turban :woman_with_turban:<br> woman_with_veil :woman_with_veil:<br> womans_clothes :womans_clothes:<br> womans_hat :womans_hat:<br> women_wrestling :women_wrestling:<br> womens :womens:<br> wood :wood:<br> woozy_face :woozy_face:<br> world_map :world_map:<br> worm :worm:<br> worried :worried:<br> wrench :wrench:<br> wrestling :wrestling:<br> writing_hand :writing_hand:<br> x :x:<br> x_ray :x_ray:<br> yarn :yarn:<br> yawning_face :yawning_face:<br> yellow_circle :yellow_circle:<br> yellow_heart :yellow_heart:<br> yellow_square :yellow_square:<br> yemen :yemen:<br> yen :yen:<br> yin_yang :yin_yang:<br> yo_yo :yo_yo:<br> yum :yum:<br> zambia :zambia:<br> zany_face :zany_face:<br> zap :zap:<br> zebra :zebra:<br> zero :zero:<br> zimbabwe :zimbabwe:<br> zipper_mouth_face :zipper_mouth_face:<br> zombie :zombie:<br> zombie_man :zombie_man:<br> zombie_woman :zombie_woman:<br> zzz :zzz:<br> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/tests.yml��������������������������������������������0000664�0000000�0000000�00000004246�14651242716�0023704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} emoji1 (entities): extensions: pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_alt alt: html_entity remove_variation_selector: True emoji1 (escaped): extensions: pymdownx.emoji: emoji1 (long title): extensions: pymdownx.emoji: title: long emoji1 (no title): extensions: pymdownx.emoji: title: none emoji1 (png): css: - https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/css/emojione.min.css extensions: pymdownx.emoji: emoji1 (png sprite): css: - https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/sprites/emojione.sprites.css extensions: pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_png_sprite emoji1 (svg): css: - https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/css/emojione.min.css extensions: pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_svg emoji1 (svg sprite): extensions: pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_svg_sprite gemoji (entities): extensions: pymdownx.emoji: emoji_index: !!python/name:pymdownx.emoji.gemoji emoji_generator: !!python/name:pymdownx.emoji.to_alt alt: html_entity gemoji (png): extensions: pymdownx.emoji: emoji_index: !!python/name:pymdownx.emoji.gemoji alt: short options: attributes: align: absmiddle height: 20px width: 20px twemoji (entities): extensions: pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_alt alt: html_entity emoji_index: !!python/name:pymdownx.emoji.twemoji twemoji (png): extensions: pymdownx.emoji: emoji_index: !!python/name:pymdownx.emoji.twemoji alt: short options: attributes: align: absmiddle height: 20px width: 20px twemoji (svg): extensions: pymdownx.emoji: emoji_index: !!python/name:pymdownx.emoji.twemoji emoji_generator: !!python/name:pymdownx.emoji.to_svg alt: short options: attributes: align: absmiddle height: 20px width: 20px ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (entities).html������������������������������0000664�0000000�0000000�00000000327�14651242716�0026305�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 💯<br> 1234 🔢<br> 8ball 🎱<br> a 🅰<br> ab 🆎<br> abacus 🧮<br> abc 🔤<br> abcd 🔡<br> accept 🉑<br> accordion 🪗<br></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (entities).txt�������������������������������0000664�0000000�0000000�00000000257�14651242716�0026162�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abacus :abacus:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> accordion :accordion:<br> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (png).html�����������������������������������0000664�0000000�0000000�00003213231�14651242716�0025250�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 <img align="absmiddle" alt=":100:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4af.png" title=":100:" width="20px" /><br> 1234 <img align="absmiddle" alt=":1234:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f522.png" title=":1234:" width="20px" /><br> 8ball <img align="absmiddle" alt=":8ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b1.png" title=":8ball:" width="20px" /><br> a <img align="absmiddle" alt=":a:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f170.png" title=":a:" width="20px" /><br> ab <img align="absmiddle" alt=":ab:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f18e.png" title=":ab:" width="20px" /><br> abacus <img align="absmiddle" alt=":abacus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ee.png" title=":abacus:" width="20px" /><br> abc <img align="absmiddle" alt=":abc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f524.png" title=":abc:" width="20px" /><br> abcd <img align="absmiddle" alt=":abcd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f521.png" title=":abcd:" width="20px" /><br> accept <img align="absmiddle" alt=":accept:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f251.png" title=":accept:" width="20px" /><br> accordion <img align="absmiddle" alt=":accordion:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa97.png" title=":accordion:" width="20px" /><br> adhesive_bandage <img align="absmiddle" alt=":adhesive_bandage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa79.png" title=":adhesive_bandage:" width="20px" /><br> adult <img align="absmiddle" alt=":adult:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1.png" title=":adult:" width="20px" /><br> adult_tone1 <img align="absmiddle" alt=":adult_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb.png" title=":adult_tone1:" width="20px" /><br> adult_tone2 <img align="absmiddle" alt=":adult_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc.png" title=":adult_tone2:" width="20px" /><br> adult_tone3 <img align="absmiddle" alt=":adult_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd.png" title=":adult_tone3:" width="20px" /><br> adult_tone4 <img align="absmiddle" alt=":adult_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe.png" title=":adult_tone4:" width="20px" /><br> adult_tone5 <img align="absmiddle" alt=":adult_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff.png" title=":adult_tone5:" width="20px" /><br> aerial_tramway <img align="absmiddle" alt=":aerial_tramway:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a1.png" title=":aerial_tramway:" width="20px" /><br> airplane <img align="absmiddle" alt=":airplane:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2708.png" title=":airplane:" width="20px" /><br> airplane_arriving <img align="absmiddle" alt=":airplane_arriving:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ec.png" title=":airplane_arriving:" width="20px" /><br> airplane_departure <img align="absmiddle" alt=":airplane_departure:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6eb.png" title=":airplane_departure:" width="20px" /><br> airplane_small <img align="absmiddle" alt=":airplane_small:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e9.png" title=":airplane_small:" width="20px" /><br> alarm_clock <img align="absmiddle" alt=":alarm_clock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f0.png" title=":alarm_clock:" width="20px" /><br> alembic <img align="absmiddle" alt=":alembic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2697.png" title=":alembic:" width="20px" /><br> alien <img align="absmiddle" alt=":alien:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47d.png" title=":alien:" width="20px" /><br> ambulance <img align="absmiddle" alt=":ambulance:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f691.png" title=":ambulance:" width="20px" /><br> amphora <img align="absmiddle" alt=":amphora:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3fa.png" title=":amphora:" width="20px" /><br> anatomical_heart <img align="absmiddle" alt=":anatomical_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac0.png" title=":anatomical_heart:" width="20px" /><br> anchor <img align="absmiddle" alt=":anchor:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2693.png" title=":anchor:" width="20px" /><br> angel <img align="absmiddle" alt=":angel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c.png" title=":angel:" width="20px" /><br> angel_tone1 <img align="absmiddle" alt=":angel_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c-1f3fb.png" title=":angel_tone1:" width="20px" /><br> angel_tone2 <img align="absmiddle" alt=":angel_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c-1f3fc.png" title=":angel_tone2:" width="20px" /><br> angel_tone3 <img align="absmiddle" alt=":angel_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c-1f3fd.png" title=":angel_tone3:" width="20px" /><br> angel_tone4 <img align="absmiddle" alt=":angel_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c-1f3fe.png" title=":angel_tone4:" width="20px" /><br> angel_tone5 <img align="absmiddle" alt=":angel_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47c-1f3ff.png" title=":angel_tone5:" width="20px" /><br> anger <img align="absmiddle" alt=":anger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a2.png" title=":anger:" width="20px" /><br> anger_right <img align="absmiddle" alt=":anger_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5ef.png" title=":anger_right:" width="20px" /><br> angry <img align="absmiddle" alt=":angry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f620.png" title=":angry:" width="20px" /><br> anguished <img align="absmiddle" alt=":anguished:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f627.png" title=":anguished:" width="20px" /><br> ant <img align="absmiddle" alt=":ant:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41c.png" title=":ant:" width="20px" /><br> apple <img align="absmiddle" alt=":apple:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34e.png" title=":apple:" width="20px" /><br> aquarius <img align="absmiddle" alt=":aquarius:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2652.png" title=":aquarius:" width="20px" /><br> aries <img align="absmiddle" alt=":aries:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2648.png" title=":aries:" width="20px" /><br> arrow_backward <img align="absmiddle" alt=":arrow_backward:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25c0.png" title=":arrow_backward:" width="20px" /><br> arrow_double_down <img align="absmiddle" alt=":arrow_double_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23ec.png" title=":arrow_double_down:" width="20px" /><br> arrow_double_up <img align="absmiddle" alt=":arrow_double_up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23eb.png" title=":arrow_double_up:" width="20px" /><br> arrow_down <img align="absmiddle" alt=":arrow_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b07.png" title=":arrow_down:" width="20px" /><br> arrow_down_small <img align="absmiddle" alt=":arrow_down_small:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f53d.png" title=":arrow_down_small:" width="20px" /><br> arrow_forward <img align="absmiddle" alt=":arrow_forward:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25b6.png" title=":arrow_forward:" width="20px" /><br> arrow_heading_down <img align="absmiddle" alt=":arrow_heading_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2935.png" title=":arrow_heading_down:" width="20px" /><br> arrow_heading_up <img align="absmiddle" alt=":arrow_heading_up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2934.png" title=":arrow_heading_up:" width="20px" /><br> arrow_left <img align="absmiddle" alt=":arrow_left:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b05.png" title=":arrow_left:" width="20px" /><br> arrow_lower_left <img align="absmiddle" alt=":arrow_lower_left:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2199.png" title=":arrow_lower_left:" width="20px" /><br> arrow_lower_right <img align="absmiddle" alt=":arrow_lower_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2198.png" title=":arrow_lower_right:" width="20px" /><br> arrow_right <img align="absmiddle" alt=":arrow_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/27a1.png" title=":arrow_right:" width="20px" /><br> arrow_right_hook <img align="absmiddle" alt=":arrow_right_hook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/21aa.png" title=":arrow_right_hook:" width="20px" /><br> arrow_up <img align="absmiddle" alt=":arrow_up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b06.png" title=":arrow_up:" width="20px" /><br> arrow_up_down <img align="absmiddle" alt=":arrow_up_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2195.png" title=":arrow_up_down:" width="20px" /><br> arrow_up_small <img align="absmiddle" alt=":arrow_up_small:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f53c.png" title=":arrow_up_small:" width="20px" /><br> arrow_upper_left <img align="absmiddle" alt=":arrow_upper_left:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2196.png" title=":arrow_upper_left:" width="20px" /><br> arrow_upper_right <img align="absmiddle" alt=":arrow_upper_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2197.png" title=":arrow_upper_right:" width="20px" /><br> arrows_clockwise <img align="absmiddle" alt=":arrows_clockwise:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f503.png" title=":arrows_clockwise:" width="20px" /><br> arrows_counterclockwise <img align="absmiddle" alt=":arrows_counterclockwise:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f504.png" title=":arrows_counterclockwise:" width="20px" /><br> art <img align="absmiddle" alt=":art:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a8.png" title=":art:" width="20px" /><br> articulated_lorry <img align="absmiddle" alt=":articulated_lorry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69b.png" title=":articulated_lorry:" width="20px" /><br> artist <img align="absmiddle" alt=":artist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f3a8.png" title=":artist:" width="20px" /><br> artist_tone1 <img align="absmiddle" alt=":artist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f3a8.png" title=":artist_tone1:" width="20px" /><br> artist_tone2 <img align="absmiddle" alt=":artist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f3a8.png" title=":artist_tone2:" width="20px" /><br> artist_tone3 <img align="absmiddle" alt=":artist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f3a8.png" title=":artist_tone3:" width="20px" /><br> artist_tone4 <img align="absmiddle" alt=":artist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f3a8.png" title=":artist_tone4:" width="20px" /><br> artist_tone5 <img align="absmiddle" alt=":artist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f3a8.png" title=":artist_tone5:" width="20px" /><br> asterisk <img align="absmiddle" alt=":asterisk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2a-20e3.png" title=":asterisk:" width="20px" /><br> astonished <img align="absmiddle" alt=":astonished:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f632.png" title=":astonished:" width="20px" /><br> astronaut <img align="absmiddle" alt=":astronaut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f680.png" title=":astronaut:" width="20px" /><br> astronaut_tone1 <img align="absmiddle" alt=":astronaut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f680.png" title=":astronaut_tone1:" width="20px" /><br> astronaut_tone2 <img align="absmiddle" alt=":astronaut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f680.png" title=":astronaut_tone2:" width="20px" /><br> astronaut_tone3 <img align="absmiddle" alt=":astronaut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f680.png" title=":astronaut_tone3:" width="20px" /><br> astronaut_tone4 <img align="absmiddle" alt=":astronaut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f680.png" title=":astronaut_tone4:" width="20px" /><br> astronaut_tone5 <img align="absmiddle" alt=":astronaut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f680.png" title=":astronaut_tone5:" width="20px" /><br> athletic_shoe <img align="absmiddle" alt=":athletic_shoe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45f.png" title=":athletic_shoe:" width="20px" /><br> atm <img align="absmiddle" alt=":atm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e7.png" title=":atm:" width="20px" /><br> atom <img align="absmiddle" alt=":atom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/269b.png" title=":atom:" width="20px" /><br> auto_rickshaw <img align="absmiddle" alt=":auto_rickshaw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6fa.png" title=":auto_rickshaw:" width="20px" /><br> avocado <img align="absmiddle" alt=":avocado:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f951.png" title=":avocado:" width="20px" /><br> axe <img align="absmiddle" alt=":axe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa93.png" title=":axe:" width="20px" /><br> b <img align="absmiddle" alt=":b:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f171.png" title=":b:" width="20px" /><br> baby <img align="absmiddle" alt=":baby:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476.png" title=":baby:" width="20px" /><br> baby_bottle <img align="absmiddle" alt=":baby_bottle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37c.png" title=":baby_bottle:" width="20px" /><br> baby_chick <img align="absmiddle" alt=":baby_chick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f424.png" title=":baby_chick:" width="20px" /><br> baby_symbol <img align="absmiddle" alt=":baby_symbol:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6bc.png" title=":baby_symbol:" width="20px" /><br> baby_tone1 <img align="absmiddle" alt=":baby_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476-1f3fb.png" title=":baby_tone1:" width="20px" /><br> baby_tone2 <img align="absmiddle" alt=":baby_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476-1f3fc.png" title=":baby_tone2:" width="20px" /><br> baby_tone3 <img align="absmiddle" alt=":baby_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476-1f3fd.png" title=":baby_tone3:" width="20px" /><br> baby_tone4 <img align="absmiddle" alt=":baby_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476-1f3fe.png" title=":baby_tone4:" width="20px" /><br> baby_tone5 <img align="absmiddle" alt=":baby_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f476-1f3ff.png" title=":baby_tone5:" width="20px" /><br> back <img align="absmiddle" alt=":back:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f519.png" title=":back:" width="20px" /><br> bacon <img align="absmiddle" alt=":bacon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f953.png" title=":bacon:" width="20px" /><br> badger <img align="absmiddle" alt=":badger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a1.png" title=":badger:" width="20px" /><br> badminton <img align="absmiddle" alt=":badminton:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f8.png" title=":badminton:" width="20px" /><br> bagel <img align="absmiddle" alt=":bagel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96f.png" title=":bagel:" width="20px" /><br> baggage_claim <img align="absmiddle" alt=":baggage_claim:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c4.png" title=":baggage_claim:" width="20px" /><br> bald <img align="absmiddle" alt=":bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b2.png" title=":bald:" width="20px" /><br> ballet_shoes <img align="absmiddle" alt=":ballet_shoes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa70.png" title=":ballet_shoes:" width="20px" /><br> balloon <img align="absmiddle" alt=":balloon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f388.png" title=":balloon:" width="20px" /><br> ballot_box <img align="absmiddle" alt=":ballot_box:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5f3.png" title=":ballot_box:" width="20px" /><br> ballot_box_with_check <img align="absmiddle" alt=":ballot_box_with_check:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2611.png" title=":ballot_box_with_check:" width="20px" /><br> bamboo <img align="absmiddle" alt=":bamboo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38d.png" title=":bamboo:" width="20px" /><br> banana <img align="absmiddle" alt=":banana:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34c.png" title=":banana:" width="20px" /><br> bangbang <img align="absmiddle" alt=":bangbang:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/203c.png" title=":bangbang:" width="20px" /><br> banjo <img align="absmiddle" alt=":banjo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa95.png" title=":banjo:" width="20px" /><br> bank <img align="absmiddle" alt=":bank:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e6.png" title=":bank:" width="20px" /><br> bar_chart <img align="absmiddle" alt=":bar_chart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ca.png" title=":bar_chart:" width="20px" /><br> barber <img align="absmiddle" alt=":barber:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f488.png" title=":barber:" width="20px" /><br> baseball <img align="absmiddle" alt=":baseball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26be.png" title=":baseball:" width="20px" /><br> basket <img align="absmiddle" alt=":basket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9fa.png" title=":basket:" width="20px" /><br> basketball <img align="absmiddle" alt=":basketball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c0.png" title=":basketball:" width="20px" /><br> bat <img align="absmiddle" alt=":bat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f987.png" title=":bat:" width="20px" /><br> bath <img align="absmiddle" alt=":bath:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0.png" title=":bath:" width="20px" /><br> bath_tone1 <img align="absmiddle" alt=":bath_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0-1f3fb.png" title=":bath_tone1:" width="20px" /><br> bath_tone2 <img align="absmiddle" alt=":bath_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0-1f3fc.png" title=":bath_tone2:" width="20px" /><br> bath_tone3 <img align="absmiddle" alt=":bath_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0-1f3fd.png" title=":bath_tone3:" width="20px" /><br> bath_tone4 <img align="absmiddle" alt=":bath_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0-1f3fe.png" title=":bath_tone4:" width="20px" /><br> bath_tone5 <img align="absmiddle" alt=":bath_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c0-1f3ff.png" title=":bath_tone5:" width="20px" /><br> bathtub <img align="absmiddle" alt=":bathtub:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c1.png" title=":bathtub:" width="20px" /><br> battery <img align="absmiddle" alt=":battery:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50b.png" title=":battery:" width="20px" /><br> beach <img align="absmiddle" alt=":beach:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d6.png" title=":beach:" width="20px" /><br> beach_umbrella <img align="absmiddle" alt=":beach_umbrella:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f1.png" title=":beach_umbrella:" width="20px" /><br> beans <img align="absmiddle" alt=":beans:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad8.png" title=":beans:" width="20px" /><br> bear <img align="absmiddle" alt=":bear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43b.png" title=":bear:" width="20px" /><br> bearded_person <img align="absmiddle" alt=":bearded_person:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4.png" title=":bearded_person:" width="20px" /><br> bearded_person_tone1 <img align="absmiddle" alt=":bearded_person_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fb.png" title=":bearded_person_tone1:" width="20px" /><br> bearded_person_tone2 <img align="absmiddle" alt=":bearded_person_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fc.png" title=":bearded_person_tone2:" width="20px" /><br> bearded_person_tone3 <img align="absmiddle" alt=":bearded_person_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fd.png" title=":bearded_person_tone3:" width="20px" /><br> bearded_person_tone4 <img align="absmiddle" alt=":bearded_person_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fe.png" title=":bearded_person_tone4:" width="20px" /><br> bearded_person_tone5 <img align="absmiddle" alt=":bearded_person_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3ff.png" title=":bearded_person_tone5:" width="20px" /><br> beaver <img align="absmiddle" alt=":beaver:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ab.png" title=":beaver:" width="20px" /><br> bed <img align="absmiddle" alt=":bed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cf.png" title=":bed:" width="20px" /><br> bee <img align="absmiddle" alt=":bee:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41d.png" title=":bee:" width="20px" /><br> beer <img align="absmiddle" alt=":beer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37a.png" title=":beer:" width="20px" /><br> beers <img align="absmiddle" alt=":beers:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37b.png" title=":beers:" width="20px" /><br> beetle <img align="absmiddle" alt=":beetle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab2.png" title=":beetle:" width="20px" /><br> beginner <img align="absmiddle" alt=":beginner:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f530.png" title=":beginner:" width="20px" /><br> bell <img align="absmiddle" alt=":bell:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f514.png" title=":bell:" width="20px" /><br> bell_pepper <img align="absmiddle" alt=":bell_pepper:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad1.png" title=":bell_pepper:" width="20px" /><br> bellhop <img align="absmiddle" alt=":bellhop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ce.png" title=":bellhop:" width="20px" /><br> bento <img align="absmiddle" alt=":bento:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f371.png" title=":bento:" width="20px" /><br> beverage_box <img align="absmiddle" alt=":beverage_box:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c3.png" title=":beverage_box:" width="20px" /><br> bike <img align="absmiddle" alt=":bike:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b2.png" title=":bike:" width="20px" /><br> bikini <img align="absmiddle" alt=":bikini:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f459.png" title=":bikini:" width="20px" /><br> billed_cap <img align="absmiddle" alt=":billed_cap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e2.png" title=":billed_cap:" width="20px" /><br> biohazard <img align="absmiddle" alt=":biohazard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2623.png" title=":biohazard:" width="20px" /><br> bird <img align="absmiddle" alt=":bird:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f426.png" title=":bird:" width="20px" /><br> birthday <img align="absmiddle" alt=":birthday:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f382.png" title=":birthday:" width="20px" /><br> bison <img align="absmiddle" alt=":bison:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ac.png" title=":bison:" width="20px" /><br> biting_lip <img align="absmiddle" alt=":biting_lip:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae6.png" title=":biting_lip:" width="20px" /><br> black_bird <img align="absmiddle" alt=":black_bird:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f426-200d-2b1b.png" title=":black_bird:" width="20px" /><br> black_cat <img align="absmiddle" alt=":black_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f408-200d-2b1b.png" title=":black_cat:" width="20px" /><br> black_circle <img align="absmiddle" alt=":black_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26ab.png" title=":black_circle:" width="20px" /><br> black_heart <img align="absmiddle" alt=":black_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5a4.png" title=":black_heart:" width="20px" /><br> black_joker <img align="absmiddle" alt=":black_joker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f0cf.png" title=":black_joker:" width="20px" /><br> black_large_square <img align="absmiddle" alt=":black_large_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b1b.png" title=":black_large_square:" width="20px" /><br> black_medium_small_square <img align="absmiddle" alt=":black_medium_small_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25fe.png" title=":black_medium_small_square:" width="20px" /><br> black_medium_square <img align="absmiddle" alt=":black_medium_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25fc.png" title=":black_medium_square:" width="20px" /><br> black_nib <img align="absmiddle" alt=":black_nib:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2712.png" title=":black_nib:" width="20px" /><br> black_small_square <img align="absmiddle" alt=":black_small_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25aa.png" title=":black_small_square:" width="20px" /><br> black_square_button <img align="absmiddle" alt=":black_square_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f532.png" title=":black_square_button:" width="20px" /><br> blond-haired_man <img align="absmiddle" alt=":blond-haired_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-200d-2642-fe0f.png" title=":blond-haired_man:" width="20px" /><br> blond-haired_man_tone1 <img align="absmiddle" alt=":blond-haired_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fb-200d-2642-fe0f.png" title=":blond-haired_man_tone1:" width="20px" /><br> blond-haired_man_tone2 <img align="absmiddle" alt=":blond-haired_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fc-200d-2642-fe0f.png" title=":blond-haired_man_tone2:" width="20px" /><br> blond-haired_man_tone3 <img align="absmiddle" alt=":blond-haired_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fd-200d-2642-fe0f.png" title=":blond-haired_man_tone3:" width="20px" /><br> blond-haired_man_tone4 <img align="absmiddle" alt=":blond-haired_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fe-200d-2642-fe0f.png" title=":blond-haired_man_tone4:" width="20px" /><br> blond-haired_man_tone5 <img align="absmiddle" alt=":blond-haired_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3ff-200d-2642-fe0f.png" title=":blond-haired_man_tone5:" width="20px" /><br> blond-haired_woman <img align="absmiddle" alt=":blond-haired_woman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-200d-2640-fe0f.png" title=":blond-haired_woman:" width="20px" /><br> blond-haired_woman_tone1 <img align="absmiddle" alt=":blond-haired_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fb-200d-2640-fe0f.png" title=":blond-haired_woman_tone1:" width="20px" /><br> blond-haired_woman_tone2 <img align="absmiddle" alt=":blond-haired_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fc-200d-2640-fe0f.png" title=":blond-haired_woman_tone2:" width="20px" /><br> blond-haired_woman_tone3 <img align="absmiddle" alt=":blond-haired_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fd-200d-2640-fe0f.png" title=":blond-haired_woman_tone3:" width="20px" /><br> blond-haired_woman_tone4 <img align="absmiddle" alt=":blond-haired_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fe-200d-2640-fe0f.png" title=":blond-haired_woman_tone4:" width="20px" /><br> blond-haired_woman_tone5 <img align="absmiddle" alt=":blond-haired_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3ff-200d-2640-fe0f.png" title=":blond-haired_woman_tone5:" width="20px" /><br> blond_haired_person <img align="absmiddle" alt=":blond_haired_person:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471.png" title=":blond_haired_person:" width="20px" /><br> blond_haired_person_tone1 <img align="absmiddle" alt=":blond_haired_person_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fb.png" title=":blond_haired_person_tone1:" width="20px" /><br> blond_haired_person_tone2 <img align="absmiddle" alt=":blond_haired_person_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fc.png" title=":blond_haired_person_tone2:" width="20px" /><br> blond_haired_person_tone3 <img align="absmiddle" alt=":blond_haired_person_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fd.png" title=":blond_haired_person_tone3:" width="20px" /><br> blond_haired_person_tone4 <img align="absmiddle" alt=":blond_haired_person_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3fe.png" title=":blond_haired_person_tone4:" width="20px" /><br> blond_haired_person_tone5 <img align="absmiddle" alt=":blond_haired_person_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f471-1f3ff.png" title=":blond_haired_person_tone5:" width="20px" /><br> blossom <img align="absmiddle" alt=":blossom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33c.png" title=":blossom:" width="20px" /><br> blowfish <img align="absmiddle" alt=":blowfish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f421.png" title=":blowfish:" width="20px" /><br> blue_book <img align="absmiddle" alt=":blue_book:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d8.png" title=":blue_book:" width="20px" /><br> blue_car <img align="absmiddle" alt=":blue_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f699.png" title=":blue_car:" width="20px" /><br> blue_circle <img align="absmiddle" alt=":blue_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f535.png" title=":blue_circle:" width="20px" /><br> blue_heart <img align="absmiddle" alt=":blue_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f499.png" title=":blue_heart:" width="20px" /><br> blue_square <img align="absmiddle" alt=":blue_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e6.png" title=":blue_square:" width="20px" /><br> blueberries <img align="absmiddle" alt=":blueberries:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad0.png" title=":blueberries:" width="20px" /><br> blush <img align="absmiddle" alt=":blush:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60a.png" title=":blush:" width="20px" /><br> boar <img align="absmiddle" alt=":boar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f417.png" title=":boar:" width="20px" /><br> bomb <img align="absmiddle" alt=":bomb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a3.png" title=":bomb:" width="20px" /><br> bone <img align="absmiddle" alt=":bone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b4.png" title=":bone:" width="20px" /><br> book <img align="absmiddle" alt=":book:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d6.png" title=":book:" width="20px" /><br> bookmark <img align="absmiddle" alt=":bookmark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f516.png" title=":bookmark:" width="20px" /><br> bookmark_tabs <img align="absmiddle" alt=":bookmark_tabs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d1.png" title=":bookmark_tabs:" width="20px" /><br> books <img align="absmiddle" alt=":books:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4da.png" title=":books:" width="20px" /><br> boom <img align="absmiddle" alt=":boom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a5.png" title=":boom:" width="20px" /><br> boomerang <img align="absmiddle" alt=":boomerang:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa83.png" title=":boomerang:" width="20px" /><br> boot <img align="absmiddle" alt=":boot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f462.png" title=":boot:" width="20px" /><br> bouquet <img align="absmiddle" alt=":bouquet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f490.png" title=":bouquet:" width="20px" /><br> bow_and_arrow <img align="absmiddle" alt=":bow_and_arrow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f9.png" title=":bow_and_arrow:" width="20px" /><br> bowl_with_spoon <img align="absmiddle" alt=":bowl_with_spoon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f963.png" title=":bowl_with_spoon:" width="20px" /><br> bowling <img align="absmiddle" alt=":bowling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b3.png" title=":bowling:" width="20px" /><br> boxing_glove <img align="absmiddle" alt=":boxing_glove:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94a.png" title=":boxing_glove:" width="20px" /><br> boy <img align="absmiddle" alt=":boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466.png" title=":boy:" width="20px" /><br> boy_tone1 <img align="absmiddle" alt=":boy_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466-1f3fb.png" title=":boy_tone1:" width="20px" /><br> boy_tone2 <img align="absmiddle" alt=":boy_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466-1f3fc.png" title=":boy_tone2:" width="20px" /><br> boy_tone3 <img align="absmiddle" alt=":boy_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466-1f3fd.png" title=":boy_tone3:" width="20px" /><br> boy_tone4 <img align="absmiddle" alt=":boy_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466-1f3fe.png" title=":boy_tone4:" width="20px" /><br> boy_tone5 <img align="absmiddle" alt=":boy_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f466-1f3ff.png" title=":boy_tone5:" width="20px" /><br> brain <img align="absmiddle" alt=":brain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e0.png" title=":brain:" width="20px" /><br> bread <img align="absmiddle" alt=":bread:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35e.png" title=":bread:" width="20px" /><br> breast_feeding <img align="absmiddle" alt=":breast_feeding:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931.png" title=":breast_feeding:" width="20px" /><br> breast_feeding_tone1 <img align="absmiddle" alt=":breast_feeding_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931-1f3fb.png" title=":breast_feeding_tone1:" width="20px" /><br> breast_feeding_tone2 <img align="absmiddle" alt=":breast_feeding_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931-1f3fc.png" title=":breast_feeding_tone2:" width="20px" /><br> breast_feeding_tone3 <img align="absmiddle" alt=":breast_feeding_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931-1f3fd.png" title=":breast_feeding_tone3:" width="20px" /><br> breast_feeding_tone4 <img align="absmiddle" alt=":breast_feeding_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931-1f3fe.png" title=":breast_feeding_tone4:" width="20px" /><br> breast_feeding_tone5 <img align="absmiddle" alt=":breast_feeding_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f931-1f3ff.png" title=":breast_feeding_tone5:" width="20px" /><br> bricks <img align="absmiddle" alt=":bricks:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f1.png" title=":bricks:" width="20px" /><br> bridge_at_night <img align="absmiddle" alt=":bridge_at_night:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f309.png" title=":bridge_at_night:" width="20px" /><br> briefcase <img align="absmiddle" alt=":briefcase:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4bc.png" title=":briefcase:" width="20px" /><br> briefs <img align="absmiddle" alt=":briefs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa72.png" title=":briefs:" width="20px" /><br> broccoli <img align="absmiddle" alt=":broccoli:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f966.png" title=":broccoli:" width="20px" /><br> broken_heart <img align="absmiddle" alt=":broken_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f494.png" title=":broken_heart:" width="20px" /><br> broom <img align="absmiddle" alt=":broom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f9.png" title=":broom:" width="20px" /><br> brown_circle <img align="absmiddle" alt=":brown_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e4.png" title=":brown_circle:" width="20px" /><br> brown_heart <img align="absmiddle" alt=":brown_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90e.png" title=":brown_heart:" width="20px" /><br> brown_square <img align="absmiddle" alt=":brown_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7eb.png" title=":brown_square:" width="20px" /><br> bubble_tea <img align="absmiddle" alt=":bubble_tea:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cb.png" title=":bubble_tea:" width="20px" /><br> bubbles <img align="absmiddle" alt=":bubbles:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae7.png" title=":bubbles:" width="20px" /><br> bucket <img align="absmiddle" alt=":bucket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa3.png" title=":bucket:" width="20px" /><br> bug <img align="absmiddle" alt=":bug:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41b.png" title=":bug:" width="20px" /><br> bulb <img align="absmiddle" alt=":bulb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a1.png" title=":bulb:" width="20px" /><br> bullettrain_front <img align="absmiddle" alt=":bullettrain_front:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f685.png" title=":bullettrain_front:" width="20px" /><br> bullettrain_side <img align="absmiddle" alt=":bullettrain_side:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f684.png" title=":bullettrain_side:" width="20px" /><br> burrito <img align="absmiddle" alt=":burrito:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32f.png" title=":burrito:" width="20px" /><br> bus <img align="absmiddle" alt=":bus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68c.png" title=":bus:" width="20px" /><br> busstop <img align="absmiddle" alt=":busstop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68f.png" title=":busstop:" width="20px" /><br> bust_in_silhouette <img align="absmiddle" alt=":bust_in_silhouette:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f464.png" title=":bust_in_silhouette:" width="20px" /><br> busts_in_silhouette <img align="absmiddle" alt=":busts_in_silhouette:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f465.png" title=":busts_in_silhouette:" width="20px" /><br> butter <img align="absmiddle" alt=":butter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c8.png" title=":butter:" width="20px" /><br> butterfly <img align="absmiddle" alt=":butterfly:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98b.png" title=":butterfly:" width="20px" /><br> cactus <img align="absmiddle" alt=":cactus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f335.png" title=":cactus:" width="20px" /><br> cake <img align="absmiddle" alt=":cake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f370.png" title=":cake:" width="20px" /><br> calendar <img align="absmiddle" alt=":calendar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c6.png" title=":calendar:" width="20px" /><br> calendar_spiral <img align="absmiddle" alt=":calendar_spiral:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5d3.png" title=":calendar_spiral:" width="20px" /><br> call_me <img align="absmiddle" alt=":call_me:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919.png" title=":call_me:" width="20px" /><br> call_me_tone1 <img align="absmiddle" alt=":call_me_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919-1f3fb.png" title=":call_me_tone1:" width="20px" /><br> call_me_tone2 <img align="absmiddle" alt=":call_me_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919-1f3fc.png" title=":call_me_tone2:" width="20px" /><br> call_me_tone3 <img align="absmiddle" alt=":call_me_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919-1f3fd.png" title=":call_me_tone3:" width="20px" /><br> call_me_tone4 <img align="absmiddle" alt=":call_me_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919-1f3fe.png" title=":call_me_tone4:" width="20px" /><br> call_me_tone5 <img align="absmiddle" alt=":call_me_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f919-1f3ff.png" title=":call_me_tone5:" width="20px" /><br> calling <img align="absmiddle" alt=":calling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f2.png" title=":calling:" width="20px" /><br> camel <img align="absmiddle" alt=":camel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42b.png" title=":camel:" width="20px" /><br> camera <img align="absmiddle" alt=":camera:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f7.png" title=":camera:" width="20px" /><br> camera_with_flash <img align="absmiddle" alt=":camera_with_flash:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f8.png" title=":camera_with_flash:" width="20px" /><br> camping <img align="absmiddle" alt=":camping:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d5.png" title=":camping:" width="20px" /><br> cancer <img align="absmiddle" alt=":cancer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264b.png" title=":cancer:" width="20px" /><br> candle <img align="absmiddle" alt=":candle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f56f.png" title=":candle:" width="20px" /><br> candy <img align="absmiddle" alt=":candy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36c.png" title=":candy:" width="20px" /><br> canned_food <img align="absmiddle" alt=":canned_food:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96b.png" title=":canned_food:" width="20px" /><br> canoe <img align="absmiddle" alt=":canoe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f6.png" title=":canoe:" width="20px" /><br> capital_abcd <img align="absmiddle" alt=":capital_abcd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f520.png" title=":capital_abcd:" width="20px" /><br> capricorn <img align="absmiddle" alt=":capricorn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2651.png" title=":capricorn:" width="20px" /><br> card_box <img align="absmiddle" alt=":card_box:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5c3.png" title=":card_box:" width="20px" /><br> card_index <img align="absmiddle" alt=":card_index:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c7.png" title=":card_index:" width="20px" /><br> carousel_horse <img align="absmiddle" alt=":carousel_horse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a0.png" title=":carousel_horse:" width="20px" /><br> carpentry_saw <img align="absmiddle" alt=":carpentry_saw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9a.png" title=":carpentry_saw:" width="20px" /><br> carrot <img align="absmiddle" alt=":carrot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f955.png" title=":carrot:" width="20px" /><br> cat2 <img align="absmiddle" alt=":cat2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f408.png" title=":cat2:" width="20px" /><br> cat <img align="absmiddle" alt=":cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f431.png" title=":cat:" width="20px" /><br> cd <img align="absmiddle" alt=":cd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4bf.png" title=":cd:" width="20px" /><br> chains <img align="absmiddle" alt=":chains:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26d3.png" title=":chains:" width="20px" /><br> chair <img align="absmiddle" alt=":chair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa91.png" title=":chair:" width="20px" /><br> champagne <img align="absmiddle" alt=":champagne:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37e.png" title=":champagne:" width="20px" /><br> champagne_glass <img align="absmiddle" alt=":champagne_glass:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f942.png" title=":champagne_glass:" width="20px" /><br> chart <img align="absmiddle" alt=":chart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b9.png" title=":chart:" width="20px" /><br> chart_with_downwards_trend <img align="absmiddle" alt=":chart_with_downwards_trend:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c9.png" title=":chart_with_downwards_trend:" width="20px" /><br> chart_with_upwards_trend <img align="absmiddle" alt=":chart_with_upwards_trend:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c8.png" title=":chart_with_upwards_trend:" width="20px" /><br> checkered_flag <img align="absmiddle" alt=":checkered_flag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c1.png" title=":checkered_flag:" width="20px" /><br> cheese <img align="absmiddle" alt=":cheese:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c0.png" title=":cheese:" width="20px" /><br> cherries <img align="absmiddle" alt=":cherries:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f352.png" title=":cherries:" width="20px" /><br> cherry_blossom <img align="absmiddle" alt=":cherry_blossom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f338.png" title=":cherry_blossom:" width="20px" /><br> chess_pawn <img align="absmiddle" alt=":chess_pawn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/265f.png" title=":chess_pawn:" width="20px" /><br> chestnut <img align="absmiddle" alt=":chestnut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f330.png" title=":chestnut:" width="20px" /><br> chicken <img align="absmiddle" alt=":chicken:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f414.png" title=":chicken:" width="20px" /><br> child <img align="absmiddle" alt=":child:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2.png" title=":child:" width="20px" /><br> child_tone1 <img align="absmiddle" alt=":child_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2-1f3fb.png" title=":child_tone1:" width="20px" /><br> child_tone2 <img align="absmiddle" alt=":child_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2-1f3fc.png" title=":child_tone2:" width="20px" /><br> child_tone3 <img align="absmiddle" alt=":child_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2-1f3fd.png" title=":child_tone3:" width="20px" /><br> child_tone4 <img align="absmiddle" alt=":child_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2-1f3fe.png" title=":child_tone4:" width="20px" /><br> child_tone5 <img align="absmiddle" alt=":child_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d2-1f3ff.png" title=":child_tone5:" width="20px" /><br> children_crossing <img align="absmiddle" alt=":children_crossing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b8.png" title=":children_crossing:" width="20px" /><br> chipmunk <img align="absmiddle" alt=":chipmunk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43f.png" title=":chipmunk:" width="20px" /><br> chocolate_bar <img align="absmiddle" alt=":chocolate_bar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36b.png" title=":chocolate_bar:" width="20px" /><br> chopsticks <img align="absmiddle" alt=":chopsticks:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f962.png" title=":chopsticks:" width="20px" /><br> christmas_tree <img align="absmiddle" alt=":christmas_tree:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f384.png" title=":christmas_tree:" width="20px" /><br> church <img align="absmiddle" alt=":church:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26ea.png" title=":church:" width="20px" /><br> cinema <img align="absmiddle" alt=":cinema:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a6.png" title=":cinema:" width="20px" /><br> circus_tent <img align="absmiddle" alt=":circus_tent:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3aa.png" title=":circus_tent:" width="20px" /><br> city_dusk <img align="absmiddle" alt=":city_dusk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f306.png" title=":city_dusk:" width="20px" /><br> city_sunset <img align="absmiddle" alt=":city_sunset:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f307.png" title=":city_sunset:" width="20px" /><br> cityscape <img align="absmiddle" alt=":cityscape:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d9.png" title=":cityscape:" width="20px" /><br> cl <img align="absmiddle" alt=":cl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f191.png" title=":cl:" width="20px" /><br> clap <img align="absmiddle" alt=":clap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f.png" title=":clap:" width="20px" /><br> clap_tone1 <img align="absmiddle" alt=":clap_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f-1f3fb.png" title=":clap_tone1:" width="20px" /><br> clap_tone2 <img align="absmiddle" alt=":clap_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f-1f3fc.png" title=":clap_tone2:" width="20px" /><br> clap_tone3 <img align="absmiddle" alt=":clap_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f-1f3fd.png" title=":clap_tone3:" width="20px" /><br> clap_tone4 <img align="absmiddle" alt=":clap_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f-1f3fe.png" title=":clap_tone4:" width="20px" /><br> clap_tone5 <img align="absmiddle" alt=":clap_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44f-1f3ff.png" title=":clap_tone5:" width="20px" /><br> clapper <img align="absmiddle" alt=":clapper:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ac.png" title=":clapper:" width="20px" /><br> classical_building <img align="absmiddle" alt=":classical_building:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3db.png" title=":classical_building:" width="20px" /><br> clipboard <img align="absmiddle" alt=":clipboard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4cb.png" title=":clipboard:" width="20px" /><br> clock1030 <img align="absmiddle" alt=":clock1030:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f565.png" title=":clock1030:" width="20px" /><br> clock10 <img align="absmiddle" alt=":clock10:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f559.png" title=":clock10:" width="20px" /><br> clock1130 <img align="absmiddle" alt=":clock1130:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f566.png" title=":clock1130:" width="20px" /><br> clock11 <img align="absmiddle" alt=":clock11:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55a.png" title=":clock11:" width="20px" /><br> clock1230 <img align="absmiddle" alt=":clock1230:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f567.png" title=":clock1230:" width="20px" /><br> clock12 <img align="absmiddle" alt=":clock12:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55b.png" title=":clock12:" width="20px" /><br> clock130 <img align="absmiddle" alt=":clock130:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55c.png" title=":clock130:" width="20px" /><br> clock1 <img align="absmiddle" alt=":clock1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f550.png" title=":clock1:" width="20px" /><br> clock230 <img align="absmiddle" alt=":clock230:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55d.png" title=":clock230:" width="20px" /><br> clock2 <img align="absmiddle" alt=":clock2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f551.png" title=":clock2:" width="20px" /><br> clock330 <img align="absmiddle" alt=":clock330:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55e.png" title=":clock330:" width="20px" /><br> clock3 <img align="absmiddle" alt=":clock3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f552.png" title=":clock3:" width="20px" /><br> clock430 <img align="absmiddle" alt=":clock430:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f55f.png" title=":clock430:" width="20px" /><br> clock4 <img align="absmiddle" alt=":clock4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f553.png" title=":clock4:" width="20px" /><br> clock530 <img align="absmiddle" alt=":clock530:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f560.png" title=":clock530:" width="20px" /><br> clock5 <img align="absmiddle" alt=":clock5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f554.png" title=":clock5:" width="20px" /><br> clock630 <img align="absmiddle" alt=":clock630:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f561.png" title=":clock630:" width="20px" /><br> clock6 <img align="absmiddle" alt=":clock6:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f555.png" title=":clock6:" width="20px" /><br> clock730 <img align="absmiddle" alt=":clock730:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f562.png" title=":clock730:" width="20px" /><br> clock7 <img align="absmiddle" alt=":clock7:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f556.png" title=":clock7:" width="20px" /><br> clock830 <img align="absmiddle" alt=":clock830:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f563.png" title=":clock830:" width="20px" /><br> clock8 <img align="absmiddle" alt=":clock8:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f557.png" title=":clock8:" width="20px" /><br> clock930 <img align="absmiddle" alt=":clock930:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f564.png" title=":clock930:" width="20px" /><br> clock9 <img align="absmiddle" alt=":clock9:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f558.png" title=":clock9:" width="20px" /><br> clock <img align="absmiddle" alt=":clock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f570.png" title=":clock:" width="20px" /><br> closed_book <img align="absmiddle" alt=":closed_book:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d5.png" title=":closed_book:" width="20px" /><br> closed_lock_with_key <img align="absmiddle" alt=":closed_lock_with_key:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f510.png" title=":closed_lock_with_key:" width="20px" /><br> closed_umbrella <img align="absmiddle" alt=":closed_umbrella:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f302.png" title=":closed_umbrella:" width="20px" /><br> cloud <img align="absmiddle" alt=":cloud:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2601.png" title=":cloud:" width="20px" /><br> cloud_lightning <img align="absmiddle" alt=":cloud_lightning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f329.png" title=":cloud_lightning:" width="20px" /><br> cloud_rain <img align="absmiddle" alt=":cloud_rain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f327.png" title=":cloud_rain:" width="20px" /><br> cloud_snow <img align="absmiddle" alt=":cloud_snow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f328.png" title=":cloud_snow:" width="20px" /><br> cloud_tornado <img align="absmiddle" alt=":cloud_tornado:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32a.png" title=":cloud_tornado:" width="20px" /><br> clown <img align="absmiddle" alt=":clown:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f921.png" title=":clown:" width="20px" /><br> clubs <img align="absmiddle" alt=":clubs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2663.png" title=":clubs:" width="20px" /><br> coat <img align="absmiddle" alt=":coat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e5.png" title=":coat:" width="20px" /><br> cockroach <img align="absmiddle" alt=":cockroach:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab3.png" title=":cockroach:" width="20px" /><br> cocktail <img align="absmiddle" alt=":cocktail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f378.png" title=":cocktail:" width="20px" /><br> coconut <img align="absmiddle" alt=":coconut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f965.png" title=":coconut:" width="20px" /><br> coffee <img align="absmiddle" alt=":coffee:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2615.png" title=":coffee:" width="20px" /><br> coffin <img align="absmiddle" alt=":coffin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26b0.png" title=":coffin:" width="20px" /><br> coin <img align="absmiddle" alt=":coin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa99.png" title=":coin:" width="20px" /><br> cold_face <img align="absmiddle" alt=":cold_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f976.png" title=":cold_face:" width="20px" /><br> cold_sweat <img align="absmiddle" alt=":cold_sweat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f630.png" title=":cold_sweat:" width="20px" /><br> comet <img align="absmiddle" alt=":comet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2604.png" title=":comet:" width="20px" /><br> compass <img align="absmiddle" alt=":compass:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ed.png" title=":compass:" width="20px" /><br> compression <img align="absmiddle" alt=":compression:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5dc.png" title=":compression:" width="20px" /><br> computer <img align="absmiddle" alt=":computer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4bb.png" title=":computer:" width="20px" /><br> confetti_ball <img align="absmiddle" alt=":confetti_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38a.png" title=":confetti_ball:" width="20px" /><br> confounded <img align="absmiddle" alt=":confounded:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f616.png" title=":confounded:" width="20px" /><br> confused <img align="absmiddle" alt=":confused:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f615.png" title=":confused:" width="20px" /><br> congratulations <img align="absmiddle" alt=":congratulations:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/3297.png" title=":congratulations:" width="20px" /><br> construction <img align="absmiddle" alt=":construction:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a7.png" title=":construction:" width="20px" /><br> construction_site <img align="absmiddle" alt=":construction_site:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d7.png" title=":construction_site:" width="20px" /><br> construction_worker <img align="absmiddle" alt=":construction_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477.png" title=":construction_worker:" width="20px" /><br> construction_worker_tone1 <img align="absmiddle" alt=":construction_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fb.png" title=":construction_worker_tone1:" width="20px" /><br> construction_worker_tone2 <img align="absmiddle" alt=":construction_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fc.png" title=":construction_worker_tone2:" width="20px" /><br> construction_worker_tone3 <img align="absmiddle" alt=":construction_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fd.png" title=":construction_worker_tone3:" width="20px" /><br> construction_worker_tone4 <img align="absmiddle" alt=":construction_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fe.png" title=":construction_worker_tone4:" width="20px" /><br> construction_worker_tone5 <img align="absmiddle" alt=":construction_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3ff.png" title=":construction_worker_tone5:" width="20px" /><br> control_knobs <img align="absmiddle" alt=":control_knobs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f39b.png" title=":control_knobs:" width="20px" /><br> convenience_store <img align="absmiddle" alt=":convenience_store:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ea.png" title=":convenience_store:" width="20px" /><br> cook <img align="absmiddle" alt=":cook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f373.png" title=":cook:" width="20px" /><br> cook_tone1 <img align="absmiddle" alt=":cook_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f373.png" title=":cook_tone1:" width="20px" /><br> cook_tone2 <img align="absmiddle" alt=":cook_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f373.png" title=":cook_tone2:" width="20px" /><br> cook_tone3 <img align="absmiddle" alt=":cook_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f373.png" title=":cook_tone3:" width="20px" /><br> cook_tone4 <img align="absmiddle" alt=":cook_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f373.png" title=":cook_tone4:" width="20px" /><br> cook_tone5 <img align="absmiddle" alt=":cook_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f373.png" title=":cook_tone5:" width="20px" /><br> cookie <img align="absmiddle" alt=":cookie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36a.png" title=":cookie:" width="20px" /><br> cooking <img align="absmiddle" alt=":cooking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f373.png" title=":cooking:" width="20px" /><br> cool <img align="absmiddle" alt=":cool:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f192.png" title=":cool:" width="20px" /><br> copyright <img align="absmiddle" alt=":copyright:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/a9.png" title=":copyright:" width="20px" /><br> coral <img align="absmiddle" alt=":coral:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab8.png" title=":coral:" width="20px" /><br> corn <img align="absmiddle" alt=":corn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33d.png" title=":corn:" width="20px" /><br> couch <img align="absmiddle" alt=":couch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cb.png" title=":couch:" width="20px" /><br> couple <img align="absmiddle" alt=":couple:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b.png" title=":couple:" width="20px" /><br> couple_mm <img align="absmiddle" alt=":couple_mm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-2764-fe0f-200d-1f468.png" title=":couple_mm:" width="20px" /><br> couple_with_heart <img align="absmiddle" alt=":couple_with_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491.png" title=":couple_with_heart:" width="20px" /><br> couple_with_heart_man_man_tone1 <img align="absmiddle" alt=":couple_with_heart_man_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_man_man_tone1:" width="20px" /><br> couple_with_heart_man_man_tone1_tone2 <img align="absmiddle" alt=":couple_with_heart_man_man_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_man_man_tone1_tone2:" width="20px" /><br> couple_with_heart_man_man_tone1_tone3 <img align="absmiddle" alt=":couple_with_heart_man_man_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_man_man_tone1_tone3:" width="20px" /><br> couple_with_heart_man_man_tone1_tone4 <img align="absmiddle" alt=":couple_with_heart_man_man_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_man_man_tone1_tone4:" width="20px" /><br> couple_with_heart_man_man_tone1_tone5 <img align="absmiddle" alt=":couple_with_heart_man_man_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_man_man_tone1_tone5:" width="20px" /><br> couple_with_heart_man_man_tone2 <img align="absmiddle" alt=":couple_with_heart_man_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_man_man_tone2:" width="20px" /><br> couple_with_heart_man_man_tone2_tone1 <img align="absmiddle" alt=":couple_with_heart_man_man_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_man_man_tone2_tone1:" width="20px" /><br> couple_with_heart_man_man_tone2_tone3 <img align="absmiddle" alt=":couple_with_heart_man_man_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_man_man_tone2_tone3:" width="20px" /><br> couple_with_heart_man_man_tone2_tone4 <img align="absmiddle" alt=":couple_with_heart_man_man_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_man_man_tone2_tone4:" width="20px" /><br> couple_with_heart_man_man_tone2_tone5 <img align="absmiddle" alt=":couple_with_heart_man_man_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_man_man_tone2_tone5:" width="20px" /><br> couple_with_heart_man_man_tone3 <img align="absmiddle" alt=":couple_with_heart_man_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_man_man_tone3:" width="20px" /><br> couple_with_heart_man_man_tone3_tone1 <img align="absmiddle" alt=":couple_with_heart_man_man_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_man_man_tone3_tone1:" width="20px" /><br> couple_with_heart_man_man_tone3_tone2 <img align="absmiddle" alt=":couple_with_heart_man_man_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_man_man_tone3_tone2:" width="20px" /><br> couple_with_heart_man_man_tone3_tone4 <img align="absmiddle" alt=":couple_with_heart_man_man_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_man_man_tone3_tone4:" width="20px" /><br> couple_with_heart_man_man_tone3_tone5 <img align="absmiddle" alt=":couple_with_heart_man_man_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_man_man_tone3_tone5:" width="20px" /><br> couple_with_heart_man_man_tone4 <img align="absmiddle" alt=":couple_with_heart_man_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_man_man_tone4:" width="20px" /><br> couple_with_heart_man_man_tone4_tone1 <img align="absmiddle" alt=":couple_with_heart_man_man_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_man_man_tone4_tone1:" width="20px" /><br> couple_with_heart_man_man_tone4_tone2 <img align="absmiddle" alt=":couple_with_heart_man_man_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_man_man_tone4_tone2:" width="20px" /><br> couple_with_heart_man_man_tone4_tone3 <img align="absmiddle" alt=":couple_with_heart_man_man_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_man_man_tone4_tone3:" width="20px" /><br> couple_with_heart_man_man_tone4_tone5 <img align="absmiddle" alt=":couple_with_heart_man_man_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_man_man_tone4_tone5:" width="20px" /><br> couple_with_heart_man_man_tone5 <img align="absmiddle" alt=":couple_with_heart_man_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_man_man_tone5:" width="20px" /><br> couple_with_heart_man_man_tone5_tone1 <img align="absmiddle" alt=":couple_with_heart_man_man_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_man_man_tone5_tone1:" width="20px" /><br> couple_with_heart_man_man_tone5_tone2 <img align="absmiddle" alt=":couple_with_heart_man_man_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_man_man_tone5_tone2:" width="20px" /><br> couple_with_heart_man_man_tone5_tone3 <img align="absmiddle" alt=":couple_with_heart_man_man_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_man_man_tone5_tone3:" width="20px" /><br> couple_with_heart_man_man_tone5_tone4 <img align="absmiddle" alt=":couple_with_heart_man_man_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_man_man_tone5_tone4:" width="20px" /><br> couple_with_heart_person_person_tone1_tone2 <img align="absmiddle" alt=":couple_with_heart_person_person_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.png" title=":couple_with_heart_person_person_tone1_tone2:" width="20px" /><br> couple_with_heart_person_person_tone1_tone3 <img align="absmiddle" alt=":couple_with_heart_person_person_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.png" title=":couple_with_heart_person_person_tone1_tone3:" width="20px" /><br> couple_with_heart_person_person_tone1_tone4 <img align="absmiddle" alt=":couple_with_heart_person_person_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.png" title=":couple_with_heart_person_person_tone1_tone4:" width="20px" /><br> couple_with_heart_person_person_tone1_tone5 <img align="absmiddle" alt=":couple_with_heart_person_person_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.png" title=":couple_with_heart_person_person_tone1_tone5:" width="20px" /><br> couple_with_heart_person_person_tone2_tone1 <img align="absmiddle" alt=":couple_with_heart_person_person_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.png" title=":couple_with_heart_person_person_tone2_tone1:" width="20px" /><br> couple_with_heart_person_person_tone2_tone3 <img align="absmiddle" alt=":couple_with_heart_person_person_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.png" title=":couple_with_heart_person_person_tone2_tone3:" width="20px" /><br> couple_with_heart_person_person_tone2_tone4 <img align="absmiddle" alt=":couple_with_heart_person_person_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.png" title=":couple_with_heart_person_person_tone2_tone4:" width="20px" /><br> couple_with_heart_person_person_tone2_tone5 <img align="absmiddle" alt=":couple_with_heart_person_person_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.png" title=":couple_with_heart_person_person_tone2_tone5:" width="20px" /><br> couple_with_heart_person_person_tone3_tone1 <img align="absmiddle" alt=":couple_with_heart_person_person_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.png" title=":couple_with_heart_person_person_tone3_tone1:" width="20px" /><br> couple_with_heart_person_person_tone3_tone2 <img align="absmiddle" alt=":couple_with_heart_person_person_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.png" title=":couple_with_heart_person_person_tone3_tone2:" width="20px" /><br> couple_with_heart_person_person_tone3_tone4 <img align="absmiddle" alt=":couple_with_heart_person_person_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.png" title=":couple_with_heart_person_person_tone3_tone4:" width="20px" /><br> couple_with_heart_person_person_tone3_tone5 <img align="absmiddle" alt=":couple_with_heart_person_person_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.png" title=":couple_with_heart_person_person_tone3_tone5:" width="20px" /><br> couple_with_heart_person_person_tone4_tone1 <img align="absmiddle" alt=":couple_with_heart_person_person_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.png" title=":couple_with_heart_person_person_tone4_tone1:" width="20px" /><br> couple_with_heart_person_person_tone4_tone2 <img align="absmiddle" alt=":couple_with_heart_person_person_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.png" title=":couple_with_heart_person_person_tone4_tone2:" width="20px" /><br> couple_with_heart_person_person_tone4_tone3 <img align="absmiddle" alt=":couple_with_heart_person_person_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.png" title=":couple_with_heart_person_person_tone4_tone3:" width="20px" /><br> couple_with_heart_person_person_tone4_tone5 <img align="absmiddle" alt=":couple_with_heart_person_person_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.png" title=":couple_with_heart_person_person_tone4_tone5:" width="20px" /><br> couple_with_heart_person_person_tone5_tone1 <img align="absmiddle" alt=":couple_with_heart_person_person_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.png" title=":couple_with_heart_person_person_tone5_tone1:" width="20px" /><br> couple_with_heart_person_person_tone5_tone2 <img align="absmiddle" alt=":couple_with_heart_person_person_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.png" title=":couple_with_heart_person_person_tone5_tone2:" width="20px" /><br> couple_with_heart_person_person_tone5_tone3 <img align="absmiddle" alt=":couple_with_heart_person_person_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.png" title=":couple_with_heart_person_person_tone5_tone3:" width="20px" /><br> couple_with_heart_person_person_tone5_tone4 <img align="absmiddle" alt=":couple_with_heart_person_person_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.png" title=":couple_with_heart_person_person_tone5_tone4:" width="20px" /><br> couple_with_heart_tone1 <img align="absmiddle" alt=":couple_with_heart_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491-1f3fb.png" title=":couple_with_heart_tone1:" width="20px" /><br> couple_with_heart_tone2 <img align="absmiddle" alt=":couple_with_heart_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491-1f3fc.png" title=":couple_with_heart_tone2:" width="20px" /><br> couple_with_heart_tone3 <img align="absmiddle" alt=":couple_with_heart_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491-1f3fd.png" title=":couple_with_heart_tone3:" width="20px" /><br> couple_with_heart_tone4 <img align="absmiddle" alt=":couple_with_heart_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491-1f3fe.png" title=":couple_with_heart_tone4:" width="20px" /><br> couple_with_heart_tone5 <img align="absmiddle" alt=":couple_with_heart_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f491-1f3ff.png" title=":couple_with_heart_tone5:" width="20px" /><br> couple_with_heart_woman_man <img align="absmiddle" alt=":couple_with_heart_woman_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2764-fe0f-200d-1f468.png" title=":couple_with_heart_woman_man:" width="20px" /><br> couple_with_heart_woman_man_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_woman_man_tone1:" width="20px" /><br> couple_with_heart_woman_man_tone1_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_woman_man_tone1_tone2:" width="20px" /><br> couple_with_heart_woman_man_tone1_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_woman_man_tone1_tone3:" width="20px" /><br> couple_with_heart_woman_man_tone1_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_woman_man_tone1_tone4:" width="20px" /><br> couple_with_heart_woman_man_tone1_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_woman_man_tone1_tone5:" width="20px" /><br> couple_with_heart_woman_man_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_woman_man_tone2:" width="20px" /><br> couple_with_heart_woman_man_tone2_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_woman_man_tone2_tone1:" width="20px" /><br> couple_with_heart_woman_man_tone2_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_woman_man_tone2_tone3:" width="20px" /><br> couple_with_heart_woman_man_tone2_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_woman_man_tone2_tone4:" width="20px" /><br> couple_with_heart_woman_man_tone2_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_woman_man_tone2_tone5:" width="20px" /><br> couple_with_heart_woman_man_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_woman_man_tone3:" width="20px" /><br> couple_with_heart_woman_man_tone3_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_woman_man_tone3_tone1:" width="20px" /><br> couple_with_heart_woman_man_tone3_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_woman_man_tone3_tone2:" width="20px" /><br> couple_with_heart_woman_man_tone3_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_woman_man_tone3_tone4:" width="20px" /><br> couple_with_heart_woman_man_tone3_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_woman_man_tone3_tone5:" width="20px" /><br> couple_with_heart_woman_man_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_woman_man_tone4:" width="20px" /><br> couple_with_heart_woman_man_tone4_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_woman_man_tone4_tone1:" width="20px" /><br> couple_with_heart_woman_man_tone4_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_woman_man_tone4_tone2:" width="20px" /><br> couple_with_heart_woman_man_tone4_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_woman_man_tone4_tone3:" width="20px" /><br> couple_with_heart_woman_man_tone4_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_woman_man_tone4_tone5:" width="20px" /><br> couple_with_heart_woman_man_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.png" title=":couple_with_heart_woman_man_tone5:" width="20px" /><br> couple_with_heart_woman_man_tone5_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.png" title=":couple_with_heart_woman_man_tone5_tone1:" width="20px" /><br> couple_with_heart_woman_man_tone5_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.png" title=":couple_with_heart_woman_man_tone5_tone2:" width="20px" /><br> couple_with_heart_woman_man_tone5_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.png" title=":couple_with_heart_woman_man_tone5_tone3:" width="20px" /><br> couple_with_heart_woman_man_tone5_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_man_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.png" title=":couple_with_heart_woman_man_tone5_tone4:" width="20px" /><br> couple_with_heart_woman_woman_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.png" title=":couple_with_heart_woman_woman_tone1:" width="20px" /><br> couple_with_heart_woman_woman_tone1_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.png" title=":couple_with_heart_woman_woman_tone1_tone2:" width="20px" /><br> couple_with_heart_woman_woman_tone1_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.png" title=":couple_with_heart_woman_woman_tone1_tone3:" width="20px" /><br> couple_with_heart_woman_woman_tone1_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.png" title=":couple_with_heart_woman_woman_tone1_tone4:" width="20px" /><br> couple_with_heart_woman_woman_tone1_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.png" title=":couple_with_heart_woman_woman_tone1_tone5:" width="20px" /><br> couple_with_heart_woman_woman_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.png" title=":couple_with_heart_woman_woman_tone2:" width="20px" /><br> couple_with_heart_woman_woman_tone2_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.png" title=":couple_with_heart_woman_woman_tone2_tone1:" width="20px" /><br> couple_with_heart_woman_woman_tone2_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.png" title=":couple_with_heart_woman_woman_tone2_tone3:" width="20px" /><br> couple_with_heart_woman_woman_tone2_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.png" title=":couple_with_heart_woman_woman_tone2_tone4:" width="20px" /><br> couple_with_heart_woman_woman_tone2_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.png" title=":couple_with_heart_woman_woman_tone2_tone5:" width="20px" /><br> couple_with_heart_woman_woman_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.png" title=":couple_with_heart_woman_woman_tone3:" width="20px" /><br> couple_with_heart_woman_woman_tone3_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.png" title=":couple_with_heart_woman_woman_tone3_tone1:" width="20px" /><br> couple_with_heart_woman_woman_tone3_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.png" title=":couple_with_heart_woman_woman_tone3_tone2:" width="20px" /><br> couple_with_heart_woman_woman_tone3_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.png" title=":couple_with_heart_woman_woman_tone3_tone4:" width="20px" /><br> couple_with_heart_woman_woman_tone3_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.png" title=":couple_with_heart_woman_woman_tone3_tone5:" width="20px" /><br> couple_with_heart_woman_woman_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.png" title=":couple_with_heart_woman_woman_tone4:" width="20px" /><br> couple_with_heart_woman_woman_tone4_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.png" title=":couple_with_heart_woman_woman_tone4_tone1:" width="20px" /><br> couple_with_heart_woman_woman_tone4_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.png" title=":couple_with_heart_woman_woman_tone4_tone2:" width="20px" /><br> couple_with_heart_woman_woman_tone4_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.png" title=":couple_with_heart_woman_woman_tone4_tone3:" width="20px" /><br> couple_with_heart_woman_woman_tone4_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.png" title=":couple_with_heart_woman_woman_tone4_tone5:" width="20px" /><br> couple_with_heart_woman_woman_tone5 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.png" title=":couple_with_heart_woman_woman_tone5:" width="20px" /><br> couple_with_heart_woman_woman_tone5_tone1 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.png" title=":couple_with_heart_woman_woman_tone5_tone1:" width="20px" /><br> couple_with_heart_woman_woman_tone5_tone2 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.png" title=":couple_with_heart_woman_woman_tone5_tone2:" width="20px" /><br> couple_with_heart_woman_woman_tone5_tone3 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.png" title=":couple_with_heart_woman_woman_tone5_tone3:" width="20px" /><br> couple_with_heart_woman_woman_tone5_tone4 <img align="absmiddle" alt=":couple_with_heart_woman_woman_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.png" title=":couple_with_heart_woman_woman_tone5_tone4:" width="20px" /><br> couple_ww <img align="absmiddle" alt=":couple_ww:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2764-fe0f-200d-1f469.png" title=":couple_ww:" width="20px" /><br> couplekiss <img align="absmiddle" alt=":couplekiss:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f.png" title=":couplekiss:" width="20px" /><br> cow2 <img align="absmiddle" alt=":cow2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f404.png" title=":cow2:" width="20px" /><br> cow <img align="absmiddle" alt=":cow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42e.png" title=":cow:" width="20px" /><br> cowboy <img align="absmiddle" alt=":cowboy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f920.png" title=":cowboy:" width="20px" /><br> crab <img align="absmiddle" alt=":crab:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f980.png" title=":crab:" width="20px" /><br> crayon <img align="absmiddle" alt=":crayon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f58d.png" title=":crayon:" width="20px" /><br> credit_card <img align="absmiddle" alt=":credit_card:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b3.png" title=":credit_card:" width="20px" /><br> crescent_moon <img align="absmiddle" alt=":crescent_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f319.png" title=":crescent_moon:" width="20px" /><br> cricket <img align="absmiddle" alt=":cricket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f997.png" title=":cricket:" width="20px" /><br> cricket_game <img align="absmiddle" alt=":cricket_game:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cf.png" title=":cricket_game:" width="20px" /><br> crocodile <img align="absmiddle" alt=":crocodile:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40a.png" title=":crocodile:" width="20px" /><br> croissant <img align="absmiddle" alt=":croissant:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f950.png" title=":croissant:" width="20px" /><br> cross <img align="absmiddle" alt=":cross:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/271d.png" title=":cross:" width="20px" /><br> crossed_flags <img align="absmiddle" alt=":crossed_flags:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38c.png" title=":crossed_flags:" width="20px" /><br> crossed_swords <img align="absmiddle" alt=":crossed_swords:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2694.png" title=":crossed_swords:" width="20px" /><br> crown <img align="absmiddle" alt=":crown:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f451.png" title=":crown:" width="20px" /><br> cruise_ship <img align="absmiddle" alt=":cruise_ship:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f3.png" title=":cruise_ship:" width="20px" /><br> crutch <img align="absmiddle" alt=":crutch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa7c.png" title=":crutch:" width="20px" /><br> cry <img align="absmiddle" alt=":cry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f622.png" title=":cry:" width="20px" /><br> crying_cat_face <img align="absmiddle" alt=":crying_cat_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63f.png" title=":crying_cat_face:" width="20px" /><br> crystal_ball <img align="absmiddle" alt=":crystal_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52e.png" title=":crystal_ball:" width="20px" /><br> cucumber <img align="absmiddle" alt=":cucumber:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f952.png" title=":cucumber:" width="20px" /><br> cup_with_straw <img align="absmiddle" alt=":cup_with_straw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f964.png" title=":cup_with_straw:" width="20px" /><br> cupcake <img align="absmiddle" alt=":cupcake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c1.png" title=":cupcake:" width="20px" /><br> cupid <img align="absmiddle" alt=":cupid:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f498.png" title=":cupid:" width="20px" /><br> curling_stone <img align="absmiddle" alt=":curling_stone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94c.png" title=":curling_stone:" width="20px" /><br> curly_haired <img align="absmiddle" alt=":curly_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b1.png" title=":curly_haired:" width="20px" /><br> curly_loop <img align="absmiddle" alt=":curly_loop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/27b0.png" title=":curly_loop:" width="20px" /><br> currency_exchange <img align="absmiddle" alt=":currency_exchange:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b1.png" title=":currency_exchange:" width="20px" /><br> curry <img align="absmiddle" alt=":curry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35b.png" title=":curry:" width="20px" /><br> custard <img align="absmiddle" alt=":custard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36e.png" title=":custard:" width="20px" /><br> customs <img align="absmiddle" alt=":customs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c3.png" title=":customs:" width="20px" /><br> cut_of_meat <img align="absmiddle" alt=":cut_of_meat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f969.png" title=":cut_of_meat:" width="20px" /><br> cyclone <img align="absmiddle" alt=":cyclone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f300.png" title=":cyclone:" width="20px" /><br> dagger <img align="absmiddle" alt=":dagger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5e1.png" title=":dagger:" width="20px" /><br> dancer <img align="absmiddle" alt=":dancer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483.png" title=":dancer:" width="20px" /><br> dancer_tone1 <img align="absmiddle" alt=":dancer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483-1f3fb.png" title=":dancer_tone1:" width="20px" /><br> dancer_tone2 <img align="absmiddle" alt=":dancer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483-1f3fc.png" title=":dancer_tone2:" width="20px" /><br> dancer_tone3 <img align="absmiddle" alt=":dancer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483-1f3fd.png" title=":dancer_tone3:" width="20px" /><br> dancer_tone4 <img align="absmiddle" alt=":dancer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483-1f3fe.png" title=":dancer_tone4:" width="20px" /><br> dancer_tone5 <img align="absmiddle" alt=":dancer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f483-1f3ff.png" title=":dancer_tone5:" width="20px" /><br> dango <img align="absmiddle" alt=":dango:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f361.png" title=":dango:" width="20px" /><br> dark_sunglasses <img align="absmiddle" alt=":dark_sunglasses:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f576.png" title=":dark_sunglasses:" width="20px" /><br> dart <img align="absmiddle" alt=":dart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3af.png" title=":dart:" width="20px" /><br> dash <img align="absmiddle" alt=":dash:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a8.png" title=":dash:" width="20px" /><br> date <img align="absmiddle" alt=":date:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c5.png" title=":date:" width="20px" /><br> deaf_man <img align="absmiddle" alt=":deaf_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-200d-2642-fe0f.png" title=":deaf_man:" width="20px" /><br> deaf_man_tone1 <img align="absmiddle" alt=":deaf_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fb-200d-2642-fe0f.png" title=":deaf_man_tone1:" width="20px" /><br> deaf_man_tone2 <img align="absmiddle" alt=":deaf_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fc-200d-2642-fe0f.png" title=":deaf_man_tone2:" width="20px" /><br> deaf_man_tone3 <img align="absmiddle" alt=":deaf_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fd-200d-2642-fe0f.png" title=":deaf_man_tone3:" width="20px" /><br> deaf_man_tone4 <img align="absmiddle" alt=":deaf_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fe-200d-2642-fe0f.png" title=":deaf_man_tone4:" width="20px" /><br> deaf_man_tone5 <img align="absmiddle" alt=":deaf_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3ff-200d-2642-fe0f.png" title=":deaf_man_tone5:" width="20px" /><br> deaf_person <img align="absmiddle" alt=":deaf_person:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf.png" title=":deaf_person:" width="20px" /><br> deaf_person_tone1 <img align="absmiddle" alt=":deaf_person_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fb.png" title=":deaf_person_tone1:" width="20px" /><br> deaf_person_tone2 <img align="absmiddle" alt=":deaf_person_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fc.png" title=":deaf_person_tone2:" width="20px" /><br> deaf_person_tone3 <img align="absmiddle" alt=":deaf_person_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fd.png" title=":deaf_person_tone3:" width="20px" /><br> deaf_person_tone4 <img align="absmiddle" alt=":deaf_person_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fe.png" title=":deaf_person_tone4:" width="20px" /><br> deaf_person_tone5 <img align="absmiddle" alt=":deaf_person_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3ff.png" title=":deaf_person_tone5:" width="20px" /><br> deaf_woman <img align="absmiddle" alt=":deaf_woman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-200d-2640-fe0f.png" title=":deaf_woman:" width="20px" /><br> deaf_woman_tone1 <img align="absmiddle" alt=":deaf_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fb-200d-2640-fe0f.png" title=":deaf_woman_tone1:" width="20px" /><br> deaf_woman_tone2 <img align="absmiddle" alt=":deaf_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fc-200d-2640-fe0f.png" title=":deaf_woman_tone2:" width="20px" /><br> deaf_woman_tone3 <img align="absmiddle" alt=":deaf_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fd-200d-2640-fe0f.png" title=":deaf_woman_tone3:" width="20px" /><br> deaf_woman_tone4 <img align="absmiddle" alt=":deaf_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3fe-200d-2640-fe0f.png" title=":deaf_woman_tone4:" width="20px" /><br> deaf_woman_tone5 <img align="absmiddle" alt=":deaf_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cf-1f3ff-200d-2640-fe0f.png" title=":deaf_woman_tone5:" width="20px" /><br> deciduous_tree <img align="absmiddle" alt=":deciduous_tree:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f333.png" title=":deciduous_tree:" width="20px" /><br> deer <img align="absmiddle" alt=":deer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98c.png" title=":deer:" width="20px" /><br> department_store <img align="absmiddle" alt=":department_store:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ec.png" title=":department_store:" width="20px" /><br> desert <img align="absmiddle" alt=":desert:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3dc.png" title=":desert:" width="20px" /><br> desktop <img align="absmiddle" alt=":desktop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5a5.png" title=":desktop:" width="20px" /><br> detective <img align="absmiddle" alt=":detective:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575.png" title=":detective:" width="20px" /><br> detective_tone1 <img align="absmiddle" alt=":detective_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fb.png" title=":detective_tone1:" width="20px" /><br> detective_tone2 <img align="absmiddle" alt=":detective_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fc.png" title=":detective_tone2:" width="20px" /><br> detective_tone3 <img align="absmiddle" alt=":detective_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fd.png" title=":detective_tone3:" width="20px" /><br> detective_tone4 <img align="absmiddle" alt=":detective_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fe.png" title=":detective_tone4:" width="20px" /><br> detective_tone5 <img align="absmiddle" alt=":detective_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3ff.png" title=":detective_tone5:" width="20px" /><br> diamond_shape_with_a_dot_inside <img align="absmiddle" alt=":diamond_shape_with_a_dot_inside:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a0.png" title=":diamond_shape_with_a_dot_inside:" width="20px" /><br> diamonds <img align="absmiddle" alt=":diamonds:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2666.png" title=":diamonds:" width="20px" /><br> disappointed <img align="absmiddle" alt=":disappointed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61e.png" title=":disappointed:" width="20px" /><br> disappointed_relieved <img align="absmiddle" alt=":disappointed_relieved:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f625.png" title=":disappointed_relieved:" width="20px" /><br> disguised_face <img align="absmiddle" alt=":disguised_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f978.png" title=":disguised_face:" width="20px" /><br> dividers <img align="absmiddle" alt=":dividers:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5c2.png" title=":dividers:" width="20px" /><br> diving_mask <img align="absmiddle" alt=":diving_mask:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93f.png" title=":diving_mask:" width="20px" /><br> diya_lamp <img align="absmiddle" alt=":diya_lamp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa94.png" title=":diya_lamp:" width="20px" /><br> dizzy <img align="absmiddle" alt=":dizzy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ab.png" title=":dizzy:" width="20px" /><br> dizzy_face <img align="absmiddle" alt=":dizzy_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f635.png" title=":dizzy_face:" width="20px" /><br> dna <img align="absmiddle" alt=":dna:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ec.png" title=":dna:" width="20px" /><br> do_not_litter <img align="absmiddle" alt=":do_not_litter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6af.png" title=":do_not_litter:" width="20px" /><br> dodo <img align="absmiddle" alt=":dodo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a4.png" title=":dodo:" width="20px" /><br> dog2 <img align="absmiddle" alt=":dog2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f415.png" title=":dog2:" width="20px" /><br> dog <img align="absmiddle" alt=":dog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f436.png" title=":dog:" width="20px" /><br> dollar <img align="absmiddle" alt=":dollar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b5.png" title=":dollar:" width="20px" /><br> dolls <img align="absmiddle" alt=":dolls:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38e.png" title=":dolls:" width="20px" /><br> dolphin <img align="absmiddle" alt=":dolphin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42c.png" title=":dolphin:" width="20px" /><br> donkey <img align="absmiddle" alt=":donkey:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1facf.png" title=":donkey:" width="20px" /><br> door <img align="absmiddle" alt=":door:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6aa.png" title=":door:" width="20px" /><br> dotted_line_face <img align="absmiddle" alt=":dotted_line_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae5.png" title=":dotted_line_face:" width="20px" /><br> doughnut <img align="absmiddle" alt=":doughnut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f369.png" title=":doughnut:" width="20px" /><br> dove <img align="absmiddle" alt=":dove:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f54a.png" title=":dove:" width="20px" /><br> dragon <img align="absmiddle" alt=":dragon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f409.png" title=":dragon:" width="20px" /><br> dragon_face <img align="absmiddle" alt=":dragon_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f432.png" title=":dragon_face:" width="20px" /><br> dress <img align="absmiddle" alt=":dress:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f457.png" title=":dress:" width="20px" /><br> dromedary_camel <img align="absmiddle" alt=":dromedary_camel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42a.png" title=":dromedary_camel:" width="20px" /><br> drooling_face <img align="absmiddle" alt=":drooling_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f924.png" title=":drooling_face:" width="20px" /><br> drop_of_blood <img align="absmiddle" alt=":drop_of_blood:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa78.png" title=":drop_of_blood:" width="20px" /><br> droplet <img align="absmiddle" alt=":droplet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a7.png" title=":droplet:" width="20px" /><br> drum <img align="absmiddle" alt=":drum:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f941.png" title=":drum:" width="20px" /><br> duck <img align="absmiddle" alt=":duck:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f986.png" title=":duck:" width="20px" /><br> dumpling <img align="absmiddle" alt=":dumpling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95f.png" title=":dumpling:" width="20px" /><br> dvd <img align="absmiddle" alt=":dvd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c0.png" title=":dvd:" width="20px" /><br> e-mail <img align="absmiddle" alt=":e-mail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e7.png" title=":e-mail:" width="20px" /><br> eagle <img align="absmiddle" alt=":eagle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f985.png" title=":eagle:" width="20px" /><br> ear <img align="absmiddle" alt=":ear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442.png" title=":ear:" width="20px" /><br> ear_of_rice <img align="absmiddle" alt=":ear_of_rice:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33e.png" title=":ear_of_rice:" width="20px" /><br> ear_tone1 <img align="absmiddle" alt=":ear_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442-1f3fb.png" title=":ear_tone1:" width="20px" /><br> ear_tone2 <img align="absmiddle" alt=":ear_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442-1f3fc.png" title=":ear_tone2:" width="20px" /><br> ear_tone3 <img align="absmiddle" alt=":ear_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442-1f3fd.png" title=":ear_tone3:" width="20px" /><br> ear_tone4 <img align="absmiddle" alt=":ear_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442-1f3fe.png" title=":ear_tone4:" width="20px" /><br> ear_tone5 <img align="absmiddle" alt=":ear_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f442-1f3ff.png" title=":ear_tone5:" width="20px" /><br> ear_with_hearing_aid <img align="absmiddle" alt=":ear_with_hearing_aid:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb.png" title=":ear_with_hearing_aid:" width="20px" /><br> ear_with_hearing_aid_tone1 <img align="absmiddle" alt=":ear_with_hearing_aid_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb-1f3fb.png" title=":ear_with_hearing_aid_tone1:" width="20px" /><br> ear_with_hearing_aid_tone2 <img align="absmiddle" alt=":ear_with_hearing_aid_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb-1f3fc.png" title=":ear_with_hearing_aid_tone2:" width="20px" /><br> ear_with_hearing_aid_tone3 <img align="absmiddle" alt=":ear_with_hearing_aid_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb-1f3fd.png" title=":ear_with_hearing_aid_tone3:" width="20px" /><br> ear_with_hearing_aid_tone4 <img align="absmiddle" alt=":ear_with_hearing_aid_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb-1f3fe.png" title=":ear_with_hearing_aid_tone4:" width="20px" /><br> ear_with_hearing_aid_tone5 <img align="absmiddle" alt=":ear_with_hearing_aid_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bb-1f3ff.png" title=":ear_with_hearing_aid_tone5:" width="20px" /><br> earth_africa <img align="absmiddle" alt=":earth_africa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30d.png" title=":earth_africa:" width="20px" /><br> earth_americas <img align="absmiddle" alt=":earth_americas:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30e.png" title=":earth_americas:" width="20px" /><br> earth_asia <img align="absmiddle" alt=":earth_asia:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30f.png" title=":earth_asia:" width="20px" /><br> egg <img align="absmiddle" alt=":egg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95a.png" title=":egg:" width="20px" /><br> eggplant <img align="absmiddle" alt=":eggplant:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f346.png" title=":eggplant:" width="20px" /><br> eight <img align="absmiddle" alt=":eight:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/38-20e3.png" title=":eight:" width="20px" /><br> eight_pointed_black_star <img align="absmiddle" alt=":eight_pointed_black_star:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2734.png" title=":eight_pointed_black_star:" width="20px" /><br> eight_spoked_asterisk <img align="absmiddle" alt=":eight_spoked_asterisk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2733.png" title=":eight_spoked_asterisk:" width="20px" /><br> eject <img align="absmiddle" alt=":eject:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23cf.png" title=":eject:" width="20px" /><br> electric_plug <img align="absmiddle" alt=":electric_plug:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50c.png" title=":electric_plug:" width="20px" /><br> elephant <img align="absmiddle" alt=":elephant:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f418.png" title=":elephant:" width="20px" /><br> elevator <img align="absmiddle" alt=":elevator:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d7.png" title=":elevator:" width="20px" /><br> elf <img align="absmiddle" alt=":elf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd.png" title=":elf:" width="20px" /><br> elf_tone1 <img align="absmiddle" alt=":elf_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fb.png" title=":elf_tone1:" width="20px" /><br> elf_tone2 <img align="absmiddle" alt=":elf_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fc.png" title=":elf_tone2:" width="20px" /><br> elf_tone3 <img align="absmiddle" alt=":elf_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fd.png" title=":elf_tone3:" width="20px" /><br> elf_tone4 <img align="absmiddle" alt=":elf_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fe.png" title=":elf_tone4:" width="20px" /><br> elf_tone5 <img align="absmiddle" alt=":elf_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3ff.png" title=":elf_tone5:" width="20px" /><br> empty_nest <img align="absmiddle" alt=":empty_nest:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab9.png" title=":empty_nest:" width="20px" /><br> end <img align="absmiddle" alt=":end:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51a.png" title=":end:" width="20px" /><br> england <img align="absmiddle" alt=":england:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png" title=":england:" width="20px" /><br> envelope <img align="absmiddle" alt=":envelope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2709.png" title=":envelope:" width="20px" /><br> envelope_with_arrow <img align="absmiddle" alt=":envelope_with_arrow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e9.png" title=":envelope_with_arrow:" width="20px" /><br> euro <img align="absmiddle" alt=":euro:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b6.png" title=":euro:" width="20px" /><br> european_castle <img align="absmiddle" alt=":european_castle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f0.png" title=":european_castle:" width="20px" /><br> european_post_office <img align="absmiddle" alt=":european_post_office:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e4.png" title=":european_post_office:" width="20px" /><br> evergreen_tree <img align="absmiddle" alt=":evergreen_tree:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f332.png" title=":evergreen_tree:" width="20px" /><br> exclamation <img align="absmiddle" alt=":exclamation:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2757.png" title=":exclamation:" width="20px" /><br> exploding_head <img align="absmiddle" alt=":exploding_head:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92f.png" title=":exploding_head:" width="20px" /><br> expressionless <img align="absmiddle" alt=":expressionless:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f611.png" title=":expressionless:" width="20px" /><br> eye <img align="absmiddle" alt=":eye:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f441.png" title=":eye:" width="20px" /><br> eye_in_speech_bubble <img align="absmiddle" alt=":eye_in_speech_bubble:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f441-200d-1f5e8.png" title=":eye_in_speech_bubble:" width="20px" /><br> eyeglasses <img align="absmiddle" alt=":eyeglasses:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f453.png" title=":eyeglasses:" width="20px" /><br> eyes <img align="absmiddle" alt=":eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f440.png" title=":eyes:" width="20px" /><br> face_exhaling <img align="absmiddle" alt=":face_exhaling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62e-200d-1f4a8.png" title=":face_exhaling:" width="20px" /><br> face_holding_back_tears <img align="absmiddle" alt=":face_holding_back_tears:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f979.png" title=":face_holding_back_tears:" width="20px" /><br> face_in_clouds <img align="absmiddle" alt=":face_in_clouds:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f636-200d-1f32b-fe0f.png" title=":face_in_clouds:" width="20px" /><br> face_vomiting <img align="absmiddle" alt=":face_vomiting:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92e.png" title=":face_vomiting:" width="20px" /><br> face_with_diagonal_mouth <img align="absmiddle" alt=":face_with_diagonal_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae4.png" title=":face_with_diagonal_mouth:" width="20px" /><br> face_with_hand_over_mouth <img align="absmiddle" alt=":face_with_hand_over_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92d.png" title=":face_with_hand_over_mouth:" width="20px" /><br> face_with_monocle <img align="absmiddle" alt=":face_with_monocle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d0.png" title=":face_with_monocle:" width="20px" /><br> face_with_open_eyes_and_hand_over_mouth <img align="absmiddle" alt=":face_with_open_eyes_and_hand_over_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae2.png" title=":face_with_open_eyes_and_hand_over_mouth:" width="20px" /><br> face_with_peeking_eye <img align="absmiddle" alt=":face_with_peeking_eye:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae3.png" title=":face_with_peeking_eye:" width="20px" /><br> face_with_raised_eyebrow <img align="absmiddle" alt=":face_with_raised_eyebrow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f928.png" title=":face_with_raised_eyebrow:" width="20px" /><br> face_with_spiral_eyes <img align="absmiddle" alt=":face_with_spiral_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f635-200d-1f4ab.png" title=":face_with_spiral_eyes:" width="20px" /><br> face_with_symbols_over_mouth <img align="absmiddle" alt=":face_with_symbols_over_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92c.png" title=":face_with_symbols_over_mouth:" width="20px" /><br> factory <img align="absmiddle" alt=":factory:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ed.png" title=":factory:" width="20px" /><br> factory_worker <img align="absmiddle" alt=":factory_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f3ed.png" title=":factory_worker:" width="20px" /><br> factory_worker_tone1 <img align="absmiddle" alt=":factory_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f3ed.png" title=":factory_worker_tone1:" width="20px" /><br> factory_worker_tone2 <img align="absmiddle" alt=":factory_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f3ed.png" title=":factory_worker_tone2:" width="20px" /><br> factory_worker_tone3 <img align="absmiddle" alt=":factory_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f3ed.png" title=":factory_worker_tone3:" width="20px" /><br> factory_worker_tone4 <img align="absmiddle" alt=":factory_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f3ed.png" title=":factory_worker_tone4:" width="20px" /><br> factory_worker_tone5 <img align="absmiddle" alt=":factory_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f3ed.png" title=":factory_worker_tone5:" width="20px" /><br> fairy <img align="absmiddle" alt=":fairy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da.png" title=":fairy:" width="20px" /><br> fairy_tone1 <img align="absmiddle" alt=":fairy_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fb.png" title=":fairy_tone1:" width="20px" /><br> fairy_tone2 <img align="absmiddle" alt=":fairy_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fc.png" title=":fairy_tone2:" width="20px" /><br> fairy_tone3 <img align="absmiddle" alt=":fairy_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fd.png" title=":fairy_tone3:" width="20px" /><br> fairy_tone4 <img align="absmiddle" alt=":fairy_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fe.png" title=":fairy_tone4:" width="20px" /><br> fairy_tone5 <img align="absmiddle" alt=":fairy_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3ff.png" title=":fairy_tone5:" width="20px" /><br> falafel <img align="absmiddle" alt=":falafel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c6.png" title=":falafel:" width="20px" /><br> fallen_leaf <img align="absmiddle" alt=":fallen_leaf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f342.png" title=":fallen_leaf:" width="20px" /><br> family <img align="absmiddle" alt=":family:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46a.png" title=":family:" width="20px" /><br> family_man_boy <img align="absmiddle" alt=":family_man_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f466.png" title=":family_man_boy:" width="20px" /><br> family_man_boy_boy <img align="absmiddle" alt=":family_man_boy_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f466-200d-1f466.png" title=":family_man_boy_boy:" width="20px" /><br> family_man_girl <img align="absmiddle" alt=":family_man_girl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f467.png" title=":family_man_girl:" width="20px" /><br> family_man_girl_boy <img align="absmiddle" alt=":family_man_girl_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f467-200d-1f466.png" title=":family_man_girl_boy:" width="20px" /><br> family_man_girl_girl <img align="absmiddle" alt=":family_man_girl_girl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f467-200d-1f467.png" title=":family_man_girl_girl:" width="20px" /><br> family_man_woman_boy <img align="absmiddle" alt=":family_man_woman_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f469-200d-1f466.png" title=":family_man_woman_boy:" width="20px" /><br> family_mmb <img align="absmiddle" alt=":family_mmb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f468-200d-1f466.png" title=":family_mmb:" width="20px" /><br> family_mmbb <img align="absmiddle" alt=":family_mmbb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f468-200d-1f466-200d-1f466.png" title=":family_mmbb:" width="20px" /><br> family_mmg <img align="absmiddle" alt=":family_mmg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f468-200d-1f467.png" title=":family_mmg:" width="20px" /><br> family_mmgb <img align="absmiddle" alt=":family_mmgb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f468-200d-1f467-200d-1f466.png" title=":family_mmgb:" width="20px" /><br> family_mmgg <img align="absmiddle" alt=":family_mmgg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f468-200d-1f467-200d-1f467.png" title=":family_mmgg:" width="20px" /><br> family_mwbb <img align="absmiddle" alt=":family_mwbb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f469-200d-1f466-200d-1f466.png" title=":family_mwbb:" width="20px" /><br> family_mwg <img align="absmiddle" alt=":family_mwg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f469-200d-1f467.png" title=":family_mwg:" width="20px" /><br> family_mwgb <img align="absmiddle" alt=":family_mwgb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f469-200d-1f467-200d-1f466.png" title=":family_mwgb:" width="20px" /><br> family_mwgg <img align="absmiddle" alt=":family_mwgg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f469-200d-1f467-200d-1f467.png" title=":family_mwgg:" width="20px" /><br> family_woman_boy <img align="absmiddle" alt=":family_woman_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f466.png" title=":family_woman_boy:" width="20px" /><br> family_woman_boy_boy <img align="absmiddle" alt=":family_woman_boy_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f466-200d-1f466.png" title=":family_woman_boy_boy:" width="20px" /><br> family_woman_girl <img align="absmiddle" alt=":family_woman_girl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f467.png" title=":family_woman_girl:" width="20px" /><br> family_woman_girl_boy <img align="absmiddle" alt=":family_woman_girl_boy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f467-200d-1f466.png" title=":family_woman_girl_boy:" width="20px" /><br> family_woman_girl_girl <img align="absmiddle" alt=":family_woman_girl_girl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f467-200d-1f467.png" title=":family_woman_girl_girl:" width="20px" /><br> family_wwb <img align="absmiddle" alt=":family_wwb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f469-200d-1f466.png" title=":family_wwb:" width="20px" /><br> family_wwbb <img align="absmiddle" alt=":family_wwbb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f469-200d-1f466-200d-1f466.png" title=":family_wwbb:" width="20px" /><br> family_wwg <img align="absmiddle" alt=":family_wwg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f469-200d-1f467.png" title=":family_wwg:" width="20px" /><br> family_wwgb <img align="absmiddle" alt=":family_wwgb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f469-200d-1f467-200d-1f466.png" title=":family_wwgb:" width="20px" /><br> family_wwgg <img align="absmiddle" alt=":family_wwgg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f469-200d-1f467-200d-1f467.png" title=":family_wwgg:" width="20px" /><br> farmer <img align="absmiddle" alt=":farmer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f33e.png" title=":farmer:" width="20px" /><br> farmer_tone1 <img align="absmiddle" alt=":farmer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f33e.png" title=":farmer_tone1:" width="20px" /><br> farmer_tone2 <img align="absmiddle" alt=":farmer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f33e.png" title=":farmer_tone2:" width="20px" /><br> farmer_tone3 <img align="absmiddle" alt=":farmer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f33e.png" title=":farmer_tone3:" width="20px" /><br> farmer_tone4 <img align="absmiddle" alt=":farmer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f33e.png" title=":farmer_tone4:" width="20px" /><br> farmer_tone5 <img align="absmiddle" alt=":farmer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f33e.png" title=":farmer_tone5:" width="20px" /><br> fast_forward <img align="absmiddle" alt=":fast_forward:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23e9.png" title=":fast_forward:" width="20px" /><br> fax <img align="absmiddle" alt=":fax:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e0.png" title=":fax:" width="20px" /><br> fearful <img align="absmiddle" alt=":fearful:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f628.png" title=":fearful:" width="20px" /><br> feather <img align="absmiddle" alt=":feather:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab6.png" title=":feather:" width="20px" /><br> feet <img align="absmiddle" alt=":feet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43e.png" title=":feet:" width="20px" /><br> female_sign <img align="absmiddle" alt=":female_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2640.png" title=":female_sign:" width="20px" /><br> ferris_wheel <img align="absmiddle" alt=":ferris_wheel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a1.png" title=":ferris_wheel:" width="20px" /><br> ferry <img align="absmiddle" alt=":ferry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f4.png" title=":ferry:" width="20px" /><br> field_hockey <img align="absmiddle" alt=":field_hockey:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d1.png" title=":field_hockey:" width="20px" /><br> file_cabinet <img align="absmiddle" alt=":file_cabinet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5c4.png" title=":file_cabinet:" width="20px" /><br> file_folder <img align="absmiddle" alt=":file_folder:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c1.png" title=":file_folder:" width="20px" /><br> film_frames <img align="absmiddle" alt=":film_frames:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f39e.png" title=":film_frames:" width="20px" /><br> fingers_crossed <img align="absmiddle" alt=":fingers_crossed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e.png" title=":fingers_crossed:" width="20px" /><br> fingers_crossed_tone1 <img align="absmiddle" alt=":fingers_crossed_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e-1f3fb.png" title=":fingers_crossed_tone1:" width="20px" /><br> fingers_crossed_tone2 <img align="absmiddle" alt=":fingers_crossed_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e-1f3fc.png" title=":fingers_crossed_tone2:" width="20px" /><br> fingers_crossed_tone3 <img align="absmiddle" alt=":fingers_crossed_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e-1f3fd.png" title=":fingers_crossed_tone3:" width="20px" /><br> fingers_crossed_tone4 <img align="absmiddle" alt=":fingers_crossed_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e-1f3fe.png" title=":fingers_crossed_tone4:" width="20px" /><br> fingers_crossed_tone5 <img align="absmiddle" alt=":fingers_crossed_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91e-1f3ff.png" title=":fingers_crossed_tone5:" width="20px" /><br> fire <img align="absmiddle" alt=":fire:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f525.png" title=":fire:" width="20px" /><br> fire_engine <img align="absmiddle" alt=":fire_engine:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f692.png" title=":fire_engine:" width="20px" /><br> fire_extinguisher <img align="absmiddle" alt=":fire_extinguisher:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ef.png" title=":fire_extinguisher:" width="20px" /><br> firecracker <img align="absmiddle" alt=":firecracker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e8.png" title=":firecracker:" width="20px" /><br> firefighter <img align="absmiddle" alt=":firefighter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f692.png" title=":firefighter:" width="20px" /><br> firefighter_tone1 <img align="absmiddle" alt=":firefighter_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f692.png" title=":firefighter_tone1:" width="20px" /><br> firefighter_tone2 <img align="absmiddle" alt=":firefighter_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f692.png" title=":firefighter_tone2:" width="20px" /><br> firefighter_tone3 <img align="absmiddle" alt=":firefighter_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f692.png" title=":firefighter_tone3:" width="20px" /><br> firefighter_tone4 <img align="absmiddle" alt=":firefighter_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f692.png" title=":firefighter_tone4:" width="20px" /><br> firefighter_tone5 <img align="absmiddle" alt=":firefighter_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f692.png" title=":firefighter_tone5:" width="20px" /><br> fireworks <img align="absmiddle" alt=":fireworks:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f386.png" title=":fireworks:" width="20px" /><br> first_place <img align="absmiddle" alt=":first_place:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f947.png" title=":first_place:" width="20px" /><br> first_quarter_moon <img align="absmiddle" alt=":first_quarter_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f313.png" title=":first_quarter_moon:" width="20px" /><br> first_quarter_moon_with_face <img align="absmiddle" alt=":first_quarter_moon_with_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31b.png" title=":first_quarter_moon_with_face:" width="20px" /><br> fish <img align="absmiddle" alt=":fish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41f.png" title=":fish:" width="20px" /><br> fish_cake <img align="absmiddle" alt=":fish_cake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f365.png" title=":fish_cake:" width="20px" /><br> fishing_pole_and_fish <img align="absmiddle" alt=":fishing_pole_and_fish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a3.png" title=":fishing_pole_and_fish:" width="20px" /><br> fist <img align="absmiddle" alt=":fist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a.png" title=":fist:" width="20px" /><br> fist_tone1 <img align="absmiddle" alt=":fist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a-1f3fb.png" title=":fist_tone1:" width="20px" /><br> fist_tone2 <img align="absmiddle" alt=":fist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a-1f3fc.png" title=":fist_tone2:" width="20px" /><br> fist_tone3 <img align="absmiddle" alt=":fist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a-1f3fd.png" title=":fist_tone3:" width="20px" /><br> fist_tone4 <img align="absmiddle" alt=":fist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a-1f3fe.png" title=":fist_tone4:" width="20px" /><br> fist_tone5 <img align="absmiddle" alt=":fist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270a-1f3ff.png" title=":fist_tone5:" width="20px" /><br> five <img align="absmiddle" alt=":five:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/35-20e3.png" title=":five:" width="20px" /><br> flag_ac <img align="absmiddle" alt=":flag_ac:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1e8.png" title=":flag_ac:" width="20px" /><br> flag_ad <img align="absmiddle" alt=":flag_ad:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1e9.png" title=":flag_ad:" width="20px" /><br> flag_ae <img align="absmiddle" alt=":flag_ae:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1ea.png" title=":flag_ae:" width="20px" /><br> flag_af <img align="absmiddle" alt=":flag_af:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1eb.png" title=":flag_af:" width="20px" /><br> flag_ag <img align="absmiddle" alt=":flag_ag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1ec.png" title=":flag_ag:" width="20px" /><br> flag_ai <img align="absmiddle" alt=":flag_ai:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1ee.png" title=":flag_ai:" width="20px" /><br> flag_al <img align="absmiddle" alt=":flag_al:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f1.png" title=":flag_al:" width="20px" /><br> flag_am <img align="absmiddle" alt=":flag_am:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f2.png" title=":flag_am:" width="20px" /><br> flag_ao <img align="absmiddle" alt=":flag_ao:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f4.png" title=":flag_ao:" width="20px" /><br> flag_aq <img align="absmiddle" alt=":flag_aq:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f6.png" title=":flag_aq:" width="20px" /><br> flag_ar <img align="absmiddle" alt=":flag_ar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f7.png" title=":flag_ar:" width="20px" /><br> flag_as <img align="absmiddle" alt=":flag_as:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f8.png" title=":flag_as:" width="20px" /><br> flag_at <img align="absmiddle" alt=":flag_at:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1f9.png" title=":flag_at:" width="20px" /><br> flag_au <img align="absmiddle" alt=":flag_au:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1fa.png" title=":flag_au:" width="20px" /><br> flag_aw <img align="absmiddle" alt=":flag_aw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1fc.png" title=":flag_aw:" width="20px" /><br> flag_ax <img align="absmiddle" alt=":flag_ax:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1fd.png" title=":flag_ax:" width="20px" /><br> flag_az <img align="absmiddle" alt=":flag_az:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6-1f1ff.png" title=":flag_az:" width="20px" /><br> flag_ba <img align="absmiddle" alt=":flag_ba:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1e6.png" title=":flag_ba:" width="20px" /><br> flag_bb <img align="absmiddle" alt=":flag_bb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1e7.png" title=":flag_bb:" width="20px" /><br> flag_bd <img align="absmiddle" alt=":flag_bd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1e9.png" title=":flag_bd:" width="20px" /><br> flag_be <img align="absmiddle" alt=":flag_be:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ea.png" title=":flag_be:" width="20px" /><br> flag_bf <img align="absmiddle" alt=":flag_bf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1eb.png" title=":flag_bf:" width="20px" /><br> flag_bg <img align="absmiddle" alt=":flag_bg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ec.png" title=":flag_bg:" width="20px" /><br> flag_bh <img align="absmiddle" alt=":flag_bh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ed.png" title=":flag_bh:" width="20px" /><br> flag_bi <img align="absmiddle" alt=":flag_bi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ee.png" title=":flag_bi:" width="20px" /><br> flag_bj <img align="absmiddle" alt=":flag_bj:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ef.png" title=":flag_bj:" width="20px" /><br> flag_bl <img align="absmiddle" alt=":flag_bl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f1.png" title=":flag_bl:" width="20px" /><br> flag_black <img align="absmiddle" alt=":flag_black:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f4.png" title=":flag_black:" width="20px" /><br> flag_bm <img align="absmiddle" alt=":flag_bm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f2.png" title=":flag_bm:" width="20px" /><br> flag_bn <img align="absmiddle" alt=":flag_bn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f3.png" title=":flag_bn:" width="20px" /><br> flag_bo <img align="absmiddle" alt=":flag_bo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f4.png" title=":flag_bo:" width="20px" /><br> flag_bq <img align="absmiddle" alt=":flag_bq:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f6.png" title=":flag_bq:" width="20px" /><br> flag_br <img align="absmiddle" alt=":flag_br:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f7.png" title=":flag_br:" width="20px" /><br> flag_bs <img align="absmiddle" alt=":flag_bs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f8.png" title=":flag_bs:" width="20px" /><br> flag_bt <img align="absmiddle" alt=":flag_bt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1f9.png" title=":flag_bt:" width="20px" /><br> flag_bv <img align="absmiddle" alt=":flag_bv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1fb.png" title=":flag_bv:" width="20px" /><br> flag_bw <img align="absmiddle" alt=":flag_bw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1fc.png" title=":flag_bw:" width="20px" /><br> flag_by <img align="absmiddle" alt=":flag_by:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1fe.png" title=":flag_by:" width="20px" /><br> flag_bz <img align="absmiddle" alt=":flag_bz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7-1f1ff.png" title=":flag_bz:" width="20px" /><br> flag_ca <img align="absmiddle" alt=":flag_ca:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1e6.png" title=":flag_ca:" width="20px" /><br> flag_cc <img align="absmiddle" alt=":flag_cc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1e8.png" title=":flag_cc:" width="20px" /><br> flag_cd <img align="absmiddle" alt=":flag_cd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1e9.png" title=":flag_cd:" width="20px" /><br> flag_cf <img align="absmiddle" alt=":flag_cf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1eb.png" title=":flag_cf:" width="20px" /><br> flag_cg <img align="absmiddle" alt=":flag_cg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1ec.png" title=":flag_cg:" width="20px" /><br> flag_ch <img align="absmiddle" alt=":flag_ch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1ed.png" title=":flag_ch:" width="20px" /><br> flag_ci <img align="absmiddle" alt=":flag_ci:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1ee.png" title=":flag_ci:" width="20px" /><br> flag_ck <img align="absmiddle" alt=":flag_ck:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f0.png" title=":flag_ck:" width="20px" /><br> flag_cl <img align="absmiddle" alt=":flag_cl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f1.png" title=":flag_cl:" width="20px" /><br> flag_cm <img align="absmiddle" alt=":flag_cm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f2.png" title=":flag_cm:" width="20px" /><br> flag_cn <img align="absmiddle" alt=":flag_cn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f3.png" title=":flag_cn:" width="20px" /><br> flag_co <img align="absmiddle" alt=":flag_co:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f4.png" title=":flag_co:" width="20px" /><br> flag_cp <img align="absmiddle" alt=":flag_cp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f5.png" title=":flag_cp:" width="20px" /><br> flag_cr <img align="absmiddle" alt=":flag_cr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1f7.png" title=":flag_cr:" width="20px" /><br> flag_cu <img align="absmiddle" alt=":flag_cu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1fa.png" title=":flag_cu:" width="20px" /><br> flag_cv <img align="absmiddle" alt=":flag_cv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1fb.png" title=":flag_cv:" width="20px" /><br> flag_cw <img align="absmiddle" alt=":flag_cw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1fc.png" title=":flag_cw:" width="20px" /><br> flag_cx <img align="absmiddle" alt=":flag_cx:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1fd.png" title=":flag_cx:" width="20px" /><br> flag_cy <img align="absmiddle" alt=":flag_cy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1fe.png" title=":flag_cy:" width="20px" /><br> flag_cz <img align="absmiddle" alt=":flag_cz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8-1f1ff.png" title=":flag_cz:" width="20px" /><br> flag_de <img align="absmiddle" alt=":flag_de:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1ea.png" title=":flag_de:" width="20px" /><br> flag_dg <img align="absmiddle" alt=":flag_dg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1ec.png" title=":flag_dg:" width="20px" /><br> flag_dj <img align="absmiddle" alt=":flag_dj:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1ef.png" title=":flag_dj:" width="20px" /><br> flag_dk <img align="absmiddle" alt=":flag_dk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1f0.png" title=":flag_dk:" width="20px" /><br> flag_dm <img align="absmiddle" alt=":flag_dm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1f2.png" title=":flag_dm:" width="20px" /><br> flag_do <img align="absmiddle" alt=":flag_do:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1f4.png" title=":flag_do:" width="20px" /><br> flag_dz <img align="absmiddle" alt=":flag_dz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9-1f1ff.png" title=":flag_dz:" width="20px" /><br> flag_ea <img align="absmiddle" alt=":flag_ea:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1e6.png" title=":flag_ea:" width="20px" /><br> flag_ec <img align="absmiddle" alt=":flag_ec:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1e8.png" title=":flag_ec:" width="20px" /><br> flag_ee <img align="absmiddle" alt=":flag_ee:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1ea.png" title=":flag_ee:" width="20px" /><br> flag_eg <img align="absmiddle" alt=":flag_eg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1ec.png" title=":flag_eg:" width="20px" /><br> flag_eh <img align="absmiddle" alt=":flag_eh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1ed.png" title=":flag_eh:" width="20px" /><br> flag_er <img align="absmiddle" alt=":flag_er:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1f7.png" title=":flag_er:" width="20px" /><br> flag_es <img align="absmiddle" alt=":flag_es:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1f8.png" title=":flag_es:" width="20px" /><br> flag_et <img align="absmiddle" alt=":flag_et:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1f9.png" title=":flag_et:" width="20px" /><br> flag_eu <img align="absmiddle" alt=":flag_eu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea-1f1fa.png" title=":flag_eu:" width="20px" /><br> flag_fi <img align="absmiddle" alt=":flag_fi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1ee.png" title=":flag_fi:" width="20px" /><br> flag_fj <img align="absmiddle" alt=":flag_fj:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1ef.png" title=":flag_fj:" width="20px" /><br> flag_fk <img align="absmiddle" alt=":flag_fk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1f0.png" title=":flag_fk:" width="20px" /><br> flag_fm <img align="absmiddle" alt=":flag_fm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1f2.png" title=":flag_fm:" width="20px" /><br> flag_fo <img align="absmiddle" alt=":flag_fo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1f4.png" title=":flag_fo:" width="20px" /><br> flag_fr <img align="absmiddle" alt=":flag_fr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb-1f1f7.png" title=":flag_fr:" width="20px" /><br> flag_ga <img align="absmiddle" alt=":flag_ga:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1e6.png" title=":flag_ga:" width="20px" /><br> flag_gb <img align="absmiddle" alt=":flag_gb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1e7.png" title=":flag_gb:" width="20px" /><br> flag_gd <img align="absmiddle" alt=":flag_gd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1e9.png" title=":flag_gd:" width="20px" /><br> flag_ge <img align="absmiddle" alt=":flag_ge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1ea.png" title=":flag_ge:" width="20px" /><br> flag_gf <img align="absmiddle" alt=":flag_gf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1eb.png" title=":flag_gf:" width="20px" /><br> flag_gg <img align="absmiddle" alt=":flag_gg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1ec.png" title=":flag_gg:" width="20px" /><br> flag_gh <img align="absmiddle" alt=":flag_gh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1ed.png" title=":flag_gh:" width="20px" /><br> flag_gi <img align="absmiddle" alt=":flag_gi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1ee.png" title=":flag_gi:" width="20px" /><br> flag_gl <img align="absmiddle" alt=":flag_gl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f1.png" title=":flag_gl:" width="20px" /><br> flag_gm <img align="absmiddle" alt=":flag_gm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f2.png" title=":flag_gm:" width="20px" /><br> flag_gn <img align="absmiddle" alt=":flag_gn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f3.png" title=":flag_gn:" width="20px" /><br> flag_gp <img align="absmiddle" alt=":flag_gp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f5.png" title=":flag_gp:" width="20px" /><br> flag_gq <img align="absmiddle" alt=":flag_gq:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f6.png" title=":flag_gq:" width="20px" /><br> flag_gr <img align="absmiddle" alt=":flag_gr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f7.png" title=":flag_gr:" width="20px" /><br> flag_gs <img align="absmiddle" alt=":flag_gs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f8.png" title=":flag_gs:" width="20px" /><br> flag_gt <img align="absmiddle" alt=":flag_gt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1f9.png" title=":flag_gt:" width="20px" /><br> flag_gu <img align="absmiddle" alt=":flag_gu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1fa.png" title=":flag_gu:" width="20px" /><br> flag_gw <img align="absmiddle" alt=":flag_gw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1fc.png" title=":flag_gw:" width="20px" /><br> flag_gy <img align="absmiddle" alt=":flag_gy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec-1f1fe.png" title=":flag_gy:" width="20px" /><br> flag_hk <img align="absmiddle" alt=":flag_hk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1f0.png" title=":flag_hk:" width="20px" /><br> flag_hm <img align="absmiddle" alt=":flag_hm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1f2.png" title=":flag_hm:" width="20px" /><br> flag_hn <img align="absmiddle" alt=":flag_hn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1f3.png" title=":flag_hn:" width="20px" /><br> flag_hr <img align="absmiddle" alt=":flag_hr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1f7.png" title=":flag_hr:" width="20px" /><br> flag_ht <img align="absmiddle" alt=":flag_ht:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1f9.png" title=":flag_ht:" width="20px" /><br> flag_hu <img align="absmiddle" alt=":flag_hu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed-1f1fa.png" title=":flag_hu:" width="20px" /><br> flag_ic <img align="absmiddle" alt=":flag_ic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1e8.png" title=":flag_ic:" width="20px" /><br> flag_id <img align="absmiddle" alt=":flag_id:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1e9.png" title=":flag_id:" width="20px" /><br> flag_ie <img align="absmiddle" alt=":flag_ie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1ea.png" title=":flag_ie:" width="20px" /><br> flag_il <img align="absmiddle" alt=":flag_il:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f1.png" title=":flag_il:" width="20px" /><br> flag_im <img align="absmiddle" alt=":flag_im:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f2.png" title=":flag_im:" width="20px" /><br> flag_in <img align="absmiddle" alt=":flag_in:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f3.png" title=":flag_in:" width="20px" /><br> flag_io <img align="absmiddle" alt=":flag_io:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f4.png" title=":flag_io:" width="20px" /><br> flag_iq <img align="absmiddle" alt=":flag_iq:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f6.png" title=":flag_iq:" width="20px" /><br> flag_ir <img align="absmiddle" alt=":flag_ir:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f7.png" title=":flag_ir:" width="20px" /><br> flag_is <img align="absmiddle" alt=":flag_is:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f8.png" title=":flag_is:" width="20px" /><br> flag_it <img align="absmiddle" alt=":flag_it:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee-1f1f9.png" title=":flag_it:" width="20px" /><br> flag_je <img align="absmiddle" alt=":flag_je:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ef-1f1ea.png" title=":flag_je:" width="20px" /><br> flag_jm <img align="absmiddle" alt=":flag_jm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ef-1f1f2.png" title=":flag_jm:" width="20px" /><br> flag_jo <img align="absmiddle" alt=":flag_jo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ef-1f1f4.png" title=":flag_jo:" width="20px" /><br> flag_jp <img align="absmiddle" alt=":flag_jp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ef-1f1f5.png" title=":flag_jp:" width="20px" /><br> flag_ke <img align="absmiddle" alt=":flag_ke:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1ea.png" title=":flag_ke:" width="20px" /><br> flag_kg <img align="absmiddle" alt=":flag_kg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1ec.png" title=":flag_kg:" width="20px" /><br> flag_kh <img align="absmiddle" alt=":flag_kh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1ed.png" title=":flag_kh:" width="20px" /><br> flag_ki <img align="absmiddle" alt=":flag_ki:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1ee.png" title=":flag_ki:" width="20px" /><br> flag_km <img align="absmiddle" alt=":flag_km:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1f2.png" title=":flag_km:" width="20px" /><br> flag_kn <img align="absmiddle" alt=":flag_kn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1f3.png" title=":flag_kn:" width="20px" /><br> flag_kp <img align="absmiddle" alt=":flag_kp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1f5.png" title=":flag_kp:" width="20px" /><br> flag_kr <img align="absmiddle" alt=":flag_kr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1f7.png" title=":flag_kr:" width="20px" /><br> flag_kw <img align="absmiddle" alt=":flag_kw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1fc.png" title=":flag_kw:" width="20px" /><br> flag_ky <img align="absmiddle" alt=":flag_ky:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1fe.png" title=":flag_ky:" width="20px" /><br> flag_kz <img align="absmiddle" alt=":flag_kz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0-1f1ff.png" title=":flag_kz:" width="20px" /><br> flag_la <img align="absmiddle" alt=":flag_la:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1e6.png" title=":flag_la:" width="20px" /><br> flag_lb <img align="absmiddle" alt=":flag_lb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1e7.png" title=":flag_lb:" width="20px" /><br> flag_lc <img align="absmiddle" alt=":flag_lc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1e8.png" title=":flag_lc:" width="20px" /><br> flag_li <img align="absmiddle" alt=":flag_li:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1ee.png" title=":flag_li:" width="20px" /><br> flag_lk <img align="absmiddle" alt=":flag_lk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1f0.png" title=":flag_lk:" width="20px" /><br> flag_lr <img align="absmiddle" alt=":flag_lr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1f7.png" title=":flag_lr:" width="20px" /><br> flag_ls <img align="absmiddle" alt=":flag_ls:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1f8.png" title=":flag_ls:" width="20px" /><br> flag_lt <img align="absmiddle" alt=":flag_lt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1f9.png" title=":flag_lt:" width="20px" /><br> flag_lu <img align="absmiddle" alt=":flag_lu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1fa.png" title=":flag_lu:" width="20px" /><br> flag_lv <img align="absmiddle" alt=":flag_lv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1fb.png" title=":flag_lv:" width="20px" /><br> flag_ly <img align="absmiddle" alt=":flag_ly:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1-1f1fe.png" title=":flag_ly:" width="20px" /><br> flag_ma <img align="absmiddle" alt=":flag_ma:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1e6.png" title=":flag_ma:" width="20px" /><br> flag_mc <img align="absmiddle" alt=":flag_mc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1e8.png" title=":flag_mc:" width="20px" /><br> flag_md <img align="absmiddle" alt=":flag_md:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1e9.png" title=":flag_md:" width="20px" /><br> flag_me <img align="absmiddle" alt=":flag_me:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1ea.png" title=":flag_me:" width="20px" /><br> flag_mf <img align="absmiddle" alt=":flag_mf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1eb.png" title=":flag_mf:" width="20px" /><br> flag_mg <img align="absmiddle" alt=":flag_mg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1ec.png" title=":flag_mg:" width="20px" /><br> flag_mh <img align="absmiddle" alt=":flag_mh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1ed.png" title=":flag_mh:" width="20px" /><br> flag_mk <img align="absmiddle" alt=":flag_mk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f0.png" title=":flag_mk:" width="20px" /><br> flag_ml <img align="absmiddle" alt=":flag_ml:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f1.png" title=":flag_ml:" width="20px" /><br> flag_mm <img align="absmiddle" alt=":flag_mm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f2.png" title=":flag_mm:" width="20px" /><br> flag_mn <img align="absmiddle" alt=":flag_mn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f3.png" title=":flag_mn:" width="20px" /><br> flag_mo <img align="absmiddle" alt=":flag_mo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f4.png" title=":flag_mo:" width="20px" /><br> flag_mp <img align="absmiddle" alt=":flag_mp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f5.png" title=":flag_mp:" width="20px" /><br> flag_mq <img align="absmiddle" alt=":flag_mq:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f6.png" title=":flag_mq:" width="20px" /><br> flag_mr <img align="absmiddle" alt=":flag_mr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f7.png" title=":flag_mr:" width="20px" /><br> flag_ms <img align="absmiddle" alt=":flag_ms:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f8.png" title=":flag_ms:" width="20px" /><br> flag_mt <img align="absmiddle" alt=":flag_mt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1f9.png" title=":flag_mt:" width="20px" /><br> flag_mu <img align="absmiddle" alt=":flag_mu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1fa.png" title=":flag_mu:" width="20px" /><br> flag_mv <img align="absmiddle" alt=":flag_mv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1fb.png" title=":flag_mv:" width="20px" /><br> flag_mw <img align="absmiddle" alt=":flag_mw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1fc.png" title=":flag_mw:" width="20px" /><br> flag_mx <img align="absmiddle" alt=":flag_mx:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1fd.png" title=":flag_mx:" width="20px" /><br> flag_my <img align="absmiddle" alt=":flag_my:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1fe.png" title=":flag_my:" width="20px" /><br> flag_mz <img align="absmiddle" alt=":flag_mz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2-1f1ff.png" title=":flag_mz:" width="20px" /><br> flag_na <img align="absmiddle" alt=":flag_na:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1e6.png" title=":flag_na:" width="20px" /><br> flag_nc <img align="absmiddle" alt=":flag_nc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1e8.png" title=":flag_nc:" width="20px" /><br> flag_ne <img align="absmiddle" alt=":flag_ne:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1ea.png" title=":flag_ne:" width="20px" /><br> flag_nf <img align="absmiddle" alt=":flag_nf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1eb.png" title=":flag_nf:" width="20px" /><br> flag_ng <img align="absmiddle" alt=":flag_ng:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1ec.png" title=":flag_ng:" width="20px" /><br> flag_ni <img align="absmiddle" alt=":flag_ni:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1ee.png" title=":flag_ni:" width="20px" /><br> flag_nl <img align="absmiddle" alt=":flag_nl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1f1.png" title=":flag_nl:" width="20px" /><br> flag_no <img align="absmiddle" alt=":flag_no:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1f4.png" title=":flag_no:" width="20px" /><br> flag_np <img align="absmiddle" alt=":flag_np:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1f5.png" title=":flag_np:" width="20px" /><br> flag_nr <img align="absmiddle" alt=":flag_nr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1f7.png" title=":flag_nr:" width="20px" /><br> flag_nu <img align="absmiddle" alt=":flag_nu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1fa.png" title=":flag_nu:" width="20px" /><br> flag_nz <img align="absmiddle" alt=":flag_nz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3-1f1ff.png" title=":flag_nz:" width="20px" /><br> flag_om <img align="absmiddle" alt=":flag_om:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f4-1f1f2.png" title=":flag_om:" width="20px" /><br> flag_pa <img align="absmiddle" alt=":flag_pa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1e6.png" title=":flag_pa:" width="20px" /><br> flag_pe <img align="absmiddle" alt=":flag_pe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1ea.png" title=":flag_pe:" width="20px" /><br> flag_pf <img align="absmiddle" alt=":flag_pf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1eb.png" title=":flag_pf:" width="20px" /><br> flag_pg <img align="absmiddle" alt=":flag_pg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1ec.png" title=":flag_pg:" width="20px" /><br> flag_ph <img align="absmiddle" alt=":flag_ph:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1ed.png" title=":flag_ph:" width="20px" /><br> flag_pk <img align="absmiddle" alt=":flag_pk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f0.png" title=":flag_pk:" width="20px" /><br> flag_pl <img align="absmiddle" alt=":flag_pl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f1.png" title=":flag_pl:" width="20px" /><br> flag_pm <img align="absmiddle" alt=":flag_pm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f2.png" title=":flag_pm:" width="20px" /><br> flag_pn <img align="absmiddle" alt=":flag_pn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f3.png" title=":flag_pn:" width="20px" /><br> flag_pr <img align="absmiddle" alt=":flag_pr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f7.png" title=":flag_pr:" width="20px" /><br> flag_ps <img align="absmiddle" alt=":flag_ps:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f8.png" title=":flag_ps:" width="20px" /><br> flag_pt <img align="absmiddle" alt=":flag_pt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1f9.png" title=":flag_pt:" width="20px" /><br> flag_pw <img align="absmiddle" alt=":flag_pw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1fc.png" title=":flag_pw:" width="20px" /><br> flag_py <img align="absmiddle" alt=":flag_py:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5-1f1fe.png" title=":flag_py:" width="20px" /><br> flag_qa <img align="absmiddle" alt=":flag_qa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f6-1f1e6.png" title=":flag_qa:" width="20px" /><br> flag_re <img align="absmiddle" alt=":flag_re:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7-1f1ea.png" title=":flag_re:" width="20px" /><br> flag_ro <img align="absmiddle" alt=":flag_ro:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7-1f1f4.png" title=":flag_ro:" width="20px" /><br> flag_rs <img align="absmiddle" alt=":flag_rs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7-1f1f8.png" title=":flag_rs:" width="20px" /><br> flag_ru <img align="absmiddle" alt=":flag_ru:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7-1f1fa.png" title=":flag_ru:" width="20px" /><br> flag_rw <img align="absmiddle" alt=":flag_rw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7-1f1fc.png" title=":flag_rw:" width="20px" /><br> flag_sa <img align="absmiddle" alt=":flag_sa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1e6.png" title=":flag_sa:" width="20px" /><br> flag_sb <img align="absmiddle" alt=":flag_sb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1e7.png" title=":flag_sb:" width="20px" /><br> flag_sc <img align="absmiddle" alt=":flag_sc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1e8.png" title=":flag_sc:" width="20px" /><br> flag_sd <img align="absmiddle" alt=":flag_sd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1e9.png" title=":flag_sd:" width="20px" /><br> flag_se <img align="absmiddle" alt=":flag_se:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ea.png" title=":flag_se:" width="20px" /><br> flag_sg <img align="absmiddle" alt=":flag_sg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ec.png" title=":flag_sg:" width="20px" /><br> flag_sh <img align="absmiddle" alt=":flag_sh:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ed.png" title=":flag_sh:" width="20px" /><br> flag_si <img align="absmiddle" alt=":flag_si:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ee.png" title=":flag_si:" width="20px" /><br> flag_sj <img align="absmiddle" alt=":flag_sj:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ef.png" title=":flag_sj:" width="20px" /><br> flag_sk <img align="absmiddle" alt=":flag_sk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f0.png" title=":flag_sk:" width="20px" /><br> flag_sl <img align="absmiddle" alt=":flag_sl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f1.png" title=":flag_sl:" width="20px" /><br> flag_sm <img align="absmiddle" alt=":flag_sm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f2.png" title=":flag_sm:" width="20px" /><br> flag_sn <img align="absmiddle" alt=":flag_sn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f3.png" title=":flag_sn:" width="20px" /><br> flag_so <img align="absmiddle" alt=":flag_so:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f4.png" title=":flag_so:" width="20px" /><br> flag_sr <img align="absmiddle" alt=":flag_sr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f7.png" title=":flag_sr:" width="20px" /><br> flag_ss <img align="absmiddle" alt=":flag_ss:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f8.png" title=":flag_ss:" width="20px" /><br> flag_st <img align="absmiddle" alt=":flag_st:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1f9.png" title=":flag_st:" width="20px" /><br> flag_sv <img align="absmiddle" alt=":flag_sv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1fb.png" title=":flag_sv:" width="20px" /><br> flag_sx <img align="absmiddle" alt=":flag_sx:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1fd.png" title=":flag_sx:" width="20px" /><br> flag_sy <img align="absmiddle" alt=":flag_sy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1fe.png" title=":flag_sy:" width="20px" /><br> flag_sz <img align="absmiddle" alt=":flag_sz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8-1f1ff.png" title=":flag_sz:" width="20px" /><br> flag_ta <img align="absmiddle" alt=":flag_ta:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1e6.png" title=":flag_ta:" width="20px" /><br> flag_tc <img align="absmiddle" alt=":flag_tc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1e8.png" title=":flag_tc:" width="20px" /><br> flag_td <img align="absmiddle" alt=":flag_td:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1e9.png" title=":flag_td:" width="20px" /><br> flag_tf <img align="absmiddle" alt=":flag_tf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1eb.png" title=":flag_tf:" width="20px" /><br> flag_tg <img align="absmiddle" alt=":flag_tg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1ec.png" title=":flag_tg:" width="20px" /><br> flag_th <img align="absmiddle" alt=":flag_th:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1ed.png" title=":flag_th:" width="20px" /><br> flag_tj <img align="absmiddle" alt=":flag_tj:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1ef.png" title=":flag_tj:" width="20px" /><br> flag_tk <img align="absmiddle" alt=":flag_tk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f0.png" title=":flag_tk:" width="20px" /><br> flag_tl <img align="absmiddle" alt=":flag_tl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f1.png" title=":flag_tl:" width="20px" /><br> flag_tm <img align="absmiddle" alt=":flag_tm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f2.png" title=":flag_tm:" width="20px" /><br> flag_tn <img align="absmiddle" alt=":flag_tn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f3.png" title=":flag_tn:" width="20px" /><br> flag_to <img align="absmiddle" alt=":flag_to:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f4.png" title=":flag_to:" width="20px" /><br> flag_tr <img align="absmiddle" alt=":flag_tr:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f7.png" title=":flag_tr:" width="20px" /><br> flag_tt <img align="absmiddle" alt=":flag_tt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1f9.png" title=":flag_tt:" width="20px" /><br> flag_tv <img align="absmiddle" alt=":flag_tv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1fb.png" title=":flag_tv:" width="20px" /><br> flag_tw <img align="absmiddle" alt=":flag_tw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1fc.png" title=":flag_tw:" width="20px" /><br> flag_tz <img align="absmiddle" alt=":flag_tz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9-1f1ff.png" title=":flag_tz:" width="20px" /><br> flag_ua <img align="absmiddle" alt=":flag_ua:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1e6.png" title=":flag_ua:" width="20px" /><br> flag_ug <img align="absmiddle" alt=":flag_ug:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1ec.png" title=":flag_ug:" width="20px" /><br> flag_um <img align="absmiddle" alt=":flag_um:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1f2.png" title=":flag_um:" width="20px" /><br> flag_us <img align="absmiddle" alt=":flag_us:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1f8.png" title=":flag_us:" width="20px" /><br> flag_uy <img align="absmiddle" alt=":flag_uy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1fe.png" title=":flag_uy:" width="20px" /><br> flag_uz <img align="absmiddle" alt=":flag_uz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1ff.png" title=":flag_uz:" width="20px" /><br> flag_va <img align="absmiddle" alt=":flag_va:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1e6.png" title=":flag_va:" width="20px" /><br> flag_vc <img align="absmiddle" alt=":flag_vc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1e8.png" title=":flag_vc:" width="20px" /><br> flag_ve <img align="absmiddle" alt=":flag_ve:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1ea.png" title=":flag_ve:" width="20px" /><br> flag_vg <img align="absmiddle" alt=":flag_vg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1ec.png" title=":flag_vg:" width="20px" /><br> flag_vi <img align="absmiddle" alt=":flag_vi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1ee.png" title=":flag_vi:" width="20px" /><br> flag_vn <img align="absmiddle" alt=":flag_vn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1f3.png" title=":flag_vn:" width="20px" /><br> flag_vu <img align="absmiddle" alt=":flag_vu:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb-1f1fa.png" title=":flag_vu:" width="20px" /><br> flag_wf <img align="absmiddle" alt=":flag_wf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fc-1f1eb.png" title=":flag_wf:" width="20px" /><br> flag_white <img align="absmiddle" alt=":flag_white:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f3.png" title=":flag_white:" width="20px" /><br> flag_ws <img align="absmiddle" alt=":flag_ws:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fc-1f1f8.png" title=":flag_ws:" width="20px" /><br> flag_xk <img align="absmiddle" alt=":flag_xk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fd-1f1f0.png" title=":flag_xk:" width="20px" /><br> flag_ye <img align="absmiddle" alt=":flag_ye:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fe-1f1ea.png" title=":flag_ye:" width="20px" /><br> flag_yt <img align="absmiddle" alt=":flag_yt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fe-1f1f9.png" title=":flag_yt:" width="20px" /><br> flag_za <img align="absmiddle" alt=":flag_za:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ff-1f1e6.png" title=":flag_za:" width="20px" /><br> flag_zm <img align="absmiddle" alt=":flag_zm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ff-1f1f2.png" title=":flag_zm:" width="20px" /><br> flag_zw <img align="absmiddle" alt=":flag_zw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ff-1f1fc.png" title=":flag_zw:" width="20px" /><br> flags <img align="absmiddle" alt=":flags:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38f.png" title=":flags:" width="20px" /><br> flamingo <img align="absmiddle" alt=":flamingo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a9.png" title=":flamingo:" width="20px" /><br> flashlight <img align="absmiddle" alt=":flashlight:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f526.png" title=":flashlight:" width="20px" /><br> flatbread <img align="absmiddle" alt=":flatbread:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad3.png" title=":flatbread:" width="20px" /><br> fleur-de-lis <img align="absmiddle" alt=":fleur-de-lis:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/269c.png" title=":fleur-de-lis:" width="20px" /><br> floppy_disk <img align="absmiddle" alt=":floppy_disk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4be.png" title=":floppy_disk:" width="20px" /><br> flower_playing_cards <img align="absmiddle" alt=":flower_playing_cards:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b4.png" title=":flower_playing_cards:" width="20px" /><br> flushed <img align="absmiddle" alt=":flushed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f633.png" title=":flushed:" width="20px" /><br> flute <img align="absmiddle" alt=":flute:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa88.png" title=":flute:" width="20px" /><br> fly <img align="absmiddle" alt=":fly:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab0.png" title=":fly:" width="20px" /><br> flying_disc <img align="absmiddle" alt=":flying_disc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94f.png" title=":flying_disc:" width="20px" /><br> flying_saucer <img align="absmiddle" alt=":flying_saucer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f8.png" title=":flying_saucer:" width="20px" /><br> fog <img align="absmiddle" alt=":fog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32b.png" title=":fog:" width="20px" /><br> foggy <img align="absmiddle" alt=":foggy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f301.png" title=":foggy:" width="20px" /><br> folding_hand_fan <img align="absmiddle" alt=":folding_hand_fan:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faad.png" title=":folding_hand_fan:" width="20px" /><br> fondue <img align="absmiddle" alt=":fondue:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad5.png" title=":fondue:" width="20px" /><br> foot <img align="absmiddle" alt=":foot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6.png" title=":foot:" width="20px" /><br> foot_tone1 <img align="absmiddle" alt=":foot_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6-1f3fb.png" title=":foot_tone1:" width="20px" /><br> foot_tone2 <img align="absmiddle" alt=":foot_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6-1f3fc.png" title=":foot_tone2:" width="20px" /><br> foot_tone3 <img align="absmiddle" alt=":foot_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6-1f3fd.png" title=":foot_tone3:" width="20px" /><br> foot_tone4 <img align="absmiddle" alt=":foot_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6-1f3fe.png" title=":foot_tone4:" width="20px" /><br> foot_tone5 <img align="absmiddle" alt=":foot_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b6-1f3ff.png" title=":foot_tone5:" width="20px" /><br> football <img align="absmiddle" alt=":football:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c8.png" title=":football:" width="20px" /><br> footprints <img align="absmiddle" alt=":footprints:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f463.png" title=":footprints:" width="20px" /><br> fork_and_knife <img align="absmiddle" alt=":fork_and_knife:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f374.png" title=":fork_and_knife:" width="20px" /><br> fork_knife_plate <img align="absmiddle" alt=":fork_knife_plate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37d.png" title=":fork_knife_plate:" width="20px" /><br> fortune_cookie <img align="absmiddle" alt=":fortune_cookie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f960.png" title=":fortune_cookie:" width="20px" /><br> fountain <img align="absmiddle" alt=":fountain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f2.png" title=":fountain:" width="20px" /><br> four <img align="absmiddle" alt=":four:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/34-20e3.png" title=":four:" width="20px" /><br> four_leaf_clover <img align="absmiddle" alt=":four_leaf_clover:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f340.png" title=":four_leaf_clover:" width="20px" /><br> fox <img align="absmiddle" alt=":fox:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98a.png" title=":fox:" width="20px" /><br> frame_photo <img align="absmiddle" alt=":frame_photo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5bc.png" title=":frame_photo:" width="20px" /><br> free <img align="absmiddle" alt=":free:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f193.png" title=":free:" width="20px" /><br> french_bread <img align="absmiddle" alt=":french_bread:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f956.png" title=":french_bread:" width="20px" /><br> fried_shrimp <img align="absmiddle" alt=":fried_shrimp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f364.png" title=":fried_shrimp:" width="20px" /><br> fries <img align="absmiddle" alt=":fries:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35f.png" title=":fries:" width="20px" /><br> frog <img align="absmiddle" alt=":frog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f438.png" title=":frog:" width="20px" /><br> frowning2 <img align="absmiddle" alt=":frowning2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2639.png" title=":frowning2:" width="20px" /><br> frowning <img align="absmiddle" alt=":frowning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f626.png" title=":frowning:" width="20px" /><br> fuelpump <img align="absmiddle" alt=":fuelpump:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26fd.png" title=":fuelpump:" width="20px" /><br> full_moon <img align="absmiddle" alt=":full_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f315.png" title=":full_moon:" width="20px" /><br> full_moon_with_face <img align="absmiddle" alt=":full_moon_with_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31d.png" title=":full_moon_with_face:" width="20px" /><br> game_die <img align="absmiddle" alt=":game_die:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b2.png" title=":game_die:" width="20px" /><br> garlic <img align="absmiddle" alt=":garlic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c4.png" title=":garlic:" width="20px" /><br> gear <img align="absmiddle" alt=":gear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2699.png" title=":gear:" width="20px" /><br> gem <img align="absmiddle" alt=":gem:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48e.png" title=":gem:" width="20px" /><br> gemini <img align="absmiddle" alt=":gemini:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264a.png" title=":gemini:" width="20px" /><br> genie <img align="absmiddle" alt=":genie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9de.png" title=":genie:" width="20px" /><br> ghost <img align="absmiddle" alt=":ghost:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47b.png" title=":ghost:" width="20px" /><br> gift <img align="absmiddle" alt=":gift:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f381.png" title=":gift:" width="20px" /><br> gift_heart <img align="absmiddle" alt=":gift_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49d.png" title=":gift_heart:" width="20px" /><br> ginger_root <img align="absmiddle" alt=":ginger_root:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fada.png" title=":ginger_root:" width="20px" /><br> giraffe <img align="absmiddle" alt=":giraffe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f992.png" title=":giraffe:" width="20px" /><br> girl <img align="absmiddle" alt=":girl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467.png" title=":girl:" width="20px" /><br> girl_tone1 <img align="absmiddle" alt=":girl_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467-1f3fb.png" title=":girl_tone1:" width="20px" /><br> girl_tone2 <img align="absmiddle" alt=":girl_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467-1f3fc.png" title=":girl_tone2:" width="20px" /><br> girl_tone3 <img align="absmiddle" alt=":girl_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467-1f3fd.png" title=":girl_tone3:" width="20px" /><br> girl_tone4 <img align="absmiddle" alt=":girl_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467-1f3fe.png" title=":girl_tone4:" width="20px" /><br> girl_tone5 <img align="absmiddle" alt=":girl_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f467-1f3ff.png" title=":girl_tone5:" width="20px" /><br> globe_with_meridians <img align="absmiddle" alt=":globe_with_meridians:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f310.png" title=":globe_with_meridians:" width="20px" /><br> gloves <img align="absmiddle" alt=":gloves:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e4.png" title=":gloves:" width="20px" /><br> goal <img align="absmiddle" alt=":goal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f945.png" title=":goal:" width="20px" /><br> goat <img align="absmiddle" alt=":goat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f410.png" title=":goat:" width="20px" /><br> goggles <img align="absmiddle" alt=":goggles:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97d.png" title=":goggles:" width="20px" /><br> golf <img align="absmiddle" alt=":golf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f3.png" title=":golf:" width="20px" /><br> goose <img align="absmiddle" alt=":goose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fabf.png" title=":goose:" width="20px" /><br> gorilla <img align="absmiddle" alt=":gorilla:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98d.png" title=":gorilla:" width="20px" /><br> grapes <img align="absmiddle" alt=":grapes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f347.png" title=":grapes:" width="20px" /><br> green_apple <img align="absmiddle" alt=":green_apple:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34f.png" title=":green_apple:" width="20px" /><br> green_book <img align="absmiddle" alt=":green_book:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d7.png" title=":green_book:" width="20px" /><br> green_circle <img align="absmiddle" alt=":green_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e2.png" title=":green_circle:" width="20px" /><br> green_heart <img align="absmiddle" alt=":green_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49a.png" title=":green_heart:" width="20px" /><br> green_square <img align="absmiddle" alt=":green_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e9.png" title=":green_square:" width="20px" /><br> grey_exclamation <img align="absmiddle" alt=":grey_exclamation:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2755.png" title=":grey_exclamation:" width="20px" /><br> grey_heart <img align="absmiddle" alt=":grey_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa76.png" title=":grey_heart:" width="20px" /><br> grey_question <img align="absmiddle" alt=":grey_question:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2754.png" title=":grey_question:" width="20px" /><br> grimacing <img align="absmiddle" alt=":grimacing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62c.png" title=":grimacing:" width="20px" /><br> grin <img align="absmiddle" alt=":grin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f601.png" title=":grin:" width="20px" /><br> grinning <img align="absmiddle" alt=":grinning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f600.png" title=":grinning:" width="20px" /><br> guard <img align="absmiddle" alt=":guard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482.png" title=":guard:" width="20px" /><br> guard_tone1 <img align="absmiddle" alt=":guard_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fb.png" title=":guard_tone1:" width="20px" /><br> guard_tone2 <img align="absmiddle" alt=":guard_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fc.png" title=":guard_tone2:" width="20px" /><br> guard_tone3 <img align="absmiddle" alt=":guard_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fd.png" title=":guard_tone3:" width="20px" /><br> guard_tone4 <img align="absmiddle" alt=":guard_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fe.png" title=":guard_tone4:" width="20px" /><br> guard_tone5 <img align="absmiddle" alt=":guard_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3ff.png" title=":guard_tone5:" width="20px" /><br> guide_dog <img align="absmiddle" alt=":guide_dog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ae.png" title=":guide_dog:" width="20px" /><br> guitar <img align="absmiddle" alt=":guitar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b8.png" title=":guitar:" width="20px" /><br> gun <img align="absmiddle" alt=":gun:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52b.png" title=":gun:" width="20px" /><br> hair_pick <img align="absmiddle" alt=":hair_pick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faae.png" title=":hair_pick:" width="20px" /><br> hamburger <img align="absmiddle" alt=":hamburger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f354.png" title=":hamburger:" width="20px" /><br> hammer <img align="absmiddle" alt=":hammer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f528.png" title=":hammer:" width="20px" /><br> hammer_pick <img align="absmiddle" alt=":hammer_pick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2692.png" title=":hammer_pick:" width="20px" /><br> hamsa <img align="absmiddle" alt=":hamsa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faac.png" title=":hamsa:" width="20px" /><br> hamster <img align="absmiddle" alt=":hamster:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f439.png" title=":hamster:" width="20px" /><br> hand_splayed <img align="absmiddle" alt=":hand_splayed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590.png" title=":hand_splayed:" width="20px" /><br> hand_splayed_tone1 <img align="absmiddle" alt=":hand_splayed_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590-1f3fb.png" title=":hand_splayed_tone1:" width="20px" /><br> hand_splayed_tone2 <img align="absmiddle" alt=":hand_splayed_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590-1f3fc.png" title=":hand_splayed_tone2:" width="20px" /><br> hand_splayed_tone3 <img align="absmiddle" alt=":hand_splayed_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590-1f3fd.png" title=":hand_splayed_tone3:" width="20px" /><br> hand_splayed_tone4 <img align="absmiddle" alt=":hand_splayed_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590-1f3fe.png" title=":hand_splayed_tone4:" width="20px" /><br> hand_splayed_tone5 <img align="absmiddle" alt=":hand_splayed_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f590-1f3ff.png" title=":hand_splayed_tone5:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0.png" title=":hand_with_index_finger_and_thumb_crossed:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed_tone1 <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0-1f3fb.png" title=":hand_with_index_finger_and_thumb_crossed_tone1:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed_tone2 <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0-1f3fc.png" title=":hand_with_index_finger_and_thumb_crossed_tone2:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed_tone3 <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0-1f3fd.png" title=":hand_with_index_finger_and_thumb_crossed_tone3:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed_tone4 <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0-1f3fe.png" title=":hand_with_index_finger_and_thumb_crossed_tone4:" width="20px" /><br> hand_with_index_finger_and_thumb_crossed_tone5 <img align="absmiddle" alt=":hand_with_index_finger_and_thumb_crossed_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf0-1f3ff.png" title=":hand_with_index_finger_and_thumb_crossed_tone5:" width="20px" /><br> handbag <img align="absmiddle" alt=":handbag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45c.png" title=":handbag:" width="20px" /><br> handshake <img align="absmiddle" alt=":handshake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d.png" title=":handshake:" width="20px" /><br> handshake_tone1 <img align="absmiddle" alt=":handshake_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d-1f3fb.png" title=":handshake_tone1:" width="20px" /><br> handshake_tone1_tone2 <img align="absmiddle" alt=":handshake_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fb-200d-1faf2-1f3fc.png" title=":handshake_tone1_tone2:" width="20px" /><br> handshake_tone1_tone3 <img align="absmiddle" alt=":handshake_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fb-200d-1faf2-1f3fd.png" title=":handshake_tone1_tone3:" width="20px" /><br> handshake_tone1_tone4 <img align="absmiddle" alt=":handshake_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fb-200d-1faf2-1f3fe.png" title=":handshake_tone1_tone4:" width="20px" /><br> handshake_tone1_tone5 <img align="absmiddle" alt=":handshake_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fb-200d-1faf2-1f3ff.png" title=":handshake_tone1_tone5:" width="20px" /><br> handshake_tone2 <img align="absmiddle" alt=":handshake_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d-1f3fc.png" title=":handshake_tone2:" width="20px" /><br> handshake_tone2_tone1 <img align="absmiddle" alt=":handshake_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fc-200d-1faf2-1f3fb.png" title=":handshake_tone2_tone1:" width="20px" /><br> handshake_tone2_tone3 <img align="absmiddle" alt=":handshake_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fc-200d-1faf2-1f3fd.png" title=":handshake_tone2_tone3:" width="20px" /><br> handshake_tone2_tone4 <img align="absmiddle" alt=":handshake_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fc-200d-1faf2-1f3fe.png" title=":handshake_tone2_tone4:" width="20px" /><br> handshake_tone2_tone5 <img align="absmiddle" alt=":handshake_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fc-200d-1faf2-1f3ff.png" title=":handshake_tone2_tone5:" width="20px" /><br> handshake_tone3 <img align="absmiddle" alt=":handshake_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d-1f3fd.png" title=":handshake_tone3:" width="20px" /><br> handshake_tone3_tone1 <img align="absmiddle" alt=":handshake_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fd-200d-1faf2-1f3fb.png" title=":handshake_tone3_tone1:" width="20px" /><br> handshake_tone3_tone2 <img align="absmiddle" alt=":handshake_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fd-200d-1faf2-1f3fc.png" title=":handshake_tone3_tone2:" width="20px" /><br> handshake_tone3_tone4 <img align="absmiddle" alt=":handshake_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fd-200d-1faf2-1f3fe.png" title=":handshake_tone3_tone4:" width="20px" /><br> handshake_tone3_tone5 <img align="absmiddle" alt=":handshake_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fd-200d-1faf2-1f3ff.png" title=":handshake_tone3_tone5:" width="20px" /><br> handshake_tone4 <img align="absmiddle" alt=":handshake_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d-1f3fe.png" title=":handshake_tone4:" width="20px" /><br> handshake_tone4_tone1 <img align="absmiddle" alt=":handshake_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fe-200d-1faf2-1f3fb.png" title=":handshake_tone4_tone1:" width="20px" /><br> handshake_tone4_tone2 <img align="absmiddle" alt=":handshake_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fe-200d-1faf2-1f3fc.png" title=":handshake_tone4_tone2:" width="20px" /><br> handshake_tone4_tone3 <img align="absmiddle" alt=":handshake_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fe-200d-1faf2-1f3fd.png" title=":handshake_tone4_tone3:" width="20px" /><br> handshake_tone4_tone5 <img align="absmiddle" alt=":handshake_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fe-200d-1faf2-1f3ff.png" title=":handshake_tone4_tone5:" width="20px" /><br> handshake_tone5 <img align="absmiddle" alt=":handshake_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91d-1f3ff.png" title=":handshake_tone5:" width="20px" /><br> handshake_tone5_tone1 <img align="absmiddle" alt=":handshake_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3ff-200d-1faf2-1f3fb.png" title=":handshake_tone5_tone1:" width="20px" /><br> handshake_tone5_tone2 <img align="absmiddle" alt=":handshake_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3ff-200d-1faf2-1f3fc.png" title=":handshake_tone5_tone2:" width="20px" /><br> handshake_tone5_tone3 <img align="absmiddle" alt=":handshake_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3ff-200d-1faf2-1f3fd.png" title=":handshake_tone5_tone3:" width="20px" /><br> handshake_tone5_tone4 <img align="absmiddle" alt=":handshake_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3ff-200d-1faf2-1f3fe.png" title=":handshake_tone5_tone4:" width="20px" /><br> hash <img align="absmiddle" alt=":hash:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23-20e3.png" title=":hash:" width="20px" /><br> hatched_chick <img align="absmiddle" alt=":hatched_chick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f425.png" title=":hatched_chick:" width="20px" /><br> hatching_chick <img align="absmiddle" alt=":hatching_chick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f423.png" title=":hatching_chick:" width="20px" /><br> head_bandage <img align="absmiddle" alt=":head_bandage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f915.png" title=":head_bandage:" width="20px" /><br> headphones <img align="absmiddle" alt=":headphones:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a7.png" title=":headphones:" width="20px" /><br> headstone <img align="absmiddle" alt=":headstone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa6.png" title=":headstone:" width="20px" /><br> health_worker <img align="absmiddle" alt=":health_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-2695-fe0f.png" title=":health_worker:" width="20px" /><br> health_worker_tone1 <img align="absmiddle" alt=":health_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2695-fe0f.png" title=":health_worker_tone1:" width="20px" /><br> health_worker_tone2 <img align="absmiddle" alt=":health_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2695-fe0f.png" title=":health_worker_tone2:" width="20px" /><br> health_worker_tone3 <img align="absmiddle" alt=":health_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2695-fe0f.png" title=":health_worker_tone3:" width="20px" /><br> health_worker_tone4 <img align="absmiddle" alt=":health_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2695-fe0f.png" title=":health_worker_tone4:" width="20px" /><br> health_worker_tone5 <img align="absmiddle" alt=":health_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2695-fe0f.png" title=":health_worker_tone5:" width="20px" /><br> hear_no_evil <img align="absmiddle" alt=":hear_no_evil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f649.png" title=":hear_no_evil:" width="20px" /><br> heart <img align="absmiddle" alt=":heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2764.png" title=":heart:" width="20px" /><br> heart_decoration <img align="absmiddle" alt=":heart_decoration:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49f.png" title=":heart_decoration:" width="20px" /><br> heart_exclamation <img align="absmiddle" alt=":heart_exclamation:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2763.png" title=":heart_exclamation:" width="20px" /><br> heart_eyes <img align="absmiddle" alt=":heart_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60d.png" title=":heart_eyes:" width="20px" /><br> heart_eyes_cat <img align="absmiddle" alt=":heart_eyes_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63b.png" title=":heart_eyes_cat:" width="20px" /><br> heart_hands <img align="absmiddle" alt=":heart_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6.png" title=":heart_hands:" width="20px" /><br> heart_hands_tone1 <img align="absmiddle" alt=":heart_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6-1f3fb.png" title=":heart_hands_tone1:" width="20px" /><br> heart_hands_tone2 <img align="absmiddle" alt=":heart_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6-1f3fc.png" title=":heart_hands_tone2:" width="20px" /><br> heart_hands_tone3 <img align="absmiddle" alt=":heart_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6-1f3fd.png" title=":heart_hands_tone3:" width="20px" /><br> heart_hands_tone4 <img align="absmiddle" alt=":heart_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6-1f3fe.png" title=":heart_hands_tone4:" width="20px" /><br> heart_hands_tone5 <img align="absmiddle" alt=":heart_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf6-1f3ff.png" title=":heart_hands_tone5:" width="20px" /><br> heart_on_fire <img align="absmiddle" alt=":heart_on_fire:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2764-fe0f-200d-1f525.png" title=":heart_on_fire:" width="20px" /><br> heartbeat <img align="absmiddle" alt=":heartbeat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f493.png" title=":heartbeat:" width="20px" /><br> heartpulse <img align="absmiddle" alt=":heartpulse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f497.png" title=":heartpulse:" width="20px" /><br> hearts <img align="absmiddle" alt=":hearts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2665.png" title=":hearts:" width="20px" /><br> heavy_check_mark <img align="absmiddle" alt=":heavy_check_mark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2714.png" title=":heavy_check_mark:" width="20px" /><br> heavy_division_sign <img align="absmiddle" alt=":heavy_division_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2797.png" title=":heavy_division_sign:" width="20px" /><br> heavy_dollar_sign <img align="absmiddle" alt=":heavy_dollar_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b2.png" title=":heavy_dollar_sign:" width="20px" /><br> heavy_equals_sign <img align="absmiddle" alt=":heavy_equals_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7f0.png" title=":heavy_equals_sign:" width="20px" /><br> heavy_minus_sign <img align="absmiddle" alt=":heavy_minus_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2796.png" title=":heavy_minus_sign:" width="20px" /><br> heavy_multiplication_x <img align="absmiddle" alt=":heavy_multiplication_x:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2716.png" title=":heavy_multiplication_x:" width="20px" /><br> heavy_plus_sign <img align="absmiddle" alt=":heavy_plus_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2795.png" title=":heavy_plus_sign:" width="20px" /><br> hedgehog <img align="absmiddle" alt=":hedgehog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f994.png" title=":hedgehog:" width="20px" /><br> helicopter <img align="absmiddle" alt=":helicopter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f681.png" title=":helicopter:" width="20px" /><br> helmet_with_cross <img align="absmiddle" alt=":helmet_with_cross:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26d1.png" title=":helmet_with_cross:" width="20px" /><br> herb <img align="absmiddle" alt=":herb:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33f.png" title=":herb:" width="20px" /><br> hibiscus <img align="absmiddle" alt=":hibiscus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33a.png" title=":hibiscus:" width="20px" /><br> high_brightness <img align="absmiddle" alt=":high_brightness:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f506.png" title=":high_brightness:" width="20px" /><br> high_heel <img align="absmiddle" alt=":high_heel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f460.png" title=":high_heel:" width="20px" /><br> hiking_boot <img align="absmiddle" alt=":hiking_boot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97e.png" title=":hiking_boot:" width="20px" /><br> hindu_temple <img align="absmiddle" alt=":hindu_temple:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d5.png" title=":hindu_temple:" width="20px" /><br> hippopotamus <img align="absmiddle" alt=":hippopotamus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99b.png" title=":hippopotamus:" width="20px" /><br> hockey <img align="absmiddle" alt=":hockey:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d2.png" title=":hockey:" width="20px" /><br> hole <img align="absmiddle" alt=":hole:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f573.png" title=":hole:" width="20px" /><br> homes <img align="absmiddle" alt=":homes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d8.png" title=":homes:" width="20px" /><br> honey_pot <img align="absmiddle" alt=":honey_pot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36f.png" title=":honey_pot:" width="20px" /><br> hook <img align="absmiddle" alt=":hook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9d.png" title=":hook:" width="20px" /><br> horse <img align="absmiddle" alt=":horse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f434.png" title=":horse:" width="20px" /><br> horse_racing <img align="absmiddle" alt=":horse_racing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7.png" title=":horse_racing:" width="20px" /><br> horse_racing_tone1 <img align="absmiddle" alt=":horse_racing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7-1f3fb.png" title=":horse_racing_tone1:" width="20px" /><br> horse_racing_tone2 <img align="absmiddle" alt=":horse_racing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7-1f3fc.png" title=":horse_racing_tone2:" width="20px" /><br> horse_racing_tone3 <img align="absmiddle" alt=":horse_racing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7-1f3fd.png" title=":horse_racing_tone3:" width="20px" /><br> horse_racing_tone4 <img align="absmiddle" alt=":horse_racing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7-1f3fe.png" title=":horse_racing_tone4:" width="20px" /><br> horse_racing_tone5 <img align="absmiddle" alt=":horse_racing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c7-1f3ff.png" title=":horse_racing_tone5:" width="20px" /><br> hospital <img align="absmiddle" alt=":hospital:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e5.png" title=":hospital:" width="20px" /><br> hot_face <img align="absmiddle" alt=":hot_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f975.png" title=":hot_face:" width="20px" /><br> hot_pepper <img align="absmiddle" alt=":hot_pepper:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f336.png" title=":hot_pepper:" width="20px" /><br> hotdog <img align="absmiddle" alt=":hotdog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32d.png" title=":hotdog:" width="20px" /><br> hotel <img align="absmiddle" alt=":hotel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e8.png" title=":hotel:" width="20px" /><br> hotsprings <img align="absmiddle" alt=":hotsprings:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2668.png" title=":hotsprings:" width="20px" /><br> hourglass <img align="absmiddle" alt=":hourglass:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/231b.png" title=":hourglass:" width="20px" /><br> hourglass_flowing_sand <img align="absmiddle" alt=":hourglass_flowing_sand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f3.png" title=":hourglass_flowing_sand:" width="20px" /><br> house <img align="absmiddle" alt=":house:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e0.png" title=":house:" width="20px" /><br> house_abandoned <img align="absmiddle" alt=":house_abandoned:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3da.png" title=":house_abandoned:" width="20px" /><br> house_with_garden <img align="absmiddle" alt=":house_with_garden:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e1.png" title=":house_with_garden:" width="20px" /><br> hugging <img align="absmiddle" alt=":hugging:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f917.png" title=":hugging:" width="20px" /><br> hushed <img align="absmiddle" alt=":hushed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62f.png" title=":hushed:" width="20px" /><br> hut <img align="absmiddle" alt=":hut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d6.png" title=":hut:" width="20px" /><br> hyacinth <img align="absmiddle" alt=":hyacinth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fabb.png" title=":hyacinth:" width="20px" /><br> ice_cream <img align="absmiddle" alt=":ice_cream:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f368.png" title=":ice_cream:" width="20px" /><br> ice_cube <img align="absmiddle" alt=":ice_cube:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ca.png" title=":ice_cube:" width="20px" /><br> ice_skate <img align="absmiddle" alt=":ice_skate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f8.png" title=":ice_skate:" width="20px" /><br> icecream <img align="absmiddle" alt=":icecream:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f366.png" title=":icecream:" width="20px" /><br> id <img align="absmiddle" alt=":id:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f194.png" title=":id:" width="20px" /><br> identification_card <img align="absmiddle" alt=":identification_card:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faaa.png" title=":identification_card:" width="20px" /><br> ideograph_advantage <img align="absmiddle" alt=":ideograph_advantage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f250.png" title=":ideograph_advantage:" width="20px" /><br> imp <img align="absmiddle" alt=":imp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47f.png" title=":imp:" width="20px" /><br> inbox_tray <img align="absmiddle" alt=":inbox_tray:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e5.png" title=":inbox_tray:" width="20px" /><br> incoming_envelope <img align="absmiddle" alt=":incoming_envelope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e8.png" title=":incoming_envelope:" width="20px" /><br> index_pointing_at_the_viewer <img align="absmiddle" alt=":index_pointing_at_the_viewer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5.png" title=":index_pointing_at_the_viewer:" width="20px" /><br> index_pointing_at_the_viewer_tone1 <img align="absmiddle" alt=":index_pointing_at_the_viewer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5-1f3fb.png" title=":index_pointing_at_the_viewer_tone1:" width="20px" /><br> index_pointing_at_the_viewer_tone2 <img align="absmiddle" alt=":index_pointing_at_the_viewer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5-1f3fc.png" title=":index_pointing_at_the_viewer_tone2:" width="20px" /><br> index_pointing_at_the_viewer_tone3 <img align="absmiddle" alt=":index_pointing_at_the_viewer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5-1f3fd.png" title=":index_pointing_at_the_viewer_tone3:" width="20px" /><br> index_pointing_at_the_viewer_tone4 <img align="absmiddle" alt=":index_pointing_at_the_viewer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5-1f3fe.png" title=":index_pointing_at_the_viewer_tone4:" width="20px" /><br> index_pointing_at_the_viewer_tone5 <img align="absmiddle" alt=":index_pointing_at_the_viewer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf5-1f3ff.png" title=":index_pointing_at_the_viewer_tone5:" width="20px" /><br> infinity <img align="absmiddle" alt=":infinity:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/267e.png" title=":infinity:" width="20px" /><br> information_source <img align="absmiddle" alt=":information_source:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2139.png" title=":information_source:" width="20px" /><br> innocent <img align="absmiddle" alt=":innocent:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f607.png" title=":innocent:" width="20px" /><br> interrobang <img align="absmiddle" alt=":interrobang:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2049.png" title=":interrobang:" width="20px" /><br> island <img align="absmiddle" alt=":island:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3dd.png" title=":island:" width="20px" /><br> izakaya_lantern <img align="absmiddle" alt=":izakaya_lantern:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ee.png" title=":izakaya_lantern:" width="20px" /><br> jack_o_lantern <img align="absmiddle" alt=":jack_o_lantern:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f383.png" title=":jack_o_lantern:" width="20px" /><br> japan <img align="absmiddle" alt=":japan:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5fe.png" title=":japan:" width="20px" /><br> japanese_castle <img align="absmiddle" alt=":japanese_castle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ef.png" title=":japanese_castle:" width="20px" /><br> japanese_goblin <img align="absmiddle" alt=":japanese_goblin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47a.png" title=":japanese_goblin:" width="20px" /><br> japanese_ogre <img align="absmiddle" alt=":japanese_ogre:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f479.png" title=":japanese_ogre:" width="20px" /><br> jar <img align="absmiddle" alt=":jar:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad9.png" title=":jar:" width="20px" /><br> jeans <img align="absmiddle" alt=":jeans:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f456.png" title=":jeans:" width="20px" /><br> jellyfish <img align="absmiddle" alt=":jellyfish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fabc.png" title=":jellyfish:" width="20px" /><br> jigsaw <img align="absmiddle" alt=":jigsaw:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e9.png" title=":jigsaw:" width="20px" /><br> joy <img align="absmiddle" alt=":joy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f602.png" title=":joy:" width="20px" /><br> joy_cat <img align="absmiddle" alt=":joy_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f639.png" title=":joy_cat:" width="20px" /><br> joystick <img align="absmiddle" alt=":joystick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f579.png" title=":joystick:" width="20px" /><br> judge <img align="absmiddle" alt=":judge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-2696-fe0f.png" title=":judge:" width="20px" /><br> judge_tone1 <img align="absmiddle" alt=":judge_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2696-fe0f.png" title=":judge_tone1:" width="20px" /><br> judge_tone2 <img align="absmiddle" alt=":judge_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2696-fe0f.png" title=":judge_tone2:" width="20px" /><br> judge_tone3 <img align="absmiddle" alt=":judge_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2696-fe0f.png" title=":judge_tone3:" width="20px" /><br> judge_tone4 <img align="absmiddle" alt=":judge_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2696-fe0f.png" title=":judge_tone4:" width="20px" /><br> judge_tone5 <img align="absmiddle" alt=":judge_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2696-fe0f.png" title=":judge_tone5:" width="20px" /><br> kaaba <img align="absmiddle" alt=":kaaba:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f54b.png" title=":kaaba:" width="20px" /><br> kangaroo <img align="absmiddle" alt=":kangaroo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f998.png" title=":kangaroo:" width="20px" /><br> key2 <img align="absmiddle" alt=":key2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5dd.png" title=":key2:" width="20px" /><br> key <img align="absmiddle" alt=":key:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f511.png" title=":key:" width="20px" /><br> keyboard <img align="absmiddle" alt=":keyboard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2328.png" title=":keyboard:" width="20px" /><br> keycap_ten <img align="absmiddle" alt=":keycap_ten:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51f.png" title=":keycap_ten:" width="20px" /><br> khanda <img align="absmiddle" alt=":khanda:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faaf.png" title=":khanda:" width="20px" /><br> kimono <img align="absmiddle" alt=":kimono:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f458.png" title=":kimono:" width="20px" /><br> kiss <img align="absmiddle" alt=":kiss:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48b.png" title=":kiss:" width="20px" /><br> kiss_man_man_tone1 <img align="absmiddle" alt=":kiss_man_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_man_man_tone1:" width="20px" /><br> kiss_man_man_tone1_tone2 <img align="absmiddle" alt=":kiss_man_man_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_man_man_tone1_tone2:" width="20px" /><br> kiss_man_man_tone1_tone3 <img align="absmiddle" alt=":kiss_man_man_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_man_man_tone1_tone3:" width="20px" /><br> kiss_man_man_tone1_tone4 <img align="absmiddle" alt=":kiss_man_man_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_man_man_tone1_tone4:" width="20px" /><br> kiss_man_man_tone1_tone5 <img align="absmiddle" alt=":kiss_man_man_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_man_man_tone1_tone5:" width="20px" /><br> kiss_man_man_tone2 <img align="absmiddle" alt=":kiss_man_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_man_man_tone2:" width="20px" /><br> kiss_man_man_tone2_tone1 <img align="absmiddle" alt=":kiss_man_man_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_man_man_tone2_tone1:" width="20px" /><br> kiss_man_man_tone2_tone3 <img align="absmiddle" alt=":kiss_man_man_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_man_man_tone2_tone3:" width="20px" /><br> kiss_man_man_tone2_tone4 <img align="absmiddle" alt=":kiss_man_man_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_man_man_tone2_tone4:" width="20px" /><br> kiss_man_man_tone2_tone5 <img align="absmiddle" alt=":kiss_man_man_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_man_man_tone2_tone5:" width="20px" /><br> kiss_man_man_tone3 <img align="absmiddle" alt=":kiss_man_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_man_man_tone3:" width="20px" /><br> kiss_man_man_tone3_tone1 <img align="absmiddle" alt=":kiss_man_man_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_man_man_tone3_tone1:" width="20px" /><br> kiss_man_man_tone3_tone2 <img align="absmiddle" alt=":kiss_man_man_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_man_man_tone3_tone2:" width="20px" /><br> kiss_man_man_tone3_tone4 <img align="absmiddle" alt=":kiss_man_man_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_man_man_tone3_tone4:" width="20px" /><br> kiss_man_man_tone3_tone5 <img align="absmiddle" alt=":kiss_man_man_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_man_man_tone3_tone5:" width="20px" /><br> kiss_man_man_tone4 <img align="absmiddle" alt=":kiss_man_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_man_man_tone4:" width="20px" /><br> kiss_man_man_tone4_tone1 <img align="absmiddle" alt=":kiss_man_man_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_man_man_tone4_tone1:" width="20px" /><br> kiss_man_man_tone4_tone2 <img align="absmiddle" alt=":kiss_man_man_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_man_man_tone4_tone2:" width="20px" /><br> kiss_man_man_tone4_tone3 <img align="absmiddle" alt=":kiss_man_man_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_man_man_tone4_tone3:" width="20px" /><br> kiss_man_man_tone4_tone5 <img align="absmiddle" alt=":kiss_man_man_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_man_man_tone4_tone5:" width="20px" /><br> kiss_man_man_tone5 <img align="absmiddle" alt=":kiss_man_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_man_man_tone5:" width="20px" /><br> kiss_man_man_tone5_tone1 <img align="absmiddle" alt=":kiss_man_man_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_man_man_tone5_tone1:" width="20px" /><br> kiss_man_man_tone5_tone2 <img align="absmiddle" alt=":kiss_man_man_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_man_man_tone5_tone2:" width="20px" /><br> kiss_man_man_tone5_tone3 <img align="absmiddle" alt=":kiss_man_man_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_man_man_tone5_tone3:" width="20px" /><br> kiss_man_man_tone5_tone4 <img align="absmiddle" alt=":kiss_man_man_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_man_man_tone5_tone4:" width="20px" /><br> kiss_mm <img align="absmiddle" alt=":kiss_mm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png" title=":kiss_mm:" width="20px" /><br> kiss_person_person_tone1_tone2 <img align="absmiddle" alt=":kiss_person_person_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png" title=":kiss_person_person_tone1_tone2:" width="20px" /><br> kiss_person_person_tone1_tone3 <img align="absmiddle" alt=":kiss_person_person_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png" title=":kiss_person_person_tone1_tone3:" width="20px" /><br> kiss_person_person_tone1_tone4 <img align="absmiddle" alt=":kiss_person_person_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png" title=":kiss_person_person_tone1_tone4:" width="20px" /><br> kiss_person_person_tone1_tone5 <img align="absmiddle" alt=":kiss_person_person_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png" title=":kiss_person_person_tone1_tone5:" width="20px" /><br> kiss_person_person_tone2_tone1 <img align="absmiddle" alt=":kiss_person_person_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png" title=":kiss_person_person_tone2_tone1:" width="20px" /><br> kiss_person_person_tone2_tone3 <img align="absmiddle" alt=":kiss_person_person_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png" title=":kiss_person_person_tone2_tone3:" width="20px" /><br> kiss_person_person_tone2_tone4 <img align="absmiddle" alt=":kiss_person_person_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png" title=":kiss_person_person_tone2_tone4:" width="20px" /><br> kiss_person_person_tone2_tone5 <img align="absmiddle" alt=":kiss_person_person_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png" title=":kiss_person_person_tone2_tone5:" width="20px" /><br> kiss_person_person_tone3_tone1 <img align="absmiddle" alt=":kiss_person_person_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png" title=":kiss_person_person_tone3_tone1:" width="20px" /><br> kiss_person_person_tone3_tone2 <img align="absmiddle" alt=":kiss_person_person_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png" title=":kiss_person_person_tone3_tone2:" width="20px" /><br> kiss_person_person_tone3_tone4 <img align="absmiddle" alt=":kiss_person_person_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png" title=":kiss_person_person_tone3_tone4:" width="20px" /><br> kiss_person_person_tone3_tone5 <img align="absmiddle" alt=":kiss_person_person_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png" title=":kiss_person_person_tone3_tone5:" width="20px" /><br> kiss_person_person_tone4_tone1 <img align="absmiddle" alt=":kiss_person_person_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png" title=":kiss_person_person_tone4_tone1:" width="20px" /><br> kiss_person_person_tone4_tone2 <img align="absmiddle" alt=":kiss_person_person_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png" title=":kiss_person_person_tone4_tone2:" width="20px" /><br> kiss_person_person_tone4_tone3 <img align="absmiddle" alt=":kiss_person_person_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png" title=":kiss_person_person_tone4_tone3:" width="20px" /><br> kiss_person_person_tone4_tone5 <img align="absmiddle" alt=":kiss_person_person_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png" title=":kiss_person_person_tone4_tone5:" width="20px" /><br> kiss_person_person_tone5_tone1 <img align="absmiddle" alt=":kiss_person_person_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png" title=":kiss_person_person_tone5_tone1:" width="20px" /><br> kiss_person_person_tone5_tone2 <img align="absmiddle" alt=":kiss_person_person_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png" title=":kiss_person_person_tone5_tone2:" width="20px" /><br> kiss_person_person_tone5_tone3 <img align="absmiddle" alt=":kiss_person_person_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png" title=":kiss_person_person_tone5_tone3:" width="20px" /><br> kiss_person_person_tone5_tone4 <img align="absmiddle" alt=":kiss_person_person_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png" title=":kiss_person_person_tone5_tone4:" width="20px" /><br> kiss_tone1 <img align="absmiddle" alt=":kiss_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f-1f3fb.png" title=":kiss_tone1:" width="20px" /><br> kiss_tone2 <img align="absmiddle" alt=":kiss_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f-1f3fc.png" title=":kiss_tone2:" width="20px" /><br> kiss_tone3 <img align="absmiddle" alt=":kiss_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f-1f3fd.png" title=":kiss_tone3:" width="20px" /><br> kiss_tone4 <img align="absmiddle" alt=":kiss_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f-1f3fe.png" title=":kiss_tone4:" width="20px" /><br> kiss_tone5 <img align="absmiddle" alt=":kiss_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48f-1f3ff.png" title=":kiss_tone5:" width="20px" /><br> kiss_woman_man <img align="absmiddle" alt=":kiss_woman_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.png" title=":kiss_woman_man:" width="20px" /><br> kiss_woman_man_tone1 <img align="absmiddle" alt=":kiss_woman_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_woman_man_tone1:" width="20px" /><br> kiss_woman_man_tone1_tone2 <img align="absmiddle" alt=":kiss_woman_man_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_woman_man_tone1_tone2:" width="20px" /><br> kiss_woman_man_tone1_tone3 <img align="absmiddle" alt=":kiss_woman_man_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_woman_man_tone1_tone3:" width="20px" /><br> kiss_woman_man_tone1_tone4 <img align="absmiddle" alt=":kiss_woman_man_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_woman_man_tone1_tone4:" width="20px" /><br> kiss_woman_man_tone1_tone5 <img align="absmiddle" alt=":kiss_woman_man_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_woman_man_tone1_tone5:" width="20px" /><br> kiss_woman_man_tone2 <img align="absmiddle" alt=":kiss_woman_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_woman_man_tone2:" width="20px" /><br> kiss_woman_man_tone2_tone1 <img align="absmiddle" alt=":kiss_woman_man_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_woman_man_tone2_tone1:" width="20px" /><br> kiss_woman_man_tone2_tone3 <img align="absmiddle" alt=":kiss_woman_man_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_woman_man_tone2_tone3:" width="20px" /><br> kiss_woman_man_tone2_tone4 <img align="absmiddle" alt=":kiss_woman_man_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_woman_man_tone2_tone4:" width="20px" /><br> kiss_woman_man_tone2_tone5 <img align="absmiddle" alt=":kiss_woman_man_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_woman_man_tone2_tone5:" width="20px" /><br> kiss_woman_man_tone3 <img align="absmiddle" alt=":kiss_woman_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_woman_man_tone3:" width="20px" /><br> kiss_woman_man_tone3_tone1 <img align="absmiddle" alt=":kiss_woman_man_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_woman_man_tone3_tone1:" width="20px" /><br> kiss_woman_man_tone3_tone2 <img align="absmiddle" alt=":kiss_woman_man_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_woman_man_tone3_tone2:" width="20px" /><br> kiss_woman_man_tone3_tone4 <img align="absmiddle" alt=":kiss_woman_man_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_woman_man_tone3_tone4:" width="20px" /><br> kiss_woman_man_tone3_tone5 <img align="absmiddle" alt=":kiss_woman_man_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_woman_man_tone3_tone5:" width="20px" /><br> kiss_woman_man_tone4 <img align="absmiddle" alt=":kiss_woman_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_woman_man_tone4:" width="20px" /><br> kiss_woman_man_tone4_tone1 <img align="absmiddle" alt=":kiss_woman_man_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_woman_man_tone4_tone1:" width="20px" /><br> kiss_woman_man_tone4_tone2 <img align="absmiddle" alt=":kiss_woman_man_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_woman_man_tone4_tone2:" width="20px" /><br> kiss_woman_man_tone4_tone3 <img align="absmiddle" alt=":kiss_woman_man_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_woman_man_tone4_tone3:" width="20px" /><br> kiss_woman_man_tone4_tone5 <img align="absmiddle" alt=":kiss_woman_man_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_woman_man_tone4_tone5:" width="20px" /><br> kiss_woman_man_tone5 <img align="absmiddle" alt=":kiss_woman_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png" title=":kiss_woman_man_tone5:" width="20px" /><br> kiss_woman_man_tone5_tone1 <img align="absmiddle" alt=":kiss_woman_man_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png" title=":kiss_woman_man_tone5_tone1:" width="20px" /><br> kiss_woman_man_tone5_tone2 <img align="absmiddle" alt=":kiss_woman_man_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png" title=":kiss_woman_man_tone5_tone2:" width="20px" /><br> kiss_woman_man_tone5_tone3 <img align="absmiddle" alt=":kiss_woman_man_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png" title=":kiss_woman_man_tone5_tone3:" width="20px" /><br> kiss_woman_man_tone5_tone4 <img align="absmiddle" alt=":kiss_woman_man_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png" title=":kiss_woman_man_tone5_tone4:" width="20px" /><br> kiss_woman_woman_tone1 <img align="absmiddle" alt=":kiss_woman_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png" title=":kiss_woman_woman_tone1:" width="20px" /><br> kiss_woman_woman_tone1_tone2 <img align="absmiddle" alt=":kiss_woman_woman_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png" title=":kiss_woman_woman_tone1_tone2:" width="20px" /><br> kiss_woman_woman_tone1_tone3 <img align="absmiddle" alt=":kiss_woman_woman_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png" title=":kiss_woman_woman_tone1_tone3:" width="20px" /><br> kiss_woman_woman_tone1_tone4 <img align="absmiddle" alt=":kiss_woman_woman_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png" title=":kiss_woman_woman_tone1_tone4:" width="20px" /><br> kiss_woman_woman_tone1_tone5 <img align="absmiddle" alt=":kiss_woman_woman_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png" title=":kiss_woman_woman_tone1_tone5:" width="20px" /><br> kiss_woman_woman_tone2 <img align="absmiddle" alt=":kiss_woman_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png" title=":kiss_woman_woman_tone2:" width="20px" /><br> kiss_woman_woman_tone2_tone1 <img align="absmiddle" alt=":kiss_woman_woman_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png" title=":kiss_woman_woman_tone2_tone1:" width="20px" /><br> kiss_woman_woman_tone2_tone3 <img align="absmiddle" alt=":kiss_woman_woman_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png" title=":kiss_woman_woman_tone2_tone3:" width="20px" /><br> kiss_woman_woman_tone2_tone4 <img align="absmiddle" alt=":kiss_woman_woman_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png" title=":kiss_woman_woman_tone2_tone4:" width="20px" /><br> kiss_woman_woman_tone2_tone5 <img align="absmiddle" alt=":kiss_woman_woman_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png" title=":kiss_woman_woman_tone2_tone5:" width="20px" /><br> kiss_woman_woman_tone3 <img align="absmiddle" alt=":kiss_woman_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png" title=":kiss_woman_woman_tone3:" width="20px" /><br> kiss_woman_woman_tone3_tone1 <img align="absmiddle" alt=":kiss_woman_woman_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png" title=":kiss_woman_woman_tone3_tone1:" width="20px" /><br> kiss_woman_woman_tone3_tone2 <img align="absmiddle" alt=":kiss_woman_woman_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png" title=":kiss_woman_woman_tone3_tone2:" width="20px" /><br> kiss_woman_woman_tone3_tone4 <img align="absmiddle" alt=":kiss_woman_woman_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png" title=":kiss_woman_woman_tone3_tone4:" width="20px" /><br> kiss_woman_woman_tone3_tone5 <img align="absmiddle" alt=":kiss_woman_woman_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png" title=":kiss_woman_woman_tone3_tone5:" width="20px" /><br> kiss_woman_woman_tone4 <img align="absmiddle" alt=":kiss_woman_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png" title=":kiss_woman_woman_tone4:" width="20px" /><br> kiss_woman_woman_tone4_tone1 <img align="absmiddle" alt=":kiss_woman_woman_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png" title=":kiss_woman_woman_tone4_tone1:" width="20px" /><br> kiss_woman_woman_tone4_tone2 <img align="absmiddle" alt=":kiss_woman_woman_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png" title=":kiss_woman_woman_tone4_tone2:" width="20px" /><br> kiss_woman_woman_tone4_tone3 <img align="absmiddle" alt=":kiss_woman_woman_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png" title=":kiss_woman_woman_tone4_tone3:" width="20px" /><br> kiss_woman_woman_tone4_tone5 <img align="absmiddle" alt=":kiss_woman_woman_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png" title=":kiss_woman_woman_tone4_tone5:" width="20px" /><br> kiss_woman_woman_tone5 <img align="absmiddle" alt=":kiss_woman_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png" title=":kiss_woman_woman_tone5:" width="20px" /><br> kiss_woman_woman_tone5_tone1 <img align="absmiddle" alt=":kiss_woman_woman_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png" title=":kiss_woman_woman_tone5_tone1:" width="20px" /><br> kiss_woman_woman_tone5_tone2 <img align="absmiddle" alt=":kiss_woman_woman_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png" title=":kiss_woman_woman_tone5_tone2:" width="20px" /><br> kiss_woman_woman_tone5_tone3 <img align="absmiddle" alt=":kiss_woman_woman_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png" title=":kiss_woman_woman_tone5_tone3:" width="20px" /><br> kiss_woman_woman_tone5_tone4 <img align="absmiddle" alt=":kiss_woman_woman_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png" title=":kiss_woman_woman_tone5_tone4:" width="20px" /><br> kiss_ww <img align="absmiddle" alt=":kiss_ww:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png" title=":kiss_ww:" width="20px" /><br> kissing <img align="absmiddle" alt=":kissing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f617.png" title=":kissing:" width="20px" /><br> kissing_cat <img align="absmiddle" alt=":kissing_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63d.png" title=":kissing_cat:" width="20px" /><br> kissing_closed_eyes <img align="absmiddle" alt=":kissing_closed_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61a.png" title=":kissing_closed_eyes:" width="20px" /><br> kissing_heart <img align="absmiddle" alt=":kissing_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f618.png" title=":kissing_heart:" width="20px" /><br> kissing_smiling_eyes <img align="absmiddle" alt=":kissing_smiling_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f619.png" title=":kissing_smiling_eyes:" width="20px" /><br> kite <img align="absmiddle" alt=":kite:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa81.png" title=":kite:" width="20px" /><br> kiwi <img align="absmiddle" alt=":kiwi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95d.png" title=":kiwi:" width="20px" /><br> knife <img align="absmiddle" alt=":knife:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52a.png" title=":knife:" width="20px" /><br> knot <img align="absmiddle" alt=":knot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa2.png" title=":knot:" width="20px" /><br> koala <img align="absmiddle" alt=":koala:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f428.png" title=":koala:" width="20px" /><br> koko <img align="absmiddle" alt=":koko:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f201.png" title=":koko:" width="20px" /><br> lab_coat <img align="absmiddle" alt=":lab_coat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97c.png" title=":lab_coat:" width="20px" /><br> label <img align="absmiddle" alt=":label:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f7.png" title=":label:" width="20px" /><br> lacrosse <img align="absmiddle" alt=":lacrosse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94d.png" title=":lacrosse:" width="20px" /><br> ladder <img align="absmiddle" alt=":ladder:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9c.png" title=":ladder:" width="20px" /><br> lady_beetle <img align="absmiddle" alt=":lady_beetle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41e.png" title=":lady_beetle:" width="20px" /><br> large_blue_diamond <img align="absmiddle" alt=":large_blue_diamond:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f537.png" title=":large_blue_diamond:" width="20px" /><br> large_orange_diamond <img align="absmiddle" alt=":large_orange_diamond:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f536.png" title=":large_orange_diamond:" width="20px" /><br> last_quarter_moon <img align="absmiddle" alt=":last_quarter_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f317.png" title=":last_quarter_moon:" width="20px" /><br> last_quarter_moon_with_face <img align="absmiddle" alt=":last_quarter_moon_with_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31c.png" title=":last_quarter_moon_with_face:" width="20px" /><br> laughing <img align="absmiddle" alt=":laughing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f606.png" title=":laughing:" width="20px" /><br> leafy_green <img align="absmiddle" alt=":leafy_green:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96c.png" title=":leafy_green:" width="20px" /><br> leaves <img align="absmiddle" alt=":leaves:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f343.png" title=":leaves:" width="20px" /><br> ledger <img align="absmiddle" alt=":ledger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d2.png" title=":ledger:" width="20px" /><br> left_facing_fist <img align="absmiddle" alt=":left_facing_fist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b.png" title=":left_facing_fist:" width="20px" /><br> left_facing_fist_tone1 <img align="absmiddle" alt=":left_facing_fist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b-1f3fb.png" title=":left_facing_fist_tone1:" width="20px" /><br> left_facing_fist_tone2 <img align="absmiddle" alt=":left_facing_fist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b-1f3fc.png" title=":left_facing_fist_tone2:" width="20px" /><br> left_facing_fist_tone3 <img align="absmiddle" alt=":left_facing_fist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b-1f3fd.png" title=":left_facing_fist_tone3:" width="20px" /><br> left_facing_fist_tone4 <img align="absmiddle" alt=":left_facing_fist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b-1f3fe.png" title=":left_facing_fist_tone4:" width="20px" /><br> left_facing_fist_tone5 <img align="absmiddle" alt=":left_facing_fist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91b-1f3ff.png" title=":left_facing_fist_tone5:" width="20px" /><br> left_luggage <img align="absmiddle" alt=":left_luggage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c5.png" title=":left_luggage:" width="20px" /><br> left_right_arrow <img align="absmiddle" alt=":left_right_arrow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2194.png" title=":left_right_arrow:" width="20px" /><br> leftwards_arrow_with_hook <img align="absmiddle" alt=":leftwards_arrow_with_hook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/21a9.png" title=":leftwards_arrow_with_hook:" width="20px" /><br> leftwards_hand <img align="absmiddle" alt=":leftwards_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2.png" title=":leftwards_hand:" width="20px" /><br> leftwards_hand_tone1 <img align="absmiddle" alt=":leftwards_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2-1f3fb.png" title=":leftwards_hand_tone1:" width="20px" /><br> leftwards_hand_tone2 <img align="absmiddle" alt=":leftwards_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2-1f3fc.png" title=":leftwards_hand_tone2:" width="20px" /><br> leftwards_hand_tone3 <img align="absmiddle" alt=":leftwards_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2-1f3fd.png" title=":leftwards_hand_tone3:" width="20px" /><br> leftwards_hand_tone4 <img align="absmiddle" alt=":leftwards_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2-1f3fe.png" title=":leftwards_hand_tone4:" width="20px" /><br> leftwards_hand_tone5 <img align="absmiddle" alt=":leftwards_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf2-1f3ff.png" title=":leftwards_hand_tone5:" width="20px" /><br> leftwards_pushing_hand <img align="absmiddle" alt=":leftwards_pushing_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7.png" title=":leftwards_pushing_hand:" width="20px" /><br> leftwards_pushing_hand_tone1 <img align="absmiddle" alt=":leftwards_pushing_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7-1f3fb.png" title=":leftwards_pushing_hand_tone1:" width="20px" /><br> leftwards_pushing_hand_tone2 <img align="absmiddle" alt=":leftwards_pushing_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7-1f3fc.png" title=":leftwards_pushing_hand_tone2:" width="20px" /><br> leftwards_pushing_hand_tone3 <img align="absmiddle" alt=":leftwards_pushing_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7-1f3fd.png" title=":leftwards_pushing_hand_tone3:" width="20px" /><br> leftwards_pushing_hand_tone4 <img align="absmiddle" alt=":leftwards_pushing_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7-1f3fe.png" title=":leftwards_pushing_hand_tone4:" width="20px" /><br> leftwards_pushing_hand_tone5 <img align="absmiddle" alt=":leftwards_pushing_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf7-1f3ff.png" title=":leftwards_pushing_hand_tone5:" width="20px" /><br> leg <img align="absmiddle" alt=":leg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5.png" title=":leg:" width="20px" /><br> leg_tone1 <img align="absmiddle" alt=":leg_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5-1f3fb.png" title=":leg_tone1:" width="20px" /><br> leg_tone2 <img align="absmiddle" alt=":leg_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5-1f3fc.png" title=":leg_tone2:" width="20px" /><br> leg_tone3 <img align="absmiddle" alt=":leg_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5-1f3fd.png" title=":leg_tone3:" width="20px" /><br> leg_tone4 <img align="absmiddle" alt=":leg_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5-1f3fe.png" title=":leg_tone4:" width="20px" /><br> leg_tone5 <img align="absmiddle" alt=":leg_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b5-1f3ff.png" title=":leg_tone5:" width="20px" /><br> lemon <img align="absmiddle" alt=":lemon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34b.png" title=":lemon:" width="20px" /><br> leo <img align="absmiddle" alt=":leo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264c.png" title=":leo:" width="20px" /><br> leopard <img align="absmiddle" alt=":leopard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f406.png" title=":leopard:" width="20px" /><br> level_slider <img align="absmiddle" alt=":level_slider:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f39a.png" title=":level_slider:" width="20px" /><br> levitate <img align="absmiddle" alt=":levitate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574.png" title=":levitate:" width="20px" /><br> levitate_tone1 <img align="absmiddle" alt=":levitate_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fb.png" title=":levitate_tone1:" width="20px" /><br> levitate_tone2 <img align="absmiddle" alt=":levitate_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fc.png" title=":levitate_tone2:" width="20px" /><br> levitate_tone3 <img align="absmiddle" alt=":levitate_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fd.png" title=":levitate_tone3:" width="20px" /><br> levitate_tone4 <img align="absmiddle" alt=":levitate_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fe.png" title=":levitate_tone4:" width="20px" /><br> levitate_tone5 <img align="absmiddle" alt=":levitate_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3ff.png" title=":levitate_tone5:" width="20px" /><br> libra <img align="absmiddle" alt=":libra:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264e.png" title=":libra:" width="20px" /><br> light_blue_heart <img align="absmiddle" alt=":light_blue_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa75.png" title=":light_blue_heart:" width="20px" /><br> light_rail <img align="absmiddle" alt=":light_rail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f688.png" title=":light_rail:" width="20px" /><br> link <img align="absmiddle" alt=":link:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f517.png" title=":link:" width="20px" /><br> lion_face <img align="absmiddle" alt=":lion_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f981.png" title=":lion_face:" width="20px" /><br> lips <img align="absmiddle" alt=":lips:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f444.png" title=":lips:" width="20px" /><br> lipstick <img align="absmiddle" alt=":lipstick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f484.png" title=":lipstick:" width="20px" /><br> lizard <img align="absmiddle" alt=":lizard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98e.png" title=":lizard:" width="20px" /><br> llama <img align="absmiddle" alt=":llama:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f999.png" title=":llama:" width="20px" /><br> lobster <img align="absmiddle" alt=":lobster:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99e.png" title=":lobster:" width="20px" /><br> lock <img align="absmiddle" alt=":lock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f512.png" title=":lock:" width="20px" /><br> lock_with_ink_pen <img align="absmiddle" alt=":lock_with_ink_pen:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50f.png" title=":lock_with_ink_pen:" width="20px" /><br> lollipop <img align="absmiddle" alt=":lollipop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f36d.png" title=":lollipop:" width="20px" /><br> long_drum <img align="absmiddle" alt=":long_drum:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa98.png" title=":long_drum:" width="20px" /><br> loop <img align="absmiddle" alt=":loop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/27bf.png" title=":loop:" width="20px" /><br> lotus <img align="absmiddle" alt=":lotus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab7.png" title=":lotus:" width="20px" /><br> loud_sound <img align="absmiddle" alt=":loud_sound:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50a.png" title=":loud_sound:" width="20px" /><br> loudspeaker <img align="absmiddle" alt=":loudspeaker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e2.png" title=":loudspeaker:" width="20px" /><br> love_hotel <img align="absmiddle" alt=":love_hotel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e9.png" title=":love_hotel:" width="20px" /><br> love_letter <img align="absmiddle" alt=":love_letter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48c.png" title=":love_letter:" width="20px" /><br> love_you_gesture <img align="absmiddle" alt=":love_you_gesture:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f.png" title=":love_you_gesture:" width="20px" /><br> love_you_gesture_tone1 <img align="absmiddle" alt=":love_you_gesture_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f-1f3fb.png" title=":love_you_gesture_tone1:" width="20px" /><br> love_you_gesture_tone2 <img align="absmiddle" alt=":love_you_gesture_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f-1f3fc.png" title=":love_you_gesture_tone2:" width="20px" /><br> love_you_gesture_tone3 <img align="absmiddle" alt=":love_you_gesture_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f-1f3fd.png" title=":love_you_gesture_tone3:" width="20px" /><br> love_you_gesture_tone4 <img align="absmiddle" alt=":love_you_gesture_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f-1f3fe.png" title=":love_you_gesture_tone4:" width="20px" /><br> love_you_gesture_tone5 <img align="absmiddle" alt=":love_you_gesture_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91f-1f3ff.png" title=":love_you_gesture_tone5:" width="20px" /><br> low_battery <img align="absmiddle" alt=":low_battery:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faab.png" title=":low_battery:" width="20px" /><br> low_brightness <img align="absmiddle" alt=":low_brightness:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f505.png" title=":low_brightness:" width="20px" /><br> luggage <img align="absmiddle" alt=":luggage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f3.png" title=":luggage:" width="20px" /><br> lungs <img align="absmiddle" alt=":lungs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac1.png" title=":lungs:" width="20px" /><br> lying_face <img align="absmiddle" alt=":lying_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f925.png" title=":lying_face:" width="20px" /><br> m <img align="absmiddle" alt=":m:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/24c2.png" title=":m:" width="20px" /><br> mag <img align="absmiddle" alt=":mag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50d.png" title=":mag:" width="20px" /><br> mag_right <img align="absmiddle" alt=":mag_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f50e.png" title=":mag_right:" width="20px" /><br> mage <img align="absmiddle" alt=":mage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9.png" title=":mage:" width="20px" /><br> mage_tone1 <img align="absmiddle" alt=":mage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fb.png" title=":mage_tone1:" width="20px" /><br> mage_tone2 <img align="absmiddle" alt=":mage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fc.png" title=":mage_tone2:" width="20px" /><br> mage_tone3 <img align="absmiddle" alt=":mage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fd.png" title=":mage_tone3:" width="20px" /><br> mage_tone4 <img align="absmiddle" alt=":mage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fe.png" title=":mage_tone4:" width="20px" /><br> mage_tone5 <img align="absmiddle" alt=":mage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3ff.png" title=":mage_tone5:" width="20px" /><br> magic_wand <img align="absmiddle" alt=":magic_wand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa84.png" title=":magic_wand:" width="20px" /><br> magnet <img align="absmiddle" alt=":magnet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f2.png" title=":magnet:" width="20px" /><br> mahjong <img align="absmiddle" alt=":mahjong:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f004.png" title=":mahjong:" width="20px" /><br> mailbox <img align="absmiddle" alt=":mailbox:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4eb.png" title=":mailbox:" width="20px" /><br> mailbox_closed <img align="absmiddle" alt=":mailbox_closed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ea.png" title=":mailbox_closed:" width="20px" /><br> mailbox_with_mail <img align="absmiddle" alt=":mailbox_with_mail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ec.png" title=":mailbox_with_mail:" width="20px" /><br> mailbox_with_no_mail <img align="absmiddle" alt=":mailbox_with_no_mail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ed.png" title=":mailbox_with_no_mail:" width="20px" /><br> male_sign <img align="absmiddle" alt=":male_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2642.png" title=":male_sign:" width="20px" /><br> mammoth <img align="absmiddle" alt=":mammoth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a3.png" title=":mammoth:" width="20px" /><br> man <img align="absmiddle" alt=":man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468.png" title=":man:" width="20px" /><br> man_artist <img align="absmiddle" alt=":man_artist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f3a8.png" title=":man_artist:" width="20px" /><br> man_artist_tone1 <img align="absmiddle" alt=":man_artist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f3a8.png" title=":man_artist_tone1:" width="20px" /><br> man_artist_tone2 <img align="absmiddle" alt=":man_artist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f3a8.png" title=":man_artist_tone2:" width="20px" /><br> man_artist_tone3 <img align="absmiddle" alt=":man_artist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f3a8.png" title=":man_artist_tone3:" width="20px" /><br> man_artist_tone4 <img align="absmiddle" alt=":man_artist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f3a8.png" title=":man_artist_tone4:" width="20px" /><br> man_artist_tone5 <img align="absmiddle" alt=":man_artist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f3a8.png" title=":man_artist_tone5:" width="20px" /><br> man_astronaut <img align="absmiddle" alt=":man_astronaut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f680.png" title=":man_astronaut:" width="20px" /><br> man_astronaut_tone1 <img align="absmiddle" alt=":man_astronaut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f680.png" title=":man_astronaut_tone1:" width="20px" /><br> man_astronaut_tone2 <img align="absmiddle" alt=":man_astronaut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f680.png" title=":man_astronaut_tone2:" width="20px" /><br> man_astronaut_tone3 <img align="absmiddle" alt=":man_astronaut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f680.png" title=":man_astronaut_tone3:" width="20px" /><br> man_astronaut_tone4 <img align="absmiddle" alt=":man_astronaut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f680.png" title=":man_astronaut_tone4:" width="20px" /><br> man_astronaut_tone5 <img align="absmiddle" alt=":man_astronaut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f680.png" title=":man_astronaut_tone5:" width="20px" /><br> man_bald <img align="absmiddle" alt=":man_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9b2.png" title=":man_bald:" width="20px" /><br> man_bald_tone1 <img align="absmiddle" alt=":man_bald_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9b2.png" title=":man_bald_tone1:" width="20px" /><br> man_bald_tone2 <img align="absmiddle" alt=":man_bald_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9b2.png" title=":man_bald_tone2:" width="20px" /><br> man_bald_tone3 <img align="absmiddle" alt=":man_bald_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9b2.png" title=":man_bald_tone3:" width="20px" /><br> man_bald_tone4 <img align="absmiddle" alt=":man_bald_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9b2.png" title=":man_bald_tone4:" width="20px" /><br> man_bald_tone5 <img align="absmiddle" alt=":man_bald_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9b2.png" title=":man_bald_tone5:" width="20px" /><br> man_beard <img align="absmiddle" alt=":man_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-200d-2642-fe0f.png" title=":man_beard:" width="20px" /><br> man_biking <img align="absmiddle" alt=":man_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-200d-2642-fe0f.png" title=":man_biking:" width="20px" /><br> man_biking_tone1 <img align="absmiddle" alt=":man_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fb-200d-2642-fe0f.png" title=":man_biking_tone1:" width="20px" /><br> man_biking_tone2 <img align="absmiddle" alt=":man_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fc-200d-2642-fe0f.png" title=":man_biking_tone2:" width="20px" /><br> man_biking_tone3 <img align="absmiddle" alt=":man_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fd-200d-2642-fe0f.png" title=":man_biking_tone3:" width="20px" /><br> man_biking_tone4 <img align="absmiddle" alt=":man_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fe-200d-2642-fe0f.png" title=":man_biking_tone4:" width="20px" /><br> man_biking_tone5 <img align="absmiddle" alt=":man_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3ff-200d-2642-fe0f.png" title=":man_biking_tone5:" width="20px" /><br> man_bouncing_ball <img align="absmiddle" alt=":man_bouncing_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-fe0f-200d-2642-fe0f.png" title=":man_bouncing_ball:" width="20px" /><br> man_bouncing_ball_tone1 <img align="absmiddle" alt=":man_bouncing_ball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fb-200d-2642-fe0f.png" title=":man_bouncing_ball_tone1:" width="20px" /><br> man_bouncing_ball_tone2 <img align="absmiddle" alt=":man_bouncing_ball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fc-200d-2642-fe0f.png" title=":man_bouncing_ball_tone2:" width="20px" /><br> man_bouncing_ball_tone3 <img align="absmiddle" alt=":man_bouncing_ball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fd-200d-2642-fe0f.png" title=":man_bouncing_ball_tone3:" width="20px" /><br> man_bouncing_ball_tone4 <img align="absmiddle" alt=":man_bouncing_ball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fe-200d-2642-fe0f.png" title=":man_bouncing_ball_tone4:" width="20px" /><br> man_bouncing_ball_tone5 <img align="absmiddle" alt=":man_bouncing_ball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3ff-200d-2642-fe0f.png" title=":man_bouncing_ball_tone5:" width="20px" /><br> man_bowing <img align="absmiddle" alt=":man_bowing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-200d-2642-fe0f.png" title=":man_bowing:" width="20px" /><br> man_bowing_tone1 <img align="absmiddle" alt=":man_bowing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fb-200d-2642-fe0f.png" title=":man_bowing_tone1:" width="20px" /><br> man_bowing_tone2 <img align="absmiddle" alt=":man_bowing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fc-200d-2642-fe0f.png" title=":man_bowing_tone2:" width="20px" /><br> man_bowing_tone3 <img align="absmiddle" alt=":man_bowing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fd-200d-2642-fe0f.png" title=":man_bowing_tone3:" width="20px" /><br> man_bowing_tone4 <img align="absmiddle" alt=":man_bowing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fe-200d-2642-fe0f.png" title=":man_bowing_tone4:" width="20px" /><br> man_bowing_tone5 <img align="absmiddle" alt=":man_bowing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3ff-200d-2642-fe0f.png" title=":man_bowing_tone5:" width="20px" /><br> man_cartwheeling <img align="absmiddle" alt=":man_cartwheeling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-200d-2642-fe0f.png" title=":man_cartwheeling:" width="20px" /><br> man_cartwheeling_tone1 <img align="absmiddle" alt=":man_cartwheeling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fb-200d-2642-fe0f.png" title=":man_cartwheeling_tone1:" width="20px" /><br> man_cartwheeling_tone2 <img align="absmiddle" alt=":man_cartwheeling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fc-200d-2642-fe0f.png" title=":man_cartwheeling_tone2:" width="20px" /><br> man_cartwheeling_tone3 <img align="absmiddle" alt=":man_cartwheeling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fd-200d-2642-fe0f.png" title=":man_cartwheeling_tone3:" width="20px" /><br> man_cartwheeling_tone4 <img align="absmiddle" alt=":man_cartwheeling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fe-200d-2642-fe0f.png" title=":man_cartwheeling_tone4:" width="20px" /><br> man_cartwheeling_tone5 <img align="absmiddle" alt=":man_cartwheeling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3ff-200d-2642-fe0f.png" title=":man_cartwheeling_tone5:" width="20px" /><br> man_climbing <img align="absmiddle" alt=":man_climbing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-200d-2642-fe0f.png" title=":man_climbing:" width="20px" /><br> man_climbing_tone1 <img align="absmiddle" alt=":man_climbing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fb-200d-2642-fe0f.png" title=":man_climbing_tone1:" width="20px" /><br> man_climbing_tone2 <img align="absmiddle" alt=":man_climbing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fc-200d-2642-fe0f.png" title=":man_climbing_tone2:" width="20px" /><br> man_climbing_tone3 <img align="absmiddle" alt=":man_climbing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fd-200d-2642-fe0f.png" title=":man_climbing_tone3:" width="20px" /><br> man_climbing_tone4 <img align="absmiddle" alt=":man_climbing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fe-200d-2642-fe0f.png" title=":man_climbing_tone4:" width="20px" /><br> man_climbing_tone5 <img align="absmiddle" alt=":man_climbing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3ff-200d-2642-fe0f.png" title=":man_climbing_tone5:" width="20px" /><br> man_construction_worker <img align="absmiddle" alt=":man_construction_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-200d-2642-fe0f.png" title=":man_construction_worker:" width="20px" /><br> man_construction_worker_tone1 <img align="absmiddle" alt=":man_construction_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fb-200d-2642-fe0f.png" title=":man_construction_worker_tone1:" width="20px" /><br> man_construction_worker_tone2 <img align="absmiddle" alt=":man_construction_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fc-200d-2642-fe0f.png" title=":man_construction_worker_tone2:" width="20px" /><br> man_construction_worker_tone3 <img align="absmiddle" alt=":man_construction_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fd-200d-2642-fe0f.png" title=":man_construction_worker_tone3:" width="20px" /><br> man_construction_worker_tone4 <img align="absmiddle" alt=":man_construction_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fe-200d-2642-fe0f.png" title=":man_construction_worker_tone4:" width="20px" /><br> man_construction_worker_tone5 <img align="absmiddle" alt=":man_construction_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3ff-200d-2642-fe0f.png" title=":man_construction_worker_tone5:" width="20px" /><br> man_cook <img align="absmiddle" alt=":man_cook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f373.png" title=":man_cook:" width="20px" /><br> man_cook_tone1 <img align="absmiddle" alt=":man_cook_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f373.png" title=":man_cook_tone1:" width="20px" /><br> man_cook_tone2 <img align="absmiddle" alt=":man_cook_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f373.png" title=":man_cook_tone2:" width="20px" /><br> man_cook_tone3 <img align="absmiddle" alt=":man_cook_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f373.png" title=":man_cook_tone3:" width="20px" /><br> man_cook_tone4 <img align="absmiddle" alt=":man_cook_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f373.png" title=":man_cook_tone4:" width="20px" /><br> man_cook_tone5 <img align="absmiddle" alt=":man_cook_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f373.png" title=":man_cook_tone5:" width="20px" /><br> man_curly_haired <img align="absmiddle" alt=":man_curly_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9b1.png" title=":man_curly_haired:" width="20px" /><br> man_curly_haired_tone1 <img align="absmiddle" alt=":man_curly_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9b1.png" title=":man_curly_haired_tone1:" width="20px" /><br> man_curly_haired_tone2 <img align="absmiddle" alt=":man_curly_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9b1.png" title=":man_curly_haired_tone2:" width="20px" /><br> man_curly_haired_tone3 <img align="absmiddle" alt=":man_curly_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9b1.png" title=":man_curly_haired_tone3:" width="20px" /><br> man_curly_haired_tone4 <img align="absmiddle" alt=":man_curly_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9b1.png" title=":man_curly_haired_tone4:" width="20px" /><br> man_curly_haired_tone5 <img align="absmiddle" alt=":man_curly_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9b1.png" title=":man_curly_haired_tone5:" width="20px" /><br> man_dancing <img align="absmiddle" alt=":man_dancing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a.png" title=":man_dancing:" width="20px" /><br> man_dancing_tone1 <img align="absmiddle" alt=":man_dancing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a-1f3fb.png" title=":man_dancing_tone1:" width="20px" /><br> man_dancing_tone2 <img align="absmiddle" alt=":man_dancing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a-1f3fc.png" title=":man_dancing_tone2:" width="20px" /><br> man_dancing_tone3 <img align="absmiddle" alt=":man_dancing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a-1f3fd.png" title=":man_dancing_tone3:" width="20px" /><br> man_dancing_tone4 <img align="absmiddle" alt=":man_dancing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a-1f3fe.png" title=":man_dancing_tone4:" width="20px" /><br> man_dancing_tone5 <img align="absmiddle" alt=":man_dancing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f57a-1f3ff.png" title=":man_dancing_tone5:" width="20px" /><br> man_detective <img align="absmiddle" alt=":man_detective:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-fe0f-200d-2642-fe0f.png" title=":man_detective:" width="20px" /><br> man_detective_tone1 <img align="absmiddle" alt=":man_detective_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fb-200d-2642-fe0f.png" title=":man_detective_tone1:" width="20px" /><br> man_detective_tone2 <img align="absmiddle" alt=":man_detective_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fc-200d-2642-fe0f.png" title=":man_detective_tone2:" width="20px" /><br> man_detective_tone3 <img align="absmiddle" alt=":man_detective_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fd-200d-2642-fe0f.png" title=":man_detective_tone3:" width="20px" /><br> man_detective_tone4 <img align="absmiddle" alt=":man_detective_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fe-200d-2642-fe0f.png" title=":man_detective_tone4:" width="20px" /><br> man_detective_tone5 <img align="absmiddle" alt=":man_detective_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3ff-200d-2642-fe0f.png" title=":man_detective_tone5:" width="20px" /><br> man_elf <img align="absmiddle" alt=":man_elf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-200d-2642-fe0f.png" title=":man_elf:" width="20px" /><br> man_elf_tone1 <img align="absmiddle" alt=":man_elf_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fb-200d-2642-fe0f.png" title=":man_elf_tone1:" width="20px" /><br> man_elf_tone2 <img align="absmiddle" alt=":man_elf_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fc-200d-2642-fe0f.png" title=":man_elf_tone2:" width="20px" /><br> man_elf_tone3 <img align="absmiddle" alt=":man_elf_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fd-200d-2642-fe0f.png" title=":man_elf_tone3:" width="20px" /><br> man_elf_tone4 <img align="absmiddle" alt=":man_elf_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fe-200d-2642-fe0f.png" title=":man_elf_tone4:" width="20px" /><br> man_elf_tone5 <img align="absmiddle" alt=":man_elf_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3ff-200d-2642-fe0f.png" title=":man_elf_tone5:" width="20px" /><br> man_facepalming <img align="absmiddle" alt=":man_facepalming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-200d-2642-fe0f.png" title=":man_facepalming:" width="20px" /><br> man_facepalming_tone1 <img align="absmiddle" alt=":man_facepalming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fb-200d-2642-fe0f.png" title=":man_facepalming_tone1:" width="20px" /><br> man_facepalming_tone2 <img align="absmiddle" alt=":man_facepalming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fc-200d-2642-fe0f.png" title=":man_facepalming_tone2:" width="20px" /><br> man_facepalming_tone3 <img align="absmiddle" alt=":man_facepalming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fd-200d-2642-fe0f.png" title=":man_facepalming_tone3:" width="20px" /><br> man_facepalming_tone4 <img align="absmiddle" alt=":man_facepalming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fe-200d-2642-fe0f.png" title=":man_facepalming_tone4:" width="20px" /><br> man_facepalming_tone5 <img align="absmiddle" alt=":man_facepalming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3ff-200d-2642-fe0f.png" title=":man_facepalming_tone5:" width="20px" /><br> man_factory_worker <img align="absmiddle" alt=":man_factory_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f3ed.png" title=":man_factory_worker:" width="20px" /><br> man_factory_worker_tone1 <img align="absmiddle" alt=":man_factory_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f3ed.png" title=":man_factory_worker_tone1:" width="20px" /><br> man_factory_worker_tone2 <img align="absmiddle" alt=":man_factory_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f3ed.png" title=":man_factory_worker_tone2:" width="20px" /><br> man_factory_worker_tone3 <img align="absmiddle" alt=":man_factory_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f3ed.png" title=":man_factory_worker_tone3:" width="20px" /><br> man_factory_worker_tone4 <img align="absmiddle" alt=":man_factory_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f3ed.png" title=":man_factory_worker_tone4:" width="20px" /><br> man_factory_worker_tone5 <img align="absmiddle" alt=":man_factory_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f3ed.png" title=":man_factory_worker_tone5:" width="20px" /><br> man_fairy <img align="absmiddle" alt=":man_fairy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-200d-2642-fe0f.png" title=":man_fairy:" width="20px" /><br> man_fairy_tone1 <img align="absmiddle" alt=":man_fairy_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fb-200d-2642-fe0f.png" title=":man_fairy_tone1:" width="20px" /><br> man_fairy_tone2 <img align="absmiddle" alt=":man_fairy_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fc-200d-2642-fe0f.png" title=":man_fairy_tone2:" width="20px" /><br> man_fairy_tone3 <img align="absmiddle" alt=":man_fairy_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fd-200d-2642-fe0f.png" title=":man_fairy_tone3:" width="20px" /><br> man_fairy_tone4 <img align="absmiddle" alt=":man_fairy_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fe-200d-2642-fe0f.png" title=":man_fairy_tone4:" width="20px" /><br> man_fairy_tone5 <img align="absmiddle" alt=":man_fairy_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3ff-200d-2642-fe0f.png" title=":man_fairy_tone5:" width="20px" /><br> man_farmer <img align="absmiddle" alt=":man_farmer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f33e.png" title=":man_farmer:" width="20px" /><br> man_farmer_tone1 <img align="absmiddle" alt=":man_farmer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f33e.png" title=":man_farmer_tone1:" width="20px" /><br> man_farmer_tone2 <img align="absmiddle" alt=":man_farmer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f33e.png" title=":man_farmer_tone2:" width="20px" /><br> man_farmer_tone3 <img align="absmiddle" alt=":man_farmer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f33e.png" title=":man_farmer_tone3:" width="20px" /><br> man_farmer_tone4 <img align="absmiddle" alt=":man_farmer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f33e.png" title=":man_farmer_tone4:" width="20px" /><br> man_farmer_tone5 <img align="absmiddle" alt=":man_farmer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f33e.png" title=":man_farmer_tone5:" width="20px" /><br> man_feeding_baby <img align="absmiddle" alt=":man_feeding_baby:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f37c.png" title=":man_feeding_baby:" width="20px" /><br> man_feeding_baby_tone1 <img align="absmiddle" alt=":man_feeding_baby_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f37c.png" title=":man_feeding_baby_tone1:" width="20px" /><br> man_feeding_baby_tone2 <img align="absmiddle" alt=":man_feeding_baby_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f37c.png" title=":man_feeding_baby_tone2:" width="20px" /><br> man_feeding_baby_tone3 <img align="absmiddle" alt=":man_feeding_baby_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f37c.png" title=":man_feeding_baby_tone3:" width="20px" /><br> man_feeding_baby_tone4 <img align="absmiddle" alt=":man_feeding_baby_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f37c.png" title=":man_feeding_baby_tone4:" width="20px" /><br> man_feeding_baby_tone5 <img align="absmiddle" alt=":man_feeding_baby_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f37c.png" title=":man_feeding_baby_tone5:" width="20px" /><br> man_firefighter <img align="absmiddle" alt=":man_firefighter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f692.png" title=":man_firefighter:" width="20px" /><br> man_firefighter_tone1 <img align="absmiddle" alt=":man_firefighter_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f692.png" title=":man_firefighter_tone1:" width="20px" /><br> man_firefighter_tone2 <img align="absmiddle" alt=":man_firefighter_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f692.png" title=":man_firefighter_tone2:" width="20px" /><br> man_firefighter_tone3 <img align="absmiddle" alt=":man_firefighter_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f692.png" title=":man_firefighter_tone3:" width="20px" /><br> man_firefighter_tone4 <img align="absmiddle" alt=":man_firefighter_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f692.png" title=":man_firefighter_tone4:" width="20px" /><br> man_firefighter_tone5 <img align="absmiddle" alt=":man_firefighter_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f692.png" title=":man_firefighter_tone5:" width="20px" /><br> man_frowning <img align="absmiddle" alt=":man_frowning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-200d-2642-fe0f.png" title=":man_frowning:" width="20px" /><br> man_frowning_tone1 <img align="absmiddle" alt=":man_frowning_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fb-200d-2642-fe0f.png" title=":man_frowning_tone1:" width="20px" /><br> man_frowning_tone2 <img align="absmiddle" alt=":man_frowning_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fc-200d-2642-fe0f.png" title=":man_frowning_tone2:" width="20px" /><br> man_frowning_tone3 <img align="absmiddle" alt=":man_frowning_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fd-200d-2642-fe0f.png" title=":man_frowning_tone3:" width="20px" /><br> man_frowning_tone4 <img align="absmiddle" alt=":man_frowning_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fe-200d-2642-fe0f.png" title=":man_frowning_tone4:" width="20px" /><br> man_frowning_tone5 <img align="absmiddle" alt=":man_frowning_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3ff-200d-2642-fe0f.png" title=":man_frowning_tone5:" width="20px" /><br> man_genie <img align="absmiddle" alt=":man_genie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9de-200d-2642-fe0f.png" title=":man_genie:" width="20px" /><br> man_gesturing_no <img align="absmiddle" alt=":man_gesturing_no:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-200d-2642-fe0f.png" title=":man_gesturing_no:" width="20px" /><br> man_gesturing_no_tone1 <img align="absmiddle" alt=":man_gesturing_no_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fb-200d-2642-fe0f.png" title=":man_gesturing_no_tone1:" width="20px" /><br> man_gesturing_no_tone2 <img align="absmiddle" alt=":man_gesturing_no_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fc-200d-2642-fe0f.png" title=":man_gesturing_no_tone2:" width="20px" /><br> man_gesturing_no_tone3 <img align="absmiddle" alt=":man_gesturing_no_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fd-200d-2642-fe0f.png" title=":man_gesturing_no_tone3:" width="20px" /><br> man_gesturing_no_tone4 <img align="absmiddle" alt=":man_gesturing_no_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fe-200d-2642-fe0f.png" title=":man_gesturing_no_tone4:" width="20px" /><br> man_gesturing_no_tone5 <img align="absmiddle" alt=":man_gesturing_no_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3ff-200d-2642-fe0f.png" title=":man_gesturing_no_tone5:" width="20px" /><br> man_gesturing_ok <img align="absmiddle" alt=":man_gesturing_ok:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-200d-2642-fe0f.png" title=":man_gesturing_ok:" width="20px" /><br> man_gesturing_ok_tone1 <img align="absmiddle" alt=":man_gesturing_ok_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fb-200d-2642-fe0f.png" title=":man_gesturing_ok_tone1:" width="20px" /><br> man_gesturing_ok_tone2 <img align="absmiddle" alt=":man_gesturing_ok_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fc-200d-2642-fe0f.png" title=":man_gesturing_ok_tone2:" width="20px" /><br> man_gesturing_ok_tone3 <img align="absmiddle" alt=":man_gesturing_ok_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fd-200d-2642-fe0f.png" title=":man_gesturing_ok_tone3:" width="20px" /><br> man_gesturing_ok_tone4 <img align="absmiddle" alt=":man_gesturing_ok_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fe-200d-2642-fe0f.png" title=":man_gesturing_ok_tone4:" width="20px" /><br> man_gesturing_ok_tone5 <img align="absmiddle" alt=":man_gesturing_ok_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3ff-200d-2642-fe0f.png" title=":man_gesturing_ok_tone5:" width="20px" /><br> man_getting_face_massage <img align="absmiddle" alt=":man_getting_face_massage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-200d-2642-fe0f.png" title=":man_getting_face_massage:" width="20px" /><br> man_getting_face_massage_tone1 <img align="absmiddle" alt=":man_getting_face_massage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fb-200d-2642-fe0f.png" title=":man_getting_face_massage_tone1:" width="20px" /><br> man_getting_face_massage_tone2 <img align="absmiddle" alt=":man_getting_face_massage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fc-200d-2642-fe0f.png" title=":man_getting_face_massage_tone2:" width="20px" /><br> man_getting_face_massage_tone3 <img align="absmiddle" alt=":man_getting_face_massage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fd-200d-2642-fe0f.png" title=":man_getting_face_massage_tone3:" width="20px" /><br> man_getting_face_massage_tone4 <img align="absmiddle" alt=":man_getting_face_massage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fe-200d-2642-fe0f.png" title=":man_getting_face_massage_tone4:" width="20px" /><br> man_getting_face_massage_tone5 <img align="absmiddle" alt=":man_getting_face_massage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3ff-200d-2642-fe0f.png" title=":man_getting_face_massage_tone5:" width="20px" /><br> man_getting_haircut <img align="absmiddle" alt=":man_getting_haircut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-200d-2642-fe0f.png" title=":man_getting_haircut:" width="20px" /><br> man_getting_haircut_tone1 <img align="absmiddle" alt=":man_getting_haircut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fb-200d-2642-fe0f.png" title=":man_getting_haircut_tone1:" width="20px" /><br> man_getting_haircut_tone2 <img align="absmiddle" alt=":man_getting_haircut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fc-200d-2642-fe0f.png" title=":man_getting_haircut_tone2:" width="20px" /><br> man_getting_haircut_tone3 <img align="absmiddle" alt=":man_getting_haircut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fd-200d-2642-fe0f.png" title=":man_getting_haircut_tone3:" width="20px" /><br> man_getting_haircut_tone4 <img align="absmiddle" alt=":man_getting_haircut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fe-200d-2642-fe0f.png" title=":man_getting_haircut_tone4:" width="20px" /><br> man_getting_haircut_tone5 <img align="absmiddle" alt=":man_getting_haircut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3ff-200d-2642-fe0f.png" title=":man_getting_haircut_tone5:" width="20px" /><br> man_golfing <img align="absmiddle" alt=":man_golfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-fe0f-200d-2642-fe0f.png" title=":man_golfing:" width="20px" /><br> man_golfing_tone1 <img align="absmiddle" alt=":man_golfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fb-200d-2642-fe0f.png" title=":man_golfing_tone1:" width="20px" /><br> man_golfing_tone2 <img align="absmiddle" alt=":man_golfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fc-200d-2642-fe0f.png" title=":man_golfing_tone2:" width="20px" /><br> man_golfing_tone3 <img align="absmiddle" alt=":man_golfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fd-200d-2642-fe0f.png" title=":man_golfing_tone3:" width="20px" /><br> man_golfing_tone4 <img align="absmiddle" alt=":man_golfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fe-200d-2642-fe0f.png" title=":man_golfing_tone4:" width="20px" /><br> man_golfing_tone5 <img align="absmiddle" alt=":man_golfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3ff-200d-2642-fe0f.png" title=":man_golfing_tone5:" width="20px" /><br> man_guard <img align="absmiddle" alt=":man_guard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-200d-2642-fe0f.png" title=":man_guard:" width="20px" /><br> man_guard_tone1 <img align="absmiddle" alt=":man_guard_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fb-200d-2642-fe0f.png" title=":man_guard_tone1:" width="20px" /><br> man_guard_tone2 <img align="absmiddle" alt=":man_guard_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fc-200d-2642-fe0f.png" title=":man_guard_tone2:" width="20px" /><br> man_guard_tone3 <img align="absmiddle" alt=":man_guard_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fd-200d-2642-fe0f.png" title=":man_guard_tone3:" width="20px" /><br> man_guard_tone4 <img align="absmiddle" alt=":man_guard_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fe-200d-2642-fe0f.png" title=":man_guard_tone4:" width="20px" /><br> man_guard_tone5 <img align="absmiddle" alt=":man_guard_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3ff-200d-2642-fe0f.png" title=":man_guard_tone5:" width="20px" /><br> man_health_worker <img align="absmiddle" alt=":man_health_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-2695-fe0f.png" title=":man_health_worker:" width="20px" /><br> man_health_worker_tone1 <img align="absmiddle" alt=":man_health_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2695-fe0f.png" title=":man_health_worker_tone1:" width="20px" /><br> man_health_worker_tone2 <img align="absmiddle" alt=":man_health_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2695-fe0f.png" title=":man_health_worker_tone2:" width="20px" /><br> man_health_worker_tone3 <img align="absmiddle" alt=":man_health_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2695-fe0f.png" title=":man_health_worker_tone3:" width="20px" /><br> man_health_worker_tone4 <img align="absmiddle" alt=":man_health_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2695-fe0f.png" title=":man_health_worker_tone4:" width="20px" /><br> man_health_worker_tone5 <img align="absmiddle" alt=":man_health_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2695-fe0f.png" title=":man_health_worker_tone5:" width="20px" /><br> man_in_lotus_position <img align="absmiddle" alt=":man_in_lotus_position:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-200d-2642-fe0f.png" title=":man_in_lotus_position:" width="20px" /><br> man_in_lotus_position_tone1 <img align="absmiddle" alt=":man_in_lotus_position_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fb-200d-2642-fe0f.png" title=":man_in_lotus_position_tone1:" width="20px" /><br> man_in_lotus_position_tone2 <img align="absmiddle" alt=":man_in_lotus_position_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fc-200d-2642-fe0f.png" title=":man_in_lotus_position_tone2:" width="20px" /><br> man_in_lotus_position_tone3 <img align="absmiddle" alt=":man_in_lotus_position_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fd-200d-2642-fe0f.png" title=":man_in_lotus_position_tone3:" width="20px" /><br> man_in_lotus_position_tone4 <img align="absmiddle" alt=":man_in_lotus_position_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fe-200d-2642-fe0f.png" title=":man_in_lotus_position_tone4:" width="20px" /><br> man_in_lotus_position_tone5 <img align="absmiddle" alt=":man_in_lotus_position_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3ff-200d-2642-fe0f.png" title=":man_in_lotus_position_tone5:" width="20px" /><br> man_in_manual_wheelchair <img align="absmiddle" alt=":man_in_manual_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9bd.png" title=":man_in_manual_wheelchair:" width="20px" /><br> man_in_manual_wheelchair_tone1 <img align="absmiddle" alt=":man_in_manual_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9bd.png" title=":man_in_manual_wheelchair_tone1:" width="20px" /><br> man_in_manual_wheelchair_tone2 <img align="absmiddle" alt=":man_in_manual_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9bd.png" title=":man_in_manual_wheelchair_tone2:" width="20px" /><br> man_in_manual_wheelchair_tone3 <img align="absmiddle" alt=":man_in_manual_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9bd.png" title=":man_in_manual_wheelchair_tone3:" width="20px" /><br> man_in_manual_wheelchair_tone4 <img align="absmiddle" alt=":man_in_manual_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9bd.png" title=":man_in_manual_wheelchair_tone4:" width="20px" /><br> man_in_manual_wheelchair_tone5 <img align="absmiddle" alt=":man_in_manual_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9bd.png" title=":man_in_manual_wheelchair_tone5:" width="20px" /><br> man_in_motorized_wheelchair <img align="absmiddle" alt=":man_in_motorized_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9bc.png" title=":man_in_motorized_wheelchair:" width="20px" /><br> man_in_motorized_wheelchair_tone1 <img align="absmiddle" alt=":man_in_motorized_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9bc.png" title=":man_in_motorized_wheelchair_tone1:" width="20px" /><br> man_in_motorized_wheelchair_tone2 <img align="absmiddle" alt=":man_in_motorized_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9bc.png" title=":man_in_motorized_wheelchair_tone2:" width="20px" /><br> man_in_motorized_wheelchair_tone3 <img align="absmiddle" alt=":man_in_motorized_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9bc.png" title=":man_in_motorized_wheelchair_tone3:" width="20px" /><br> man_in_motorized_wheelchair_tone4 <img align="absmiddle" alt=":man_in_motorized_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9bc.png" title=":man_in_motorized_wheelchair_tone4:" width="20px" /><br> man_in_motorized_wheelchair_tone5 <img align="absmiddle" alt=":man_in_motorized_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9bc.png" title=":man_in_motorized_wheelchair_tone5:" width="20px" /><br> man_in_santa_hat <img align="absmiddle" alt=":man_in_santa_hat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f384.png" title=":man_in_santa_hat:" width="20px" /><br> man_in_santa_hat_tone1 <img align="absmiddle" alt=":man_in_santa_hat_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f384.png" title=":man_in_santa_hat_tone1:" width="20px" /><br> man_in_santa_hat_tone2 <img align="absmiddle" alt=":man_in_santa_hat_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f384.png" title=":man_in_santa_hat_tone2:" width="20px" /><br> man_in_santa_hat_tone3 <img align="absmiddle" alt=":man_in_santa_hat_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f384.png" title=":man_in_santa_hat_tone3:" width="20px" /><br> man_in_santa_hat_tone4 <img align="absmiddle" alt=":man_in_santa_hat_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f384.png" title=":man_in_santa_hat_tone4:" width="20px" /><br> man_in_santa_hat_tone5 <img align="absmiddle" alt=":man_in_santa_hat_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f384.png" title=":man_in_santa_hat_tone5:" width="20px" /><br> man_in_steamy_room <img align="absmiddle" alt=":man_in_steamy_room:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-200d-2642-fe0f.png" title=":man_in_steamy_room:" width="20px" /><br> man_in_steamy_room_tone1 <img align="absmiddle" alt=":man_in_steamy_room_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fb-200d-2642-fe0f.png" title=":man_in_steamy_room_tone1:" width="20px" /><br> man_in_steamy_room_tone2 <img align="absmiddle" alt=":man_in_steamy_room_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fc-200d-2642-fe0f.png" title=":man_in_steamy_room_tone2:" width="20px" /><br> man_in_steamy_room_tone3 <img align="absmiddle" alt=":man_in_steamy_room_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fd-200d-2642-fe0f.png" title=":man_in_steamy_room_tone3:" width="20px" /><br> man_in_steamy_room_tone4 <img align="absmiddle" alt=":man_in_steamy_room_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fe-200d-2642-fe0f.png" title=":man_in_steamy_room_tone4:" width="20px" /><br> man_in_steamy_room_tone5 <img align="absmiddle" alt=":man_in_steamy_room_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3ff-200d-2642-fe0f.png" title=":man_in_steamy_room_tone5:" width="20px" /><br> man_in_tuxedo <img align="absmiddle" alt=":man_in_tuxedo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-200d-2642-fe0f.png" title=":man_in_tuxedo:" width="20px" /><br> man_in_tuxedo_tone1 <img align="absmiddle" alt=":man_in_tuxedo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fb-200d-2642-fe0f.png" title=":man_in_tuxedo_tone1:" width="20px" /><br> man_in_tuxedo_tone2 <img align="absmiddle" alt=":man_in_tuxedo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fc-200d-2642-fe0f.png" title=":man_in_tuxedo_tone2:" width="20px" /><br> man_in_tuxedo_tone3 <img align="absmiddle" alt=":man_in_tuxedo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fd-200d-2642-fe0f.png" title=":man_in_tuxedo_tone3:" width="20px" /><br> man_in_tuxedo_tone4 <img align="absmiddle" alt=":man_in_tuxedo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fe-200d-2642-fe0f.png" title=":man_in_tuxedo_tone4:" width="20px" /><br> man_in_tuxedo_tone5 <img align="absmiddle" alt=":man_in_tuxedo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3ff-200d-2642-fe0f.png" title=":man_in_tuxedo_tone5:" width="20px" /><br> man_judge <img align="absmiddle" alt=":man_judge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-2696-fe0f.png" title=":man_judge:" width="20px" /><br> man_judge_tone1 <img align="absmiddle" alt=":man_judge_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2696-fe0f.png" title=":man_judge_tone1:" width="20px" /><br> man_judge_tone2 <img align="absmiddle" alt=":man_judge_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2696-fe0f.png" title=":man_judge_tone2:" width="20px" /><br> man_judge_tone3 <img align="absmiddle" alt=":man_judge_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2696-fe0f.png" title=":man_judge_tone3:" width="20px" /><br> man_judge_tone4 <img align="absmiddle" alt=":man_judge_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2696-fe0f.png" title=":man_judge_tone4:" width="20px" /><br> man_judge_tone5 <img align="absmiddle" alt=":man_judge_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2696-fe0f.png" title=":man_judge_tone5:" width="20px" /><br> man_juggling <img align="absmiddle" alt=":man_juggling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-200d-2642-fe0f.png" title=":man_juggling:" width="20px" /><br> man_juggling_tone1 <img align="absmiddle" alt=":man_juggling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fb-200d-2642-fe0f.png" title=":man_juggling_tone1:" width="20px" /><br> man_juggling_tone2 <img align="absmiddle" alt=":man_juggling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fc-200d-2642-fe0f.png" title=":man_juggling_tone2:" width="20px" /><br> man_juggling_tone3 <img align="absmiddle" alt=":man_juggling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fd-200d-2642-fe0f.png" title=":man_juggling_tone3:" width="20px" /><br> man_juggling_tone4 <img align="absmiddle" alt=":man_juggling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fe-200d-2642-fe0f.png" title=":man_juggling_tone4:" width="20px" /><br> man_juggling_tone5 <img align="absmiddle" alt=":man_juggling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3ff-200d-2642-fe0f.png" title=":man_juggling_tone5:" width="20px" /><br> man_kneeling <img align="absmiddle" alt=":man_kneeling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-200d-2642-fe0f.png" title=":man_kneeling:" width="20px" /><br> man_kneeling_tone1 <img align="absmiddle" alt=":man_kneeling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fb-200d-2642-fe0f.png" title=":man_kneeling_tone1:" width="20px" /><br> man_kneeling_tone2 <img align="absmiddle" alt=":man_kneeling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fc-200d-2642-fe0f.png" title=":man_kneeling_tone2:" width="20px" /><br> man_kneeling_tone3 <img align="absmiddle" alt=":man_kneeling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fd-200d-2642-fe0f.png" title=":man_kneeling_tone3:" width="20px" /><br> man_kneeling_tone4 <img align="absmiddle" alt=":man_kneeling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fe-200d-2642-fe0f.png" title=":man_kneeling_tone4:" width="20px" /><br> man_kneeling_tone5 <img align="absmiddle" alt=":man_kneeling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3ff-200d-2642-fe0f.png" title=":man_kneeling_tone5:" width="20px" /><br> man_lifting_weights <img align="absmiddle" alt=":man_lifting_weights:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-fe0f-200d-2642-fe0f.png" title=":man_lifting_weights:" width="20px" /><br> man_lifting_weights_tone1 <img align="absmiddle" alt=":man_lifting_weights_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fb-200d-2642-fe0f.png" title=":man_lifting_weights_tone1:" width="20px" /><br> man_lifting_weights_tone2 <img align="absmiddle" alt=":man_lifting_weights_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fc-200d-2642-fe0f.png" title=":man_lifting_weights_tone2:" width="20px" /><br> man_lifting_weights_tone3 <img align="absmiddle" alt=":man_lifting_weights_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fd-200d-2642-fe0f.png" title=":man_lifting_weights_tone3:" width="20px" /><br> man_lifting_weights_tone4 <img align="absmiddle" alt=":man_lifting_weights_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fe-200d-2642-fe0f.png" title=":man_lifting_weights_tone4:" width="20px" /><br> man_lifting_weights_tone5 <img align="absmiddle" alt=":man_lifting_weights_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3ff-200d-2642-fe0f.png" title=":man_lifting_weights_tone5:" width="20px" /><br> man_mage <img align="absmiddle" alt=":man_mage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-200d-2642-fe0f.png" title=":man_mage:" width="20px" /><br> man_mage_tone1 <img align="absmiddle" alt=":man_mage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fb-200d-2642-fe0f.png" title=":man_mage_tone1:" width="20px" /><br> man_mage_tone2 <img align="absmiddle" alt=":man_mage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fc-200d-2642-fe0f.png" title=":man_mage_tone2:" width="20px" /><br> man_mage_tone3 <img align="absmiddle" alt=":man_mage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fd-200d-2642-fe0f.png" title=":man_mage_tone3:" width="20px" /><br> man_mage_tone4 <img align="absmiddle" alt=":man_mage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fe-200d-2642-fe0f.png" title=":man_mage_tone4:" width="20px" /><br> man_mage_tone5 <img align="absmiddle" alt=":man_mage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3ff-200d-2642-fe0f.png" title=":man_mage_tone5:" width="20px" /><br> man_mechanic <img align="absmiddle" alt=":man_mechanic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f527.png" title=":man_mechanic:" width="20px" /><br> man_mechanic_tone1 <img align="absmiddle" alt=":man_mechanic_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f527.png" title=":man_mechanic_tone1:" width="20px" /><br> man_mechanic_tone2 <img align="absmiddle" alt=":man_mechanic_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f527.png" title=":man_mechanic_tone2:" width="20px" /><br> man_mechanic_tone3 <img align="absmiddle" alt=":man_mechanic_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f527.png" title=":man_mechanic_tone3:" width="20px" /><br> man_mechanic_tone4 <img align="absmiddle" alt=":man_mechanic_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f527.png" title=":man_mechanic_tone4:" width="20px" /><br> man_mechanic_tone5 <img align="absmiddle" alt=":man_mechanic_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f527.png" title=":man_mechanic_tone5:" width="20px" /><br> man_mountain_biking <img align="absmiddle" alt=":man_mountain_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-200d-2642-fe0f.png" title=":man_mountain_biking:" width="20px" /><br> man_mountain_biking_tone1 <img align="absmiddle" alt=":man_mountain_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fb-200d-2642-fe0f.png" title=":man_mountain_biking_tone1:" width="20px" /><br> man_mountain_biking_tone2 <img align="absmiddle" alt=":man_mountain_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fc-200d-2642-fe0f.png" title=":man_mountain_biking_tone2:" width="20px" /><br> man_mountain_biking_tone3 <img align="absmiddle" alt=":man_mountain_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fd-200d-2642-fe0f.png" title=":man_mountain_biking_tone3:" width="20px" /><br> man_mountain_biking_tone4 <img align="absmiddle" alt=":man_mountain_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fe-200d-2642-fe0f.png" title=":man_mountain_biking_tone4:" width="20px" /><br> man_mountain_biking_tone5 <img align="absmiddle" alt=":man_mountain_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3ff-200d-2642-fe0f.png" title=":man_mountain_biking_tone5:" width="20px" /><br> man_office_worker <img align="absmiddle" alt=":man_office_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f4bc.png" title=":man_office_worker:" width="20px" /><br> man_office_worker_tone1 <img align="absmiddle" alt=":man_office_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f4bc.png" title=":man_office_worker_tone1:" width="20px" /><br> man_office_worker_tone2 <img align="absmiddle" alt=":man_office_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f4bc.png" title=":man_office_worker_tone2:" width="20px" /><br> man_office_worker_tone3 <img align="absmiddle" alt=":man_office_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f4bc.png" title=":man_office_worker_tone3:" width="20px" /><br> man_office_worker_tone4 <img align="absmiddle" alt=":man_office_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f4bc.png" title=":man_office_worker_tone4:" width="20px" /><br> man_office_worker_tone5 <img align="absmiddle" alt=":man_office_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f4bc.png" title=":man_office_worker_tone5:" width="20px" /><br> man_pilot <img align="absmiddle" alt=":man_pilot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-2708-fe0f.png" title=":man_pilot:" width="20px" /><br> man_pilot_tone1 <img align="absmiddle" alt=":man_pilot_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-2708-fe0f.png" title=":man_pilot_tone1:" width="20px" /><br> man_pilot_tone2 <img align="absmiddle" alt=":man_pilot_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-2708-fe0f.png" title=":man_pilot_tone2:" width="20px" /><br> man_pilot_tone3 <img align="absmiddle" alt=":man_pilot_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-2708-fe0f.png" title=":man_pilot_tone3:" width="20px" /><br> man_pilot_tone4 <img align="absmiddle" alt=":man_pilot_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-2708-fe0f.png" title=":man_pilot_tone4:" width="20px" /><br> man_pilot_tone5 <img align="absmiddle" alt=":man_pilot_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-2708-fe0f.png" title=":man_pilot_tone5:" width="20px" /><br> man_playing_handball <img align="absmiddle" alt=":man_playing_handball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-200d-2642-fe0f.png" title=":man_playing_handball:" width="20px" /><br> man_playing_handball_tone1 <img align="absmiddle" alt=":man_playing_handball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fb-200d-2642-fe0f.png" title=":man_playing_handball_tone1:" width="20px" /><br> man_playing_handball_tone2 <img align="absmiddle" alt=":man_playing_handball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fc-200d-2642-fe0f.png" title=":man_playing_handball_tone2:" width="20px" /><br> man_playing_handball_tone3 <img align="absmiddle" alt=":man_playing_handball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fd-200d-2642-fe0f.png" title=":man_playing_handball_tone3:" width="20px" /><br> man_playing_handball_tone4 <img align="absmiddle" alt=":man_playing_handball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fe-200d-2642-fe0f.png" title=":man_playing_handball_tone4:" width="20px" /><br> man_playing_handball_tone5 <img align="absmiddle" alt=":man_playing_handball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3ff-200d-2642-fe0f.png" title=":man_playing_handball_tone5:" width="20px" /><br> man_playing_water_polo <img align="absmiddle" alt=":man_playing_water_polo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-200d-2642-fe0f.png" title=":man_playing_water_polo:" width="20px" /><br> man_playing_water_polo_tone1 <img align="absmiddle" alt=":man_playing_water_polo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fb-200d-2642-fe0f.png" title=":man_playing_water_polo_tone1:" width="20px" /><br> man_playing_water_polo_tone2 <img align="absmiddle" alt=":man_playing_water_polo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fc-200d-2642-fe0f.png" title=":man_playing_water_polo_tone2:" width="20px" /><br> man_playing_water_polo_tone3 <img align="absmiddle" alt=":man_playing_water_polo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fd-200d-2642-fe0f.png" title=":man_playing_water_polo_tone3:" width="20px" /><br> man_playing_water_polo_tone4 <img align="absmiddle" alt=":man_playing_water_polo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fe-200d-2642-fe0f.png" title=":man_playing_water_polo_tone4:" width="20px" /><br> man_playing_water_polo_tone5 <img align="absmiddle" alt=":man_playing_water_polo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3ff-200d-2642-fe0f.png" title=":man_playing_water_polo_tone5:" width="20px" /><br> man_police_officer <img align="absmiddle" alt=":man_police_officer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-200d-2642-fe0f.png" title=":man_police_officer:" width="20px" /><br> man_police_officer_tone1 <img align="absmiddle" alt=":man_police_officer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fb-200d-2642-fe0f.png" title=":man_police_officer_tone1:" width="20px" /><br> man_police_officer_tone2 <img align="absmiddle" alt=":man_police_officer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fc-200d-2642-fe0f.png" title=":man_police_officer_tone2:" width="20px" /><br> man_police_officer_tone3 <img align="absmiddle" alt=":man_police_officer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fd-200d-2642-fe0f.png" title=":man_police_officer_tone3:" width="20px" /><br> man_police_officer_tone4 <img align="absmiddle" alt=":man_police_officer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fe-200d-2642-fe0f.png" title=":man_police_officer_tone4:" width="20px" /><br> man_police_officer_tone5 <img align="absmiddle" alt=":man_police_officer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3ff-200d-2642-fe0f.png" title=":man_police_officer_tone5:" width="20px" /><br> man_pouting <img align="absmiddle" alt=":man_pouting:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-200d-2642-fe0f.png" title=":man_pouting:" width="20px" /><br> man_pouting_tone1 <img align="absmiddle" alt=":man_pouting_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fb-200d-2642-fe0f.png" title=":man_pouting_tone1:" width="20px" /><br> man_pouting_tone2 <img align="absmiddle" alt=":man_pouting_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fc-200d-2642-fe0f.png" title=":man_pouting_tone2:" width="20px" /><br> man_pouting_tone3 <img align="absmiddle" alt=":man_pouting_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fd-200d-2642-fe0f.png" title=":man_pouting_tone3:" width="20px" /><br> man_pouting_tone4 <img align="absmiddle" alt=":man_pouting_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fe-200d-2642-fe0f.png" title=":man_pouting_tone4:" width="20px" /><br> man_pouting_tone5 <img align="absmiddle" alt=":man_pouting_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3ff-200d-2642-fe0f.png" title=":man_pouting_tone5:" width="20px" /><br> man_raising_hand <img align="absmiddle" alt=":man_raising_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-200d-2642-fe0f.png" title=":man_raising_hand:" width="20px" /><br> man_raising_hand_tone1 <img align="absmiddle" alt=":man_raising_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fb-200d-2642-fe0f.png" title=":man_raising_hand_tone1:" width="20px" /><br> man_raising_hand_tone2 <img align="absmiddle" alt=":man_raising_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fc-200d-2642-fe0f.png" title=":man_raising_hand_tone2:" width="20px" /><br> man_raising_hand_tone3 <img align="absmiddle" alt=":man_raising_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fd-200d-2642-fe0f.png" title=":man_raising_hand_tone3:" width="20px" /><br> man_raising_hand_tone4 <img align="absmiddle" alt=":man_raising_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fe-200d-2642-fe0f.png" title=":man_raising_hand_tone4:" width="20px" /><br> man_raising_hand_tone5 <img align="absmiddle" alt=":man_raising_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3ff-200d-2642-fe0f.png" title=":man_raising_hand_tone5:" width="20px" /><br> man_red_haired <img align="absmiddle" alt=":man_red_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9b0.png" title=":man_red_haired:" width="20px" /><br> man_red_haired_tone1 <img align="absmiddle" alt=":man_red_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9b0.png" title=":man_red_haired_tone1:" width="20px" /><br> man_red_haired_tone2 <img align="absmiddle" alt=":man_red_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9b0.png" title=":man_red_haired_tone2:" width="20px" /><br> man_red_haired_tone3 <img align="absmiddle" alt=":man_red_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9b0.png" title=":man_red_haired_tone3:" width="20px" /><br> man_red_haired_tone4 <img align="absmiddle" alt=":man_red_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9b0.png" title=":man_red_haired_tone4:" width="20px" /><br> man_red_haired_tone5 <img align="absmiddle" alt=":man_red_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9b0.png" title=":man_red_haired_tone5:" width="20px" /><br> man_rowing_boat <img align="absmiddle" alt=":man_rowing_boat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-200d-2642-fe0f.png" title=":man_rowing_boat:" width="20px" /><br> man_rowing_boat_tone1 <img align="absmiddle" alt=":man_rowing_boat_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fb-200d-2642-fe0f.png" title=":man_rowing_boat_tone1:" width="20px" /><br> man_rowing_boat_tone2 <img align="absmiddle" alt=":man_rowing_boat_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fc-200d-2642-fe0f.png" title=":man_rowing_boat_tone2:" width="20px" /><br> man_rowing_boat_tone3 <img align="absmiddle" alt=":man_rowing_boat_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fd-200d-2642-fe0f.png" title=":man_rowing_boat_tone3:" width="20px" /><br> man_rowing_boat_tone4 <img align="absmiddle" alt=":man_rowing_boat_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fe-200d-2642-fe0f.png" title=":man_rowing_boat_tone4:" width="20px" /><br> man_rowing_boat_tone5 <img align="absmiddle" alt=":man_rowing_boat_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3ff-200d-2642-fe0f.png" title=":man_rowing_boat_tone5:" width="20px" /><br> man_running <img align="absmiddle" alt=":man_running:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-200d-2642-fe0f.png" title=":man_running:" width="20px" /><br> man_running_tone1 <img align="absmiddle" alt=":man_running_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fb-200d-2642-fe0f.png" title=":man_running_tone1:" width="20px" /><br> man_running_tone2 <img align="absmiddle" alt=":man_running_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fc-200d-2642-fe0f.png" title=":man_running_tone2:" width="20px" /><br> man_running_tone3 <img align="absmiddle" alt=":man_running_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fd-200d-2642-fe0f.png" title=":man_running_tone3:" width="20px" /><br> man_running_tone4 <img align="absmiddle" alt=":man_running_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fe-200d-2642-fe0f.png" title=":man_running_tone4:" width="20px" /><br> man_running_tone5 <img align="absmiddle" alt=":man_running_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3ff-200d-2642-fe0f.png" title=":man_running_tone5:" width="20px" /><br> man_scientist <img align="absmiddle" alt=":man_scientist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f52c.png" title=":man_scientist:" width="20px" /><br> man_scientist_tone1 <img align="absmiddle" alt=":man_scientist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f52c.png" title=":man_scientist_tone1:" width="20px" /><br> man_scientist_tone2 <img align="absmiddle" alt=":man_scientist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f52c.png" title=":man_scientist_tone2:" width="20px" /><br> man_scientist_tone3 <img align="absmiddle" alt=":man_scientist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f52c.png" title=":man_scientist_tone3:" width="20px" /><br> man_scientist_tone4 <img align="absmiddle" alt=":man_scientist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f52c.png" title=":man_scientist_tone4:" width="20px" /><br> man_scientist_tone5 <img align="absmiddle" alt=":man_scientist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f52c.png" title=":man_scientist_tone5:" width="20px" /><br> man_shrugging <img align="absmiddle" alt=":man_shrugging:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-200d-2642-fe0f.png" title=":man_shrugging:" width="20px" /><br> man_shrugging_tone1 <img align="absmiddle" alt=":man_shrugging_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fb-200d-2642-fe0f.png" title=":man_shrugging_tone1:" width="20px" /><br> man_shrugging_tone2 <img align="absmiddle" alt=":man_shrugging_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fc-200d-2642-fe0f.png" title=":man_shrugging_tone2:" width="20px" /><br> man_shrugging_tone3 <img align="absmiddle" alt=":man_shrugging_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fd-200d-2642-fe0f.png" title=":man_shrugging_tone3:" width="20px" /><br> man_shrugging_tone4 <img align="absmiddle" alt=":man_shrugging_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fe-200d-2642-fe0f.png" title=":man_shrugging_tone4:" width="20px" /><br> man_shrugging_tone5 <img align="absmiddle" alt=":man_shrugging_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3ff-200d-2642-fe0f.png" title=":man_shrugging_tone5:" width="20px" /><br> man_singer <img align="absmiddle" alt=":man_singer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f3a4.png" title=":man_singer:" width="20px" /><br> man_singer_tone1 <img align="absmiddle" alt=":man_singer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f3a4.png" title=":man_singer_tone1:" width="20px" /><br> man_singer_tone2 <img align="absmiddle" alt=":man_singer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f3a4.png" title=":man_singer_tone2:" width="20px" /><br> man_singer_tone3 <img align="absmiddle" alt=":man_singer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f3a4.png" title=":man_singer_tone3:" width="20px" /><br> man_singer_tone4 <img align="absmiddle" alt=":man_singer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f3a4.png" title=":man_singer_tone4:" width="20px" /><br> man_singer_tone5 <img align="absmiddle" alt=":man_singer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f3a4.png" title=":man_singer_tone5:" width="20px" /><br> man_standing <img align="absmiddle" alt=":man_standing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-200d-2642-fe0f.png" title=":man_standing:" width="20px" /><br> man_standing_tone1 <img align="absmiddle" alt=":man_standing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fb-200d-2642-fe0f.png" title=":man_standing_tone1:" width="20px" /><br> man_standing_tone2 <img align="absmiddle" alt=":man_standing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fc-200d-2642-fe0f.png" title=":man_standing_tone2:" width="20px" /><br> man_standing_tone3 <img align="absmiddle" alt=":man_standing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fd-200d-2642-fe0f.png" title=":man_standing_tone3:" width="20px" /><br> man_standing_tone4 <img align="absmiddle" alt=":man_standing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fe-200d-2642-fe0f.png" title=":man_standing_tone4:" width="20px" /><br> man_standing_tone5 <img align="absmiddle" alt=":man_standing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3ff-200d-2642-fe0f.png" title=":man_standing_tone5:" width="20px" /><br> man_student <img align="absmiddle" alt=":man_student:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f393.png" title=":man_student:" width="20px" /><br> man_student_tone1 <img align="absmiddle" alt=":man_student_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f393.png" title=":man_student_tone1:" width="20px" /><br> man_student_tone2 <img align="absmiddle" alt=":man_student_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f393.png" title=":man_student_tone2:" width="20px" /><br> man_student_tone3 <img align="absmiddle" alt=":man_student_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f393.png" title=":man_student_tone3:" width="20px" /><br> man_student_tone4 <img align="absmiddle" alt=":man_student_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f393.png" title=":man_student_tone4:" width="20px" /><br> man_student_tone5 <img align="absmiddle" alt=":man_student_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f393.png" title=":man_student_tone5:" width="20px" /><br> man_superhero <img align="absmiddle" alt=":man_superhero:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-200d-2642-fe0f.png" title=":man_superhero:" width="20px" /><br> man_superhero_tone1 <img align="absmiddle" alt=":man_superhero_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fb-200d-2642-fe0f.png" title=":man_superhero_tone1:" width="20px" /><br> man_superhero_tone2 <img align="absmiddle" alt=":man_superhero_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fc-200d-2642-fe0f.png" title=":man_superhero_tone2:" width="20px" /><br> man_superhero_tone3 <img align="absmiddle" alt=":man_superhero_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fd-200d-2642-fe0f.png" title=":man_superhero_tone3:" width="20px" /><br> man_superhero_tone4 <img align="absmiddle" alt=":man_superhero_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fe-200d-2642-fe0f.png" title=":man_superhero_tone4:" width="20px" /><br> man_superhero_tone5 <img align="absmiddle" alt=":man_superhero_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3ff-200d-2642-fe0f.png" title=":man_superhero_tone5:" width="20px" /><br> man_supervillain <img align="absmiddle" alt=":man_supervillain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-200d-2642-fe0f.png" title=":man_supervillain:" width="20px" /><br> man_supervillain_tone1 <img align="absmiddle" alt=":man_supervillain_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fb-200d-2642-fe0f.png" title=":man_supervillain_tone1:" width="20px" /><br> man_supervillain_tone2 <img align="absmiddle" alt=":man_supervillain_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fc-200d-2642-fe0f.png" title=":man_supervillain_tone2:" width="20px" /><br> man_supervillain_tone3 <img align="absmiddle" alt=":man_supervillain_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fd-200d-2642-fe0f.png" title=":man_supervillain_tone3:" width="20px" /><br> man_supervillain_tone4 <img align="absmiddle" alt=":man_supervillain_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fe-200d-2642-fe0f.png" title=":man_supervillain_tone4:" width="20px" /><br> man_supervillain_tone5 <img align="absmiddle" alt=":man_supervillain_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3ff-200d-2642-fe0f.png" title=":man_supervillain_tone5:" width="20px" /><br> man_surfing <img align="absmiddle" alt=":man_surfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-200d-2642-fe0f.png" title=":man_surfing:" width="20px" /><br> man_surfing_tone1 <img align="absmiddle" alt=":man_surfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fb-200d-2642-fe0f.png" title=":man_surfing_tone1:" width="20px" /><br> man_surfing_tone2 <img align="absmiddle" alt=":man_surfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fc-200d-2642-fe0f.png" title=":man_surfing_tone2:" width="20px" /><br> man_surfing_tone3 <img align="absmiddle" alt=":man_surfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fd-200d-2642-fe0f.png" title=":man_surfing_tone3:" width="20px" /><br> man_surfing_tone4 <img align="absmiddle" alt=":man_surfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fe-200d-2642-fe0f.png" title=":man_surfing_tone4:" width="20px" /><br> man_surfing_tone5 <img align="absmiddle" alt=":man_surfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3ff-200d-2642-fe0f.png" title=":man_surfing_tone5:" width="20px" /><br> man_swimming <img align="absmiddle" alt=":man_swimming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-200d-2642-fe0f.png" title=":man_swimming:" width="20px" /><br> man_swimming_tone1 <img align="absmiddle" alt=":man_swimming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fb-200d-2642-fe0f.png" title=":man_swimming_tone1:" width="20px" /><br> man_swimming_tone2 <img align="absmiddle" alt=":man_swimming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fc-200d-2642-fe0f.png" title=":man_swimming_tone2:" width="20px" /><br> man_swimming_tone3 <img align="absmiddle" alt=":man_swimming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fd-200d-2642-fe0f.png" title=":man_swimming_tone3:" width="20px" /><br> man_swimming_tone4 <img align="absmiddle" alt=":man_swimming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fe-200d-2642-fe0f.png" title=":man_swimming_tone4:" width="20px" /><br> man_swimming_tone5 <img align="absmiddle" alt=":man_swimming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3ff-200d-2642-fe0f.png" title=":man_swimming_tone5:" width="20px" /><br> man_teacher <img align="absmiddle" alt=":man_teacher:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f3eb.png" title=":man_teacher:" width="20px" /><br> man_teacher_tone1 <img align="absmiddle" alt=":man_teacher_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f3eb.png" title=":man_teacher_tone1:" width="20px" /><br> man_teacher_tone2 <img align="absmiddle" alt=":man_teacher_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f3eb.png" title=":man_teacher_tone2:" width="20px" /><br> man_teacher_tone3 <img align="absmiddle" alt=":man_teacher_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f3eb.png" title=":man_teacher_tone3:" width="20px" /><br> man_teacher_tone4 <img align="absmiddle" alt=":man_teacher_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f3eb.png" title=":man_teacher_tone4:" width="20px" /><br> man_teacher_tone5 <img align="absmiddle" alt=":man_teacher_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f3eb.png" title=":man_teacher_tone5:" width="20px" /><br> man_technologist <img align="absmiddle" alt=":man_technologist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f4bb.png" title=":man_technologist:" width="20px" /><br> man_technologist_tone1 <img align="absmiddle" alt=":man_technologist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f4bb.png" title=":man_technologist_tone1:" width="20px" /><br> man_technologist_tone2 <img align="absmiddle" alt=":man_technologist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f4bb.png" title=":man_technologist_tone2:" width="20px" /><br> man_technologist_tone3 <img align="absmiddle" alt=":man_technologist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f4bb.png" title=":man_technologist_tone3:" width="20px" /><br> man_technologist_tone4 <img align="absmiddle" alt=":man_technologist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f4bb.png" title=":man_technologist_tone4:" width="20px" /><br> man_technologist_tone5 <img align="absmiddle" alt=":man_technologist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f4bb.png" title=":man_technologist_tone5:" width="20px" /><br> man_tipping_hand <img align="absmiddle" alt=":man_tipping_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-200d-2642-fe0f.png" title=":man_tipping_hand:" width="20px" /><br> man_tipping_hand_tone1 <img align="absmiddle" alt=":man_tipping_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fb-200d-2642-fe0f.png" title=":man_tipping_hand_tone1:" width="20px" /><br> man_tipping_hand_tone2 <img align="absmiddle" alt=":man_tipping_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fc-200d-2642-fe0f.png" title=":man_tipping_hand_tone2:" width="20px" /><br> man_tipping_hand_tone3 <img align="absmiddle" alt=":man_tipping_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fd-200d-2642-fe0f.png" title=":man_tipping_hand_tone3:" width="20px" /><br> man_tipping_hand_tone4 <img align="absmiddle" alt=":man_tipping_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fe-200d-2642-fe0f.png" title=":man_tipping_hand_tone4:" width="20px" /><br> man_tipping_hand_tone5 <img align="absmiddle" alt=":man_tipping_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3ff-200d-2642-fe0f.png" title=":man_tipping_hand_tone5:" width="20px" /><br> man_tone1 <img align="absmiddle" alt=":man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb.png" title=":man_tone1:" width="20px" /><br> man_tone1_beard <img align="absmiddle" alt=":man_tone1_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fb-200d-2642-fe0f.png" title=":man_tone1_beard:" width="20px" /><br> man_tone2 <img align="absmiddle" alt=":man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc.png" title=":man_tone2:" width="20px" /><br> man_tone2_beard <img align="absmiddle" alt=":man_tone2_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fc-200d-2642-fe0f.png" title=":man_tone2_beard:" width="20px" /><br> man_tone3 <img align="absmiddle" alt=":man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd.png" title=":man_tone3:" width="20px" /><br> man_tone3_beard <img align="absmiddle" alt=":man_tone3_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fd-200d-2642-fe0f.png" title=":man_tone3_beard:" width="20px" /><br> man_tone4 <img align="absmiddle" alt=":man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe.png" title=":man_tone4:" width="20px" /><br> man_tone4_beard <img align="absmiddle" alt=":man_tone4_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fe-200d-2642-fe0f.png" title=":man_tone4_beard:" width="20px" /><br> man_tone5 <img align="absmiddle" alt=":man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff.png" title=":man_tone5:" width="20px" /><br> man_tone5_beard <img align="absmiddle" alt=":man_tone5_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3ff-200d-2642-fe0f.png" title=":man_tone5_beard:" width="20px" /><br> man_vampire <img align="absmiddle" alt=":man_vampire:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-200d-2642-fe0f.png" title=":man_vampire:" width="20px" /><br> man_vampire_tone1 <img align="absmiddle" alt=":man_vampire_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fb-200d-2642-fe0f.png" title=":man_vampire_tone1:" width="20px" /><br> man_vampire_tone2 <img align="absmiddle" alt=":man_vampire_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fc-200d-2642-fe0f.png" title=":man_vampire_tone2:" width="20px" /><br> man_vampire_tone3 <img align="absmiddle" alt=":man_vampire_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fd-200d-2642-fe0f.png" title=":man_vampire_tone3:" width="20px" /><br> man_vampire_tone4 <img align="absmiddle" alt=":man_vampire_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fe-200d-2642-fe0f.png" title=":man_vampire_tone4:" width="20px" /><br> man_vampire_tone5 <img align="absmiddle" alt=":man_vampire_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3ff-200d-2642-fe0f.png" title=":man_vampire_tone5:" width="20px" /><br> man_walking <img align="absmiddle" alt=":man_walking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-200d-2642-fe0f.png" title=":man_walking:" width="20px" /><br> man_walking_tone1 <img align="absmiddle" alt=":man_walking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fb-200d-2642-fe0f.png" title=":man_walking_tone1:" width="20px" /><br> man_walking_tone2 <img align="absmiddle" alt=":man_walking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fc-200d-2642-fe0f.png" title=":man_walking_tone2:" width="20px" /><br> man_walking_tone3 <img align="absmiddle" alt=":man_walking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fd-200d-2642-fe0f.png" title=":man_walking_tone3:" width="20px" /><br> man_walking_tone4 <img align="absmiddle" alt=":man_walking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fe-200d-2642-fe0f.png" title=":man_walking_tone4:" width="20px" /><br> man_walking_tone5 <img align="absmiddle" alt=":man_walking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3ff-200d-2642-fe0f.png" title=":man_walking_tone5:" width="20px" /><br> man_wearing_turban <img align="absmiddle" alt=":man_wearing_turban:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-200d-2642-fe0f.png" title=":man_wearing_turban:" width="20px" /><br> man_wearing_turban_tone1 <img align="absmiddle" alt=":man_wearing_turban_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fb-200d-2642-fe0f.png" title=":man_wearing_turban_tone1:" width="20px" /><br> man_wearing_turban_tone2 <img align="absmiddle" alt=":man_wearing_turban_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fc-200d-2642-fe0f.png" title=":man_wearing_turban_tone2:" width="20px" /><br> man_wearing_turban_tone3 <img align="absmiddle" alt=":man_wearing_turban_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fd-200d-2642-fe0f.png" title=":man_wearing_turban_tone3:" width="20px" /><br> man_wearing_turban_tone4 <img align="absmiddle" alt=":man_wearing_turban_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fe-200d-2642-fe0f.png" title=":man_wearing_turban_tone4:" width="20px" /><br> man_wearing_turban_tone5 <img align="absmiddle" alt=":man_wearing_turban_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3ff-200d-2642-fe0f.png" title=":man_wearing_turban_tone5:" width="20px" /><br> man_white_haired <img align="absmiddle" alt=":man_white_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9b3.png" title=":man_white_haired:" width="20px" /><br> man_white_haired_tone1 <img align="absmiddle" alt=":man_white_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9b3.png" title=":man_white_haired_tone1:" width="20px" /><br> man_white_haired_tone2 <img align="absmiddle" alt=":man_white_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9b3.png" title=":man_white_haired_tone2:" width="20px" /><br> man_white_haired_tone3 <img align="absmiddle" alt=":man_white_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9b3.png" title=":man_white_haired_tone3:" width="20px" /><br> man_white_haired_tone4 <img align="absmiddle" alt=":man_white_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9b3.png" title=":man_white_haired_tone4:" width="20px" /><br> man_white_haired_tone5 <img align="absmiddle" alt=":man_white_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9b3.png" title=":man_white_haired_tone5:" width="20px" /><br> man_with_chinese_cap <img align="absmiddle" alt=":man_with_chinese_cap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472.png" title=":man_with_chinese_cap:" width="20px" /><br> man_with_chinese_cap_tone1 <img align="absmiddle" alt=":man_with_chinese_cap_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472-1f3fb.png" title=":man_with_chinese_cap_tone1:" width="20px" /><br> man_with_chinese_cap_tone2 <img align="absmiddle" alt=":man_with_chinese_cap_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472-1f3fc.png" title=":man_with_chinese_cap_tone2:" width="20px" /><br> man_with_chinese_cap_tone3 <img align="absmiddle" alt=":man_with_chinese_cap_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472-1f3fd.png" title=":man_with_chinese_cap_tone3:" width="20px" /><br> man_with_chinese_cap_tone4 <img align="absmiddle" alt=":man_with_chinese_cap_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472-1f3fe.png" title=":man_with_chinese_cap_tone4:" width="20px" /><br> man_with_chinese_cap_tone5 <img align="absmiddle" alt=":man_with_chinese_cap_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f472-1f3ff.png" title=":man_with_chinese_cap_tone5:" width="20px" /><br> man_with_probing_cane <img align="absmiddle" alt=":man_with_probing_cane:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-200d-1f9af.png" title=":man_with_probing_cane:" width="20px" /><br> man_with_probing_cane_tone1 <img align="absmiddle" alt=":man_with_probing_cane_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f9af.png" title=":man_with_probing_cane_tone1:" width="20px" /><br> man_with_probing_cane_tone2 <img align="absmiddle" alt=":man_with_probing_cane_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f9af.png" title=":man_with_probing_cane_tone2:" width="20px" /><br> man_with_probing_cane_tone3 <img align="absmiddle" alt=":man_with_probing_cane_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f9af.png" title=":man_with_probing_cane_tone3:" width="20px" /><br> man_with_probing_cane_tone4 <img align="absmiddle" alt=":man_with_probing_cane_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f9af.png" title=":man_with_probing_cane_tone4:" width="20px" /><br> man_with_probing_cane_tone5 <img align="absmiddle" alt=":man_with_probing_cane_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f9af.png" title=":man_with_probing_cane_tone5:" width="20px" /><br> man_with_veil <img align="absmiddle" alt=":man_with_veil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-200d-2642-fe0f.png" title=":man_with_veil:" width="20px" /><br> man_with_veil_tone1 <img align="absmiddle" alt=":man_with_veil_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fb-200d-2642-fe0f.png" title=":man_with_veil_tone1:" width="20px" /><br> man_with_veil_tone2 <img align="absmiddle" alt=":man_with_veil_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fc-200d-2642-fe0f.png" title=":man_with_veil_tone2:" width="20px" /><br> man_with_veil_tone3 <img align="absmiddle" alt=":man_with_veil_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fd-200d-2642-fe0f.png" title=":man_with_veil_tone3:" width="20px" /><br> man_with_veil_tone4 <img align="absmiddle" alt=":man_with_veil_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fe-200d-2642-fe0f.png" title=":man_with_veil_tone4:" width="20px" /><br> man_with_veil_tone5 <img align="absmiddle" alt=":man_with_veil_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3ff-200d-2642-fe0f.png" title=":man_with_veil_tone5:" width="20px" /><br> man_zombie <img align="absmiddle" alt=":man_zombie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9df-200d-2642-fe0f.png" title=":man_zombie:" width="20px" /><br> mango <img align="absmiddle" alt=":mango:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96d.png" title=":mango:" width="20px" /><br> mans_shoe <img align="absmiddle" alt=":mans_shoe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45e.png" title=":mans_shoe:" width="20px" /><br> manual_wheelchair <img align="absmiddle" alt=":manual_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bd.png" title=":manual_wheelchair:" width="20px" /><br> map <img align="absmiddle" alt=":map:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5fa.png" title=":map:" width="20px" /><br> maple_leaf <img align="absmiddle" alt=":maple_leaf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f341.png" title=":maple_leaf:" width="20px" /><br> maracas <img align="absmiddle" alt=":maracas:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa87.png" title=":maracas:" width="20px" /><br> martial_arts_uniform <img align="absmiddle" alt=":martial_arts_uniform:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94b.png" title=":martial_arts_uniform:" width="20px" /><br> mask <img align="absmiddle" alt=":mask:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f637.png" title=":mask:" width="20px" /><br> mate <img align="absmiddle" alt=":mate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c9.png" title=":mate:" width="20px" /><br> meat_on_bone <img align="absmiddle" alt=":meat_on_bone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f356.png" title=":meat_on_bone:" width="20px" /><br> mechanic <img align="absmiddle" alt=":mechanic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f527.png" title=":mechanic:" width="20px" /><br> mechanic_tone1 <img align="absmiddle" alt=":mechanic_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f527.png" title=":mechanic_tone1:" width="20px" /><br> mechanic_tone2 <img align="absmiddle" alt=":mechanic_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f527.png" title=":mechanic_tone2:" width="20px" /><br> mechanic_tone3 <img align="absmiddle" alt=":mechanic_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f527.png" title=":mechanic_tone3:" width="20px" /><br> mechanic_tone4 <img align="absmiddle" alt=":mechanic_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f527.png" title=":mechanic_tone4:" width="20px" /><br> mechanic_tone5 <img align="absmiddle" alt=":mechanic_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f527.png" title=":mechanic_tone5:" width="20px" /><br> mechanical_arm <img align="absmiddle" alt=":mechanical_arm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9be.png" title=":mechanical_arm:" width="20px" /><br> mechanical_leg <img align="absmiddle" alt=":mechanical_leg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bf.png" title=":mechanical_leg:" width="20px" /><br> medal <img align="absmiddle" alt=":medal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c5.png" title=":medal:" width="20px" /><br> medical_symbol <img align="absmiddle" alt=":medical_symbol:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2695.png" title=":medical_symbol:" width="20px" /><br> mega <img align="absmiddle" alt=":mega:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e3.png" title=":mega:" width="20px" /><br> melon <img align="absmiddle" alt=":melon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f348.png" title=":melon:" width="20px" /><br> melting_face <img align="absmiddle" alt=":melting_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae0.png" title=":melting_face:" width="20px" /><br> men_holding_hands_tone1 <img align="absmiddle" alt=":men_holding_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c-1f3fb.png" title=":men_holding_hands_tone1:" width="20px" /><br> men_holding_hands_tone1_tone2 <img align="absmiddle" alt=":men_holding_hands_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.png" title=":men_holding_hands_tone1_tone2:" width="20px" /><br> men_holding_hands_tone1_tone3 <img align="absmiddle" alt=":men_holding_hands_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.png" title=":men_holding_hands_tone1_tone3:" width="20px" /><br> men_holding_hands_tone1_tone4 <img align="absmiddle" alt=":men_holding_hands_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.png" title=":men_holding_hands_tone1_tone4:" width="20px" /><br> men_holding_hands_tone1_tone5 <img align="absmiddle" alt=":men_holding_hands_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.png" title=":men_holding_hands_tone1_tone5:" width="20px" /><br> men_holding_hands_tone2 <img align="absmiddle" alt=":men_holding_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c-1f3fc.png" title=":men_holding_hands_tone2:" width="20px" /><br> men_holding_hands_tone2_tone1 <img align="absmiddle" alt=":men_holding_hands_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.png" title=":men_holding_hands_tone2_tone1:" width="20px" /><br> men_holding_hands_tone2_tone3 <img align="absmiddle" alt=":men_holding_hands_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.png" title=":men_holding_hands_tone2_tone3:" width="20px" /><br> men_holding_hands_tone2_tone4 <img align="absmiddle" alt=":men_holding_hands_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.png" title=":men_holding_hands_tone2_tone4:" width="20px" /><br> men_holding_hands_tone2_tone5 <img align="absmiddle" alt=":men_holding_hands_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.png" title=":men_holding_hands_tone2_tone5:" width="20px" /><br> men_holding_hands_tone3 <img align="absmiddle" alt=":men_holding_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c-1f3fd.png" title=":men_holding_hands_tone3:" width="20px" /><br> men_holding_hands_tone3_tone1 <img align="absmiddle" alt=":men_holding_hands_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.png" title=":men_holding_hands_tone3_tone1:" width="20px" /><br> men_holding_hands_tone3_tone2 <img align="absmiddle" alt=":men_holding_hands_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.png" title=":men_holding_hands_tone3_tone2:" width="20px" /><br> men_holding_hands_tone3_tone4 <img align="absmiddle" alt=":men_holding_hands_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.png" title=":men_holding_hands_tone3_tone4:" width="20px" /><br> men_holding_hands_tone3_tone5 <img align="absmiddle" alt=":men_holding_hands_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.png" title=":men_holding_hands_tone3_tone5:" width="20px" /><br> men_holding_hands_tone4 <img align="absmiddle" alt=":men_holding_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c-1f3fe.png" title=":men_holding_hands_tone4:" width="20px" /><br> men_holding_hands_tone4_tone1 <img align="absmiddle" alt=":men_holding_hands_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.png" title=":men_holding_hands_tone4_tone1:" width="20px" /><br> men_holding_hands_tone4_tone2 <img align="absmiddle" alt=":men_holding_hands_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.png" title=":men_holding_hands_tone4_tone2:" width="20px" /><br> men_holding_hands_tone4_tone3 <img align="absmiddle" alt=":men_holding_hands_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.png" title=":men_holding_hands_tone4_tone3:" width="20px" /><br> men_holding_hands_tone4_tone5 <img align="absmiddle" alt=":men_holding_hands_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.png" title=":men_holding_hands_tone4_tone5:" width="20px" /><br> men_holding_hands_tone5 <img align="absmiddle" alt=":men_holding_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c-1f3ff.png" title=":men_holding_hands_tone5:" width="20px" /><br> men_holding_hands_tone5_tone1 <img align="absmiddle" alt=":men_holding_hands_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.png" title=":men_holding_hands_tone5_tone1:" width="20px" /><br> men_holding_hands_tone5_tone2 <img align="absmiddle" alt=":men_holding_hands_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.png" title=":men_holding_hands_tone5_tone2:" width="20px" /><br> men_holding_hands_tone5_tone3 <img align="absmiddle" alt=":men_holding_hands_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.png" title=":men_holding_hands_tone5_tone3:" width="20px" /><br> men_holding_hands_tone5_tone4 <img align="absmiddle" alt=":men_holding_hands_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.png" title=":men_holding_hands_tone5_tone4:" width="20px" /><br> men_with_bunny_ears_partying <img align="absmiddle" alt=":men_with_bunny_ears_partying:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46f-200d-2642-fe0f.png" title=":men_with_bunny_ears_partying:" width="20px" /><br> men_wrestling <img align="absmiddle" alt=":men_wrestling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93c-200d-2642-fe0f.png" title=":men_wrestling:" width="20px" /><br> mending_heart <img align="absmiddle" alt=":mending_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2764-fe0f-200d-1fa79.png" title=":mending_heart:" width="20px" /><br> menorah <img align="absmiddle" alt=":menorah:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f54e.png" title=":menorah:" width="20px" /><br> mens <img align="absmiddle" alt=":mens:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b9.png" title=":mens:" width="20px" /><br> mermaid <img align="absmiddle" alt=":mermaid:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-200d-2640-fe0f.png" title=":mermaid:" width="20px" /><br> mermaid_tone1 <img align="absmiddle" alt=":mermaid_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fb-200d-2640-fe0f.png" title=":mermaid_tone1:" width="20px" /><br> mermaid_tone2 <img align="absmiddle" alt=":mermaid_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fc-200d-2640-fe0f.png" title=":mermaid_tone2:" width="20px" /><br> mermaid_tone3 <img align="absmiddle" alt=":mermaid_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fd-200d-2640-fe0f.png" title=":mermaid_tone3:" width="20px" /><br> mermaid_tone4 <img align="absmiddle" alt=":mermaid_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fe-200d-2640-fe0f.png" title=":mermaid_tone4:" width="20px" /><br> mermaid_tone5 <img align="absmiddle" alt=":mermaid_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3ff-200d-2640-fe0f.png" title=":mermaid_tone5:" width="20px" /><br> merman <img align="absmiddle" alt=":merman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-200d-2642-fe0f.png" title=":merman:" width="20px" /><br> merman_tone1 <img align="absmiddle" alt=":merman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fb-200d-2642-fe0f.png" title=":merman_tone1:" width="20px" /><br> merman_tone2 <img align="absmiddle" alt=":merman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fc-200d-2642-fe0f.png" title=":merman_tone2:" width="20px" /><br> merman_tone3 <img align="absmiddle" alt=":merman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fd-200d-2642-fe0f.png" title=":merman_tone3:" width="20px" /><br> merman_tone4 <img align="absmiddle" alt=":merman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fe-200d-2642-fe0f.png" title=":merman_tone4:" width="20px" /><br> merman_tone5 <img align="absmiddle" alt=":merman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3ff-200d-2642-fe0f.png" title=":merman_tone5:" width="20px" /><br> merperson <img align="absmiddle" alt=":merperson:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc.png" title=":merperson:" width="20px" /><br> merperson_tone1 <img align="absmiddle" alt=":merperson_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fb.png" title=":merperson_tone1:" width="20px" /><br> merperson_tone2 <img align="absmiddle" alt=":merperson_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fc.png" title=":merperson_tone2:" width="20px" /><br> merperson_tone3 <img align="absmiddle" alt=":merperson_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fd.png" title=":merperson_tone3:" width="20px" /><br> merperson_tone4 <img align="absmiddle" alt=":merperson_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3fe.png" title=":merperson_tone4:" width="20px" /><br> merperson_tone5 <img align="absmiddle" alt=":merperson_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dc-1f3ff.png" title=":merperson_tone5:" width="20px" /><br> metal <img align="absmiddle" alt=":metal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918.png" title=":metal:" width="20px" /><br> metal_tone1 <img align="absmiddle" alt=":metal_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918-1f3fb.png" title=":metal_tone1:" width="20px" /><br> metal_tone2 <img align="absmiddle" alt=":metal_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918-1f3fc.png" title=":metal_tone2:" width="20px" /><br> metal_tone3 <img align="absmiddle" alt=":metal_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918-1f3fd.png" title=":metal_tone3:" width="20px" /><br> metal_tone4 <img align="absmiddle" alt=":metal_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918-1f3fe.png" title=":metal_tone4:" width="20px" /><br> metal_tone5 <img align="absmiddle" alt=":metal_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f918-1f3ff.png" title=":metal_tone5:" width="20px" /><br> metro <img align="absmiddle" alt=":metro:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f687.png" title=":metro:" width="20px" /><br> microbe <img align="absmiddle" alt=":microbe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a0.png" title=":microbe:" width="20px" /><br> microphone2 <img align="absmiddle" alt=":microphone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f399.png" title=":microphone2:" width="20px" /><br> microphone <img align="absmiddle" alt=":microphone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a4.png" title=":microphone:" width="20px" /><br> microscope <img align="absmiddle" alt=":microscope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52c.png" title=":microscope:" width="20px" /><br> middle_finger <img align="absmiddle" alt=":middle_finger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595.png" title=":middle_finger:" width="20px" /><br> middle_finger_tone1 <img align="absmiddle" alt=":middle_finger_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595-1f3fb.png" title=":middle_finger_tone1:" width="20px" /><br> middle_finger_tone2 <img align="absmiddle" alt=":middle_finger_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595-1f3fc.png" title=":middle_finger_tone2:" width="20px" /><br> middle_finger_tone3 <img align="absmiddle" alt=":middle_finger_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595-1f3fd.png" title=":middle_finger_tone3:" width="20px" /><br> middle_finger_tone4 <img align="absmiddle" alt=":middle_finger_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595-1f3fe.png" title=":middle_finger_tone4:" width="20px" /><br> middle_finger_tone5 <img align="absmiddle" alt=":middle_finger_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f595-1f3ff.png" title=":middle_finger_tone5:" width="20px" /><br> military_helmet <img align="absmiddle" alt=":military_helmet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa96.png" title=":military_helmet:" width="20px" /><br> military_medal <img align="absmiddle" alt=":military_medal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f396.png" title=":military_medal:" width="20px" /><br> milk <img align="absmiddle" alt=":milk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95b.png" title=":milk:" width="20px" /><br> milky_way <img align="absmiddle" alt=":milky_way:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30c.png" title=":milky_way:" width="20px" /><br> minibus <img align="absmiddle" alt=":minibus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f690.png" title=":minibus:" width="20px" /><br> minidisc <img align="absmiddle" alt=":minidisc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4bd.png" title=":minidisc:" width="20px" /><br> mirror <img align="absmiddle" alt=":mirror:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9e.png" title=":mirror:" width="20px" /><br> mirror_ball <img align="absmiddle" alt=":mirror_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa9.png" title=":mirror_ball:" width="20px" /><br> mobile_phone <img align="absmiddle" alt=":mobile_phone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f1.png" title=":mobile_phone:" width="20px" /><br> mobile_phone_off <img align="absmiddle" alt=":mobile_phone_off:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f4.png" title=":mobile_phone_off:" width="20px" /><br> money_mouth <img align="absmiddle" alt=":money_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f911.png" title=":money_mouth:" width="20px" /><br> money_with_wings <img align="absmiddle" alt=":money_with_wings:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b8.png" title=":money_with_wings:" width="20px" /><br> moneybag <img align="absmiddle" alt=":moneybag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b0.png" title=":moneybag:" width="20px" /><br> monkey <img align="absmiddle" alt=":monkey:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f412.png" title=":monkey:" width="20px" /><br> monkey_face <img align="absmiddle" alt=":monkey_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f435.png" title=":monkey_face:" width="20px" /><br> monorail <img align="absmiddle" alt=":monorail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69d.png" title=":monorail:" width="20px" /><br> moon_cake <img align="absmiddle" alt=":moon_cake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96e.png" title=":moon_cake:" width="20px" /><br> moose <img align="absmiddle" alt=":moose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1face.png" title=":moose:" width="20px" /><br> mortar_board <img align="absmiddle" alt=":mortar_board:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f393.png" title=":mortar_board:" width="20px" /><br> mosque <img align="absmiddle" alt=":mosque:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f54c.png" title=":mosque:" width="20px" /><br> mosquito <img align="absmiddle" alt=":mosquito:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99f.png" title=":mosquito:" width="20px" /><br> motor_scooter <img align="absmiddle" alt=":motor_scooter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f5.png" title=":motor_scooter:" width="20px" /><br> motorboat <img align="absmiddle" alt=":motorboat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e5.png" title=":motorboat:" width="20px" /><br> motorcycle <img align="absmiddle" alt=":motorcycle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cd.png" title=":motorcycle:" width="20px" /><br> motorized_wheelchair <img align="absmiddle" alt=":motorized_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9bc.png" title=":motorized_wheelchair:" width="20px" /><br> motorway <img align="absmiddle" alt=":motorway:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e3.png" title=":motorway:" width="20px" /><br> mount_fuji <img align="absmiddle" alt=":mount_fuji:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5fb.png" title=":mount_fuji:" width="20px" /><br> mountain <img align="absmiddle" alt=":mountain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f0.png" title=":mountain:" width="20px" /><br> mountain_cableway <img align="absmiddle" alt=":mountain_cableway:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a0.png" title=":mountain_cableway:" width="20px" /><br> mountain_railway <img align="absmiddle" alt=":mountain_railway:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69e.png" title=":mountain_railway:" width="20px" /><br> mountain_snow <img align="absmiddle" alt=":mountain_snow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d4.png" title=":mountain_snow:" width="20px" /><br> mouse2 <img align="absmiddle" alt=":mouse2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f401.png" title=":mouse2:" width="20px" /><br> mouse <img align="absmiddle" alt=":mouse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42d.png" title=":mouse:" width="20px" /><br> mouse_three_button <img align="absmiddle" alt=":mouse_three_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5b1.png" title=":mouse_three_button:" width="20px" /><br> mouse_trap <img align="absmiddle" alt=":mouse_trap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa4.png" title=":mouse_trap:" width="20px" /><br> movie_camera <img align="absmiddle" alt=":movie_camera:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a5.png" title=":movie_camera:" width="20px" /><br> moyai <img align="absmiddle" alt=":moyai:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5ff.png" title=":moyai:" width="20px" /><br> mrs_claus <img align="absmiddle" alt=":mrs_claus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936.png" title=":mrs_claus:" width="20px" /><br> mrs_claus_tone1 <img align="absmiddle" alt=":mrs_claus_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936-1f3fb.png" title=":mrs_claus_tone1:" width="20px" /><br> mrs_claus_tone2 <img align="absmiddle" alt=":mrs_claus_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936-1f3fc.png" title=":mrs_claus_tone2:" width="20px" /><br> mrs_claus_tone3 <img align="absmiddle" alt=":mrs_claus_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936-1f3fd.png" title=":mrs_claus_tone3:" width="20px" /><br> mrs_claus_tone4 <img align="absmiddle" alt=":mrs_claus_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936-1f3fe.png" title=":mrs_claus_tone4:" width="20px" /><br> mrs_claus_tone5 <img align="absmiddle" alt=":mrs_claus_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f936-1f3ff.png" title=":mrs_claus_tone5:" width="20px" /><br> muscle <img align="absmiddle" alt=":muscle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa.png" title=":muscle:" width="20px" /><br> muscle_tone1 <img align="absmiddle" alt=":muscle_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa-1f3fb.png" title=":muscle_tone1:" width="20px" /><br> muscle_tone2 <img align="absmiddle" alt=":muscle_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa-1f3fc.png" title=":muscle_tone2:" width="20px" /><br> muscle_tone3 <img align="absmiddle" alt=":muscle_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa-1f3fd.png" title=":muscle_tone3:" width="20px" /><br> muscle_tone4 <img align="absmiddle" alt=":muscle_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa-1f3fe.png" title=":muscle_tone4:" width="20px" /><br> muscle_tone5 <img align="absmiddle" alt=":muscle_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4aa-1f3ff.png" title=":muscle_tone5:" width="20px" /><br> mushroom <img align="absmiddle" alt=":mushroom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f344.png" title=":mushroom:" width="20px" /><br> musical_keyboard <img align="absmiddle" alt=":musical_keyboard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b9.png" title=":musical_keyboard:" width="20px" /><br> musical_note <img align="absmiddle" alt=":musical_note:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b5.png" title=":musical_note:" width="20px" /><br> musical_score <img align="absmiddle" alt=":musical_score:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3bc.png" title=":musical_score:" width="20px" /><br> mute <img align="absmiddle" alt=":mute:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f507.png" title=":mute:" width="20px" /><br> mx_claus <img align="absmiddle" alt=":mx_claus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f384.png" title=":mx_claus:" width="20px" /><br> mx_claus_tone1 <img align="absmiddle" alt=":mx_claus_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f384.png" title=":mx_claus_tone1:" width="20px" /><br> mx_claus_tone2 <img align="absmiddle" alt=":mx_claus_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f384.png" title=":mx_claus_tone2:" width="20px" /><br> mx_claus_tone3 <img align="absmiddle" alt=":mx_claus_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f384.png" title=":mx_claus_tone3:" width="20px" /><br> mx_claus_tone4 <img align="absmiddle" alt=":mx_claus_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f384.png" title=":mx_claus_tone4:" width="20px" /><br> mx_claus_tone5 <img align="absmiddle" alt=":mx_claus_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f384.png" title=":mx_claus_tone5:" width="20px" /><br> nail_care <img align="absmiddle" alt=":nail_care:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485.png" title=":nail_care:" width="20px" /><br> nail_care_tone1 <img align="absmiddle" alt=":nail_care_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485-1f3fb.png" title=":nail_care_tone1:" width="20px" /><br> nail_care_tone2 <img align="absmiddle" alt=":nail_care_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485-1f3fc.png" title=":nail_care_tone2:" width="20px" /><br> nail_care_tone3 <img align="absmiddle" alt=":nail_care_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485-1f3fd.png" title=":nail_care_tone3:" width="20px" /><br> nail_care_tone4 <img align="absmiddle" alt=":nail_care_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485-1f3fe.png" title=":nail_care_tone4:" width="20px" /><br> nail_care_tone5 <img align="absmiddle" alt=":nail_care_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f485-1f3ff.png" title=":nail_care_tone5:" width="20px" /><br> name_badge <img align="absmiddle" alt=":name_badge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4db.png" title=":name_badge:" width="20px" /><br> nauseated_face <img align="absmiddle" alt=":nauseated_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f922.png" title=":nauseated_face:" width="20px" /><br> nazar_amulet <img align="absmiddle" alt=":nazar_amulet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ff.png" title=":nazar_amulet:" width="20px" /><br> necktie <img align="absmiddle" alt=":necktie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f454.png" title=":necktie:" width="20px" /><br> negative_squared_cross_mark <img align="absmiddle" alt=":negative_squared_cross_mark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/274e.png" title=":negative_squared_cross_mark:" width="20px" /><br> nerd <img align="absmiddle" alt=":nerd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f913.png" title=":nerd:" width="20px" /><br> nest_with_eggs <img align="absmiddle" alt=":nest_with_eggs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faba.png" title=":nest_with_eggs:" width="20px" /><br> nesting_dolls <img align="absmiddle" alt=":nesting_dolls:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa86.png" title=":nesting_dolls:" width="20px" /><br> neutral_face <img align="absmiddle" alt=":neutral_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f610.png" title=":neutral_face:" width="20px" /><br> new <img align="absmiddle" alt=":new:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f195.png" title=":new:" width="20px" /><br> new_moon <img align="absmiddle" alt=":new_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f311.png" title=":new_moon:" width="20px" /><br> new_moon_with_face <img align="absmiddle" alt=":new_moon_with_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31a.png" title=":new_moon_with_face:" width="20px" /><br> newspaper2 <img align="absmiddle" alt=":newspaper2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5de.png" title=":newspaper2:" width="20px" /><br> newspaper <img align="absmiddle" alt=":newspaper:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f0.png" title=":newspaper:" width="20px" /><br> ng <img align="absmiddle" alt=":ng:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f196.png" title=":ng:" width="20px" /><br> night_with_stars <img align="absmiddle" alt=":night_with_stars:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f303.png" title=":night_with_stars:" width="20px" /><br> nine <img align="absmiddle" alt=":nine:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/39-20e3.png" title=":nine:" width="20px" /><br> ninja <img align="absmiddle" alt=":ninja:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977.png" title=":ninja:" width="20px" /><br> ninja_tone1 <img align="absmiddle" alt=":ninja_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977-1f3fb.png" title=":ninja_tone1:" width="20px" /><br> ninja_tone2 <img align="absmiddle" alt=":ninja_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977-1f3fc.png" title=":ninja_tone2:" width="20px" /><br> ninja_tone3 <img align="absmiddle" alt=":ninja_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977-1f3fd.png" title=":ninja_tone3:" width="20px" /><br> ninja_tone4 <img align="absmiddle" alt=":ninja_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977-1f3fe.png" title=":ninja_tone4:" width="20px" /><br> ninja_tone5 <img align="absmiddle" alt=":ninja_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f977-1f3ff.png" title=":ninja_tone5:" width="20px" /><br> no_bell <img align="absmiddle" alt=":no_bell:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f515.png" title=":no_bell:" width="20px" /><br> no_bicycles <img align="absmiddle" alt=":no_bicycles:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b3.png" title=":no_bicycles:" width="20px" /><br> no_entry <img align="absmiddle" alt=":no_entry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26d4.png" title=":no_entry:" width="20px" /><br> no_entry_sign <img align="absmiddle" alt=":no_entry_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ab.png" title=":no_entry_sign:" width="20px" /><br> no_mobile_phones <img align="absmiddle" alt=":no_mobile_phones:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f5.png" title=":no_mobile_phones:" width="20px" /><br> no_mouth <img align="absmiddle" alt=":no_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f636.png" title=":no_mouth:" width="20px" /><br> no_pedestrians <img align="absmiddle" alt=":no_pedestrians:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b7.png" title=":no_pedestrians:" width="20px" /><br> no_smoking <img align="absmiddle" alt=":no_smoking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ad.png" title=":no_smoking:" width="20px" /><br> non-potable_water <img align="absmiddle" alt=":non-potable_water:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b1.png" title=":non-potable_water:" width="20px" /><br> nose <img align="absmiddle" alt=":nose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443.png" title=":nose:" width="20px" /><br> nose_tone1 <img align="absmiddle" alt=":nose_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443-1f3fb.png" title=":nose_tone1:" width="20px" /><br> nose_tone2 <img align="absmiddle" alt=":nose_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443-1f3fc.png" title=":nose_tone2:" width="20px" /><br> nose_tone3 <img align="absmiddle" alt=":nose_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443-1f3fd.png" title=":nose_tone3:" width="20px" /><br> nose_tone4 <img align="absmiddle" alt=":nose_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443-1f3fe.png" title=":nose_tone4:" width="20px" /><br> nose_tone5 <img align="absmiddle" alt=":nose_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f443-1f3ff.png" title=":nose_tone5:" width="20px" /><br> notebook <img align="absmiddle" alt=":notebook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d3.png" title=":notebook:" width="20px" /><br> notebook_with_decorative_cover <img align="absmiddle" alt=":notebook_with_decorative_cover:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d4.png" title=":notebook_with_decorative_cover:" width="20px" /><br> notepad_spiral <img align="absmiddle" alt=":notepad_spiral:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5d2.png" title=":notepad_spiral:" width="20px" /><br> notes <img align="absmiddle" alt=":notes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b6.png" title=":notes:" width="20px" /><br> nut_and_bolt <img align="absmiddle" alt=":nut_and_bolt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f529.png" title=":nut_and_bolt:" width="20px" /><br> o2 <img align="absmiddle" alt=":o2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f17e.png" title=":o2:" width="20px" /><br> o <img align="absmiddle" alt=":o:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b55.png" title=":o:" width="20px" /><br> ocean <img align="absmiddle" alt=":ocean:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30a.png" title=":ocean:" width="20px" /><br> octagonal_sign <img align="absmiddle" alt=":octagonal_sign:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d1.png" title=":octagonal_sign:" width="20px" /><br> octopus <img align="absmiddle" alt=":octopus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f419.png" title=":octopus:" width="20px" /><br> oden <img align="absmiddle" alt=":oden:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f362.png" title=":oden:" width="20px" /><br> office <img align="absmiddle" alt=":office:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e2.png" title=":office:" width="20px" /><br> office_worker <img align="absmiddle" alt=":office_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f4bc.png" title=":office_worker:" width="20px" /><br> office_worker_tone1 <img align="absmiddle" alt=":office_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f4bc.png" title=":office_worker_tone1:" width="20px" /><br> office_worker_tone2 <img align="absmiddle" alt=":office_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f4bc.png" title=":office_worker_tone2:" width="20px" /><br> office_worker_tone3 <img align="absmiddle" alt=":office_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f4bc.png" title=":office_worker_tone3:" width="20px" /><br> office_worker_tone4 <img align="absmiddle" alt=":office_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f4bc.png" title=":office_worker_tone4:" width="20px" /><br> office_worker_tone5 <img align="absmiddle" alt=":office_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f4bc.png" title=":office_worker_tone5:" width="20px" /><br> oil <img align="absmiddle" alt=":oil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e2.png" title=":oil:" width="20px" /><br> ok <img align="absmiddle" alt=":ok:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f197.png" title=":ok:" width="20px" /><br> ok_hand <img align="absmiddle" alt=":ok_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c.png" title=":ok_hand:" width="20px" /><br> ok_hand_tone1 <img align="absmiddle" alt=":ok_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c-1f3fb.png" title=":ok_hand_tone1:" width="20px" /><br> ok_hand_tone2 <img align="absmiddle" alt=":ok_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c-1f3fc.png" title=":ok_hand_tone2:" width="20px" /><br> ok_hand_tone3 <img align="absmiddle" alt=":ok_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c-1f3fd.png" title=":ok_hand_tone3:" width="20px" /><br> ok_hand_tone4 <img align="absmiddle" alt=":ok_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c-1f3fe.png" title=":ok_hand_tone4:" width="20px" /><br> ok_hand_tone5 <img align="absmiddle" alt=":ok_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44c-1f3ff.png" title=":ok_hand_tone5:" width="20px" /><br> older_adult <img align="absmiddle" alt=":older_adult:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3.png" title=":older_adult:" width="20px" /><br> older_adult_tone1 <img align="absmiddle" alt=":older_adult_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3-1f3fb.png" title=":older_adult_tone1:" width="20px" /><br> older_adult_tone2 <img align="absmiddle" alt=":older_adult_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3-1f3fc.png" title=":older_adult_tone2:" width="20px" /><br> older_adult_tone3 <img align="absmiddle" alt=":older_adult_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3-1f3fd.png" title=":older_adult_tone3:" width="20px" /><br> older_adult_tone4 <img align="absmiddle" alt=":older_adult_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3-1f3fe.png" title=":older_adult_tone4:" width="20px" /><br> older_adult_tone5 <img align="absmiddle" alt=":older_adult_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d3-1f3ff.png" title=":older_adult_tone5:" width="20px" /><br> older_man <img align="absmiddle" alt=":older_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474.png" title=":older_man:" width="20px" /><br> older_man_tone1 <img align="absmiddle" alt=":older_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474-1f3fb.png" title=":older_man_tone1:" width="20px" /><br> older_man_tone2 <img align="absmiddle" alt=":older_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474-1f3fc.png" title=":older_man_tone2:" width="20px" /><br> older_man_tone3 <img align="absmiddle" alt=":older_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474-1f3fd.png" title=":older_man_tone3:" width="20px" /><br> older_man_tone4 <img align="absmiddle" alt=":older_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474-1f3fe.png" title=":older_man_tone4:" width="20px" /><br> older_man_tone5 <img align="absmiddle" alt=":older_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f474-1f3ff.png" title=":older_man_tone5:" width="20px" /><br> older_woman <img align="absmiddle" alt=":older_woman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475.png" title=":older_woman:" width="20px" /><br> older_woman_tone1 <img align="absmiddle" alt=":older_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475-1f3fb.png" title=":older_woman_tone1:" width="20px" /><br> older_woman_tone2 <img align="absmiddle" alt=":older_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475-1f3fc.png" title=":older_woman_tone2:" width="20px" /><br> older_woman_tone3 <img align="absmiddle" alt=":older_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475-1f3fd.png" title=":older_woman_tone3:" width="20px" /><br> older_woman_tone4 <img align="absmiddle" alt=":older_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475-1f3fe.png" title=":older_woman_tone4:" width="20px" /><br> older_woman_tone5 <img align="absmiddle" alt=":older_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f475-1f3ff.png" title=":older_woman_tone5:" width="20px" /><br> olive <img align="absmiddle" alt=":olive:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad2.png" title=":olive:" width="20px" /><br> om_symbol <img align="absmiddle" alt=":om_symbol:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f549.png" title=":om_symbol:" width="20px" /><br> on <img align="absmiddle" alt=":on:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51b.png" title=":on:" width="20px" /><br> oncoming_automobile <img align="absmiddle" alt=":oncoming_automobile:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f698.png" title=":oncoming_automobile:" width="20px" /><br> oncoming_bus <img align="absmiddle" alt=":oncoming_bus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68d.png" title=":oncoming_bus:" width="20px" /><br> oncoming_police_car <img align="absmiddle" alt=":oncoming_police_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f694.png" title=":oncoming_police_car:" width="20px" /><br> oncoming_taxi <img align="absmiddle" alt=":oncoming_taxi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f696.png" title=":oncoming_taxi:" width="20px" /><br> one <img align="absmiddle" alt=":one:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/31-20e3.png" title=":one:" width="20px" /><br> one_piece_swimsuit <img align="absmiddle" alt=":one_piece_swimsuit:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa71.png" title=":one_piece_swimsuit:" width="20px" /><br> onion <img align="absmiddle" alt=":onion:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c5.png" title=":onion:" width="20px" /><br> open_file_folder <img align="absmiddle" alt=":open_file_folder:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c2.png" title=":open_file_folder:" width="20px" /><br> open_hands <img align="absmiddle" alt=":open_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450.png" title=":open_hands:" width="20px" /><br> open_hands_tone1 <img align="absmiddle" alt=":open_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450-1f3fb.png" title=":open_hands_tone1:" width="20px" /><br> open_hands_tone2 <img align="absmiddle" alt=":open_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450-1f3fc.png" title=":open_hands_tone2:" width="20px" /><br> open_hands_tone3 <img align="absmiddle" alt=":open_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450-1f3fd.png" title=":open_hands_tone3:" width="20px" /><br> open_hands_tone4 <img align="absmiddle" alt=":open_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450-1f3fe.png" title=":open_hands_tone4:" width="20px" /><br> open_hands_tone5 <img align="absmiddle" alt=":open_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f450-1f3ff.png" title=":open_hands_tone5:" width="20px" /><br> open_mouth <img align="absmiddle" alt=":open_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62e.png" title=":open_mouth:" width="20px" /><br> ophiuchus <img align="absmiddle" alt=":ophiuchus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26ce.png" title=":ophiuchus:" width="20px" /><br> orange_book <img align="absmiddle" alt=":orange_book:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d9.png" title=":orange_book:" width="20px" /><br> orange_circle <img align="absmiddle" alt=":orange_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e0.png" title=":orange_circle:" width="20px" /><br> orange_heart <img align="absmiddle" alt=":orange_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e1.png" title=":orange_heart:" width="20px" /><br> orange_square <img align="absmiddle" alt=":orange_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e7.png" title=":orange_square:" width="20px" /><br> orangutan <img align="absmiddle" alt=":orangutan:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a7.png" title=":orangutan:" width="20px" /><br> orthodox_cross <img align="absmiddle" alt=":orthodox_cross:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2626.png" title=":orthodox_cross:" width="20px" /><br> otter <img align="absmiddle" alt=":otter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a6.png" title=":otter:" width="20px" /><br> outbox_tray <img align="absmiddle" alt=":outbox_tray:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e4.png" title=":outbox_tray:" width="20px" /><br> owl <img align="absmiddle" alt=":owl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f989.png" title=":owl:" width="20px" /><br> ox <img align="absmiddle" alt=":ox:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f402.png" title=":ox:" width="20px" /><br> oyster <img align="absmiddle" alt=":oyster:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9aa.png" title=":oyster:" width="20px" /><br> package <img align="absmiddle" alt=":package:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e6.png" title=":package:" width="20px" /><br> page_facing_up <img align="absmiddle" alt=":page_facing_up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c4.png" title=":page_facing_up:" width="20px" /><br> page_with_curl <img align="absmiddle" alt=":page_with_curl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4c3.png" title=":page_with_curl:" width="20px" /><br> pager <img align="absmiddle" alt=":pager:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4df.png" title=":pager:" width="20px" /><br> paintbrush <img align="absmiddle" alt=":paintbrush:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f58c.png" title=":paintbrush:" width="20px" /><br> palm_down_hand <img align="absmiddle" alt=":palm_down_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3.png" title=":palm_down_hand:" width="20px" /><br> palm_down_hand_tone1 <img align="absmiddle" alt=":palm_down_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3-1f3fb.png" title=":palm_down_hand_tone1:" width="20px" /><br> palm_down_hand_tone2 <img align="absmiddle" alt=":palm_down_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3-1f3fc.png" title=":palm_down_hand_tone2:" width="20px" /><br> palm_down_hand_tone3 <img align="absmiddle" alt=":palm_down_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3-1f3fd.png" title=":palm_down_hand_tone3:" width="20px" /><br> palm_down_hand_tone4 <img align="absmiddle" alt=":palm_down_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3-1f3fe.png" title=":palm_down_hand_tone4:" width="20px" /><br> palm_down_hand_tone5 <img align="absmiddle" alt=":palm_down_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf3-1f3ff.png" title=":palm_down_hand_tone5:" width="20px" /><br> palm_tree <img align="absmiddle" alt=":palm_tree:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f334.png" title=":palm_tree:" width="20px" /><br> palm_up_hand <img align="absmiddle" alt=":palm_up_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4.png" title=":palm_up_hand:" width="20px" /><br> palm_up_hand_tone1 <img align="absmiddle" alt=":palm_up_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4-1f3fb.png" title=":palm_up_hand_tone1:" width="20px" /><br> palm_up_hand_tone2 <img align="absmiddle" alt=":palm_up_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4-1f3fc.png" title=":palm_up_hand_tone2:" width="20px" /><br> palm_up_hand_tone3 <img align="absmiddle" alt=":palm_up_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4-1f3fd.png" title=":palm_up_hand_tone3:" width="20px" /><br> palm_up_hand_tone4 <img align="absmiddle" alt=":palm_up_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4-1f3fe.png" title=":palm_up_hand_tone4:" width="20px" /><br> palm_up_hand_tone5 <img align="absmiddle" alt=":palm_up_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf4-1f3ff.png" title=":palm_up_hand_tone5:" width="20px" /><br> palms_up_together <img align="absmiddle" alt=":palms_up_together:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932.png" title=":palms_up_together:" width="20px" /><br> palms_up_together_tone1 <img align="absmiddle" alt=":palms_up_together_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932-1f3fb.png" title=":palms_up_together_tone1:" width="20px" /><br> palms_up_together_tone2 <img align="absmiddle" alt=":palms_up_together_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932-1f3fc.png" title=":palms_up_together_tone2:" width="20px" /><br> palms_up_together_tone3 <img align="absmiddle" alt=":palms_up_together_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932-1f3fd.png" title=":palms_up_together_tone3:" width="20px" /><br> palms_up_together_tone4 <img align="absmiddle" alt=":palms_up_together_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932-1f3fe.png" title=":palms_up_together_tone4:" width="20px" /><br> palms_up_together_tone5 <img align="absmiddle" alt=":palms_up_together_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f932-1f3ff.png" title=":palms_up_together_tone5:" width="20px" /><br> pancakes <img align="absmiddle" alt=":pancakes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95e.png" title=":pancakes:" width="20px" /><br> panda_face <img align="absmiddle" alt=":panda_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43c.png" title=":panda_face:" width="20px" /><br> paperclip <img align="absmiddle" alt=":paperclip:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ce.png" title=":paperclip:" width="20px" /><br> paperclips <img align="absmiddle" alt=":paperclips:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f587.png" title=":paperclips:" width="20px" /><br> parachute <img align="absmiddle" alt=":parachute:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa82.png" title=":parachute:" width="20px" /><br> park <img align="absmiddle" alt=":park:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3de.png" title=":park:" width="20px" /><br> parking <img align="absmiddle" alt=":parking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f17f.png" title=":parking:" width="20px" /><br> parrot <img align="absmiddle" alt=":parrot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99c.png" title=":parrot:" width="20px" /><br> part_alternation_mark <img align="absmiddle" alt=":part_alternation_mark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/303d.png" title=":part_alternation_mark:" width="20px" /><br> partly_sunny <img align="absmiddle" alt=":partly_sunny:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26c5.png" title=":partly_sunny:" width="20px" /><br> partying_face <img align="absmiddle" alt=":partying_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f973.png" title=":partying_face:" width="20px" /><br> passport_control <img align="absmiddle" alt=":passport_control:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6c2.png" title=":passport_control:" width="20px" /><br> pause_button <img align="absmiddle" alt=":pause_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f8.png" title=":pause_button:" width="20px" /><br> pea_pod <img align="absmiddle" alt=":pea_pod:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fadb.png" title=":pea_pod:" width="20px" /><br> peace <img align="absmiddle" alt=":peace:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/262e.png" title=":peace:" width="20px" /><br> peach <img align="absmiddle" alt=":peach:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f351.png" title=":peach:" width="20px" /><br> peacock <img align="absmiddle" alt=":peacock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99a.png" title=":peacock:" width="20px" /><br> peanuts <img align="absmiddle" alt=":peanuts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f95c.png" title=":peanuts:" width="20px" /><br> pear <img align="absmiddle" alt=":pear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f350.png" title=":pear:" width="20px" /><br> pen_ballpoint <img align="absmiddle" alt=":pen_ballpoint:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f58a.png" title=":pen_ballpoint:" width="20px" /><br> pen_fountain <img align="absmiddle" alt=":pen_fountain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f58b.png" title=":pen_fountain:" width="20px" /><br> pencil2 <img align="absmiddle" alt=":pencil2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270f.png" title=":pencil2:" width="20px" /><br> pencil <img align="absmiddle" alt=":pencil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4dd.png" title=":pencil:" width="20px" /><br> penguin <img align="absmiddle" alt=":penguin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f427.png" title=":penguin:" width="20px" /><br> pensive <img align="absmiddle" alt=":pensive:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f614.png" title=":pensive:" width="20px" /><br> people_holding_hands <img align="absmiddle" alt=":people_holding_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f91d-200d-1f9d1.png" title=":people_holding_hands:" width="20px" /><br> people_holding_hands_tone1 <img align="absmiddle" alt=":people_holding_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.png" title=":people_holding_hands_tone1:" width="20px" /><br> people_holding_hands_tone1_tone2 <img align="absmiddle" alt=":people_holding_hands_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.png" title=":people_holding_hands_tone1_tone2:" width="20px" /><br> people_holding_hands_tone1_tone3 <img align="absmiddle" alt=":people_holding_hands_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.png" title=":people_holding_hands_tone1_tone3:" width="20px" /><br> people_holding_hands_tone1_tone4 <img align="absmiddle" alt=":people_holding_hands_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.png" title=":people_holding_hands_tone1_tone4:" width="20px" /><br> people_holding_hands_tone1_tone5 <img align="absmiddle" alt=":people_holding_hands_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.png" title=":people_holding_hands_tone1_tone5:" width="20px" /><br> people_holding_hands_tone2 <img align="absmiddle" alt=":people_holding_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.png" title=":people_holding_hands_tone2:" width="20px" /><br> people_holding_hands_tone2_tone1 <img align="absmiddle" alt=":people_holding_hands_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.png" title=":people_holding_hands_tone2_tone1:" width="20px" /><br> people_holding_hands_tone2_tone3 <img align="absmiddle" alt=":people_holding_hands_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.png" title=":people_holding_hands_tone2_tone3:" width="20px" /><br> people_holding_hands_tone2_tone4 <img align="absmiddle" alt=":people_holding_hands_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.png" title=":people_holding_hands_tone2_tone4:" width="20px" /><br> people_holding_hands_tone2_tone5 <img align="absmiddle" alt=":people_holding_hands_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.png" title=":people_holding_hands_tone2_tone5:" width="20px" /><br> people_holding_hands_tone3 <img align="absmiddle" alt=":people_holding_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.png" title=":people_holding_hands_tone3:" width="20px" /><br> people_holding_hands_tone3_tone1 <img align="absmiddle" alt=":people_holding_hands_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.png" title=":people_holding_hands_tone3_tone1:" width="20px" /><br> people_holding_hands_tone3_tone2 <img align="absmiddle" alt=":people_holding_hands_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.png" title=":people_holding_hands_tone3_tone2:" width="20px" /><br> people_holding_hands_tone3_tone4 <img align="absmiddle" alt=":people_holding_hands_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.png" title=":people_holding_hands_tone3_tone4:" width="20px" /><br> people_holding_hands_tone3_tone5 <img align="absmiddle" alt=":people_holding_hands_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.png" title=":people_holding_hands_tone3_tone5:" width="20px" /><br> people_holding_hands_tone4 <img align="absmiddle" alt=":people_holding_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.png" title=":people_holding_hands_tone4:" width="20px" /><br> people_holding_hands_tone4_tone1 <img align="absmiddle" alt=":people_holding_hands_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.png" title=":people_holding_hands_tone4_tone1:" width="20px" /><br> people_holding_hands_tone4_tone2 <img align="absmiddle" alt=":people_holding_hands_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.png" title=":people_holding_hands_tone4_tone2:" width="20px" /><br> people_holding_hands_tone4_tone3 <img align="absmiddle" alt=":people_holding_hands_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.png" title=":people_holding_hands_tone4_tone3:" width="20px" /><br> people_holding_hands_tone4_tone5 <img align="absmiddle" alt=":people_holding_hands_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.png" title=":people_holding_hands_tone4_tone5:" width="20px" /><br> people_holding_hands_tone5 <img align="absmiddle" alt=":people_holding_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.png" title=":people_holding_hands_tone5:" width="20px" /><br> people_holding_hands_tone5_tone1 <img align="absmiddle" alt=":people_holding_hands_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.png" title=":people_holding_hands_tone5_tone1:" width="20px" /><br> people_holding_hands_tone5_tone2 <img align="absmiddle" alt=":people_holding_hands_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.png" title=":people_holding_hands_tone5_tone2:" width="20px" /><br> people_holding_hands_tone5_tone3 <img align="absmiddle" alt=":people_holding_hands_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.png" title=":people_holding_hands_tone5_tone3:" width="20px" /><br> people_holding_hands_tone5_tone4 <img align="absmiddle" alt=":people_holding_hands_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.png" title=":people_holding_hands_tone5_tone4:" width="20px" /><br> people_hugging <img align="absmiddle" alt=":people_hugging:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac2.png" title=":people_hugging:" width="20px" /><br> people_with_bunny_ears_partying <img align="absmiddle" alt=":people_with_bunny_ears_partying:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46f.png" title=":people_with_bunny_ears_partying:" width="20px" /><br> people_wrestling <img align="absmiddle" alt=":people_wrestling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93c.png" title=":people_wrestling:" width="20px" /><br> performing_arts <img align="absmiddle" alt=":performing_arts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ad.png" title=":performing_arts:" width="20px" /><br> persevere <img align="absmiddle" alt=":persevere:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f623.png" title=":persevere:" width="20px" /><br> person_bald <img align="absmiddle" alt=":person_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9b2.png" title=":person_bald:" width="20px" /><br> person_biking <img align="absmiddle" alt=":person_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4.png" title=":person_biking:" width="20px" /><br> person_biking_tone1 <img align="absmiddle" alt=":person_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fb.png" title=":person_biking_tone1:" width="20px" /><br> person_biking_tone2 <img align="absmiddle" alt=":person_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fc.png" title=":person_biking_tone2:" width="20px" /><br> person_biking_tone3 <img align="absmiddle" alt=":person_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fd.png" title=":person_biking_tone3:" width="20px" /><br> person_biking_tone4 <img align="absmiddle" alt=":person_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fe.png" title=":person_biking_tone4:" width="20px" /><br> person_biking_tone5 <img align="absmiddle" alt=":person_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3ff.png" title=":person_biking_tone5:" width="20px" /><br> person_bouncing_ball <img align="absmiddle" alt=":person_bouncing_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9.png" title=":person_bouncing_ball:" width="20px" /><br> person_bouncing_ball_tone1 <img align="absmiddle" alt=":person_bouncing_ball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fb.png" title=":person_bouncing_ball_tone1:" width="20px" /><br> person_bouncing_ball_tone2 <img align="absmiddle" alt=":person_bouncing_ball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fc.png" title=":person_bouncing_ball_tone2:" width="20px" /><br> person_bouncing_ball_tone3 <img align="absmiddle" alt=":person_bouncing_ball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fd.png" title=":person_bouncing_ball_tone3:" width="20px" /><br> person_bouncing_ball_tone4 <img align="absmiddle" alt=":person_bouncing_ball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fe.png" title=":person_bouncing_ball_tone4:" width="20px" /><br> person_bouncing_ball_tone5 <img align="absmiddle" alt=":person_bouncing_ball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3ff.png" title=":person_bouncing_ball_tone5:" width="20px" /><br> person_bowing <img align="absmiddle" alt=":person_bowing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647.png" title=":person_bowing:" width="20px" /><br> person_bowing_tone1 <img align="absmiddle" alt=":person_bowing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fb.png" title=":person_bowing_tone1:" width="20px" /><br> person_bowing_tone2 <img align="absmiddle" alt=":person_bowing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fc.png" title=":person_bowing_tone2:" width="20px" /><br> person_bowing_tone3 <img align="absmiddle" alt=":person_bowing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fd.png" title=":person_bowing_tone3:" width="20px" /><br> person_bowing_tone4 <img align="absmiddle" alt=":person_bowing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fe.png" title=":person_bowing_tone4:" width="20px" /><br> person_bowing_tone5 <img align="absmiddle" alt=":person_bowing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3ff.png" title=":person_bowing_tone5:" width="20px" /><br> person_climbing <img align="absmiddle" alt=":person_climbing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7.png" title=":person_climbing:" width="20px" /><br> person_climbing_tone1 <img align="absmiddle" alt=":person_climbing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fb.png" title=":person_climbing_tone1:" width="20px" /><br> person_climbing_tone2 <img align="absmiddle" alt=":person_climbing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fc.png" title=":person_climbing_tone2:" width="20px" /><br> person_climbing_tone3 <img align="absmiddle" alt=":person_climbing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fd.png" title=":person_climbing_tone3:" width="20px" /><br> person_climbing_tone4 <img align="absmiddle" alt=":person_climbing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fe.png" title=":person_climbing_tone4:" width="20px" /><br> person_climbing_tone5 <img align="absmiddle" alt=":person_climbing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3ff.png" title=":person_climbing_tone5:" width="20px" /><br> person_curly_hair <img align="absmiddle" alt=":person_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9b1.png" title=":person_curly_hair:" width="20px" /><br> person_doing_cartwheel <img align="absmiddle" alt=":person_doing_cartwheel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938.png" title=":person_doing_cartwheel:" width="20px" /><br> person_doing_cartwheel_tone1 <img align="absmiddle" alt=":person_doing_cartwheel_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fb.png" title=":person_doing_cartwheel_tone1:" width="20px" /><br> person_doing_cartwheel_tone2 <img align="absmiddle" alt=":person_doing_cartwheel_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fc.png" title=":person_doing_cartwheel_tone2:" width="20px" /><br> person_doing_cartwheel_tone3 <img align="absmiddle" alt=":person_doing_cartwheel_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fd.png" title=":person_doing_cartwheel_tone3:" width="20px" /><br> person_doing_cartwheel_tone4 <img align="absmiddle" alt=":person_doing_cartwheel_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fe.png" title=":person_doing_cartwheel_tone4:" width="20px" /><br> person_doing_cartwheel_tone5 <img align="absmiddle" alt=":person_doing_cartwheel_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3ff.png" title=":person_doing_cartwheel_tone5:" width="20px" /><br> person_facepalming <img align="absmiddle" alt=":person_facepalming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926.png" title=":person_facepalming:" width="20px" /><br> person_facepalming_tone1 <img align="absmiddle" alt=":person_facepalming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fb.png" title=":person_facepalming_tone1:" width="20px" /><br> person_facepalming_tone2 <img align="absmiddle" alt=":person_facepalming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fc.png" title=":person_facepalming_tone2:" width="20px" /><br> person_facepalming_tone3 <img align="absmiddle" alt=":person_facepalming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fd.png" title=":person_facepalming_tone3:" width="20px" /><br> person_facepalming_tone4 <img align="absmiddle" alt=":person_facepalming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fe.png" title=":person_facepalming_tone4:" width="20px" /><br> person_facepalming_tone5 <img align="absmiddle" alt=":person_facepalming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3ff.png" title=":person_facepalming_tone5:" width="20px" /><br> person_feeding_baby <img align="absmiddle" alt=":person_feeding_baby:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f37c.png" title=":person_feeding_baby:" width="20px" /><br> person_feeding_baby_tone1 <img align="absmiddle" alt=":person_feeding_baby_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f37c.png" title=":person_feeding_baby_tone1:" width="20px" /><br> person_feeding_baby_tone2 <img align="absmiddle" alt=":person_feeding_baby_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f37c.png" title=":person_feeding_baby_tone2:" width="20px" /><br> person_feeding_baby_tone3 <img align="absmiddle" alt=":person_feeding_baby_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f37c.png" title=":person_feeding_baby_tone3:" width="20px" /><br> person_feeding_baby_tone4 <img align="absmiddle" alt=":person_feeding_baby_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f37c.png" title=":person_feeding_baby_tone4:" width="20px" /><br> person_feeding_baby_tone5 <img align="absmiddle" alt=":person_feeding_baby_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f37c.png" title=":person_feeding_baby_tone5:" width="20px" /><br> person_fencing <img align="absmiddle" alt=":person_fencing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93a.png" title=":person_fencing:" width="20px" /><br> person_frowning <img align="absmiddle" alt=":person_frowning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d.png" title=":person_frowning:" width="20px" /><br> person_frowning_tone1 <img align="absmiddle" alt=":person_frowning_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fb.png" title=":person_frowning_tone1:" width="20px" /><br> person_frowning_tone2 <img align="absmiddle" alt=":person_frowning_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fc.png" title=":person_frowning_tone2:" width="20px" /><br> person_frowning_tone3 <img align="absmiddle" alt=":person_frowning_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fd.png" title=":person_frowning_tone3:" width="20px" /><br> person_frowning_tone4 <img align="absmiddle" alt=":person_frowning_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fe.png" title=":person_frowning_tone4:" width="20px" /><br> person_frowning_tone5 <img align="absmiddle" alt=":person_frowning_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3ff.png" title=":person_frowning_tone5:" width="20px" /><br> person_gesturing_no <img align="absmiddle" alt=":person_gesturing_no:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645.png" title=":person_gesturing_no:" width="20px" /><br> person_gesturing_no_tone1 <img align="absmiddle" alt=":person_gesturing_no_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fb.png" title=":person_gesturing_no_tone1:" width="20px" /><br> person_gesturing_no_tone2 <img align="absmiddle" alt=":person_gesturing_no_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fc.png" title=":person_gesturing_no_tone2:" width="20px" /><br> person_gesturing_no_tone3 <img align="absmiddle" alt=":person_gesturing_no_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fd.png" title=":person_gesturing_no_tone3:" width="20px" /><br> person_gesturing_no_tone4 <img align="absmiddle" alt=":person_gesturing_no_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fe.png" title=":person_gesturing_no_tone4:" width="20px" /><br> person_gesturing_no_tone5 <img align="absmiddle" alt=":person_gesturing_no_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3ff.png" title=":person_gesturing_no_tone5:" width="20px" /><br> person_gesturing_ok <img align="absmiddle" alt=":person_gesturing_ok:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646.png" title=":person_gesturing_ok:" width="20px" /><br> person_gesturing_ok_tone1 <img align="absmiddle" alt=":person_gesturing_ok_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fb.png" title=":person_gesturing_ok_tone1:" width="20px" /><br> person_gesturing_ok_tone2 <img align="absmiddle" alt=":person_gesturing_ok_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fc.png" title=":person_gesturing_ok_tone2:" width="20px" /><br> person_gesturing_ok_tone3 <img align="absmiddle" alt=":person_gesturing_ok_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fd.png" title=":person_gesturing_ok_tone3:" width="20px" /><br> person_gesturing_ok_tone4 <img align="absmiddle" alt=":person_gesturing_ok_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fe.png" title=":person_gesturing_ok_tone4:" width="20px" /><br> person_gesturing_ok_tone5 <img align="absmiddle" alt=":person_gesturing_ok_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3ff.png" title=":person_gesturing_ok_tone5:" width="20px" /><br> person_getting_haircut <img align="absmiddle" alt=":person_getting_haircut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487.png" title=":person_getting_haircut:" width="20px" /><br> person_getting_haircut_tone1 <img align="absmiddle" alt=":person_getting_haircut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fb.png" title=":person_getting_haircut_tone1:" width="20px" /><br> person_getting_haircut_tone2 <img align="absmiddle" alt=":person_getting_haircut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fc.png" title=":person_getting_haircut_tone2:" width="20px" /><br> person_getting_haircut_tone3 <img align="absmiddle" alt=":person_getting_haircut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fd.png" title=":person_getting_haircut_tone3:" width="20px" /><br> person_getting_haircut_tone4 <img align="absmiddle" alt=":person_getting_haircut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fe.png" title=":person_getting_haircut_tone4:" width="20px" /><br> person_getting_haircut_tone5 <img align="absmiddle" alt=":person_getting_haircut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3ff.png" title=":person_getting_haircut_tone5:" width="20px" /><br> person_getting_massage <img align="absmiddle" alt=":person_getting_massage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486.png" title=":person_getting_massage:" width="20px" /><br> person_getting_massage_tone1 <img align="absmiddle" alt=":person_getting_massage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fb.png" title=":person_getting_massage_tone1:" width="20px" /><br> person_getting_massage_tone2 <img align="absmiddle" alt=":person_getting_massage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fc.png" title=":person_getting_massage_tone2:" width="20px" /><br> person_getting_massage_tone3 <img align="absmiddle" alt=":person_getting_massage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fd.png" title=":person_getting_massage_tone3:" width="20px" /><br> person_getting_massage_tone4 <img align="absmiddle" alt=":person_getting_massage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fe.png" title=":person_getting_massage_tone4:" width="20px" /><br> person_getting_massage_tone5 <img align="absmiddle" alt=":person_getting_massage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3ff.png" title=":person_getting_massage_tone5:" width="20px" /><br> person_golfing <img align="absmiddle" alt=":person_golfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc.png" title=":person_golfing:" width="20px" /><br> person_golfing_tone1 <img align="absmiddle" alt=":person_golfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fb.png" title=":person_golfing_tone1:" width="20px" /><br> person_golfing_tone2 <img align="absmiddle" alt=":person_golfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fc.png" title=":person_golfing_tone2:" width="20px" /><br> person_golfing_tone3 <img align="absmiddle" alt=":person_golfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fd.png" title=":person_golfing_tone3:" width="20px" /><br> person_golfing_tone4 <img align="absmiddle" alt=":person_golfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fe.png" title=":person_golfing_tone4:" width="20px" /><br> person_golfing_tone5 <img align="absmiddle" alt=":person_golfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3ff.png" title=":person_golfing_tone5:" width="20px" /><br> person_in_bed_tone1 <img align="absmiddle" alt=":person_in_bed_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc-1f3fb.png" title=":person_in_bed_tone1:" width="20px" /><br> person_in_bed_tone2 <img align="absmiddle" alt=":person_in_bed_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc-1f3fc.png" title=":person_in_bed_tone2:" width="20px" /><br> person_in_bed_tone3 <img align="absmiddle" alt=":person_in_bed_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc-1f3fd.png" title=":person_in_bed_tone3:" width="20px" /><br> person_in_bed_tone4 <img align="absmiddle" alt=":person_in_bed_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc-1f3fe.png" title=":person_in_bed_tone4:" width="20px" /><br> person_in_bed_tone5 <img align="absmiddle" alt=":person_in_bed_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc-1f3ff.png" title=":person_in_bed_tone5:" width="20px" /><br> person_in_lotus_position <img align="absmiddle" alt=":person_in_lotus_position:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8.png" title=":person_in_lotus_position:" width="20px" /><br> person_in_lotus_position_tone1 <img align="absmiddle" alt=":person_in_lotus_position_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fb.png" title=":person_in_lotus_position_tone1:" width="20px" /><br> person_in_lotus_position_tone2 <img align="absmiddle" alt=":person_in_lotus_position_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fc.png" title=":person_in_lotus_position_tone2:" width="20px" /><br> person_in_lotus_position_tone3 <img align="absmiddle" alt=":person_in_lotus_position_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fd.png" title=":person_in_lotus_position_tone3:" width="20px" /><br> person_in_lotus_position_tone4 <img align="absmiddle" alt=":person_in_lotus_position_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fe.png" title=":person_in_lotus_position_tone4:" width="20px" /><br> person_in_lotus_position_tone5 <img align="absmiddle" alt=":person_in_lotus_position_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3ff.png" title=":person_in_lotus_position_tone5:" width="20px" /><br> person_in_manual_wheelchair <img align="absmiddle" alt=":person_in_manual_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9bd.png" title=":person_in_manual_wheelchair:" width="20px" /><br> person_in_manual_wheelchair_tone1 <img align="absmiddle" alt=":person_in_manual_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9bd.png" title=":person_in_manual_wheelchair_tone1:" width="20px" /><br> person_in_manual_wheelchair_tone2 <img align="absmiddle" alt=":person_in_manual_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9bd.png" title=":person_in_manual_wheelchair_tone2:" width="20px" /><br> person_in_manual_wheelchair_tone3 <img align="absmiddle" alt=":person_in_manual_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9bd.png" title=":person_in_manual_wheelchair_tone3:" width="20px" /><br> person_in_manual_wheelchair_tone4 <img align="absmiddle" alt=":person_in_manual_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9bd.png" title=":person_in_manual_wheelchair_tone4:" width="20px" /><br> person_in_manual_wheelchair_tone5 <img align="absmiddle" alt=":person_in_manual_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9bd.png" title=":person_in_manual_wheelchair_tone5:" width="20px" /><br> person_in_motorized_wheelchair <img align="absmiddle" alt=":person_in_motorized_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9bc.png" title=":person_in_motorized_wheelchair:" width="20px" /><br> person_in_motorized_wheelchair_tone1 <img align="absmiddle" alt=":person_in_motorized_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9bc.png" title=":person_in_motorized_wheelchair_tone1:" width="20px" /><br> person_in_motorized_wheelchair_tone2 <img align="absmiddle" alt=":person_in_motorized_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9bc.png" title=":person_in_motorized_wheelchair_tone2:" width="20px" /><br> person_in_motorized_wheelchair_tone3 <img align="absmiddle" alt=":person_in_motorized_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9bc.png" title=":person_in_motorized_wheelchair_tone3:" width="20px" /><br> person_in_motorized_wheelchair_tone4 <img align="absmiddle" alt=":person_in_motorized_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9bc.png" title=":person_in_motorized_wheelchair_tone4:" width="20px" /><br> person_in_motorized_wheelchair_tone5 <img align="absmiddle" alt=":person_in_motorized_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9bc.png" title=":person_in_motorized_wheelchair_tone5:" width="20px" /><br> person_in_steamy_room <img align="absmiddle" alt=":person_in_steamy_room:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6.png" title=":person_in_steamy_room:" width="20px" /><br> person_in_steamy_room_tone1 <img align="absmiddle" alt=":person_in_steamy_room_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fb.png" title=":person_in_steamy_room_tone1:" width="20px" /><br> person_in_steamy_room_tone2 <img align="absmiddle" alt=":person_in_steamy_room_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fc.png" title=":person_in_steamy_room_tone2:" width="20px" /><br> person_in_steamy_room_tone3 <img align="absmiddle" alt=":person_in_steamy_room_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fd.png" title=":person_in_steamy_room_tone3:" width="20px" /><br> person_in_steamy_room_tone4 <img align="absmiddle" alt=":person_in_steamy_room_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fe.png" title=":person_in_steamy_room_tone4:" width="20px" /><br> person_in_steamy_room_tone5 <img align="absmiddle" alt=":person_in_steamy_room_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3ff.png" title=":person_in_steamy_room_tone5:" width="20px" /><br> person_in_tuxedo <img align="absmiddle" alt=":person_in_tuxedo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935.png" title=":person_in_tuxedo:" width="20px" /><br> person_in_tuxedo_tone1 <img align="absmiddle" alt=":person_in_tuxedo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fb.png" title=":person_in_tuxedo_tone1:" width="20px" /><br> person_in_tuxedo_tone2 <img align="absmiddle" alt=":person_in_tuxedo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fc.png" title=":person_in_tuxedo_tone2:" width="20px" /><br> person_in_tuxedo_tone3 <img align="absmiddle" alt=":person_in_tuxedo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fd.png" title=":person_in_tuxedo_tone3:" width="20px" /><br> person_in_tuxedo_tone4 <img align="absmiddle" alt=":person_in_tuxedo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fe.png" title=":person_in_tuxedo_tone4:" width="20px" /><br> person_in_tuxedo_tone5 <img align="absmiddle" alt=":person_in_tuxedo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3ff.png" title=":person_in_tuxedo_tone5:" width="20px" /><br> person_juggling <img align="absmiddle" alt=":person_juggling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939.png" title=":person_juggling:" width="20px" /><br> person_juggling_tone1 <img align="absmiddle" alt=":person_juggling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fb.png" title=":person_juggling_tone1:" width="20px" /><br> person_juggling_tone2 <img align="absmiddle" alt=":person_juggling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fc.png" title=":person_juggling_tone2:" width="20px" /><br> person_juggling_tone3 <img align="absmiddle" alt=":person_juggling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fd.png" title=":person_juggling_tone3:" width="20px" /><br> person_juggling_tone4 <img align="absmiddle" alt=":person_juggling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fe.png" title=":person_juggling_tone4:" width="20px" /><br> person_juggling_tone5 <img align="absmiddle" alt=":person_juggling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3ff.png" title=":person_juggling_tone5:" width="20px" /><br> person_kneeling <img align="absmiddle" alt=":person_kneeling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce.png" title=":person_kneeling:" width="20px" /><br> person_kneeling_tone1 <img align="absmiddle" alt=":person_kneeling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fb.png" title=":person_kneeling_tone1:" width="20px" /><br> person_kneeling_tone2 <img align="absmiddle" alt=":person_kneeling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fc.png" title=":person_kneeling_tone2:" width="20px" /><br> person_kneeling_tone3 <img align="absmiddle" alt=":person_kneeling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fd.png" title=":person_kneeling_tone3:" width="20px" /><br> person_kneeling_tone4 <img align="absmiddle" alt=":person_kneeling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fe.png" title=":person_kneeling_tone4:" width="20px" /><br> person_kneeling_tone5 <img align="absmiddle" alt=":person_kneeling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3ff.png" title=":person_kneeling_tone5:" width="20px" /><br> person_lifting_weights <img align="absmiddle" alt=":person_lifting_weights:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb.png" title=":person_lifting_weights:" width="20px" /><br> person_lifting_weights_tone1 <img align="absmiddle" alt=":person_lifting_weights_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fb.png" title=":person_lifting_weights_tone1:" width="20px" /><br> person_lifting_weights_tone2 <img align="absmiddle" alt=":person_lifting_weights_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fc.png" title=":person_lifting_weights_tone2:" width="20px" /><br> person_lifting_weights_tone3 <img align="absmiddle" alt=":person_lifting_weights_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fd.png" title=":person_lifting_weights_tone3:" width="20px" /><br> person_lifting_weights_tone4 <img align="absmiddle" alt=":person_lifting_weights_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fe.png" title=":person_lifting_weights_tone4:" width="20px" /><br> person_lifting_weights_tone5 <img align="absmiddle" alt=":person_lifting_weights_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3ff.png" title=":person_lifting_weights_tone5:" width="20px" /><br> person_mountain_biking <img align="absmiddle" alt=":person_mountain_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5.png" title=":person_mountain_biking:" width="20px" /><br> person_mountain_biking_tone1 <img align="absmiddle" alt=":person_mountain_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fb.png" title=":person_mountain_biking_tone1:" width="20px" /><br> person_mountain_biking_tone2 <img align="absmiddle" alt=":person_mountain_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fc.png" title=":person_mountain_biking_tone2:" width="20px" /><br> person_mountain_biking_tone3 <img align="absmiddle" alt=":person_mountain_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fd.png" title=":person_mountain_biking_tone3:" width="20px" /><br> person_mountain_biking_tone4 <img align="absmiddle" alt=":person_mountain_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fe.png" title=":person_mountain_biking_tone4:" width="20px" /><br> person_mountain_biking_tone5 <img align="absmiddle" alt=":person_mountain_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3ff.png" title=":person_mountain_biking_tone5:" width="20px" /><br> person_playing_handball <img align="absmiddle" alt=":person_playing_handball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e.png" title=":person_playing_handball:" width="20px" /><br> person_playing_handball_tone1 <img align="absmiddle" alt=":person_playing_handball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fb.png" title=":person_playing_handball_tone1:" width="20px" /><br> person_playing_handball_tone2 <img align="absmiddle" alt=":person_playing_handball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fc.png" title=":person_playing_handball_tone2:" width="20px" /><br> person_playing_handball_tone3 <img align="absmiddle" alt=":person_playing_handball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fd.png" title=":person_playing_handball_tone3:" width="20px" /><br> person_playing_handball_tone4 <img align="absmiddle" alt=":person_playing_handball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fe.png" title=":person_playing_handball_tone4:" width="20px" /><br> person_playing_handball_tone5 <img align="absmiddle" alt=":person_playing_handball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3ff.png" title=":person_playing_handball_tone5:" width="20px" /><br> person_playing_water_polo <img align="absmiddle" alt=":person_playing_water_polo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d.png" title=":person_playing_water_polo:" width="20px" /><br> person_playing_water_polo_tone1 <img align="absmiddle" alt=":person_playing_water_polo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fb.png" title=":person_playing_water_polo_tone1:" width="20px" /><br> person_playing_water_polo_tone2 <img align="absmiddle" alt=":person_playing_water_polo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fc.png" title=":person_playing_water_polo_tone2:" width="20px" /><br> person_playing_water_polo_tone3 <img align="absmiddle" alt=":person_playing_water_polo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fd.png" title=":person_playing_water_polo_tone3:" width="20px" /><br> person_playing_water_polo_tone4 <img align="absmiddle" alt=":person_playing_water_polo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fe.png" title=":person_playing_water_polo_tone4:" width="20px" /><br> person_playing_water_polo_tone5 <img align="absmiddle" alt=":person_playing_water_polo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3ff.png" title=":person_playing_water_polo_tone5:" width="20px" /><br> person_pouting <img align="absmiddle" alt=":person_pouting:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e.png" title=":person_pouting:" width="20px" /><br> person_pouting_tone1 <img align="absmiddle" alt=":person_pouting_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fb.png" title=":person_pouting_tone1:" width="20px" /><br> person_pouting_tone2 <img align="absmiddle" alt=":person_pouting_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fc.png" title=":person_pouting_tone2:" width="20px" /><br> person_pouting_tone3 <img align="absmiddle" alt=":person_pouting_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fd.png" title=":person_pouting_tone3:" width="20px" /><br> person_pouting_tone4 <img align="absmiddle" alt=":person_pouting_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fe.png" title=":person_pouting_tone4:" width="20px" /><br> person_pouting_tone5 <img align="absmiddle" alt=":person_pouting_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3ff.png" title=":person_pouting_tone5:" width="20px" /><br> person_raising_hand <img align="absmiddle" alt=":person_raising_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b.png" title=":person_raising_hand:" width="20px" /><br> person_raising_hand_tone1 <img align="absmiddle" alt=":person_raising_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fb.png" title=":person_raising_hand_tone1:" width="20px" /><br> person_raising_hand_tone2 <img align="absmiddle" alt=":person_raising_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fc.png" title=":person_raising_hand_tone2:" width="20px" /><br> person_raising_hand_tone3 <img align="absmiddle" alt=":person_raising_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fd.png" title=":person_raising_hand_tone3:" width="20px" /><br> person_raising_hand_tone4 <img align="absmiddle" alt=":person_raising_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fe.png" title=":person_raising_hand_tone4:" width="20px" /><br> person_raising_hand_tone5 <img align="absmiddle" alt=":person_raising_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3ff.png" title=":person_raising_hand_tone5:" width="20px" /><br> person_red_hair <img align="absmiddle" alt=":person_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9b0.png" title=":person_red_hair:" width="20px" /><br> person_rowing_boat <img align="absmiddle" alt=":person_rowing_boat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3.png" title=":person_rowing_boat:" width="20px" /><br> person_rowing_boat_tone1 <img align="absmiddle" alt=":person_rowing_boat_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fb.png" title=":person_rowing_boat_tone1:" width="20px" /><br> person_rowing_boat_tone2 <img align="absmiddle" alt=":person_rowing_boat_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fc.png" title=":person_rowing_boat_tone2:" width="20px" /><br> person_rowing_boat_tone3 <img align="absmiddle" alt=":person_rowing_boat_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fd.png" title=":person_rowing_boat_tone3:" width="20px" /><br> person_rowing_boat_tone4 <img align="absmiddle" alt=":person_rowing_boat_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fe.png" title=":person_rowing_boat_tone4:" width="20px" /><br> person_rowing_boat_tone5 <img align="absmiddle" alt=":person_rowing_boat_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3ff.png" title=":person_rowing_boat_tone5:" width="20px" /><br> person_running <img align="absmiddle" alt=":person_running:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3.png" title=":person_running:" width="20px" /><br> person_running_tone1 <img align="absmiddle" alt=":person_running_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fb.png" title=":person_running_tone1:" width="20px" /><br> person_running_tone2 <img align="absmiddle" alt=":person_running_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fc.png" title=":person_running_tone2:" width="20px" /><br> person_running_tone3 <img align="absmiddle" alt=":person_running_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fd.png" title=":person_running_tone3:" width="20px" /><br> person_running_tone4 <img align="absmiddle" alt=":person_running_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fe.png" title=":person_running_tone4:" width="20px" /><br> person_running_tone5 <img align="absmiddle" alt=":person_running_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3ff.png" title=":person_running_tone5:" width="20px" /><br> person_shrugging <img align="absmiddle" alt=":person_shrugging:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937.png" title=":person_shrugging:" width="20px" /><br> person_shrugging_tone1 <img align="absmiddle" alt=":person_shrugging_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fb.png" title=":person_shrugging_tone1:" width="20px" /><br> person_shrugging_tone2 <img align="absmiddle" alt=":person_shrugging_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fc.png" title=":person_shrugging_tone2:" width="20px" /><br> person_shrugging_tone3 <img align="absmiddle" alt=":person_shrugging_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fd.png" title=":person_shrugging_tone3:" width="20px" /><br> person_shrugging_tone4 <img align="absmiddle" alt=":person_shrugging_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fe.png" title=":person_shrugging_tone4:" width="20px" /><br> person_shrugging_tone5 <img align="absmiddle" alt=":person_shrugging_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3ff.png" title=":person_shrugging_tone5:" width="20px" /><br> person_standing <img align="absmiddle" alt=":person_standing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd.png" title=":person_standing:" width="20px" /><br> person_standing_tone1 <img align="absmiddle" alt=":person_standing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fb.png" title=":person_standing_tone1:" width="20px" /><br> person_standing_tone2 <img align="absmiddle" alt=":person_standing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fc.png" title=":person_standing_tone2:" width="20px" /><br> person_standing_tone3 <img align="absmiddle" alt=":person_standing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fd.png" title=":person_standing_tone3:" width="20px" /><br> person_standing_tone4 <img align="absmiddle" alt=":person_standing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fe.png" title=":person_standing_tone4:" width="20px" /><br> person_standing_tone5 <img align="absmiddle" alt=":person_standing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3ff.png" title=":person_standing_tone5:" width="20px" /><br> person_surfing <img align="absmiddle" alt=":person_surfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4.png" title=":person_surfing:" width="20px" /><br> person_surfing_tone1 <img align="absmiddle" alt=":person_surfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fb.png" title=":person_surfing_tone1:" width="20px" /><br> person_surfing_tone2 <img align="absmiddle" alt=":person_surfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fc.png" title=":person_surfing_tone2:" width="20px" /><br> person_surfing_tone3 <img align="absmiddle" alt=":person_surfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fd.png" title=":person_surfing_tone3:" width="20px" /><br> person_surfing_tone4 <img align="absmiddle" alt=":person_surfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fe.png" title=":person_surfing_tone4:" width="20px" /><br> person_surfing_tone5 <img align="absmiddle" alt=":person_surfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3ff.png" title=":person_surfing_tone5:" width="20px" /><br> person_swimming <img align="absmiddle" alt=":person_swimming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca.png" title=":person_swimming:" width="20px" /><br> person_swimming_tone1 <img align="absmiddle" alt=":person_swimming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fb.png" title=":person_swimming_tone1:" width="20px" /><br> person_swimming_tone2 <img align="absmiddle" alt=":person_swimming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fc.png" title=":person_swimming_tone2:" width="20px" /><br> person_swimming_tone3 <img align="absmiddle" alt=":person_swimming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fd.png" title=":person_swimming_tone3:" width="20px" /><br> person_swimming_tone4 <img align="absmiddle" alt=":person_swimming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fe.png" title=":person_swimming_tone4:" width="20px" /><br> person_swimming_tone5 <img align="absmiddle" alt=":person_swimming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3ff.png" title=":person_swimming_tone5:" width="20px" /><br> person_tipping_hand <img align="absmiddle" alt=":person_tipping_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481.png" title=":person_tipping_hand:" width="20px" /><br> person_tipping_hand_tone1 <img align="absmiddle" alt=":person_tipping_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fb.png" title=":person_tipping_hand_tone1:" width="20px" /><br> person_tipping_hand_tone2 <img align="absmiddle" alt=":person_tipping_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fc.png" title=":person_tipping_hand_tone2:" width="20px" /><br> person_tipping_hand_tone3 <img align="absmiddle" alt=":person_tipping_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fd.png" title=":person_tipping_hand_tone3:" width="20px" /><br> person_tipping_hand_tone4 <img align="absmiddle" alt=":person_tipping_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fe.png" title=":person_tipping_hand_tone4:" width="20px" /><br> person_tipping_hand_tone5 <img align="absmiddle" alt=":person_tipping_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3ff.png" title=":person_tipping_hand_tone5:" width="20px" /><br> person_tone1_bald <img align="absmiddle" alt=":person_tone1_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9b2.png" title=":person_tone1_bald:" width="20px" /><br> person_tone1_curly_hair <img align="absmiddle" alt=":person_tone1_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9b1.png" title=":person_tone1_curly_hair:" width="20px" /><br> person_tone1_red_hair <img align="absmiddle" alt=":person_tone1_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9b0.png" title=":person_tone1_red_hair:" width="20px" /><br> person_tone1_white_hair <img align="absmiddle" alt=":person_tone1_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9b3.png" title=":person_tone1_white_hair:" width="20px" /><br> person_tone2_bald <img align="absmiddle" alt=":person_tone2_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9b2.png" title=":person_tone2_bald:" width="20px" /><br> person_tone2_curly_hair <img align="absmiddle" alt=":person_tone2_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9b1.png" title=":person_tone2_curly_hair:" width="20px" /><br> person_tone2_red_hair <img align="absmiddle" alt=":person_tone2_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9b0.png" title=":person_tone2_red_hair:" width="20px" /><br> person_tone2_white_hair <img align="absmiddle" alt=":person_tone2_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9b3.png" title=":person_tone2_white_hair:" width="20px" /><br> person_tone3_bald <img align="absmiddle" alt=":person_tone3_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9b2.png" title=":person_tone3_bald:" width="20px" /><br> person_tone3_curly_hair <img align="absmiddle" alt=":person_tone3_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9b1.png" title=":person_tone3_curly_hair:" width="20px" /><br> person_tone3_red_hair <img align="absmiddle" alt=":person_tone3_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9b0.png" title=":person_tone3_red_hair:" width="20px" /><br> person_tone3_white_hair <img align="absmiddle" alt=":person_tone3_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9b3.png" title=":person_tone3_white_hair:" width="20px" /><br> person_tone4_bald <img align="absmiddle" alt=":person_tone4_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9b2.png" title=":person_tone4_bald:" width="20px" /><br> person_tone4_curly_hair <img align="absmiddle" alt=":person_tone4_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9b1.png" title=":person_tone4_curly_hair:" width="20px" /><br> person_tone4_red_hair <img align="absmiddle" alt=":person_tone4_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9b0.png" title=":person_tone4_red_hair:" width="20px" /><br> person_tone4_white_hair <img align="absmiddle" alt=":person_tone4_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9b3.png" title=":person_tone4_white_hair:" width="20px" /><br> person_tone5_bald <img align="absmiddle" alt=":person_tone5_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9b2.png" title=":person_tone5_bald:" width="20px" /><br> person_tone5_curly_hair <img align="absmiddle" alt=":person_tone5_curly_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9b1.png" title=":person_tone5_curly_hair:" width="20px" /><br> person_tone5_red_hair <img align="absmiddle" alt=":person_tone5_red_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9b0.png" title=":person_tone5_red_hair:" width="20px" /><br> person_tone5_white_hair <img align="absmiddle" alt=":person_tone5_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9b3.png" title=":person_tone5_white_hair:" width="20px" /><br> person_walking <img align="absmiddle" alt=":person_walking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6.png" title=":person_walking:" width="20px" /><br> person_walking_tone1 <img align="absmiddle" alt=":person_walking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fb.png" title=":person_walking_tone1:" width="20px" /><br> person_walking_tone2 <img align="absmiddle" alt=":person_walking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fc.png" title=":person_walking_tone2:" width="20px" /><br> person_walking_tone3 <img align="absmiddle" alt=":person_walking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fd.png" title=":person_walking_tone3:" width="20px" /><br> person_walking_tone4 <img align="absmiddle" alt=":person_walking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fe.png" title=":person_walking_tone4:" width="20px" /><br> person_walking_tone5 <img align="absmiddle" alt=":person_walking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3ff.png" title=":person_walking_tone5:" width="20px" /><br> person_wearing_turban <img align="absmiddle" alt=":person_wearing_turban:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473.png" title=":person_wearing_turban:" width="20px" /><br> person_wearing_turban_tone1 <img align="absmiddle" alt=":person_wearing_turban_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fb.png" title=":person_wearing_turban_tone1:" width="20px" /><br> person_wearing_turban_tone2 <img align="absmiddle" alt=":person_wearing_turban_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fc.png" title=":person_wearing_turban_tone2:" width="20px" /><br> person_wearing_turban_tone3 <img align="absmiddle" alt=":person_wearing_turban_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fd.png" title=":person_wearing_turban_tone3:" width="20px" /><br> person_wearing_turban_tone4 <img align="absmiddle" alt=":person_wearing_turban_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fe.png" title=":person_wearing_turban_tone4:" width="20px" /><br> person_wearing_turban_tone5 <img align="absmiddle" alt=":person_wearing_turban_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3ff.png" title=":person_wearing_turban_tone5:" width="20px" /><br> person_white_hair <img align="absmiddle" alt=":person_white_hair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9b3.png" title=":person_white_hair:" width="20px" /><br> person_with_crown <img align="absmiddle" alt=":person_with_crown:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5.png" title=":person_with_crown:" width="20px" /><br> person_with_crown_tone1 <img align="absmiddle" alt=":person_with_crown_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5-1f3fb.png" title=":person_with_crown_tone1:" width="20px" /><br> person_with_crown_tone2 <img align="absmiddle" alt=":person_with_crown_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5-1f3fc.png" title=":person_with_crown_tone2:" width="20px" /><br> person_with_crown_tone3 <img align="absmiddle" alt=":person_with_crown_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5-1f3fd.png" title=":person_with_crown_tone3:" width="20px" /><br> person_with_crown_tone4 <img align="absmiddle" alt=":person_with_crown_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5-1f3fe.png" title=":person_with_crown_tone4:" width="20px" /><br> person_with_crown_tone5 <img align="absmiddle" alt=":person_with_crown_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac5-1f3ff.png" title=":person_with_crown_tone5:" width="20px" /><br> person_with_probing_cane <img align="absmiddle" alt=":person_with_probing_cane:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f9af.png" title=":person_with_probing_cane:" width="20px" /><br> person_with_probing_cane_tone1 <img align="absmiddle" alt=":person_with_probing_cane_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f9af.png" title=":person_with_probing_cane_tone1:" width="20px" /><br> person_with_probing_cane_tone2 <img align="absmiddle" alt=":person_with_probing_cane_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f9af.png" title=":person_with_probing_cane_tone2:" width="20px" /><br> person_with_probing_cane_tone3 <img align="absmiddle" alt=":person_with_probing_cane_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f9af.png" title=":person_with_probing_cane_tone3:" width="20px" /><br> person_with_probing_cane_tone4 <img align="absmiddle" alt=":person_with_probing_cane_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f9af.png" title=":person_with_probing_cane_tone4:" width="20px" /><br> person_with_probing_cane_tone5 <img align="absmiddle" alt=":person_with_probing_cane_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f9af.png" title=":person_with_probing_cane_tone5:" width="20px" /><br> person_with_veil <img align="absmiddle" alt=":person_with_veil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470.png" title=":person_with_veil:" width="20px" /><br> person_with_veil_tone1 <img align="absmiddle" alt=":person_with_veil_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fb.png" title=":person_with_veil_tone1:" width="20px" /><br> person_with_veil_tone2 <img align="absmiddle" alt=":person_with_veil_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fc.png" title=":person_with_veil_tone2:" width="20px" /><br> person_with_veil_tone3 <img align="absmiddle" alt=":person_with_veil_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fd.png" title=":person_with_veil_tone3:" width="20px" /><br> person_with_veil_tone4 <img align="absmiddle" alt=":person_with_veil_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fe.png" title=":person_with_veil_tone4:" width="20px" /><br> person_with_veil_tone5 <img align="absmiddle" alt=":person_with_veil_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3ff.png" title=":person_with_veil_tone5:" width="20px" /><br> petri_dish <img align="absmiddle" alt=":petri_dish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9eb.png" title=":petri_dish:" width="20px" /><br> pick <img align="absmiddle" alt=":pick:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26cf.png" title=":pick:" width="20px" /><br> pickup_truck <img align="absmiddle" alt=":pickup_truck:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6fb.png" title=":pickup_truck:" width="20px" /><br> pie <img align="absmiddle" alt=":pie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f967.png" title=":pie:" width="20px" /><br> pig2 <img align="absmiddle" alt=":pig2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f416.png" title=":pig2:" width="20px" /><br> pig <img align="absmiddle" alt=":pig:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f437.png" title=":pig:" width="20px" /><br> pig_nose <img align="absmiddle" alt=":pig_nose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43d.png" title=":pig_nose:" width="20px" /><br> pill <img align="absmiddle" alt=":pill:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48a.png" title=":pill:" width="20px" /><br> pilot <img align="absmiddle" alt=":pilot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-2708-fe0f.png" title=":pilot:" width="20px" /><br> pilot_tone1 <img align="absmiddle" alt=":pilot_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-2708-fe0f.png" title=":pilot_tone1:" width="20px" /><br> pilot_tone2 <img align="absmiddle" alt=":pilot_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-2708-fe0f.png" title=":pilot_tone2:" width="20px" /><br> pilot_tone3 <img align="absmiddle" alt=":pilot_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-2708-fe0f.png" title=":pilot_tone3:" width="20px" /><br> pilot_tone4 <img align="absmiddle" alt=":pilot_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-2708-fe0f.png" title=":pilot_tone4:" width="20px" /><br> pilot_tone5 <img align="absmiddle" alt=":pilot_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-2708-fe0f.png" title=":pilot_tone5:" width="20px" /><br> pinched_fingers <img align="absmiddle" alt=":pinched_fingers:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c.png" title=":pinched_fingers:" width="20px" /><br> pinched_fingers_tone1 <img align="absmiddle" alt=":pinched_fingers_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c-1f3fb.png" title=":pinched_fingers_tone1:" width="20px" /><br> pinched_fingers_tone2 <img align="absmiddle" alt=":pinched_fingers_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c-1f3fc.png" title=":pinched_fingers_tone2:" width="20px" /><br> pinched_fingers_tone3 <img align="absmiddle" alt=":pinched_fingers_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c-1f3fd.png" title=":pinched_fingers_tone3:" width="20px" /><br> pinched_fingers_tone4 <img align="absmiddle" alt=":pinched_fingers_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c-1f3fe.png" title=":pinched_fingers_tone4:" width="20px" /><br> pinched_fingers_tone5 <img align="absmiddle" alt=":pinched_fingers_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90c-1f3ff.png" title=":pinched_fingers_tone5:" width="20px" /><br> pinching_hand <img align="absmiddle" alt=":pinching_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f.png" title=":pinching_hand:" width="20px" /><br> pinching_hand_tone1 <img align="absmiddle" alt=":pinching_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f-1f3fb.png" title=":pinching_hand_tone1:" width="20px" /><br> pinching_hand_tone2 <img align="absmiddle" alt=":pinching_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f-1f3fc.png" title=":pinching_hand_tone2:" width="20px" /><br> pinching_hand_tone3 <img align="absmiddle" alt=":pinching_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f-1f3fd.png" title=":pinching_hand_tone3:" width="20px" /><br> pinching_hand_tone4 <img align="absmiddle" alt=":pinching_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f-1f3fe.png" title=":pinching_hand_tone4:" width="20px" /><br> pinching_hand_tone5 <img align="absmiddle" alt=":pinching_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90f-1f3ff.png" title=":pinching_hand_tone5:" width="20px" /><br> pineapple <img align="absmiddle" alt=":pineapple:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34d.png" title=":pineapple:" width="20px" /><br> ping_pong <img align="absmiddle" alt=":ping_pong:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d3.png" title=":ping_pong:" width="20px" /><br> pink_heart <img align="absmiddle" alt=":pink_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa77.png" title=":pink_heart:" width="20px" /><br> pirate_flag <img align="absmiddle" alt=":pirate_flag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f4-200d-2620-fe0f.png" title=":pirate_flag:" width="20px" /><br> pisces <img align="absmiddle" alt=":pisces:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2653.png" title=":pisces:" width="20px" /><br> pizza <img align="absmiddle" alt=":pizza:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f355.png" title=":pizza:" width="20px" /><br> piñata <img align="absmiddle" alt=":piñata:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa85.png" title=":piñata:" width="20px" /><br> placard <img align="absmiddle" alt=":placard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa7.png" title=":placard:" width="20px" /><br> place_of_worship <img align="absmiddle" alt=":place_of_worship:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d0.png" title=":place_of_worship:" width="20px" /><br> play_pause <img align="absmiddle" alt=":play_pause:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23ef.png" title=":play_pause:" width="20px" /><br> playground_slide <img align="absmiddle" alt=":playground_slide:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6dd.png" title=":playground_slide:" width="20px" /><br> pleading_face <img align="absmiddle" alt=":pleading_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97a.png" title=":pleading_face:" width="20px" /><br> plunger <img align="absmiddle" alt=":plunger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa0.png" title=":plunger:" width="20px" /><br> point_down <img align="absmiddle" alt=":point_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447.png" title=":point_down:" width="20px" /><br> point_down_tone1 <img align="absmiddle" alt=":point_down_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447-1f3fb.png" title=":point_down_tone1:" width="20px" /><br> point_down_tone2 <img align="absmiddle" alt=":point_down_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447-1f3fc.png" title=":point_down_tone2:" width="20px" /><br> point_down_tone3 <img align="absmiddle" alt=":point_down_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447-1f3fd.png" title=":point_down_tone3:" width="20px" /><br> point_down_tone4 <img align="absmiddle" alt=":point_down_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447-1f3fe.png" title=":point_down_tone4:" width="20px" /><br> point_down_tone5 <img align="absmiddle" alt=":point_down_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f447-1f3ff.png" title=":point_down_tone5:" width="20px" /><br> point_left <img align="absmiddle" alt=":point_left:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448.png" title=":point_left:" width="20px" /><br> point_left_tone1 <img align="absmiddle" alt=":point_left_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448-1f3fb.png" title=":point_left_tone1:" width="20px" /><br> point_left_tone2 <img align="absmiddle" alt=":point_left_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448-1f3fc.png" title=":point_left_tone2:" width="20px" /><br> point_left_tone3 <img align="absmiddle" alt=":point_left_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448-1f3fd.png" title=":point_left_tone3:" width="20px" /><br> point_left_tone4 <img align="absmiddle" alt=":point_left_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448-1f3fe.png" title=":point_left_tone4:" width="20px" /><br> point_left_tone5 <img align="absmiddle" alt=":point_left_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f448-1f3ff.png" title=":point_left_tone5:" width="20px" /><br> point_right <img align="absmiddle" alt=":point_right:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449.png" title=":point_right:" width="20px" /><br> point_right_tone1 <img align="absmiddle" alt=":point_right_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449-1f3fb.png" title=":point_right_tone1:" width="20px" /><br> point_right_tone2 <img align="absmiddle" alt=":point_right_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449-1f3fc.png" title=":point_right_tone2:" width="20px" /><br> point_right_tone3 <img align="absmiddle" alt=":point_right_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449-1f3fd.png" title=":point_right_tone3:" width="20px" /><br> point_right_tone4 <img align="absmiddle" alt=":point_right_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449-1f3fe.png" title=":point_right_tone4:" width="20px" /><br> point_right_tone5 <img align="absmiddle" alt=":point_right_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f449-1f3ff.png" title=":point_right_tone5:" width="20px" /><br> point_up <img align="absmiddle" alt=":point_up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d.png" title=":point_up:" width="20px" /><br> point_up_2 <img align="absmiddle" alt=":point_up_2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446.png" title=":point_up_2:" width="20px" /><br> point_up_2_tone1 <img align="absmiddle" alt=":point_up_2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446-1f3fb.png" title=":point_up_2_tone1:" width="20px" /><br> point_up_2_tone2 <img align="absmiddle" alt=":point_up_2_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446-1f3fc.png" title=":point_up_2_tone2:" width="20px" /><br> point_up_2_tone3 <img align="absmiddle" alt=":point_up_2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446-1f3fd.png" title=":point_up_2_tone3:" width="20px" /><br> point_up_2_tone4 <img align="absmiddle" alt=":point_up_2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446-1f3fe.png" title=":point_up_2_tone4:" width="20px" /><br> point_up_2_tone5 <img align="absmiddle" alt=":point_up_2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f446-1f3ff.png" title=":point_up_2_tone5:" width="20px" /><br> point_up_tone1 <img align="absmiddle" alt=":point_up_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d-1f3fb.png" title=":point_up_tone1:" width="20px" /><br> point_up_tone2 <img align="absmiddle" alt=":point_up_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d-1f3fc.png" title=":point_up_tone2:" width="20px" /><br> point_up_tone3 <img align="absmiddle" alt=":point_up_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d-1f3fd.png" title=":point_up_tone3:" width="20px" /><br> point_up_tone4 <img align="absmiddle" alt=":point_up_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d-1f3fe.png" title=":point_up_tone4:" width="20px" /><br> point_up_tone5 <img align="absmiddle" alt=":point_up_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/261d-1f3ff.png" title=":point_up_tone5:" width="20px" /><br> polar_bear <img align="absmiddle" alt=":polar_bear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43b-200d-2744-fe0f.png" title=":polar_bear:" width="20px" /><br> police_car <img align="absmiddle" alt=":police_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f693.png" title=":police_car:" width="20px" /><br> police_officer <img align="absmiddle" alt=":police_officer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e.png" title=":police_officer:" width="20px" /><br> police_officer_tone1 <img align="absmiddle" alt=":police_officer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fb.png" title=":police_officer_tone1:" width="20px" /><br> police_officer_tone2 <img align="absmiddle" alt=":police_officer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fc.png" title=":police_officer_tone2:" width="20px" /><br> police_officer_tone3 <img align="absmiddle" alt=":police_officer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fd.png" title=":police_officer_tone3:" width="20px" /><br> police_officer_tone4 <img align="absmiddle" alt=":police_officer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fe.png" title=":police_officer_tone4:" width="20px" /><br> police_officer_tone5 <img align="absmiddle" alt=":police_officer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3ff.png" title=":police_officer_tone5:" width="20px" /><br> poodle <img align="absmiddle" alt=":poodle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f429.png" title=":poodle:" width="20px" /><br> poop <img align="absmiddle" alt=":poop:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a9.png" title=":poop:" width="20px" /><br> popcorn <img align="absmiddle" alt=":popcorn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f37f.png" title=":popcorn:" width="20px" /><br> post_office <img align="absmiddle" alt=":post_office:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3e3.png" title=":post_office:" width="20px" /><br> postal_horn <img align="absmiddle" alt=":postal_horn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ef.png" title=":postal_horn:" width="20px" /><br> postbox <img align="absmiddle" alt=":postbox:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ee.png" title=":postbox:" width="20px" /><br> potable_water <img align="absmiddle" alt=":potable_water:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b0.png" title=":potable_water:" width="20px" /><br> potato <img align="absmiddle" alt=":potato:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f954.png" title=":potato:" width="20px" /><br> potted_plant <img align="absmiddle" alt=":potted_plant:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab4.png" title=":potted_plant:" width="20px" /><br> pouch <img align="absmiddle" alt=":pouch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45d.png" title=":pouch:" width="20px" /><br> poultry_leg <img align="absmiddle" alt=":poultry_leg:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f357.png" title=":poultry_leg:" width="20px" /><br> pound <img align="absmiddle" alt=":pound:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b7.png" title=":pound:" width="20px" /><br> pouring_liquid <img align="absmiddle" alt=":pouring_liquid:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad7.png" title=":pouring_liquid:" width="20px" /><br> pouting_cat <img align="absmiddle" alt=":pouting_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63e.png" title=":pouting_cat:" width="20px" /><br> pray <img align="absmiddle" alt=":pray:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f.png" title=":pray:" width="20px" /><br> pray_tone1 <img align="absmiddle" alt=":pray_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f-1f3fb.png" title=":pray_tone1:" width="20px" /><br> pray_tone2 <img align="absmiddle" alt=":pray_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f-1f3fc.png" title=":pray_tone2:" width="20px" /><br> pray_tone3 <img align="absmiddle" alt=":pray_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f-1f3fd.png" title=":pray_tone3:" width="20px" /><br> pray_tone4 <img align="absmiddle" alt=":pray_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f-1f3fe.png" title=":pray_tone4:" width="20px" /><br> pray_tone5 <img align="absmiddle" alt=":pray_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64f-1f3ff.png" title=":pray_tone5:" width="20px" /><br> prayer_beads <img align="absmiddle" alt=":prayer_beads:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ff.png" title=":prayer_beads:" width="20px" /><br> pregnant_man <img align="absmiddle" alt=":pregnant_man:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3.png" title=":pregnant_man:" width="20px" /><br> pregnant_man_tone1 <img align="absmiddle" alt=":pregnant_man_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3-1f3fb.png" title=":pregnant_man_tone1:" width="20px" /><br> pregnant_man_tone2 <img align="absmiddle" alt=":pregnant_man_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3-1f3fc.png" title=":pregnant_man_tone2:" width="20px" /><br> pregnant_man_tone3 <img align="absmiddle" alt=":pregnant_man_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3-1f3fd.png" title=":pregnant_man_tone3:" width="20px" /><br> pregnant_man_tone4 <img align="absmiddle" alt=":pregnant_man_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3-1f3fe.png" title=":pregnant_man_tone4:" width="20px" /><br> pregnant_man_tone5 <img align="absmiddle" alt=":pregnant_man_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac3-1f3ff.png" title=":pregnant_man_tone5:" width="20px" /><br> pregnant_person <img align="absmiddle" alt=":pregnant_person:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4.png" title=":pregnant_person:" width="20px" /><br> pregnant_person_tone1 <img align="absmiddle" alt=":pregnant_person_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4-1f3fb.png" title=":pregnant_person_tone1:" width="20px" /><br> pregnant_person_tone2 <img align="absmiddle" alt=":pregnant_person_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4-1f3fc.png" title=":pregnant_person_tone2:" width="20px" /><br> pregnant_person_tone3 <img align="absmiddle" alt=":pregnant_person_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4-1f3fd.png" title=":pregnant_person_tone3:" width="20px" /><br> pregnant_person_tone4 <img align="absmiddle" alt=":pregnant_person_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4-1f3fe.png" title=":pregnant_person_tone4:" width="20px" /><br> pregnant_person_tone5 <img align="absmiddle" alt=":pregnant_person_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fac4-1f3ff.png" title=":pregnant_person_tone5:" width="20px" /><br> pregnant_woman <img align="absmiddle" alt=":pregnant_woman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930.png" title=":pregnant_woman:" width="20px" /><br> pregnant_woman_tone1 <img align="absmiddle" alt=":pregnant_woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930-1f3fb.png" title=":pregnant_woman_tone1:" width="20px" /><br> pregnant_woman_tone2 <img align="absmiddle" alt=":pregnant_woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930-1f3fc.png" title=":pregnant_woman_tone2:" width="20px" /><br> pregnant_woman_tone3 <img align="absmiddle" alt=":pregnant_woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930-1f3fd.png" title=":pregnant_woman_tone3:" width="20px" /><br> pregnant_woman_tone4 <img align="absmiddle" alt=":pregnant_woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930-1f3fe.png" title=":pregnant_woman_tone4:" width="20px" /><br> pregnant_woman_tone5 <img align="absmiddle" alt=":pregnant_woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f930-1f3ff.png" title=":pregnant_woman_tone5:" width="20px" /><br> pretzel <img align="absmiddle" alt=":pretzel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f968.png" title=":pretzel:" width="20px" /><br> prince <img align="absmiddle" alt=":prince:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934.png" title=":prince:" width="20px" /><br> prince_tone1 <img align="absmiddle" alt=":prince_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934-1f3fb.png" title=":prince_tone1:" width="20px" /><br> prince_tone2 <img align="absmiddle" alt=":prince_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934-1f3fc.png" title=":prince_tone2:" width="20px" /><br> prince_tone3 <img align="absmiddle" alt=":prince_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934-1f3fd.png" title=":prince_tone3:" width="20px" /><br> prince_tone4 <img align="absmiddle" alt=":prince_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934-1f3fe.png" title=":prince_tone4:" width="20px" /><br> prince_tone5 <img align="absmiddle" alt=":prince_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f934-1f3ff.png" title=":prince_tone5:" width="20px" /><br> princess <img align="absmiddle" alt=":princess:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478.png" title=":princess:" width="20px" /><br> princess_tone1 <img align="absmiddle" alt=":princess_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478-1f3fb.png" title=":princess_tone1:" width="20px" /><br> princess_tone2 <img align="absmiddle" alt=":princess_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478-1f3fc.png" title=":princess_tone2:" width="20px" /><br> princess_tone3 <img align="absmiddle" alt=":princess_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478-1f3fd.png" title=":princess_tone3:" width="20px" /><br> princess_tone4 <img align="absmiddle" alt=":princess_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478-1f3fe.png" title=":princess_tone4:" width="20px" /><br> princess_tone5 <img align="absmiddle" alt=":princess_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f478-1f3ff.png" title=":princess_tone5:" width="20px" /><br> printer <img align="absmiddle" alt=":printer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5a8.png" title=":printer:" width="20px" /><br> probing_cane <img align="absmiddle" alt=":probing_cane:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9af.png" title=":probing_cane:" width="20px" /><br> projector <img align="absmiddle" alt=":projector:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4fd.png" title=":projector:" width="20px" /><br> punch <img align="absmiddle" alt=":punch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a.png" title=":punch:" width="20px" /><br> punch_tone1 <img align="absmiddle" alt=":punch_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a-1f3fb.png" title=":punch_tone1:" width="20px" /><br> punch_tone2 <img align="absmiddle" alt=":punch_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a-1f3fc.png" title=":punch_tone2:" width="20px" /><br> punch_tone3 <img align="absmiddle" alt=":punch_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a-1f3fd.png" title=":punch_tone3:" width="20px" /><br> punch_tone4 <img align="absmiddle" alt=":punch_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a-1f3fe.png" title=":punch_tone4:" width="20px" /><br> punch_tone5 <img align="absmiddle" alt=":punch_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44a-1f3ff.png" title=":punch_tone5:" width="20px" /><br> purple_circle <img align="absmiddle" alt=":purple_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e3.png" title=":purple_circle:" width="20px" /><br> purple_heart <img align="absmiddle" alt=":purple_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49c.png" title=":purple_heart:" width="20px" /><br> purple_square <img align="absmiddle" alt=":purple_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7ea.png" title=":purple_square:" width="20px" /><br> purse <img align="absmiddle" alt=":purse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45b.png" title=":purse:" width="20px" /><br> pushpin <img align="absmiddle" alt=":pushpin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4cc.png" title=":pushpin:" width="20px" /><br> put_litter_in_its_place <img align="absmiddle" alt=":put_litter_in_its_place:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ae.png" title=":put_litter_in_its_place:" width="20px" /><br> question <img align="absmiddle" alt=":question:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2753.png" title=":question:" width="20px" /><br> rabbit2 <img align="absmiddle" alt=":rabbit2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f407.png" title=":rabbit2:" width="20px" /><br> rabbit <img align="absmiddle" alt=":rabbit:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f430.png" title=":rabbit:" width="20px" /><br> raccoon <img align="absmiddle" alt=":raccoon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f99d.png" title=":raccoon:" width="20px" /><br> race_car <img align="absmiddle" alt=":race_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ce.png" title=":race_car:" width="20px" /><br> racehorse <img align="absmiddle" alt=":racehorse:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40e.png" title=":racehorse:" width="20px" /><br> radio <img align="absmiddle" alt=":radio:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4fb.png" title=":radio:" width="20px" /><br> radio_button <img align="absmiddle" alt=":radio_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f518.png" title=":radio_button:" width="20px" /><br> radioactive <img align="absmiddle" alt=":radioactive:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2622.png" title=":radioactive:" width="20px" /><br> rage <img align="absmiddle" alt=":rage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f621.png" title=":rage:" width="20px" /><br> railway_car <img align="absmiddle" alt=":railway_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f683.png" title=":railway_car:" width="20px" /><br> railway_track <img align="absmiddle" alt=":railway_track:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e4.png" title=":railway_track:" width="20px" /><br> rainbow <img align="absmiddle" alt=":rainbow:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f308.png" title=":rainbow:" width="20px" /><br> rainbow_flag <img align="absmiddle" alt=":rainbow_flag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f3-fe0f-200d-1f308.png" title=":rainbow_flag:" width="20px" /><br> raised_back_of_hand <img align="absmiddle" alt=":raised_back_of_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a.png" title=":raised_back_of_hand:" width="20px" /><br> raised_back_of_hand_tone1 <img align="absmiddle" alt=":raised_back_of_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a-1f3fb.png" title=":raised_back_of_hand_tone1:" width="20px" /><br> raised_back_of_hand_tone2 <img align="absmiddle" alt=":raised_back_of_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a-1f3fc.png" title=":raised_back_of_hand_tone2:" width="20px" /><br> raised_back_of_hand_tone3 <img align="absmiddle" alt=":raised_back_of_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a-1f3fd.png" title=":raised_back_of_hand_tone3:" width="20px" /><br> raised_back_of_hand_tone4 <img align="absmiddle" alt=":raised_back_of_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a-1f3fe.png" title=":raised_back_of_hand_tone4:" width="20px" /><br> raised_back_of_hand_tone5 <img align="absmiddle" alt=":raised_back_of_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91a-1f3ff.png" title=":raised_back_of_hand_tone5:" width="20px" /><br> raised_hand <img align="absmiddle" alt=":raised_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b.png" title=":raised_hand:" width="20px" /><br> raised_hand_tone1 <img align="absmiddle" alt=":raised_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b-1f3fb.png" title=":raised_hand_tone1:" width="20px" /><br> raised_hand_tone2 <img align="absmiddle" alt=":raised_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b-1f3fc.png" title=":raised_hand_tone2:" width="20px" /><br> raised_hand_tone3 <img align="absmiddle" alt=":raised_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b-1f3fd.png" title=":raised_hand_tone3:" width="20px" /><br> raised_hand_tone4 <img align="absmiddle" alt=":raised_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b-1f3fe.png" title=":raised_hand_tone4:" width="20px" /><br> raised_hand_tone5 <img align="absmiddle" alt=":raised_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270b-1f3ff.png" title=":raised_hand_tone5:" width="20px" /><br> raised_hands <img align="absmiddle" alt=":raised_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c.png" title=":raised_hands:" width="20px" /><br> raised_hands_tone1 <img align="absmiddle" alt=":raised_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c-1f3fb.png" title=":raised_hands_tone1:" width="20px" /><br> raised_hands_tone2 <img align="absmiddle" alt=":raised_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c-1f3fc.png" title=":raised_hands_tone2:" width="20px" /><br> raised_hands_tone3 <img align="absmiddle" alt=":raised_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c-1f3fd.png" title=":raised_hands_tone3:" width="20px" /><br> raised_hands_tone4 <img align="absmiddle" alt=":raised_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c-1f3fe.png" title=":raised_hands_tone4:" width="20px" /><br> raised_hands_tone5 <img align="absmiddle" alt=":raised_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64c-1f3ff.png" title=":raised_hands_tone5:" width="20px" /><br> ram <img align="absmiddle" alt=":ram:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40f.png" title=":ram:" width="20px" /><br> ramen <img align="absmiddle" alt=":ramen:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35c.png" title=":ramen:" width="20px" /><br> rat <img align="absmiddle" alt=":rat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f400.png" title=":rat:" width="20px" /><br> razor <img align="absmiddle" alt=":razor:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa92.png" title=":razor:" width="20px" /><br> receipt <img align="absmiddle" alt=":receipt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9fe.png" title=":receipt:" width="20px" /><br> record_button <img align="absmiddle" alt=":record_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23fa.png" title=":record_button:" width="20px" /><br> recycle <img align="absmiddle" alt=":recycle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/267b.png" title=":recycle:" width="20px" /><br> red_car <img align="absmiddle" alt=":red_car:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f697.png" title=":red_car:" width="20px" /><br> red_circle <img align="absmiddle" alt=":red_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f534.png" title=":red_circle:" width="20px" /><br> red_envelope <img align="absmiddle" alt=":red_envelope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e7.png" title=":red_envelope:" width="20px" /><br> red_haired <img align="absmiddle" alt=":red_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b0.png" title=":red_haired:" width="20px" /><br> red_square <img align="absmiddle" alt=":red_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e5.png" title=":red_square:" width="20px" /><br> regional_indicator_a <img align="absmiddle" alt=":regional_indicator_a:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e6.png" title=":regional_indicator_a:" width="20px" /><br> regional_indicator_b <img align="absmiddle" alt=":regional_indicator_b:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e7.png" title=":regional_indicator_b:" width="20px" /><br> regional_indicator_c <img align="absmiddle" alt=":regional_indicator_c:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e8.png" title=":regional_indicator_c:" width="20px" /><br> regional_indicator_d <img align="absmiddle" alt=":regional_indicator_d:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1e9.png" title=":regional_indicator_d:" width="20px" /><br> regional_indicator_e <img align="absmiddle" alt=":regional_indicator_e:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ea.png" title=":regional_indicator_e:" width="20px" /><br> regional_indicator_f <img align="absmiddle" alt=":regional_indicator_f:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1eb.png" title=":regional_indicator_f:" width="20px" /><br> regional_indicator_g <img align="absmiddle" alt=":regional_indicator_g:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ec.png" title=":regional_indicator_g:" width="20px" /><br> regional_indicator_h <img align="absmiddle" alt=":regional_indicator_h:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ed.png" title=":regional_indicator_h:" width="20px" /><br> regional_indicator_i <img align="absmiddle" alt=":regional_indicator_i:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ee.png" title=":regional_indicator_i:" width="20px" /><br> regional_indicator_j <img align="absmiddle" alt=":regional_indicator_j:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ef.png" title=":regional_indicator_j:" width="20px" /><br> regional_indicator_k <img align="absmiddle" alt=":regional_indicator_k:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f0.png" title=":regional_indicator_k:" width="20px" /><br> regional_indicator_l <img align="absmiddle" alt=":regional_indicator_l:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f1.png" title=":regional_indicator_l:" width="20px" /><br> regional_indicator_m <img align="absmiddle" alt=":regional_indicator_m:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f2.png" title=":regional_indicator_m:" width="20px" /><br> regional_indicator_n <img align="absmiddle" alt=":regional_indicator_n:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f3.png" title=":regional_indicator_n:" width="20px" /><br> regional_indicator_o <img align="absmiddle" alt=":regional_indicator_o:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f4.png" title=":regional_indicator_o:" width="20px" /><br> regional_indicator_p <img align="absmiddle" alt=":regional_indicator_p:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f5.png" title=":regional_indicator_p:" width="20px" /><br> regional_indicator_q <img align="absmiddle" alt=":regional_indicator_q:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f6.png" title=":regional_indicator_q:" width="20px" /><br> regional_indicator_r <img align="absmiddle" alt=":regional_indicator_r:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f7.png" title=":regional_indicator_r:" width="20px" /><br> regional_indicator_s <img align="absmiddle" alt=":regional_indicator_s:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f8.png" title=":regional_indicator_s:" width="20px" /><br> regional_indicator_t <img align="absmiddle" alt=":regional_indicator_t:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1f9.png" title=":regional_indicator_t:" width="20px" /><br> regional_indicator_u <img align="absmiddle" alt=":regional_indicator_u:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa.png" title=":regional_indicator_u:" width="20px" /><br> regional_indicator_v <img align="absmiddle" alt=":regional_indicator_v:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fb.png" title=":regional_indicator_v:" width="20px" /><br> regional_indicator_w <img align="absmiddle" alt=":regional_indicator_w:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fc.png" title=":regional_indicator_w:" width="20px" /><br> regional_indicator_x <img align="absmiddle" alt=":regional_indicator_x:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fd.png" title=":regional_indicator_x:" width="20px" /><br> regional_indicator_y <img align="absmiddle" alt=":regional_indicator_y:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fe.png" title=":regional_indicator_y:" width="20px" /><br> regional_indicator_z <img align="absmiddle" alt=":regional_indicator_z:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1ff.png" title=":regional_indicator_z:" width="20px" /><br> registered <img align="absmiddle" alt=":registered:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/ae.png" title=":registered:" width="20px" /><br> relaxed <img align="absmiddle" alt=":relaxed:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/263a.png" title=":relaxed:" width="20px" /><br> relieved <img align="absmiddle" alt=":relieved:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60c.png" title=":relieved:" width="20px" /><br> reminder_ribbon <img align="absmiddle" alt=":reminder_ribbon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f397.png" title=":reminder_ribbon:" width="20px" /><br> repeat <img align="absmiddle" alt=":repeat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f501.png" title=":repeat:" width="20px" /><br> repeat_one <img align="absmiddle" alt=":repeat_one:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f502.png" title=":repeat_one:" width="20px" /><br> restroom <img align="absmiddle" alt=":restroom:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6bb.png" title=":restroom:" width="20px" /><br> revolving_hearts <img align="absmiddle" alt=":revolving_hearts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49e.png" title=":revolving_hearts:" width="20px" /><br> rewind <img align="absmiddle" alt=":rewind:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23ea.png" title=":rewind:" width="20px" /><br> rhino <img align="absmiddle" alt=":rhino:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f98f.png" title=":rhino:" width="20px" /><br> ribbon <img align="absmiddle" alt=":ribbon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f380.png" title=":ribbon:" width="20px" /><br> rice <img align="absmiddle" alt=":rice:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35a.png" title=":rice:" width="20px" /><br> rice_ball <img align="absmiddle" alt=":rice_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f359.png" title=":rice_ball:" width="20px" /><br> rice_cracker <img align="absmiddle" alt=":rice_cracker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f358.png" title=":rice_cracker:" width="20px" /><br> rice_scene <img align="absmiddle" alt=":rice_scene:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f391.png" title=":rice_scene:" width="20px" /><br> right_facing_fist <img align="absmiddle" alt=":right_facing_fist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c.png" title=":right_facing_fist:" width="20px" /><br> right_facing_fist_tone1 <img align="absmiddle" alt=":right_facing_fist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c-1f3fb.png" title=":right_facing_fist_tone1:" width="20px" /><br> right_facing_fist_tone2 <img align="absmiddle" alt=":right_facing_fist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c-1f3fc.png" title=":right_facing_fist_tone2:" width="20px" /><br> right_facing_fist_tone3 <img align="absmiddle" alt=":right_facing_fist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c-1f3fd.png" title=":right_facing_fist_tone3:" width="20px" /><br> right_facing_fist_tone4 <img align="absmiddle" alt=":right_facing_fist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c-1f3fe.png" title=":right_facing_fist_tone4:" width="20px" /><br> right_facing_fist_tone5 <img align="absmiddle" alt=":right_facing_fist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f91c-1f3ff.png" title=":right_facing_fist_tone5:" width="20px" /><br> rightwards_hand <img align="absmiddle" alt=":rightwards_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1.png" title=":rightwards_hand:" width="20px" /><br> rightwards_hand_tone1 <img align="absmiddle" alt=":rightwards_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fb.png" title=":rightwards_hand_tone1:" width="20px" /><br> rightwards_hand_tone2 <img align="absmiddle" alt=":rightwards_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fc.png" title=":rightwards_hand_tone2:" width="20px" /><br> rightwards_hand_tone3 <img align="absmiddle" alt=":rightwards_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fd.png" title=":rightwards_hand_tone3:" width="20px" /><br> rightwards_hand_tone4 <img align="absmiddle" alt=":rightwards_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3fe.png" title=":rightwards_hand_tone4:" width="20px" /><br> rightwards_hand_tone5 <img align="absmiddle" alt=":rightwards_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf1-1f3ff.png" title=":rightwards_hand_tone5:" width="20px" /><br> rightwards_pushing_hand <img align="absmiddle" alt=":rightwards_pushing_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8.png" title=":rightwards_pushing_hand:" width="20px" /><br> rightwards_pushing_hand_tone1 <img align="absmiddle" alt=":rightwards_pushing_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8-1f3fb.png" title=":rightwards_pushing_hand_tone1:" width="20px" /><br> rightwards_pushing_hand_tone2 <img align="absmiddle" alt=":rightwards_pushing_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8-1f3fc.png" title=":rightwards_pushing_hand_tone2:" width="20px" /><br> rightwards_pushing_hand_tone3 <img align="absmiddle" alt=":rightwards_pushing_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8-1f3fd.png" title=":rightwards_pushing_hand_tone3:" width="20px" /><br> rightwards_pushing_hand_tone4 <img align="absmiddle" alt=":rightwards_pushing_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8-1f3fe.png" title=":rightwards_pushing_hand_tone4:" width="20px" /><br> rightwards_pushing_hand_tone5 <img align="absmiddle" alt=":rightwards_pushing_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faf8-1f3ff.png" title=":rightwards_pushing_hand_tone5:" width="20px" /><br> ring <img align="absmiddle" alt=":ring:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f48d.png" title=":ring:" width="20px" /><br> ring_buoy <img align="absmiddle" alt=":ring_buoy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6df.png" title=":ring_buoy:" width="20px" /><br> ringed_planet <img align="absmiddle" alt=":ringed_planet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa90.png" title=":ringed_planet:" width="20px" /><br> robot <img align="absmiddle" alt=":robot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f916.png" title=":robot:" width="20px" /><br> rock <img align="absmiddle" alt=":rock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa8.png" title=":rock:" width="20px" /><br> rocket <img align="absmiddle" alt=":rocket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f680.png" title=":rocket:" width="20px" /><br> rofl <img align="absmiddle" alt=":rofl:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f923.png" title=":rofl:" width="20px" /><br> roll_of_paper <img align="absmiddle" alt=":roll_of_paper:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9fb.png" title=":roll_of_paper:" width="20px" /><br> roller_coaster <img align="absmiddle" alt=":roller_coaster:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a2.png" title=":roller_coaster:" width="20px" /><br> roller_skate <img align="absmiddle" alt=":roller_skate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6fc.png" title=":roller_skate:" width="20px" /><br> rolling_eyes <img align="absmiddle" alt=":rolling_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f644.png" title=":rolling_eyes:" width="20px" /><br> rooster <img align="absmiddle" alt=":rooster:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f413.png" title=":rooster:" width="20px" /><br> rose <img align="absmiddle" alt=":rose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f339.png" title=":rose:" width="20px" /><br> rosette <img align="absmiddle" alt=":rosette:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f5.png" title=":rosette:" width="20px" /><br> rotating_light <img align="absmiddle" alt=":rotating_light:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a8.png" title=":rotating_light:" width="20px" /><br> round_pushpin <img align="absmiddle" alt=":round_pushpin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4cd.png" title=":round_pushpin:" width="20px" /><br> rugby_football <img align="absmiddle" alt=":rugby_football:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c9.png" title=":rugby_football:" width="20px" /><br> running_shirt_with_sash <img align="absmiddle" alt=":running_shirt_with_sash:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3bd.png" title=":running_shirt_with_sash:" width="20px" /><br> sa <img align="absmiddle" alt=":sa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f202.png" title=":sa:" width="20px" /><br> safety_pin <img align="absmiddle" alt=":safety_pin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f7.png" title=":safety_pin:" width="20px" /><br> safety_vest <img align="absmiddle" alt=":safety_vest:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ba.png" title=":safety_vest:" width="20px" /><br> sagittarius <img align="absmiddle" alt=":sagittarius:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2650.png" title=":sagittarius:" width="20px" /><br> sailboat <img align="absmiddle" alt=":sailboat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f5.png" title=":sailboat:" width="20px" /><br> sake <img align="absmiddle" alt=":sake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f376.png" title=":sake:" width="20px" /><br> salad <img align="absmiddle" alt=":salad:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f957.png" title=":salad:" width="20px" /><br> salt <img align="absmiddle" alt=":salt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c2.png" title=":salt:" width="20px" /><br> saluting_face <img align="absmiddle" alt=":saluting_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae1.png" title=":saluting_face:" width="20px" /><br> sandal <img align="absmiddle" alt=":sandal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f461.png" title=":sandal:" width="20px" /><br> sandwich <img align="absmiddle" alt=":sandwich:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f96a.png" title=":sandwich:" width="20px" /><br> santa <img align="absmiddle" alt=":santa:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385.png" title=":santa:" width="20px" /><br> santa_tone1 <img align="absmiddle" alt=":santa_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385-1f3fb.png" title=":santa_tone1:" width="20px" /><br> santa_tone2 <img align="absmiddle" alt=":santa_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385-1f3fc.png" title=":santa_tone2:" width="20px" /><br> santa_tone3 <img align="absmiddle" alt=":santa_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385-1f3fd.png" title=":santa_tone3:" width="20px" /><br> santa_tone4 <img align="absmiddle" alt=":santa_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385-1f3fe.png" title=":santa_tone4:" width="20px" /><br> santa_tone5 <img align="absmiddle" alt=":santa_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f385-1f3ff.png" title=":santa_tone5:" width="20px" /><br> sari <img align="absmiddle" alt=":sari:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97b.png" title=":sari:" width="20px" /><br> satellite <img align="absmiddle" alt=":satellite:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4e1.png" title=":satellite:" width="20px" /><br> satellite_orbital <img align="absmiddle" alt=":satellite_orbital:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f0.png" title=":satellite_orbital:" width="20px" /><br> sauropod <img align="absmiddle" alt=":sauropod:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f995.png" title=":sauropod:" width="20px" /><br> saxophone <img align="absmiddle" alt=":saxophone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b7.png" title=":saxophone:" width="20px" /><br> scales <img align="absmiddle" alt=":scales:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2696.png" title=":scales:" width="20px" /><br> scarf <img align="absmiddle" alt=":scarf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e3.png" title=":scarf:" width="20px" /><br> school <img align="absmiddle" alt=":school:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3eb.png" title=":school:" width="20px" /><br> school_satchel <img align="absmiddle" alt=":school_satchel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f392.png" title=":school_satchel:" width="20px" /><br> scientist <img align="absmiddle" alt=":scientist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f52c.png" title=":scientist:" width="20px" /><br> scientist_tone1 <img align="absmiddle" alt=":scientist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f52c.png" title=":scientist_tone1:" width="20px" /><br> scientist_tone2 <img align="absmiddle" alt=":scientist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f52c.png" title=":scientist_tone2:" width="20px" /><br> scientist_tone3 <img align="absmiddle" alt=":scientist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f52c.png" title=":scientist_tone3:" width="20px" /><br> scientist_tone4 <img align="absmiddle" alt=":scientist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f52c.png" title=":scientist_tone4:" width="20px" /><br> scientist_tone5 <img align="absmiddle" alt=":scientist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f52c.png" title=":scientist_tone5:" width="20px" /><br> scissors <img align="absmiddle" alt=":scissors:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2702.png" title=":scissors:" width="20px" /><br> scooter <img align="absmiddle" alt=":scooter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f4.png" title=":scooter:" width="20px" /><br> scorpion <img align="absmiddle" alt=":scorpion:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f982.png" title=":scorpion:" width="20px" /><br> scorpius <img align="absmiddle" alt=":scorpius:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264f.png" title=":scorpius:" width="20px" /><br> scotland <img align="absmiddle" alt=":scotland:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png" title=":scotland:" width="20px" /><br> scream <img align="absmiddle" alt=":scream:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f631.png" title=":scream:" width="20px" /><br> scream_cat <img align="absmiddle" alt=":scream_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f640.png" title=":scream_cat:" width="20px" /><br> screwdriver <img align="absmiddle" alt=":screwdriver:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9b.png" title=":screwdriver:" width="20px" /><br> scroll <img align="absmiddle" alt=":scroll:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4dc.png" title=":scroll:" width="20px" /><br> seal <img align="absmiddle" alt=":seal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ad.png" title=":seal:" width="20px" /><br> seat <img align="absmiddle" alt=":seat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ba.png" title=":seat:" width="20px" /><br> second_place <img align="absmiddle" alt=":second_place:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f948.png" title=":second_place:" width="20px" /><br> secret <img align="absmiddle" alt=":secret:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/3299.png" title=":secret:" width="20px" /><br> see_no_evil <img align="absmiddle" alt=":see_no_evil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f648.png" title=":see_no_evil:" width="20px" /><br> seedling <img align="absmiddle" alt=":seedling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f331.png" title=":seedling:" width="20px" /><br> selfie <img align="absmiddle" alt=":selfie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933.png" title=":selfie:" width="20px" /><br> selfie_tone1 <img align="absmiddle" alt=":selfie_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933-1f3fb.png" title=":selfie_tone1:" width="20px" /><br> selfie_tone2 <img align="absmiddle" alt=":selfie_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933-1f3fc.png" title=":selfie_tone2:" width="20px" /><br> selfie_tone3 <img align="absmiddle" alt=":selfie_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933-1f3fd.png" title=":selfie_tone3:" width="20px" /><br> selfie_tone4 <img align="absmiddle" alt=":selfie_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933-1f3fe.png" title=":selfie_tone4:" width="20px" /><br> selfie_tone5 <img align="absmiddle" alt=":selfie_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f933-1f3ff.png" title=":selfie_tone5:" width="20px" /><br> service_dog <img align="absmiddle" alt=":service_dog:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f415-200d-1f9ba.png" title=":service_dog:" width="20px" /><br> seven <img align="absmiddle" alt=":seven:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/37-20e3.png" title=":seven:" width="20px" /><br> sewing_needle <img align="absmiddle" alt=":sewing_needle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa1.png" title=":sewing_needle:" width="20px" /><br> shaking_face <img align="absmiddle" alt=":shaking_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fae8.png" title=":shaking_face:" width="20px" /><br> shallow_pan_of_food <img align="absmiddle" alt=":shallow_pan_of_food:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f958.png" title=":shallow_pan_of_food:" width="20px" /><br> shamrock <img align="absmiddle" alt=":shamrock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2618.png" title=":shamrock:" width="20px" /><br> shark <img align="absmiddle" alt=":shark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f988.png" title=":shark:" width="20px" /><br> shaved_ice <img align="absmiddle" alt=":shaved_ice:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f367.png" title=":shaved_ice:" width="20px" /><br> sheep <img align="absmiddle" alt=":sheep:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f411.png" title=":sheep:" width="20px" /><br> shell <img align="absmiddle" alt=":shell:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f41a.png" title=":shell:" width="20px" /><br> shibuya <img align="absmiddle" alt=":shibuya:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/e50a.png" title=":shibuya:" width="20px" /><br> shield <img align="absmiddle" alt=":shield:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e1.png" title=":shield:" width="20px" /><br> shinto_shrine <img align="absmiddle" alt=":shinto_shrine:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26e9.png" title=":shinto_shrine:" width="20px" /><br> ship <img align="absmiddle" alt=":ship:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a2.png" title=":ship:" width="20px" /><br> shirt <img align="absmiddle" alt=":shirt:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f455.png" title=":shirt:" width="20px" /><br> shopping_bags <img align="absmiddle" alt=":shopping_bags:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cd.png" title=":shopping_bags:" width="20px" /><br> shopping_cart <img align="absmiddle" alt=":shopping_cart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6d2.png" title=":shopping_cart:" width="20px" /><br> shorts <img align="absmiddle" alt=":shorts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa73.png" title=":shorts:" width="20px" /><br> shower <img align="absmiddle" alt=":shower:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6bf.png" title=":shower:" width="20px" /><br> shrimp <img align="absmiddle" alt=":shrimp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f990.png" title=":shrimp:" width="20px" /><br> shushing_face <img align="absmiddle" alt=":shushing_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92b.png" title=":shushing_face:" width="20px" /><br> signal_strength <img align="absmiddle" alt=":signal_strength:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f6.png" title=":signal_strength:" width="20px" /><br> singer <img align="absmiddle" alt=":singer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f3a4.png" title=":singer:" width="20px" /><br> singer_tone1 <img align="absmiddle" alt=":singer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f3a4.png" title=":singer_tone1:" width="20px" /><br> singer_tone2 <img align="absmiddle" alt=":singer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f3a4.png" title=":singer_tone2:" width="20px" /><br> singer_tone3 <img align="absmiddle" alt=":singer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f3a4.png" title=":singer_tone3:" width="20px" /><br> singer_tone4 <img align="absmiddle" alt=":singer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f3a4.png" title=":singer_tone4:" width="20px" /><br> singer_tone5 <img align="absmiddle" alt=":singer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f3a4.png" title=":singer_tone5:" width="20px" /><br> six <img align="absmiddle" alt=":six:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/36-20e3.png" title=":six:" width="20px" /><br> six_pointed_star <img align="absmiddle" alt=":six_pointed_star:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52f.png" title=":six_pointed_star:" width="20px" /><br> skateboard <img align="absmiddle" alt=":skateboard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f9.png" title=":skateboard:" width="20px" /><br> ski <img align="absmiddle" alt=":ski:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3bf.png" title=":ski:" width="20px" /><br> skier <img align="absmiddle" alt=":skier:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7.png" title=":skier:" width="20px" /><br> skier_tone1 <img align="absmiddle" alt=":skier_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7-1f3fb.png" title=":skier_tone1:" width="20px" /><br> skier_tone2 <img align="absmiddle" alt=":skier_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7-1f3fc.png" title=":skier_tone2:" width="20px" /><br> skier_tone3 <img align="absmiddle" alt=":skier_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7-1f3fd.png" title=":skier_tone3:" width="20px" /><br> skier_tone4 <img align="absmiddle" alt=":skier_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7-1f3fe.png" title=":skier_tone4:" width="20px" /><br> skier_tone5 <img align="absmiddle" alt=":skier_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f7-1f3ff.png" title=":skier_tone5:" width="20px" /><br> skull <img align="absmiddle" alt=":skull:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f480.png" title=":skull:" width="20px" /><br> skull_crossbones <img align="absmiddle" alt=":skull_crossbones:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2620.png" title=":skull_crossbones:" width="20px" /><br> skunk <img align="absmiddle" alt=":skunk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a8.png" title=":skunk:" width="20px" /><br> sled <img align="absmiddle" alt=":sled:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6f7.png" title=":sled:" width="20px" /><br> sleeping <img align="absmiddle" alt=":sleeping:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f634.png" title=":sleeping:" width="20px" /><br> sleeping_accommodation <img align="absmiddle" alt=":sleeping_accommodation:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6cc.png" title=":sleeping_accommodation:" width="20px" /><br> sleepy <img align="absmiddle" alt=":sleepy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62a.png" title=":sleepy:" width="20px" /><br> slight_frown <img align="absmiddle" alt=":slight_frown:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f641.png" title=":slight_frown:" width="20px" /><br> slight_smile <img align="absmiddle" alt=":slight_smile:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f642.png" title=":slight_smile:" width="20px" /><br> slot_machine <img align="absmiddle" alt=":slot_machine:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3b0.png" title=":slot_machine:" width="20px" /><br> sloth <img align="absmiddle" alt=":sloth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a5.png" title=":sloth:" width="20px" /><br> small_blue_diamond <img align="absmiddle" alt=":small_blue_diamond:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f539.png" title=":small_blue_diamond:" width="20px" /><br> small_orange_diamond <img align="absmiddle" alt=":small_orange_diamond:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f538.png" title=":small_orange_diamond:" width="20px" /><br> small_red_triangle <img align="absmiddle" alt=":small_red_triangle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f53a.png" title=":small_red_triangle:" width="20px" /><br> small_red_triangle_down <img align="absmiddle" alt=":small_red_triangle_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f53b.png" title=":small_red_triangle_down:" width="20px" /><br> smile <img align="absmiddle" alt=":smile:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f604.png" title=":smile:" width="20px" /><br> smile_cat <img align="absmiddle" alt=":smile_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f638.png" title=":smile_cat:" width="20px" /><br> smiley <img align="absmiddle" alt=":smiley:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f603.png" title=":smiley:" width="20px" /><br> smiley_cat <img align="absmiddle" alt=":smiley_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63a.png" title=":smiley_cat:" width="20px" /><br> smiling_face_with_3_hearts <img align="absmiddle" alt=":smiling_face_with_3_hearts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f970.png" title=":smiling_face_with_3_hearts:" width="20px" /><br> smiling_face_with_tear <img align="absmiddle" alt=":smiling_face_with_tear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f972.png" title=":smiling_face_with_tear:" width="20px" /><br> smiling_imp <img align="absmiddle" alt=":smiling_imp:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f608.png" title=":smiling_imp:" width="20px" /><br> smirk <img align="absmiddle" alt=":smirk:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60f.png" title=":smirk:" width="20px" /><br> smirk_cat <img align="absmiddle" alt=":smirk_cat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f63c.png" title=":smirk_cat:" width="20px" /><br> smoking <img align="absmiddle" alt=":smoking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ac.png" title=":smoking:" width="20px" /><br> snail <img align="absmiddle" alt=":snail:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40c.png" title=":snail:" width="20px" /><br> snake <img align="absmiddle" alt=":snake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40d.png" title=":snake:" width="20px" /><br> sneezing_face <img align="absmiddle" alt=":sneezing_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f927.png" title=":sneezing_face:" width="20px" /><br> snowboarder <img align="absmiddle" alt=":snowboarder:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2.png" title=":snowboarder:" width="20px" /><br> snowboarder_tone1 <img align="absmiddle" alt=":snowboarder_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2-1f3fb.png" title=":snowboarder_tone1:" width="20px" /><br> snowboarder_tone2 <img align="absmiddle" alt=":snowboarder_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2-1f3fc.png" title=":snowboarder_tone2:" width="20px" /><br> snowboarder_tone3 <img align="absmiddle" alt=":snowboarder_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2-1f3fd.png" title=":snowboarder_tone3:" width="20px" /><br> snowboarder_tone4 <img align="absmiddle" alt=":snowboarder_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2-1f3fe.png" title=":snowboarder_tone4:" width="20px" /><br> snowboarder_tone5 <img align="absmiddle" alt=":snowboarder_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c2-1f3ff.png" title=":snowboarder_tone5:" width="20px" /><br> snowflake <img align="absmiddle" alt=":snowflake:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2744.png" title=":snowflake:" width="20px" /><br> snowman2 <img align="absmiddle" alt=":snowman2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2603.png" title=":snowman2:" width="20px" /><br> snowman <img align="absmiddle" alt=":snowman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26c4.png" title=":snowman:" width="20px" /><br> soap <img align="absmiddle" alt=":soap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9fc.png" title=":soap:" width="20px" /><br> sob <img align="absmiddle" alt=":sob:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62d.png" title=":sob:" width="20px" /><br> soccer <img align="absmiddle" alt=":soccer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26bd.png" title=":soccer:" width="20px" /><br> socks <img align="absmiddle" alt=":socks:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9e6.png" title=":socks:" width="20px" /><br> softball <img align="absmiddle" alt=":softball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f94e.png" title=":softball:" width="20px" /><br> soon <img align="absmiddle" alt=":soon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51c.png" title=":soon:" width="20px" /><br> sos <img align="absmiddle" alt=":sos:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f198.png" title=":sos:" width="20px" /><br> sound <img align="absmiddle" alt=":sound:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f509.png" title=":sound:" width="20px" /><br> space_invader <img align="absmiddle" alt=":space_invader:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f47e.png" title=":space_invader:" width="20px" /><br> spades <img align="absmiddle" alt=":spades:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2660.png" title=":spades:" width="20px" /><br> spaghetti <img align="absmiddle" alt=":spaghetti:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f35d.png" title=":spaghetti:" width="20px" /><br> sparkle <img align="absmiddle" alt=":sparkle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2747.png" title=":sparkle:" width="20px" /><br> sparkler <img align="absmiddle" alt=":sparkler:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f387.png" title=":sparkler:" width="20px" /><br> sparkles <img align="absmiddle" alt=":sparkles:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2728.png" title=":sparkles:" width="20px" /><br> sparkling_heart <img align="absmiddle" alt=":sparkling_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f496.png" title=":sparkling_heart:" width="20px" /><br> speak_no_evil <img align="absmiddle" alt=":speak_no_evil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64a.png" title=":speak_no_evil:" width="20px" /><br> speaker <img align="absmiddle" alt=":speaker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f508.png" title=":speaker:" width="20px" /><br> speaking_head <img align="absmiddle" alt=":speaking_head:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5e3.png" title=":speaking_head:" width="20px" /><br> speech_balloon <img align="absmiddle" alt=":speech_balloon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ac.png" title=":speech_balloon:" width="20px" /><br> speech_left <img align="absmiddle" alt=":speech_left:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5e8.png" title=":speech_left:" width="20px" /><br> speedboat <img align="absmiddle" alt=":speedboat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a4.png" title=":speedboat:" width="20px" /><br> spider <img align="absmiddle" alt=":spider:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f577.png" title=":spider:" width="20px" /><br> spider_web <img align="absmiddle" alt=":spider_web:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f578.png" title=":spider_web:" width="20px" /><br> sponge <img align="absmiddle" alt=":sponge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9fd.png" title=":sponge:" width="20px" /><br> spoon <img align="absmiddle" alt=":spoon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f944.png" title=":spoon:" width="20px" /><br> squeeze_bottle <img align="absmiddle" alt=":squeeze_bottle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f4.png" title=":squeeze_bottle:" width="20px" /><br> squid <img align="absmiddle" alt=":squid:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f991.png" title=":squid:" width="20px" /><br> stadium <img align="absmiddle" alt=":stadium:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3df.png" title=":stadium:" width="20px" /><br> star2 <img align="absmiddle" alt=":star2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31f.png" title=":star2:" width="20px" /><br> star <img align="absmiddle" alt=":star:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b50.png" title=":star:" width="20px" /><br> star_and_crescent <img align="absmiddle" alt=":star_and_crescent:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/262a.png" title=":star_and_crescent:" width="20px" /><br> star_of_david <img align="absmiddle" alt=":star_of_david:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2721.png" title=":star_of_david:" width="20px" /><br> star_struck <img align="absmiddle" alt=":star_struck:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f929.png" title=":star_struck:" width="20px" /><br> stars <img align="absmiddle" alt=":stars:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f320.png" title=":stars:" width="20px" /><br> station <img align="absmiddle" alt=":station:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f689.png" title=":station:" width="20px" /><br> statue_of_liberty <img align="absmiddle" alt=":statue_of_liberty:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5fd.png" title=":statue_of_liberty:" width="20px" /><br> steam_locomotive <img align="absmiddle" alt=":steam_locomotive:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f682.png" title=":steam_locomotive:" width="20px" /><br> stethoscope <img align="absmiddle" alt=":stethoscope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa7a.png" title=":stethoscope:" width="20px" /><br> stew <img align="absmiddle" alt=":stew:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f372.png" title=":stew:" width="20px" /><br> stop_button <img align="absmiddle" alt=":stop_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f9.png" title=":stop_button:" width="20px" /><br> stopwatch <img align="absmiddle" alt=":stopwatch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f1.png" title=":stopwatch:" width="20px" /><br> straight_ruler <img align="absmiddle" alt=":straight_ruler:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4cf.png" title=":straight_ruler:" width="20px" /><br> strawberry <img align="absmiddle" alt=":strawberry:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f353.png" title=":strawberry:" width="20px" /><br> stuck_out_tongue <img align="absmiddle" alt=":stuck_out_tongue:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61b.png" title=":stuck_out_tongue:" width="20px" /><br> stuck_out_tongue_closed_eyes <img align="absmiddle" alt=":stuck_out_tongue_closed_eyes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61d.png" title=":stuck_out_tongue_closed_eyes:" width="20px" /><br> stuck_out_tongue_winking_eye <img align="absmiddle" alt=":stuck_out_tongue_winking_eye:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61c.png" title=":stuck_out_tongue_winking_eye:" width="20px" /><br> student <img align="absmiddle" alt=":student:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f393.png" title=":student:" width="20px" /><br> student_tone1 <img align="absmiddle" alt=":student_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f393.png" title=":student_tone1:" width="20px" /><br> student_tone2 <img align="absmiddle" alt=":student_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f393.png" title=":student_tone2:" width="20px" /><br> student_tone3 <img align="absmiddle" alt=":student_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f393.png" title=":student_tone3:" width="20px" /><br> student_tone4 <img align="absmiddle" alt=":student_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f393.png" title=":student_tone4:" width="20px" /><br> student_tone5 <img align="absmiddle" alt=":student_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f393.png" title=":student_tone5:" width="20px" /><br> stuffed_flatbread <img align="absmiddle" alt=":stuffed_flatbread:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f959.png" title=":stuffed_flatbread:" width="20px" /><br> sun_with_face <img align="absmiddle" alt=":sun_with_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f31e.png" title=":sun_with_face:" width="20px" /><br> sunflower <img align="absmiddle" alt=":sunflower:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f33b.png" title=":sunflower:" width="20px" /><br> sunglasses <img align="absmiddle" alt=":sunglasses:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60e.png" title=":sunglasses:" width="20px" /><br> sunny <img align="absmiddle" alt=":sunny:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2600.png" title=":sunny:" width="20px" /><br> sunrise <img align="absmiddle" alt=":sunrise:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f305.png" title=":sunrise:" width="20px" /><br> sunrise_over_mountains <img align="absmiddle" alt=":sunrise_over_mountains:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f304.png" title=":sunrise_over_mountains:" width="20px" /><br> superhero <img align="absmiddle" alt=":superhero:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8.png" title=":superhero:" width="20px" /><br> superhero_tone1 <img align="absmiddle" alt=":superhero_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fb.png" title=":superhero_tone1:" width="20px" /><br> superhero_tone2 <img align="absmiddle" alt=":superhero_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fc.png" title=":superhero_tone2:" width="20px" /><br> superhero_tone3 <img align="absmiddle" alt=":superhero_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fd.png" title=":superhero_tone3:" width="20px" /><br> superhero_tone4 <img align="absmiddle" alt=":superhero_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fe.png" title=":superhero_tone4:" width="20px" /><br> superhero_tone5 <img align="absmiddle" alt=":superhero_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3ff.png" title=":superhero_tone5:" width="20px" /><br> supervillain <img align="absmiddle" alt=":supervillain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9.png" title=":supervillain:" width="20px" /><br> supervillain_tone1 <img align="absmiddle" alt=":supervillain_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fb.png" title=":supervillain_tone1:" width="20px" /><br> supervillain_tone2 <img align="absmiddle" alt=":supervillain_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fc.png" title=":supervillain_tone2:" width="20px" /><br> supervillain_tone3 <img align="absmiddle" alt=":supervillain_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fd.png" title=":supervillain_tone3:" width="20px" /><br> supervillain_tone4 <img align="absmiddle" alt=":supervillain_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fe.png" title=":supervillain_tone4:" width="20px" /><br> supervillain_tone5 <img align="absmiddle" alt=":supervillain_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3ff.png" title=":supervillain_tone5:" width="20px" /><br> sushi <img align="absmiddle" alt=":sushi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f363.png" title=":sushi:" width="20px" /><br> suspension_railway <img align="absmiddle" alt=":suspension_railway:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69f.png" title=":suspension_railway:" width="20px" /><br> swan <img align="absmiddle" alt=":swan:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9a2.png" title=":swan:" width="20px" /><br> sweat <img align="absmiddle" alt=":sweat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f613.png" title=":sweat:" width="20px" /><br> sweat_drops <img align="absmiddle" alt=":sweat_drops:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a6.png" title=":sweat_drops:" width="20px" /><br> sweat_smile <img align="absmiddle" alt=":sweat_smile:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f605.png" title=":sweat_smile:" width="20px" /><br> sweet_potato <img align="absmiddle" alt=":sweet_potato:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f360.png" title=":sweet_potato:" width="20px" /><br> symbols <img align="absmiddle" alt=":symbols:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f523.png" title=":symbols:" width="20px" /><br> synagogue <img align="absmiddle" alt=":synagogue:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f54d.png" title=":synagogue:" width="20px" /><br> syringe <img align="absmiddle" alt=":syringe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f489.png" title=":syringe:" width="20px" /><br> t_rex <img align="absmiddle" alt=":t_rex:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f996.png" title=":t_rex:" width="20px" /><br> taco <img align="absmiddle" alt=":taco:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32e.png" title=":taco:" width="20px" /><br> tada <img align="absmiddle" alt=":tada:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f389.png" title=":tada:" width="20px" /><br> takeout_box <img align="absmiddle" alt=":takeout_box:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f961.png" title=":takeout_box:" width="20px" /><br> tamale <img align="absmiddle" alt=":tamale:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad4.png" title=":tamale:" width="20px" /><br> tanabata_tree <img align="absmiddle" alt=":tanabata_tree:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f38b.png" title=":tanabata_tree:" width="20px" /><br> tangerine <img align="absmiddle" alt=":tangerine:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f34a.png" title=":tangerine:" width="20px" /><br> taurus <img align="absmiddle" alt=":taurus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2649.png" title=":taurus:" width="20px" /><br> taxi <img align="absmiddle" alt=":taxi:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f695.png" title=":taxi:" width="20px" /><br> tea <img align="absmiddle" alt=":tea:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f375.png" title=":tea:" width="20px" /><br> teacher <img align="absmiddle" alt=":teacher:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f3eb.png" title=":teacher:" width="20px" /><br> teacher_tone1 <img align="absmiddle" alt=":teacher_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f3eb.png" title=":teacher_tone1:" width="20px" /><br> teacher_tone2 <img align="absmiddle" alt=":teacher_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f3eb.png" title=":teacher_tone2:" width="20px" /><br> teacher_tone3 <img align="absmiddle" alt=":teacher_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f3eb.png" title=":teacher_tone3:" width="20px" /><br> teacher_tone4 <img align="absmiddle" alt=":teacher_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f3eb.png" title=":teacher_tone4:" width="20px" /><br> teacher_tone5 <img align="absmiddle" alt=":teacher_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f3eb.png" title=":teacher_tone5:" width="20px" /><br> teapot <img align="absmiddle" alt=":teapot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fad6.png" title=":teapot:" width="20px" /><br> technologist <img align="absmiddle" alt=":technologist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-200d-1f4bb.png" title=":technologist:" width="20px" /><br> technologist_tone1 <img align="absmiddle" alt=":technologist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fb-200d-1f4bb.png" title=":technologist_tone1:" width="20px" /><br> technologist_tone2 <img align="absmiddle" alt=":technologist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fc-200d-1f4bb.png" title=":technologist_tone2:" width="20px" /><br> technologist_tone3 <img align="absmiddle" alt=":technologist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fd-200d-1f4bb.png" title=":technologist_tone3:" width="20px" /><br> technologist_tone4 <img align="absmiddle" alt=":technologist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3fe-200d-1f4bb.png" title=":technologist_tone4:" width="20px" /><br> technologist_tone5 <img align="absmiddle" alt=":technologist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d1-1f3ff-200d-1f4bb.png" title=":technologist_tone5:" width="20px" /><br> teddy_bear <img align="absmiddle" alt=":teddy_bear:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f8.png" title=":teddy_bear:" width="20px" /><br> telephone <img align="absmiddle" alt=":telephone:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/260e.png" title=":telephone:" width="20px" /><br> telephone_receiver <img align="absmiddle" alt=":telephone_receiver:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4de.png" title=":telephone_receiver:" width="20px" /><br> telescope <img align="absmiddle" alt=":telescope:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f52d.png" title=":telescope:" width="20px" /><br> tennis <img align="absmiddle" alt=":tennis:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3be.png" title=":tennis:" width="20px" /><br> tent <img align="absmiddle" alt=":tent:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26fa.png" title=":tent:" width="20px" /><br> test_tube <img align="absmiddle" alt=":test_tube:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ea.png" title=":test_tube:" width="20px" /><br> thermometer <img align="absmiddle" alt=":thermometer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f321.png" title=":thermometer:" width="20px" /><br> thermometer_face <img align="absmiddle" alt=":thermometer_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f912.png" title=":thermometer_face:" width="20px" /><br> thinking <img align="absmiddle" alt=":thinking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f914.png" title=":thinking:" width="20px" /><br> third_place <img align="absmiddle" alt=":third_place:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f949.png" title=":third_place:" width="20px" /><br> thong_sandal <img align="absmiddle" alt=":thong_sandal:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa74.png" title=":thong_sandal:" width="20px" /><br> thought_balloon <img align="absmiddle" alt=":thought_balloon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ad.png" title=":thought_balloon:" width="20px" /><br> thread <img align="absmiddle" alt=":thread:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f5.png" title=":thread:" width="20px" /><br> three <img align="absmiddle" alt=":three:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/33-20e3.png" title=":three:" width="20px" /><br> thumbsdown <img align="absmiddle" alt=":thumbsdown:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e.png" title=":thumbsdown:" width="20px" /><br> thumbsdown_tone1 <img align="absmiddle" alt=":thumbsdown_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e-1f3fb.png" title=":thumbsdown_tone1:" width="20px" /><br> thumbsdown_tone2 <img align="absmiddle" alt=":thumbsdown_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e-1f3fc.png" title=":thumbsdown_tone2:" width="20px" /><br> thumbsdown_tone3 <img align="absmiddle" alt=":thumbsdown_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e-1f3fd.png" title=":thumbsdown_tone3:" width="20px" /><br> thumbsdown_tone4 <img align="absmiddle" alt=":thumbsdown_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e-1f3fe.png" title=":thumbsdown_tone4:" width="20px" /><br> thumbsdown_tone5 <img align="absmiddle" alt=":thumbsdown_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44e-1f3ff.png" title=":thumbsdown_tone5:" width="20px" /><br> thumbsup <img align="absmiddle" alt=":thumbsup:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d.png" title=":thumbsup:" width="20px" /><br> thumbsup_tone1 <img align="absmiddle" alt=":thumbsup_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d-1f3fb.png" title=":thumbsup_tone1:" width="20px" /><br> thumbsup_tone2 <img align="absmiddle" alt=":thumbsup_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d-1f3fc.png" title=":thumbsup_tone2:" width="20px" /><br> thumbsup_tone3 <img align="absmiddle" alt=":thumbsup_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d-1f3fd.png" title=":thumbsup_tone3:" width="20px" /><br> thumbsup_tone4 <img align="absmiddle" alt=":thumbsup_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d-1f3fe.png" title=":thumbsup_tone4:" width="20px" /><br> thumbsup_tone5 <img align="absmiddle" alt=":thumbsup_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44d-1f3ff.png" title=":thumbsup_tone5:" width="20px" /><br> thunder_cloud_rain <img align="absmiddle" alt=":thunder_cloud_rain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26c8.png" title=":thunder_cloud_rain:" width="20px" /><br> ticket <img align="absmiddle" alt=":ticket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ab.png" title=":ticket:" width="20px" /><br> tickets <img align="absmiddle" alt=":tickets:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f39f.png" title=":tickets:" width="20px" /><br> tiger2 <img align="absmiddle" alt=":tiger2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f405.png" title=":tiger2:" width="20px" /><br> tiger <img align="absmiddle" alt=":tiger:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f42f.png" title=":tiger:" width="20px" /><br> timer <img align="absmiddle" alt=":timer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23f2.png" title=":timer:" width="20px" /><br> tired_face <img align="absmiddle" alt=":tired_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f62b.png" title=":tired_face:" width="20px" /><br> tm <img align="absmiddle" alt=":tm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2122.png" title=":tm:" width="20px" /><br> toilet <img align="absmiddle" alt=":toilet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6bd.png" title=":toilet:" width="20px" /><br> tokyo_tower <img align="absmiddle" alt=":tokyo_tower:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5fc.png" title=":tokyo_tower:" width="20px" /><br> tomato <img align="absmiddle" alt=":tomato:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f345.png" title=":tomato:" width="20px" /><br> tone1 <img align="absmiddle" alt=":tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3fb.png" title=":tone1:" width="20px" /><br> tone2 <img align="absmiddle" alt=":tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3fc.png" title=":tone2:" width="20px" /><br> tone3 <img align="absmiddle" alt=":tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3fd.png" title=":tone3:" width="20px" /><br> tone4 <img align="absmiddle" alt=":tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3fe.png" title=":tone4:" width="20px" /><br> tone5 <img align="absmiddle" alt=":tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ff.png" title=":tone5:" width="20px" /><br> tongue <img align="absmiddle" alt=":tongue:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f445.png" title=":tongue:" width="20px" /><br> toolbox <img align="absmiddle" alt=":toolbox:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f0.png" title=":toolbox:" width="20px" /><br> tools <img align="absmiddle" alt=":tools:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6e0.png" title=":tools:" width="20px" /><br> tooth <img align="absmiddle" alt=":tooth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b7.png" title=":tooth:" width="20px" /><br> toothbrush <img align="absmiddle" alt=":toothbrush:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1faa5.png" title=":toothbrush:" width="20px" /><br> top <img align="absmiddle" alt=":top:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51d.png" title=":top:" width="20px" /><br> tophat <img align="absmiddle" alt=":tophat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3a9.png" title=":tophat:" width="20px" /><br> track_next <img align="absmiddle" alt=":track_next:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23ed.png" title=":track_next:" width="20px" /><br> track_previous <img align="absmiddle" alt=":track_previous:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/23ee.png" title=":track_previous:" width="20px" /><br> trackball <img align="absmiddle" alt=":trackball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5b2.png" title=":trackball:" width="20px" /><br> tractor <img align="absmiddle" alt=":tractor:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69c.png" title=":tractor:" width="20px" /><br> traffic_light <img align="absmiddle" alt=":traffic_light:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a5.png" title=":traffic_light:" width="20px" /><br> train2 <img align="absmiddle" alt=":train2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f686.png" title=":train2:" width="20px" /><br> train <img align="absmiddle" alt=":train:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68b.png" title=":train:" width="20px" /><br> tram <img align="absmiddle" alt=":tram:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68a.png" title=":tram:" width="20px" /><br> transgender_flag <img align="absmiddle" alt=":transgender_flag:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f3-fe0f-200d-26a7-fe0f.png" title=":transgender_flag:" width="20px" /><br> transgender_symbol <img align="absmiddle" alt=":transgender_symbol:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26a7.png" title=":transgender_symbol:" width="20px" /><br> triangular_flag_on_post <img align="absmiddle" alt=":triangular_flag_on_post:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a9.png" title=":triangular_flag_on_post:" width="20px" /><br> triangular_ruler <img align="absmiddle" alt=":triangular_ruler:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4d0.png" title=":triangular_ruler:" width="20px" /><br> trident <img align="absmiddle" alt=":trident:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f531.png" title=":trident:" width="20px" /><br> triumph <img align="absmiddle" alt=":triumph:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f624.png" title=":triumph:" width="20px" /><br> troll <img align="absmiddle" alt=":troll:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cc.png" title=":troll:" width="20px" /><br> trolleybus <img align="absmiddle" alt=":trolleybus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f68e.png" title=":trolleybus:" width="20px" /><br> trophy <img align="absmiddle" alt=":trophy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c6.png" title=":trophy:" width="20px" /><br> tropical_drink <img align="absmiddle" alt=":tropical_drink:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f379.png" title=":tropical_drink:" width="20px" /><br> tropical_fish <img align="absmiddle" alt=":tropical_fish:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f420.png" title=":tropical_fish:" width="20px" /><br> truck <img align="absmiddle" alt=":truck:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f69a.png" title=":truck:" width="20px" /><br> trumpet <img align="absmiddle" alt=":trumpet:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ba.png" title=":trumpet:" width="20px" /><br> tulip <img align="absmiddle" alt=":tulip:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f337.png" title=":tulip:" width="20px" /><br> tumbler_glass <img align="absmiddle" alt=":tumbler_glass:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f943.png" title=":tumbler_glass:" width="20px" /><br> turkey <img align="absmiddle" alt=":turkey:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f983.png" title=":turkey:" width="20px" /><br> turtle <img align="absmiddle" alt=":turtle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f422.png" title=":turtle:" width="20px" /><br> tv <img align="absmiddle" alt=":tv:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4fa.png" title=":tv:" width="20px" /><br> twisted_rightwards_arrows <img align="absmiddle" alt=":twisted_rightwards_arrows:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f500.png" title=":twisted_rightwards_arrows:" width="20px" /><br> two <img align="absmiddle" alt=":two:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/32-20e3.png" title=":two:" width="20px" /><br> two_hearts <img align="absmiddle" alt=":two_hearts:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f495.png" title=":two_hearts:" width="20px" /><br> two_men_holding_hands <img align="absmiddle" alt=":two_men_holding_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46c.png" title=":two_men_holding_hands:" width="20px" /><br> two_women_holding_hands <img align="absmiddle" alt=":two_women_holding_hands:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d.png" title=":two_women_holding_hands:" width="20px" /><br> u5272 <img align="absmiddle" alt=":u5272:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f239.png" title=":u5272:" width="20px" /><br> u5408 <img align="absmiddle" alt=":u5408:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f234.png" title=":u5408:" width="20px" /><br> u55b6 <img align="absmiddle" alt=":u55b6:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f23a.png" title=":u55b6:" width="20px" /><br> u6307 <img align="absmiddle" alt=":u6307:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f22f.png" title=":u6307:" width="20px" /><br> u6708 <img align="absmiddle" alt=":u6708:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f237.png" title=":u6708:" width="20px" /><br> u6709 <img align="absmiddle" alt=":u6709:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f236.png" title=":u6709:" width="20px" /><br> u6e80 <img align="absmiddle" alt=":u6e80:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f235.png" title=":u6e80:" width="20px" /><br> u7121 <img align="absmiddle" alt=":u7121:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f21a.png" title=":u7121:" width="20px" /><br> u7533 <img align="absmiddle" alt=":u7533:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f238.png" title=":u7533:" width="20px" /><br> u7981 <img align="absmiddle" alt=":u7981:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f232.png" title=":u7981:" width="20px" /><br> u7a7a <img align="absmiddle" alt=":u7a7a:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f233.png" title=":u7a7a:" width="20px" /><br> umbrella2 <img align="absmiddle" alt=":umbrella2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2602.png" title=":umbrella2:" width="20px" /><br> umbrella <img align="absmiddle" alt=":umbrella:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2614.png" title=":umbrella:" width="20px" /><br> unamused <img align="absmiddle" alt=":unamused:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f612.png" title=":unamused:" width="20px" /><br> underage <img align="absmiddle" alt=":underage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f51e.png" title=":underage:" width="20px" /><br> unicorn <img align="absmiddle" alt=":unicorn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f984.png" title=":unicorn:" width="20px" /><br> united_nations <img align="absmiddle" alt=":united_nations:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f1fa-1f1f3.png" title=":united_nations:" width="20px" /><br> unlock <img align="absmiddle" alt=":unlock:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f513.png" title=":unlock:" width="20px" /><br> up <img align="absmiddle" alt=":up:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f199.png" title=":up:" width="20px" /><br> upside_down <img align="absmiddle" alt=":upside_down:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f643.png" title=":upside_down:" width="20px" /><br> urn <img align="absmiddle" alt=":urn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26b1.png" title=":urn:" width="20px" /><br> v <img align="absmiddle" alt=":v:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c.png" title=":v:" width="20px" /><br> v_tone1 <img align="absmiddle" alt=":v_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c-1f3fb.png" title=":v_tone1:" width="20px" /><br> v_tone2 <img align="absmiddle" alt=":v_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c-1f3fc.png" title=":v_tone2:" width="20px" /><br> v_tone3 <img align="absmiddle" alt=":v_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c-1f3fd.png" title=":v_tone3:" width="20px" /><br> v_tone4 <img align="absmiddle" alt=":v_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c-1f3fe.png" title=":v_tone4:" width="20px" /><br> v_tone5 <img align="absmiddle" alt=":v_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270c-1f3ff.png" title=":v_tone5:" width="20px" /><br> vampire <img align="absmiddle" alt=":vampire:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db.png" title=":vampire:" width="20px" /><br> vampire_tone1 <img align="absmiddle" alt=":vampire_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fb.png" title=":vampire_tone1:" width="20px" /><br> vampire_tone2 <img align="absmiddle" alt=":vampire_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fc.png" title=":vampire_tone2:" width="20px" /><br> vampire_tone3 <img align="absmiddle" alt=":vampire_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fd.png" title=":vampire_tone3:" width="20px" /><br> vampire_tone4 <img align="absmiddle" alt=":vampire_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fe.png" title=":vampire_tone4:" width="20px" /><br> vampire_tone5 <img align="absmiddle" alt=":vampire_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3ff.png" title=":vampire_tone5:" width="20px" /><br> vertical_traffic_light <img align="absmiddle" alt=":vertical_traffic_light:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a6.png" title=":vertical_traffic_light:" width="20px" /><br> vhs <img align="absmiddle" alt=":vhs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4fc.png" title=":vhs:" width="20px" /><br> vibration_mode <img align="absmiddle" alt=":vibration_mode:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f3.png" title=":vibration_mode:" width="20px" /><br> video_camera <img align="absmiddle" alt=":video_camera:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4f9.png" title=":video_camera:" width="20px" /><br> video_game <img align="absmiddle" alt=":video_game:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ae.png" title=":video_game:" width="20px" /><br> violin <img align="absmiddle" alt=":violin:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3bb.png" title=":violin:" width="20px" /><br> virgo <img align="absmiddle" alt=":virgo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/264d.png" title=":virgo:" width="20px" /><br> volcano <img align="absmiddle" alt=":volcano:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f30b.png" title=":volcano:" width="20px" /><br> volleyball <img align="absmiddle" alt=":volleyball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3d0.png" title=":volleyball:" width="20px" /><br> vs <img align="absmiddle" alt=":vs:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f19a.png" title=":vs:" width="20px" /><br> vulcan <img align="absmiddle" alt=":vulcan:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596.png" title=":vulcan:" width="20px" /><br> vulcan_tone1 <img align="absmiddle" alt=":vulcan_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596-1f3fb.png" title=":vulcan_tone1:" width="20px" /><br> vulcan_tone2 <img align="absmiddle" alt=":vulcan_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596-1f3fc.png" title=":vulcan_tone2:" width="20px" /><br> vulcan_tone3 <img align="absmiddle" alt=":vulcan_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596-1f3fd.png" title=":vulcan_tone3:" width="20px" /><br> vulcan_tone4 <img align="absmiddle" alt=":vulcan_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596-1f3fe.png" title=":vulcan_tone4:" width="20px" /><br> vulcan_tone5 <img align="absmiddle" alt=":vulcan_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f596-1f3ff.png" title=":vulcan_tone5:" width="20px" /><br> waffle <img align="absmiddle" alt=":waffle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9c7.png" title=":waffle:" width="20px" /><br> wales <img align="absmiddle" alt=":wales:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png" title=":wales:" width="20px" /><br> waning_crescent_moon <img align="absmiddle" alt=":waning_crescent_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f318.png" title=":waning_crescent_moon:" width="20px" /><br> waning_gibbous_moon <img align="absmiddle" alt=":waning_gibbous_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f316.png" title=":waning_gibbous_moon:" width="20px" /><br> warning <img align="absmiddle" alt=":warning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26a0.png" title=":warning:" width="20px" /><br> wastebasket <img align="absmiddle" alt=":wastebasket:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f5d1.png" title=":wastebasket:" width="20px" /><br> watch <img align="absmiddle" alt=":watch:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/231a.png" title=":watch:" width="20px" /><br> water_buffalo <img align="absmiddle" alt=":water_buffalo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f403.png" title=":water_buffalo:" width="20px" /><br> watermelon <img align="absmiddle" alt=":watermelon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f349.png" title=":watermelon:" width="20px" /><br> wave <img align="absmiddle" alt=":wave:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b.png" title=":wave:" width="20px" /><br> wave_tone1 <img align="absmiddle" alt=":wave_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b-1f3fb.png" title=":wave_tone1:" width="20px" /><br> wave_tone2 <img align="absmiddle" alt=":wave_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b-1f3fc.png" title=":wave_tone2:" width="20px" /><br> wave_tone3 <img align="absmiddle" alt=":wave_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b-1f3fd.png" title=":wave_tone3:" width="20px" /><br> wave_tone4 <img align="absmiddle" alt=":wave_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b-1f3fe.png" title=":wave_tone4:" width="20px" /><br> wave_tone5 <img align="absmiddle" alt=":wave_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f44b-1f3ff.png" title=":wave_tone5:" width="20px" /><br> wavy_dash <img align="absmiddle" alt=":wavy_dash:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/3030.png" title=":wavy_dash:" width="20px" /><br> waxing_crescent_moon <img align="absmiddle" alt=":waxing_crescent_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f312.png" title=":waxing_crescent_moon:" width="20px" /><br> waxing_gibbous_moon <img align="absmiddle" alt=":waxing_gibbous_moon:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f314.png" title=":waxing_gibbous_moon:" width="20px" /><br> wc <img align="absmiddle" alt=":wc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6be.png" title=":wc:" width="20px" /><br> weary <img align="absmiddle" alt=":weary:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f629.png" title=":weary:" width="20px" /><br> wedding <img align="absmiddle" alt=":wedding:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f492.png" title=":wedding:" width="20px" /><br> whale2 <img align="absmiddle" alt=":whale2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f40b.png" title=":whale2:" width="20px" /><br> whale <img align="absmiddle" alt=":whale:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f433.png" title=":whale:" width="20px" /><br> wheel <img align="absmiddle" alt=":wheel:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6de.png" title=":wheel:" width="20px" /><br> wheel_of_dharma <img align="absmiddle" alt=":wheel_of_dharma:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2638.png" title=":wheel_of_dharma:" width="20px" /><br> wheelchair <img align="absmiddle" alt=":wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/267f.png" title=":wheelchair:" width="20px" /><br> white_check_mark <img align="absmiddle" alt=":white_check_mark:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2705.png" title=":white_check_mark:" width="20px" /><br> white_circle <img align="absmiddle" alt=":white_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26aa.png" title=":white_circle:" width="20px" /><br> white_flower <img align="absmiddle" alt=":white_flower:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4ae.png" title=":white_flower:" width="20px" /><br> white_haired <img align="absmiddle" alt=":white_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b3.png" title=":white_haired:" width="20px" /><br> white_heart <img align="absmiddle" alt=":white_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f90d.png" title=":white_heart:" width="20px" /><br> white_large_square <img align="absmiddle" alt=":white_large_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/2b1c.png" title=":white_large_square:" width="20px" /><br> white_medium_small_square <img align="absmiddle" alt=":white_medium_small_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25fd.png" title=":white_medium_small_square:" width="20px" /><br> white_medium_square <img align="absmiddle" alt=":white_medium_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25fb.png" title=":white_medium_square:" width="20px" /><br> white_small_square <img align="absmiddle" alt=":white_small_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/25ab.png" title=":white_small_square:" width="20px" /><br> white_square_button <img align="absmiddle" alt=":white_square_button:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f533.png" title=":white_square_button:" width="20px" /><br> white_sun_cloud <img align="absmiddle" alt=":white_sun_cloud:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f325.png" title=":white_sun_cloud:" width="20px" /><br> white_sun_rain_cloud <img align="absmiddle" alt=":white_sun_rain_cloud:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f326.png" title=":white_sun_rain_cloud:" width="20px" /><br> white_sun_small_cloud <img align="absmiddle" alt=":white_sun_small_cloud:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f324.png" title=":white_sun_small_cloud:" width="20px" /><br> wilted_rose <img align="absmiddle" alt=":wilted_rose:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f940.png" title=":wilted_rose:" width="20px" /><br> wind_blowing_face <img align="absmiddle" alt=":wind_blowing_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f32c.png" title=":wind_blowing_face:" width="20px" /><br> wind_chime <img align="absmiddle" alt=":wind_chime:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f390.png" title=":wind_chime:" width="20px" /><br> window <img align="absmiddle" alt=":window:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa9f.png" title=":window:" width="20px" /><br> wine_glass <img align="absmiddle" alt=":wine_glass:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f377.png" title=":wine_glass:" width="20px" /><br> wing <img align="absmiddle" alt=":wing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fabd.png" title=":wing:" width="20px" /><br> wink <img align="absmiddle" alt=":wink:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f609.png" title=":wink:" width="20px" /><br> wireless <img align="absmiddle" alt=":wireless:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6dc.png" title=":wireless:" width="20px" /><br> wolf <img align="absmiddle" alt=":wolf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f43a.png" title=":wolf:" width="20px" /><br> woman <img align="absmiddle" alt=":woman:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469.png" title=":woman:" width="20px" /><br> woman_and_man_holding_hands_tone1 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b-1f3fb.png" title=":woman_and_man_holding_hands_tone1:" width="20px" /><br> woman_and_man_holding_hands_tone1_tone2 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.png" title=":woman_and_man_holding_hands_tone1_tone2:" width="20px" /><br> woman_and_man_holding_hands_tone1_tone3 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.png" title=":woman_and_man_holding_hands_tone1_tone3:" width="20px" /><br> woman_and_man_holding_hands_tone1_tone4 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.png" title=":woman_and_man_holding_hands_tone1_tone4:" width="20px" /><br> woman_and_man_holding_hands_tone1_tone5 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.png" title=":woman_and_man_holding_hands_tone1_tone5:" width="20px" /><br> woman_and_man_holding_hands_tone2 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b-1f3fc.png" title=":woman_and_man_holding_hands_tone2:" width="20px" /><br> woman_and_man_holding_hands_tone2_tone1 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.png" title=":woman_and_man_holding_hands_tone2_tone1:" width="20px" /><br> woman_and_man_holding_hands_tone2_tone3 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.png" title=":woman_and_man_holding_hands_tone2_tone3:" width="20px" /><br> woman_and_man_holding_hands_tone2_tone4 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.png" title=":woman_and_man_holding_hands_tone2_tone4:" width="20px" /><br> woman_and_man_holding_hands_tone2_tone5 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.png" title=":woman_and_man_holding_hands_tone2_tone5:" width="20px" /><br> woman_and_man_holding_hands_tone3 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b-1f3fd.png" title=":woman_and_man_holding_hands_tone3:" width="20px" /><br> woman_and_man_holding_hands_tone3_tone1 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.png" title=":woman_and_man_holding_hands_tone3_tone1:" width="20px" /><br> woman_and_man_holding_hands_tone3_tone2 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.png" title=":woman_and_man_holding_hands_tone3_tone2:" width="20px" /><br> woman_and_man_holding_hands_tone3_tone4 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.png" title=":woman_and_man_holding_hands_tone3_tone4:" width="20px" /><br> woman_and_man_holding_hands_tone3_tone5 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.png" title=":woman_and_man_holding_hands_tone3_tone5:" width="20px" /><br> woman_and_man_holding_hands_tone4 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b-1f3fe.png" title=":woman_and_man_holding_hands_tone4:" width="20px" /><br> woman_and_man_holding_hands_tone4_tone1 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.png" title=":woman_and_man_holding_hands_tone4_tone1:" width="20px" /><br> woman_and_man_holding_hands_tone4_tone2 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.png" title=":woman_and_man_holding_hands_tone4_tone2:" width="20px" /><br> woman_and_man_holding_hands_tone4_tone3 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.png" title=":woman_and_man_holding_hands_tone4_tone3:" width="20px" /><br> woman_and_man_holding_hands_tone4_tone5 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.png" title=":woman_and_man_holding_hands_tone4_tone5:" width="20px" /><br> woman_and_man_holding_hands_tone5 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46b-1f3ff.png" title=":woman_and_man_holding_hands_tone5:" width="20px" /><br> woman_and_man_holding_hands_tone5_tone1 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.png" title=":woman_and_man_holding_hands_tone5_tone1:" width="20px" /><br> woman_and_man_holding_hands_tone5_tone2 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.png" title=":woman_and_man_holding_hands_tone5_tone2:" width="20px" /><br> woman_and_man_holding_hands_tone5_tone3 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.png" title=":woman_and_man_holding_hands_tone5_tone3:" width="20px" /><br> woman_and_man_holding_hands_tone5_tone4 <img align="absmiddle" alt=":woman_and_man_holding_hands_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.png" title=":woman_and_man_holding_hands_tone5_tone4:" width="20px" /><br> woman_artist <img align="absmiddle" alt=":woman_artist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f3a8.png" title=":woman_artist:" width="20px" /><br> woman_artist_tone1 <img align="absmiddle" alt=":woman_artist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f3a8.png" title=":woman_artist_tone1:" width="20px" /><br> woman_artist_tone2 <img align="absmiddle" alt=":woman_artist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f3a8.png" title=":woman_artist_tone2:" width="20px" /><br> woman_artist_tone3 <img align="absmiddle" alt=":woman_artist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f3a8.png" title=":woman_artist_tone3:" width="20px" /><br> woman_artist_tone4 <img align="absmiddle" alt=":woman_artist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f3a8.png" title=":woman_artist_tone4:" width="20px" /><br> woman_artist_tone5 <img align="absmiddle" alt=":woman_artist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f3a8.png" title=":woman_artist_tone5:" width="20px" /><br> woman_astronaut <img align="absmiddle" alt=":woman_astronaut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f680.png" title=":woman_astronaut:" width="20px" /><br> woman_astronaut_tone1 <img align="absmiddle" alt=":woman_astronaut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f680.png" title=":woman_astronaut_tone1:" width="20px" /><br> woman_astronaut_tone2 <img align="absmiddle" alt=":woman_astronaut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f680.png" title=":woman_astronaut_tone2:" width="20px" /><br> woman_astronaut_tone3 <img align="absmiddle" alt=":woman_astronaut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f680.png" title=":woman_astronaut_tone3:" width="20px" /><br> woman_astronaut_tone4 <img align="absmiddle" alt=":woman_astronaut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f680.png" title=":woman_astronaut_tone4:" width="20px" /><br> woman_astronaut_tone5 <img align="absmiddle" alt=":woman_astronaut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f680.png" title=":woman_astronaut_tone5:" width="20px" /><br> woman_bald <img align="absmiddle" alt=":woman_bald:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9b2.png" title=":woman_bald:" width="20px" /><br> woman_bald_tone1 <img align="absmiddle" alt=":woman_bald_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9b2.png" title=":woman_bald_tone1:" width="20px" /><br> woman_bald_tone2 <img align="absmiddle" alt=":woman_bald_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9b2.png" title=":woman_bald_tone2:" width="20px" /><br> woman_bald_tone3 <img align="absmiddle" alt=":woman_bald_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9b2.png" title=":woman_bald_tone3:" width="20px" /><br> woman_bald_tone4 <img align="absmiddle" alt=":woman_bald_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9b2.png" title=":woman_bald_tone4:" width="20px" /><br> woman_bald_tone5 <img align="absmiddle" alt=":woman_bald_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9b2.png" title=":woman_bald_tone5:" width="20px" /><br> woman_beard <img align="absmiddle" alt=":woman_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-200d-2640-fe0f.png" title=":woman_beard:" width="20px" /><br> woman_biking <img align="absmiddle" alt=":woman_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-200d-2640-fe0f.png" title=":woman_biking:" width="20px" /><br> woman_biking_tone1 <img align="absmiddle" alt=":woman_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fb-200d-2640-fe0f.png" title=":woman_biking_tone1:" width="20px" /><br> woman_biking_tone2 <img align="absmiddle" alt=":woman_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fc-200d-2640-fe0f.png" title=":woman_biking_tone2:" width="20px" /><br> woman_biking_tone3 <img align="absmiddle" alt=":woman_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fd-200d-2640-fe0f.png" title=":woman_biking_tone3:" width="20px" /><br> woman_biking_tone4 <img align="absmiddle" alt=":woman_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3fe-200d-2640-fe0f.png" title=":woman_biking_tone4:" width="20px" /><br> woman_biking_tone5 <img align="absmiddle" alt=":woman_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b4-1f3ff-200d-2640-fe0f.png" title=":woman_biking_tone5:" width="20px" /><br> woman_bouncing_ball <img align="absmiddle" alt=":woman_bouncing_ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-fe0f-200d-2640-fe0f.png" title=":woman_bouncing_ball:" width="20px" /><br> woman_bouncing_ball_tone1 <img align="absmiddle" alt=":woman_bouncing_ball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fb-200d-2640-fe0f.png" title=":woman_bouncing_ball_tone1:" width="20px" /><br> woman_bouncing_ball_tone2 <img align="absmiddle" alt=":woman_bouncing_ball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fc-200d-2640-fe0f.png" title=":woman_bouncing_ball_tone2:" width="20px" /><br> woman_bouncing_ball_tone3 <img align="absmiddle" alt=":woman_bouncing_ball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fd-200d-2640-fe0f.png" title=":woman_bouncing_ball_tone3:" width="20px" /><br> woman_bouncing_ball_tone4 <img align="absmiddle" alt=":woman_bouncing_ball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3fe-200d-2640-fe0f.png" title=":woman_bouncing_ball_tone4:" width="20px" /><br> woman_bouncing_ball_tone5 <img align="absmiddle" alt=":woman_bouncing_ball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26f9-1f3ff-200d-2640-fe0f.png" title=":woman_bouncing_ball_tone5:" width="20px" /><br> woman_bowing <img align="absmiddle" alt=":woman_bowing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-200d-2640-fe0f.png" title=":woman_bowing:" width="20px" /><br> woman_bowing_tone1 <img align="absmiddle" alt=":woman_bowing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fb-200d-2640-fe0f.png" title=":woman_bowing_tone1:" width="20px" /><br> woman_bowing_tone2 <img align="absmiddle" alt=":woman_bowing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fc-200d-2640-fe0f.png" title=":woman_bowing_tone2:" width="20px" /><br> woman_bowing_tone3 <img align="absmiddle" alt=":woman_bowing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fd-200d-2640-fe0f.png" title=":woman_bowing_tone3:" width="20px" /><br> woman_bowing_tone4 <img align="absmiddle" alt=":woman_bowing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3fe-200d-2640-fe0f.png" title=":woman_bowing_tone4:" width="20px" /><br> woman_bowing_tone5 <img align="absmiddle" alt=":woman_bowing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f647-1f3ff-200d-2640-fe0f.png" title=":woman_bowing_tone5:" width="20px" /><br> woman_cartwheeling <img align="absmiddle" alt=":woman_cartwheeling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-200d-2640-fe0f.png" title=":woman_cartwheeling:" width="20px" /><br> woman_cartwheeling_tone1 <img align="absmiddle" alt=":woman_cartwheeling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fb-200d-2640-fe0f.png" title=":woman_cartwheeling_tone1:" width="20px" /><br> woman_cartwheeling_tone2 <img align="absmiddle" alt=":woman_cartwheeling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fc-200d-2640-fe0f.png" title=":woman_cartwheeling_tone2:" width="20px" /><br> woman_cartwheeling_tone3 <img align="absmiddle" alt=":woman_cartwheeling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fd-200d-2640-fe0f.png" title=":woman_cartwheeling_tone3:" width="20px" /><br> woman_cartwheeling_tone4 <img align="absmiddle" alt=":woman_cartwheeling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3fe-200d-2640-fe0f.png" title=":woman_cartwheeling_tone4:" width="20px" /><br> woman_cartwheeling_tone5 <img align="absmiddle" alt=":woman_cartwheeling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f938-1f3ff-200d-2640-fe0f.png" title=":woman_cartwheeling_tone5:" width="20px" /><br> woman_climbing <img align="absmiddle" alt=":woman_climbing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-200d-2640-fe0f.png" title=":woman_climbing:" width="20px" /><br> woman_climbing_tone1 <img align="absmiddle" alt=":woman_climbing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fb-200d-2640-fe0f.png" title=":woman_climbing_tone1:" width="20px" /><br> woman_climbing_tone2 <img align="absmiddle" alt=":woman_climbing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fc-200d-2640-fe0f.png" title=":woman_climbing_tone2:" width="20px" /><br> woman_climbing_tone3 <img align="absmiddle" alt=":woman_climbing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fd-200d-2640-fe0f.png" title=":woman_climbing_tone3:" width="20px" /><br> woman_climbing_tone4 <img align="absmiddle" alt=":woman_climbing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3fe-200d-2640-fe0f.png" title=":woman_climbing_tone4:" width="20px" /><br> woman_climbing_tone5 <img align="absmiddle" alt=":woman_climbing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d7-1f3ff-200d-2640-fe0f.png" title=":woman_climbing_tone5:" width="20px" /><br> woman_construction_worker <img align="absmiddle" alt=":woman_construction_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-200d-2640-fe0f.png" title=":woman_construction_worker:" width="20px" /><br> woman_construction_worker_tone1 <img align="absmiddle" alt=":woman_construction_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fb-200d-2640-fe0f.png" title=":woman_construction_worker_tone1:" width="20px" /><br> woman_construction_worker_tone2 <img align="absmiddle" alt=":woman_construction_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fc-200d-2640-fe0f.png" title=":woman_construction_worker_tone2:" width="20px" /><br> woman_construction_worker_tone3 <img align="absmiddle" alt=":woman_construction_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fd-200d-2640-fe0f.png" title=":woman_construction_worker_tone3:" width="20px" /><br> woman_construction_worker_tone4 <img align="absmiddle" alt=":woman_construction_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3fe-200d-2640-fe0f.png" title=":woman_construction_worker_tone4:" width="20px" /><br> woman_construction_worker_tone5 <img align="absmiddle" alt=":woman_construction_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f477-1f3ff-200d-2640-fe0f.png" title=":woman_construction_worker_tone5:" width="20px" /><br> woman_cook <img align="absmiddle" alt=":woman_cook:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f373.png" title=":woman_cook:" width="20px" /><br> woman_cook_tone1 <img align="absmiddle" alt=":woman_cook_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f373.png" title=":woman_cook_tone1:" width="20px" /><br> woman_cook_tone2 <img align="absmiddle" alt=":woman_cook_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f373.png" title=":woman_cook_tone2:" width="20px" /><br> woman_cook_tone3 <img align="absmiddle" alt=":woman_cook_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f373.png" title=":woman_cook_tone3:" width="20px" /><br> woman_cook_tone4 <img align="absmiddle" alt=":woman_cook_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f373.png" title=":woman_cook_tone4:" width="20px" /><br> woman_cook_tone5 <img align="absmiddle" alt=":woman_cook_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f373.png" title=":woman_cook_tone5:" width="20px" /><br> woman_curly_haired <img align="absmiddle" alt=":woman_curly_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9b1.png" title=":woman_curly_haired:" width="20px" /><br> woman_curly_haired_tone1 <img align="absmiddle" alt=":woman_curly_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9b1.png" title=":woman_curly_haired_tone1:" width="20px" /><br> woman_curly_haired_tone2 <img align="absmiddle" alt=":woman_curly_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9b1.png" title=":woman_curly_haired_tone2:" width="20px" /><br> woman_curly_haired_tone3 <img align="absmiddle" alt=":woman_curly_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9b1.png" title=":woman_curly_haired_tone3:" width="20px" /><br> woman_curly_haired_tone4 <img align="absmiddle" alt=":woman_curly_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9b1.png" title=":woman_curly_haired_tone4:" width="20px" /><br> woman_curly_haired_tone5 <img align="absmiddle" alt=":woman_curly_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9b1.png" title=":woman_curly_haired_tone5:" width="20px" /><br> woman_detective <img align="absmiddle" alt=":woman_detective:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-fe0f-200d-2640-fe0f.png" title=":woman_detective:" width="20px" /><br> woman_detective_tone1 <img align="absmiddle" alt=":woman_detective_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fb-200d-2640-fe0f.png" title=":woman_detective_tone1:" width="20px" /><br> woman_detective_tone2 <img align="absmiddle" alt=":woman_detective_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fc-200d-2640-fe0f.png" title=":woman_detective_tone2:" width="20px" /><br> woman_detective_tone3 <img align="absmiddle" alt=":woman_detective_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fd-200d-2640-fe0f.png" title=":woman_detective_tone3:" width="20px" /><br> woman_detective_tone4 <img align="absmiddle" alt=":woman_detective_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3fe-200d-2640-fe0f.png" title=":woman_detective_tone4:" width="20px" /><br> woman_detective_tone5 <img align="absmiddle" alt=":woman_detective_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f575-1f3ff-200d-2640-fe0f.png" title=":woman_detective_tone5:" width="20px" /><br> woman_elf <img align="absmiddle" alt=":woman_elf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-200d-2640-fe0f.png" title=":woman_elf:" width="20px" /><br> woman_elf_tone1 <img align="absmiddle" alt=":woman_elf_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fb-200d-2640-fe0f.png" title=":woman_elf_tone1:" width="20px" /><br> woman_elf_tone2 <img align="absmiddle" alt=":woman_elf_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fc-200d-2640-fe0f.png" title=":woman_elf_tone2:" width="20px" /><br> woman_elf_tone3 <img align="absmiddle" alt=":woman_elf_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fd-200d-2640-fe0f.png" title=":woman_elf_tone3:" width="20px" /><br> woman_elf_tone4 <img align="absmiddle" alt=":woman_elf_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3fe-200d-2640-fe0f.png" title=":woman_elf_tone4:" width="20px" /><br> woman_elf_tone5 <img align="absmiddle" alt=":woman_elf_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9dd-1f3ff-200d-2640-fe0f.png" title=":woman_elf_tone5:" width="20px" /><br> woman_facepalming <img align="absmiddle" alt=":woman_facepalming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-200d-2640-fe0f.png" title=":woman_facepalming:" width="20px" /><br> woman_facepalming_tone1 <img align="absmiddle" alt=":woman_facepalming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fb-200d-2640-fe0f.png" title=":woman_facepalming_tone1:" width="20px" /><br> woman_facepalming_tone2 <img align="absmiddle" alt=":woman_facepalming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fc-200d-2640-fe0f.png" title=":woman_facepalming_tone2:" width="20px" /><br> woman_facepalming_tone3 <img align="absmiddle" alt=":woman_facepalming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fd-200d-2640-fe0f.png" title=":woman_facepalming_tone3:" width="20px" /><br> woman_facepalming_tone4 <img align="absmiddle" alt=":woman_facepalming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3fe-200d-2640-fe0f.png" title=":woman_facepalming_tone4:" width="20px" /><br> woman_facepalming_tone5 <img align="absmiddle" alt=":woman_facepalming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f926-1f3ff-200d-2640-fe0f.png" title=":woman_facepalming_tone5:" width="20px" /><br> woman_factory_worker <img align="absmiddle" alt=":woman_factory_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f3ed.png" title=":woman_factory_worker:" width="20px" /><br> woman_factory_worker_tone1 <img align="absmiddle" alt=":woman_factory_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f3ed.png" title=":woman_factory_worker_tone1:" width="20px" /><br> woman_factory_worker_tone2 <img align="absmiddle" alt=":woman_factory_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f3ed.png" title=":woman_factory_worker_tone2:" width="20px" /><br> woman_factory_worker_tone3 <img align="absmiddle" alt=":woman_factory_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f3ed.png" title=":woman_factory_worker_tone3:" width="20px" /><br> woman_factory_worker_tone4 <img align="absmiddle" alt=":woman_factory_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f3ed.png" title=":woman_factory_worker_tone4:" width="20px" /><br> woman_factory_worker_tone5 <img align="absmiddle" alt=":woman_factory_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f3ed.png" title=":woman_factory_worker_tone5:" width="20px" /><br> woman_fairy <img align="absmiddle" alt=":woman_fairy:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-200d-2640-fe0f.png" title=":woman_fairy:" width="20px" /><br> woman_fairy_tone1 <img align="absmiddle" alt=":woman_fairy_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fb-200d-2640-fe0f.png" title=":woman_fairy_tone1:" width="20px" /><br> woman_fairy_tone2 <img align="absmiddle" alt=":woman_fairy_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fc-200d-2640-fe0f.png" title=":woman_fairy_tone2:" width="20px" /><br> woman_fairy_tone3 <img align="absmiddle" alt=":woman_fairy_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fd-200d-2640-fe0f.png" title=":woman_fairy_tone3:" width="20px" /><br> woman_fairy_tone4 <img align="absmiddle" alt=":woman_fairy_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3fe-200d-2640-fe0f.png" title=":woman_fairy_tone4:" width="20px" /><br> woman_fairy_tone5 <img align="absmiddle" alt=":woman_fairy_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9da-1f3ff-200d-2640-fe0f.png" title=":woman_fairy_tone5:" width="20px" /><br> woman_farmer <img align="absmiddle" alt=":woman_farmer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f33e.png" title=":woman_farmer:" width="20px" /><br> woman_farmer_tone1 <img align="absmiddle" alt=":woman_farmer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f33e.png" title=":woman_farmer_tone1:" width="20px" /><br> woman_farmer_tone2 <img align="absmiddle" alt=":woman_farmer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f33e.png" title=":woman_farmer_tone2:" width="20px" /><br> woman_farmer_tone3 <img align="absmiddle" alt=":woman_farmer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f33e.png" title=":woman_farmer_tone3:" width="20px" /><br> woman_farmer_tone4 <img align="absmiddle" alt=":woman_farmer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f33e.png" title=":woman_farmer_tone4:" width="20px" /><br> woman_farmer_tone5 <img align="absmiddle" alt=":woman_farmer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f33e.png" title=":woman_farmer_tone5:" width="20px" /><br> woman_feeding_baby <img align="absmiddle" alt=":woman_feeding_baby:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f37c.png" title=":woman_feeding_baby:" width="20px" /><br> woman_feeding_baby_tone1 <img align="absmiddle" alt=":woman_feeding_baby_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f37c.png" title=":woman_feeding_baby_tone1:" width="20px" /><br> woman_feeding_baby_tone2 <img align="absmiddle" alt=":woman_feeding_baby_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f37c.png" title=":woman_feeding_baby_tone2:" width="20px" /><br> woman_feeding_baby_tone3 <img align="absmiddle" alt=":woman_feeding_baby_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f37c.png" title=":woman_feeding_baby_tone3:" width="20px" /><br> woman_feeding_baby_tone4 <img align="absmiddle" alt=":woman_feeding_baby_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f37c.png" title=":woman_feeding_baby_tone4:" width="20px" /><br> woman_feeding_baby_tone5 <img align="absmiddle" alt=":woman_feeding_baby_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f37c.png" title=":woman_feeding_baby_tone5:" width="20px" /><br> woman_firefighter <img align="absmiddle" alt=":woman_firefighter:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f692.png" title=":woman_firefighter:" width="20px" /><br> woman_firefighter_tone1 <img align="absmiddle" alt=":woman_firefighter_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f692.png" title=":woman_firefighter_tone1:" width="20px" /><br> woman_firefighter_tone2 <img align="absmiddle" alt=":woman_firefighter_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f692.png" title=":woman_firefighter_tone2:" width="20px" /><br> woman_firefighter_tone3 <img align="absmiddle" alt=":woman_firefighter_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f692.png" title=":woman_firefighter_tone3:" width="20px" /><br> woman_firefighter_tone4 <img align="absmiddle" alt=":woman_firefighter_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f692.png" title=":woman_firefighter_tone4:" width="20px" /><br> woman_firefighter_tone5 <img align="absmiddle" alt=":woman_firefighter_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f692.png" title=":woman_firefighter_tone5:" width="20px" /><br> woman_frowning <img align="absmiddle" alt=":woman_frowning:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-200d-2640-fe0f.png" title=":woman_frowning:" width="20px" /><br> woman_frowning_tone1 <img align="absmiddle" alt=":woman_frowning_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fb-200d-2640-fe0f.png" title=":woman_frowning_tone1:" width="20px" /><br> woman_frowning_tone2 <img align="absmiddle" alt=":woman_frowning_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fc-200d-2640-fe0f.png" title=":woman_frowning_tone2:" width="20px" /><br> woman_frowning_tone3 <img align="absmiddle" alt=":woman_frowning_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fd-200d-2640-fe0f.png" title=":woman_frowning_tone3:" width="20px" /><br> woman_frowning_tone4 <img align="absmiddle" alt=":woman_frowning_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3fe-200d-2640-fe0f.png" title=":woman_frowning_tone4:" width="20px" /><br> woman_frowning_tone5 <img align="absmiddle" alt=":woman_frowning_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64d-1f3ff-200d-2640-fe0f.png" title=":woman_frowning_tone5:" width="20px" /><br> woman_genie <img align="absmiddle" alt=":woman_genie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9de-200d-2640-fe0f.png" title=":woman_genie:" width="20px" /><br> woman_gesturing_no <img align="absmiddle" alt=":woman_gesturing_no:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-200d-2640-fe0f.png" title=":woman_gesturing_no:" width="20px" /><br> woman_gesturing_no_tone1 <img align="absmiddle" alt=":woman_gesturing_no_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fb-200d-2640-fe0f.png" title=":woman_gesturing_no_tone1:" width="20px" /><br> woman_gesturing_no_tone2 <img align="absmiddle" alt=":woman_gesturing_no_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fc-200d-2640-fe0f.png" title=":woman_gesturing_no_tone2:" width="20px" /><br> woman_gesturing_no_tone3 <img align="absmiddle" alt=":woman_gesturing_no_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fd-200d-2640-fe0f.png" title=":woman_gesturing_no_tone3:" width="20px" /><br> woman_gesturing_no_tone4 <img align="absmiddle" alt=":woman_gesturing_no_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3fe-200d-2640-fe0f.png" title=":woman_gesturing_no_tone4:" width="20px" /><br> woman_gesturing_no_tone5 <img align="absmiddle" alt=":woman_gesturing_no_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f645-1f3ff-200d-2640-fe0f.png" title=":woman_gesturing_no_tone5:" width="20px" /><br> woman_gesturing_ok <img align="absmiddle" alt=":woman_gesturing_ok:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-200d-2640-fe0f.png" title=":woman_gesturing_ok:" width="20px" /><br> woman_gesturing_ok_tone1 <img align="absmiddle" alt=":woman_gesturing_ok_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fb-200d-2640-fe0f.png" title=":woman_gesturing_ok_tone1:" width="20px" /><br> woman_gesturing_ok_tone2 <img align="absmiddle" alt=":woman_gesturing_ok_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fc-200d-2640-fe0f.png" title=":woman_gesturing_ok_tone2:" width="20px" /><br> woman_gesturing_ok_tone3 <img align="absmiddle" alt=":woman_gesturing_ok_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fd-200d-2640-fe0f.png" title=":woman_gesturing_ok_tone3:" width="20px" /><br> woman_gesturing_ok_tone4 <img align="absmiddle" alt=":woman_gesturing_ok_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3fe-200d-2640-fe0f.png" title=":woman_gesturing_ok_tone4:" width="20px" /><br> woman_gesturing_ok_tone5 <img align="absmiddle" alt=":woman_gesturing_ok_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f646-1f3ff-200d-2640-fe0f.png" title=":woman_gesturing_ok_tone5:" width="20px" /><br> woman_getting_face_massage <img align="absmiddle" alt=":woman_getting_face_massage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-200d-2640-fe0f.png" title=":woman_getting_face_massage:" width="20px" /><br> woman_getting_face_massage_tone1 <img align="absmiddle" alt=":woman_getting_face_massage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fb-200d-2640-fe0f.png" title=":woman_getting_face_massage_tone1:" width="20px" /><br> woman_getting_face_massage_tone2 <img align="absmiddle" alt=":woman_getting_face_massage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fc-200d-2640-fe0f.png" title=":woman_getting_face_massage_tone2:" width="20px" /><br> woman_getting_face_massage_tone3 <img align="absmiddle" alt=":woman_getting_face_massage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fd-200d-2640-fe0f.png" title=":woman_getting_face_massage_tone3:" width="20px" /><br> woman_getting_face_massage_tone4 <img align="absmiddle" alt=":woman_getting_face_massage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3fe-200d-2640-fe0f.png" title=":woman_getting_face_massage_tone4:" width="20px" /><br> woman_getting_face_massage_tone5 <img align="absmiddle" alt=":woman_getting_face_massage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f486-1f3ff-200d-2640-fe0f.png" title=":woman_getting_face_massage_tone5:" width="20px" /><br> woman_getting_haircut <img align="absmiddle" alt=":woman_getting_haircut:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-200d-2640-fe0f.png" title=":woman_getting_haircut:" width="20px" /><br> woman_getting_haircut_tone1 <img align="absmiddle" alt=":woman_getting_haircut_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fb-200d-2640-fe0f.png" title=":woman_getting_haircut_tone1:" width="20px" /><br> woman_getting_haircut_tone2 <img align="absmiddle" alt=":woman_getting_haircut_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fc-200d-2640-fe0f.png" title=":woman_getting_haircut_tone2:" width="20px" /><br> woman_getting_haircut_tone3 <img align="absmiddle" alt=":woman_getting_haircut_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fd-200d-2640-fe0f.png" title=":woman_getting_haircut_tone3:" width="20px" /><br> woman_getting_haircut_tone4 <img align="absmiddle" alt=":woman_getting_haircut_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3fe-200d-2640-fe0f.png" title=":woman_getting_haircut_tone4:" width="20px" /><br> woman_getting_haircut_tone5 <img align="absmiddle" alt=":woman_getting_haircut_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f487-1f3ff-200d-2640-fe0f.png" title=":woman_getting_haircut_tone5:" width="20px" /><br> woman_golfing <img align="absmiddle" alt=":woman_golfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-fe0f-200d-2640-fe0f.png" title=":woman_golfing:" width="20px" /><br> woman_golfing_tone1 <img align="absmiddle" alt=":woman_golfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fb-200d-2640-fe0f.png" title=":woman_golfing_tone1:" width="20px" /><br> woman_golfing_tone2 <img align="absmiddle" alt=":woman_golfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fc-200d-2640-fe0f.png" title=":woman_golfing_tone2:" width="20px" /><br> woman_golfing_tone3 <img align="absmiddle" alt=":woman_golfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fd-200d-2640-fe0f.png" title=":woman_golfing_tone3:" width="20px" /><br> woman_golfing_tone4 <img align="absmiddle" alt=":woman_golfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3fe-200d-2640-fe0f.png" title=":woman_golfing_tone4:" width="20px" /><br> woman_golfing_tone5 <img align="absmiddle" alt=":woman_golfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cc-1f3ff-200d-2640-fe0f.png" title=":woman_golfing_tone5:" width="20px" /><br> woman_guard <img align="absmiddle" alt=":woman_guard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-200d-2640-fe0f.png" title=":woman_guard:" width="20px" /><br> woman_guard_tone1 <img align="absmiddle" alt=":woman_guard_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fb-200d-2640-fe0f.png" title=":woman_guard_tone1:" width="20px" /><br> woman_guard_tone2 <img align="absmiddle" alt=":woman_guard_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fc-200d-2640-fe0f.png" title=":woman_guard_tone2:" width="20px" /><br> woman_guard_tone3 <img align="absmiddle" alt=":woman_guard_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fd-200d-2640-fe0f.png" title=":woman_guard_tone3:" width="20px" /><br> woman_guard_tone4 <img align="absmiddle" alt=":woman_guard_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3fe-200d-2640-fe0f.png" title=":woman_guard_tone4:" width="20px" /><br> woman_guard_tone5 <img align="absmiddle" alt=":woman_guard_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f482-1f3ff-200d-2640-fe0f.png" title=":woman_guard_tone5:" width="20px" /><br> woman_health_worker <img align="absmiddle" alt=":woman_health_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2695-fe0f.png" title=":woman_health_worker:" width="20px" /><br> woman_health_worker_tone1 <img align="absmiddle" alt=":woman_health_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2695-fe0f.png" title=":woman_health_worker_tone1:" width="20px" /><br> woman_health_worker_tone2 <img align="absmiddle" alt=":woman_health_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2695-fe0f.png" title=":woman_health_worker_tone2:" width="20px" /><br> woman_health_worker_tone3 <img align="absmiddle" alt=":woman_health_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2695-fe0f.png" title=":woman_health_worker_tone3:" width="20px" /><br> woman_health_worker_tone4 <img align="absmiddle" alt=":woman_health_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2695-fe0f.png" title=":woman_health_worker_tone4:" width="20px" /><br> woman_health_worker_tone5 <img align="absmiddle" alt=":woman_health_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2695-fe0f.png" title=":woman_health_worker_tone5:" width="20px" /><br> woman_in_lotus_position <img align="absmiddle" alt=":woman_in_lotus_position:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-200d-2640-fe0f.png" title=":woman_in_lotus_position:" width="20px" /><br> woman_in_lotus_position_tone1 <img align="absmiddle" alt=":woman_in_lotus_position_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fb-200d-2640-fe0f.png" title=":woman_in_lotus_position_tone1:" width="20px" /><br> woman_in_lotus_position_tone2 <img align="absmiddle" alt=":woman_in_lotus_position_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fc-200d-2640-fe0f.png" title=":woman_in_lotus_position_tone2:" width="20px" /><br> woman_in_lotus_position_tone3 <img align="absmiddle" alt=":woman_in_lotus_position_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fd-200d-2640-fe0f.png" title=":woman_in_lotus_position_tone3:" width="20px" /><br> woman_in_lotus_position_tone4 <img align="absmiddle" alt=":woman_in_lotus_position_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3fe-200d-2640-fe0f.png" title=":woman_in_lotus_position_tone4:" width="20px" /><br> woman_in_lotus_position_tone5 <img align="absmiddle" alt=":woman_in_lotus_position_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d8-1f3ff-200d-2640-fe0f.png" title=":woman_in_lotus_position_tone5:" width="20px" /><br> woman_in_manual_wheelchair <img align="absmiddle" alt=":woman_in_manual_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9bd.png" title=":woman_in_manual_wheelchair:" width="20px" /><br> woman_in_manual_wheelchair_tone1 <img align="absmiddle" alt=":woman_in_manual_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9bd.png" title=":woman_in_manual_wheelchair_tone1:" width="20px" /><br> woman_in_manual_wheelchair_tone2 <img align="absmiddle" alt=":woman_in_manual_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9bd.png" title=":woman_in_manual_wheelchair_tone2:" width="20px" /><br> woman_in_manual_wheelchair_tone3 <img align="absmiddle" alt=":woman_in_manual_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9bd.png" title=":woman_in_manual_wheelchair_tone3:" width="20px" /><br> woman_in_manual_wheelchair_tone4 <img align="absmiddle" alt=":woman_in_manual_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9bd.png" title=":woman_in_manual_wheelchair_tone4:" width="20px" /><br> woman_in_manual_wheelchair_tone5 <img align="absmiddle" alt=":woman_in_manual_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9bd.png" title=":woman_in_manual_wheelchair_tone5:" width="20px" /><br> woman_in_motorized_wheelchair <img align="absmiddle" alt=":woman_in_motorized_wheelchair:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9bc.png" title=":woman_in_motorized_wheelchair:" width="20px" /><br> woman_in_motorized_wheelchair_tone1 <img align="absmiddle" alt=":woman_in_motorized_wheelchair_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9bc.png" title=":woman_in_motorized_wheelchair_tone1:" width="20px" /><br> woman_in_motorized_wheelchair_tone2 <img align="absmiddle" alt=":woman_in_motorized_wheelchair_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9bc.png" title=":woman_in_motorized_wheelchair_tone2:" width="20px" /><br> woman_in_motorized_wheelchair_tone3 <img align="absmiddle" alt=":woman_in_motorized_wheelchair_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9bc.png" title=":woman_in_motorized_wheelchair_tone3:" width="20px" /><br> woman_in_motorized_wheelchair_tone4 <img align="absmiddle" alt=":woman_in_motorized_wheelchair_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9bc.png" title=":woman_in_motorized_wheelchair_tone4:" width="20px" /><br> woman_in_motorized_wheelchair_tone5 <img align="absmiddle" alt=":woman_in_motorized_wheelchair_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9bc.png" title=":woman_in_motorized_wheelchair_tone5:" width="20px" /><br> woman_in_santa_hat <img align="absmiddle" alt=":woman_in_santa_hat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f384.png" title=":woman_in_santa_hat:" width="20px" /><br> woman_in_santa_hat_tone1 <img align="absmiddle" alt=":woman_in_santa_hat_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f384.png" title=":woman_in_santa_hat_tone1:" width="20px" /><br> woman_in_santa_hat_tone2 <img align="absmiddle" alt=":woman_in_santa_hat_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f468-1f3ff-200d-1f384.png" title=":woman_in_santa_hat_tone2:" width="20px" /><br> woman_in_santa_hat_tone3 <img align="absmiddle" alt=":woman_in_santa_hat_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f384.png" title=":woman_in_santa_hat_tone3:" width="20px" /><br> woman_in_santa_hat_tone4 <img align="absmiddle" alt=":woman_in_santa_hat_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f384.png" title=":woman_in_santa_hat_tone4:" width="20px" /><br> woman_in_santa_hat_tone5 <img align="absmiddle" alt=":woman_in_santa_hat_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f384.png" title=":woman_in_santa_hat_tone5:" width="20px" /><br> woman_in_steamy_room <img align="absmiddle" alt=":woman_in_steamy_room:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-200d-2640-fe0f.png" title=":woman_in_steamy_room:" width="20px" /><br> woman_in_steamy_room_tone1 <img align="absmiddle" alt=":woman_in_steamy_room_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fb-200d-2640-fe0f.png" title=":woman_in_steamy_room_tone1:" width="20px" /><br> woman_in_steamy_room_tone2 <img align="absmiddle" alt=":woman_in_steamy_room_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fc-200d-2640-fe0f.png" title=":woman_in_steamy_room_tone2:" width="20px" /><br> woman_in_steamy_room_tone3 <img align="absmiddle" alt=":woman_in_steamy_room_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fd-200d-2640-fe0f.png" title=":woman_in_steamy_room_tone3:" width="20px" /><br> woman_in_steamy_room_tone4 <img align="absmiddle" alt=":woman_in_steamy_room_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3fe-200d-2640-fe0f.png" title=":woman_in_steamy_room_tone4:" width="20px" /><br> woman_in_steamy_room_tone5 <img align="absmiddle" alt=":woman_in_steamy_room_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d6-1f3ff-200d-2640-fe0f.png" title=":woman_in_steamy_room_tone5:" width="20px" /><br> woman_in_tuxedo <img align="absmiddle" alt=":woman_in_tuxedo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-200d-2640-fe0f.png" title=":woman_in_tuxedo:" width="20px" /><br> woman_in_tuxedo_tone1 <img align="absmiddle" alt=":woman_in_tuxedo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fb-200d-2640-fe0f.png" title=":woman_in_tuxedo_tone1:" width="20px" /><br> woman_in_tuxedo_tone2 <img align="absmiddle" alt=":woman_in_tuxedo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fc-200d-2640-fe0f.png" title=":woman_in_tuxedo_tone2:" width="20px" /><br> woman_in_tuxedo_tone3 <img align="absmiddle" alt=":woman_in_tuxedo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fd-200d-2640-fe0f.png" title=":woman_in_tuxedo_tone3:" width="20px" /><br> woman_in_tuxedo_tone4 <img align="absmiddle" alt=":woman_in_tuxedo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3fe-200d-2640-fe0f.png" title=":woman_in_tuxedo_tone4:" width="20px" /><br> woman_in_tuxedo_tone5 <img align="absmiddle" alt=":woman_in_tuxedo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f935-1f3ff-200d-2640-fe0f.png" title=":woman_in_tuxedo_tone5:" width="20px" /><br> woman_judge <img align="absmiddle" alt=":woman_judge:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2696-fe0f.png" title=":woman_judge:" width="20px" /><br> woman_judge_tone1 <img align="absmiddle" alt=":woman_judge_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2696-fe0f.png" title=":woman_judge_tone1:" width="20px" /><br> woman_judge_tone2 <img align="absmiddle" alt=":woman_judge_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2696-fe0f.png" title=":woman_judge_tone2:" width="20px" /><br> woman_judge_tone3 <img align="absmiddle" alt=":woman_judge_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2696-fe0f.png" title=":woman_judge_tone3:" width="20px" /><br> woman_judge_tone4 <img align="absmiddle" alt=":woman_judge_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2696-fe0f.png" title=":woman_judge_tone4:" width="20px" /><br> woman_judge_tone5 <img align="absmiddle" alt=":woman_judge_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2696-fe0f.png" title=":woman_judge_tone5:" width="20px" /><br> woman_juggling <img align="absmiddle" alt=":woman_juggling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-200d-2640-fe0f.png" title=":woman_juggling:" width="20px" /><br> woman_juggling_tone1 <img align="absmiddle" alt=":woman_juggling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fb-200d-2640-fe0f.png" title=":woman_juggling_tone1:" width="20px" /><br> woman_juggling_tone2 <img align="absmiddle" alt=":woman_juggling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fc-200d-2640-fe0f.png" title=":woman_juggling_tone2:" width="20px" /><br> woman_juggling_tone3 <img align="absmiddle" alt=":woman_juggling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fd-200d-2640-fe0f.png" title=":woman_juggling_tone3:" width="20px" /><br> woman_juggling_tone4 <img align="absmiddle" alt=":woman_juggling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3fe-200d-2640-fe0f.png" title=":woman_juggling_tone4:" width="20px" /><br> woman_juggling_tone5 <img align="absmiddle" alt=":woman_juggling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f939-1f3ff-200d-2640-fe0f.png" title=":woman_juggling_tone5:" width="20px" /><br> woman_kneeling <img align="absmiddle" alt=":woman_kneeling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-200d-2640-fe0f.png" title=":woman_kneeling:" width="20px" /><br> woman_kneeling_tone1 <img align="absmiddle" alt=":woman_kneeling_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fb-200d-2640-fe0f.png" title=":woman_kneeling_tone1:" width="20px" /><br> woman_kneeling_tone2 <img align="absmiddle" alt=":woman_kneeling_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fc-200d-2640-fe0f.png" title=":woman_kneeling_tone2:" width="20px" /><br> woman_kneeling_tone3 <img align="absmiddle" alt=":woman_kneeling_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fd-200d-2640-fe0f.png" title=":woman_kneeling_tone3:" width="20px" /><br> woman_kneeling_tone4 <img align="absmiddle" alt=":woman_kneeling_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3fe-200d-2640-fe0f.png" title=":woman_kneeling_tone4:" width="20px" /><br> woman_kneeling_tone5 <img align="absmiddle" alt=":woman_kneeling_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9ce-1f3ff-200d-2640-fe0f.png" title=":woman_kneeling_tone5:" width="20px" /><br> woman_leviate_tone2 <img align="absmiddle" alt=":woman_leviate_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fc-200d-2640-fe0f.png" title=":woman_leviate_tone2:" width="20px" /><br> woman_leviate_tone3 <img align="absmiddle" alt=":woman_leviate_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fd-200d-2640-fe0f.png" title=":woman_leviate_tone3:" width="20px" /><br> woman_leviate_tone4 <img align="absmiddle" alt=":woman_leviate_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fe-200d-2640-fe0f.png" title=":woman_leviate_tone4:" width="20px" /><br> woman_leviate_tone5 <img align="absmiddle" alt=":woman_leviate_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3ff-200d-2640-fe0f.png" title=":woman_leviate_tone5:" width="20px" /><br> woman_levitate <img align="absmiddle" alt=":woman_levitate:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-fe0f-200d-2640-fe0f.png" title=":woman_levitate:" width="20px" /><br> woman_levitate_tone1 <img align="absmiddle" alt=":woman_levitate_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f574-1f3fb-200d-2640-fe0f.png" title=":woman_levitate_tone1:" width="20px" /><br> woman_lifting_weights <img align="absmiddle" alt=":woman_lifting_weights:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-fe0f-200d-2640-fe0f.png" title=":woman_lifting_weights:" width="20px" /><br> woman_lifting_weights_tone1 <img align="absmiddle" alt=":woman_lifting_weights_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fb-200d-2640-fe0f.png" title=":woman_lifting_weights_tone1:" width="20px" /><br> woman_lifting_weights_tone2 <img align="absmiddle" alt=":woman_lifting_weights_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fc-200d-2640-fe0f.png" title=":woman_lifting_weights_tone2:" width="20px" /><br> woman_lifting_weights_tone3 <img align="absmiddle" alt=":woman_lifting_weights_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fd-200d-2640-fe0f.png" title=":woman_lifting_weights_tone3:" width="20px" /><br> woman_lifting_weights_tone4 <img align="absmiddle" alt=":woman_lifting_weights_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3fe-200d-2640-fe0f.png" title=":woman_lifting_weights_tone4:" width="20px" /><br> woman_lifting_weights_tone5 <img align="absmiddle" alt=":woman_lifting_weights_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3cb-1f3ff-200d-2640-fe0f.png" title=":woman_lifting_weights_tone5:" width="20px" /><br> woman_mage <img align="absmiddle" alt=":woman_mage:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-200d-2640-fe0f.png" title=":woman_mage:" width="20px" /><br> woman_mage_tone1 <img align="absmiddle" alt=":woman_mage_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fb-200d-2640-fe0f.png" title=":woman_mage_tone1:" width="20px" /><br> woman_mage_tone2 <img align="absmiddle" alt=":woman_mage_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fc-200d-2640-fe0f.png" title=":woman_mage_tone2:" width="20px" /><br> woman_mage_tone3 <img align="absmiddle" alt=":woman_mage_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fd-200d-2640-fe0f.png" title=":woman_mage_tone3:" width="20px" /><br> woman_mage_tone4 <img align="absmiddle" alt=":woman_mage_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3fe-200d-2640-fe0f.png" title=":woman_mage_tone4:" width="20px" /><br> woman_mage_tone5 <img align="absmiddle" alt=":woman_mage_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d9-1f3ff-200d-2640-fe0f.png" title=":woman_mage_tone5:" width="20px" /><br> woman_mechanic <img align="absmiddle" alt=":woman_mechanic:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f527.png" title=":woman_mechanic:" width="20px" /><br> woman_mechanic_tone1 <img align="absmiddle" alt=":woman_mechanic_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f527.png" title=":woman_mechanic_tone1:" width="20px" /><br> woman_mechanic_tone2 <img align="absmiddle" alt=":woman_mechanic_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f527.png" title=":woman_mechanic_tone2:" width="20px" /><br> woman_mechanic_tone3 <img align="absmiddle" alt=":woman_mechanic_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f527.png" title=":woman_mechanic_tone3:" width="20px" /><br> woman_mechanic_tone4 <img align="absmiddle" alt=":woman_mechanic_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f527.png" title=":woman_mechanic_tone4:" width="20px" /><br> woman_mechanic_tone5 <img align="absmiddle" alt=":woman_mechanic_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f527.png" title=":woman_mechanic_tone5:" width="20px" /><br> woman_mountain_biking <img align="absmiddle" alt=":woman_mountain_biking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-200d-2640-fe0f.png" title=":woman_mountain_biking:" width="20px" /><br> woman_mountain_biking_tone1 <img align="absmiddle" alt=":woman_mountain_biking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fb-200d-2640-fe0f.png" title=":woman_mountain_biking_tone1:" width="20px" /><br> woman_mountain_biking_tone2 <img align="absmiddle" alt=":woman_mountain_biking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fc-200d-2640-fe0f.png" title=":woman_mountain_biking_tone2:" width="20px" /><br> woman_mountain_biking_tone3 <img align="absmiddle" alt=":woman_mountain_biking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fd-200d-2640-fe0f.png" title=":woman_mountain_biking_tone3:" width="20px" /><br> woman_mountain_biking_tone4 <img align="absmiddle" alt=":woman_mountain_biking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3fe-200d-2640-fe0f.png" title=":woman_mountain_biking_tone4:" width="20px" /><br> woman_mountain_biking_tone5 <img align="absmiddle" alt=":woman_mountain_biking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b5-1f3ff-200d-2640-fe0f.png" title=":woman_mountain_biking_tone5:" width="20px" /><br> woman_office_worker <img align="absmiddle" alt=":woman_office_worker:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f4bc.png" title=":woman_office_worker:" width="20px" /><br> woman_office_worker_tone1 <img align="absmiddle" alt=":woman_office_worker_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f4bc.png" title=":woman_office_worker_tone1:" width="20px" /><br> woman_office_worker_tone2 <img align="absmiddle" alt=":woman_office_worker_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f4bc.png" title=":woman_office_worker_tone2:" width="20px" /><br> woman_office_worker_tone3 <img align="absmiddle" alt=":woman_office_worker_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f4bc.png" title=":woman_office_worker_tone3:" width="20px" /><br> woman_office_worker_tone4 <img align="absmiddle" alt=":woman_office_worker_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f4bc.png" title=":woman_office_worker_tone4:" width="20px" /><br> woman_office_worker_tone5 <img align="absmiddle" alt=":woman_office_worker_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f4bc.png" title=":woman_office_worker_tone5:" width="20px" /><br> woman_pilot <img align="absmiddle" alt=":woman_pilot:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-2708-fe0f.png" title=":woman_pilot:" width="20px" /><br> woman_pilot_tone1 <img align="absmiddle" alt=":woman_pilot_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-2708-fe0f.png" title=":woman_pilot_tone1:" width="20px" /><br> woman_pilot_tone2 <img align="absmiddle" alt=":woman_pilot_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-2708-fe0f.png" title=":woman_pilot_tone2:" width="20px" /><br> woman_pilot_tone3 <img align="absmiddle" alt=":woman_pilot_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-2708-fe0f.png" title=":woman_pilot_tone3:" width="20px" /><br> woman_pilot_tone4 <img align="absmiddle" alt=":woman_pilot_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-2708-fe0f.png" title=":woman_pilot_tone4:" width="20px" /><br> woman_pilot_tone5 <img align="absmiddle" alt=":woman_pilot_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-2708-fe0f.png" title=":woman_pilot_tone5:" width="20px" /><br> woman_playing_handball <img align="absmiddle" alt=":woman_playing_handball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-200d-2640-fe0f.png" title=":woman_playing_handball:" width="20px" /><br> woman_playing_handball_tone1 <img align="absmiddle" alt=":woman_playing_handball_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fb-200d-2640-fe0f.png" title=":woman_playing_handball_tone1:" width="20px" /><br> woman_playing_handball_tone2 <img align="absmiddle" alt=":woman_playing_handball_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fc-200d-2640-fe0f.png" title=":woman_playing_handball_tone2:" width="20px" /><br> woman_playing_handball_tone3 <img align="absmiddle" alt=":woman_playing_handball_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fd-200d-2640-fe0f.png" title=":woman_playing_handball_tone3:" width="20px" /><br> woman_playing_handball_tone4 <img align="absmiddle" alt=":woman_playing_handball_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3fe-200d-2640-fe0f.png" title=":woman_playing_handball_tone4:" width="20px" /><br> woman_playing_handball_tone5 <img align="absmiddle" alt=":woman_playing_handball_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93e-1f3ff-200d-2640-fe0f.png" title=":woman_playing_handball_tone5:" width="20px" /><br> woman_playing_water_polo <img align="absmiddle" alt=":woman_playing_water_polo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-200d-2640-fe0f.png" title=":woman_playing_water_polo:" width="20px" /><br> woman_playing_water_polo_tone1 <img align="absmiddle" alt=":woman_playing_water_polo_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fb-200d-2640-fe0f.png" title=":woman_playing_water_polo_tone1:" width="20px" /><br> woman_playing_water_polo_tone2 <img align="absmiddle" alt=":woman_playing_water_polo_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fc-200d-2640-fe0f.png" title=":woman_playing_water_polo_tone2:" width="20px" /><br> woman_playing_water_polo_tone3 <img align="absmiddle" alt=":woman_playing_water_polo_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fd-200d-2640-fe0f.png" title=":woman_playing_water_polo_tone3:" width="20px" /><br> woman_playing_water_polo_tone4 <img align="absmiddle" alt=":woman_playing_water_polo_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3fe-200d-2640-fe0f.png" title=":woman_playing_water_polo_tone4:" width="20px" /><br> woman_playing_water_polo_tone5 <img align="absmiddle" alt=":woman_playing_water_polo_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93d-1f3ff-200d-2640-fe0f.png" title=":woman_playing_water_polo_tone5:" width="20px" /><br> woman_police_officer <img align="absmiddle" alt=":woman_police_officer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-200d-2640-fe0f.png" title=":woman_police_officer:" width="20px" /><br> woman_police_officer_tone1 <img align="absmiddle" alt=":woman_police_officer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fb-200d-2640-fe0f.png" title=":woman_police_officer_tone1:" width="20px" /><br> woman_police_officer_tone2 <img align="absmiddle" alt=":woman_police_officer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fc-200d-2640-fe0f.png" title=":woman_police_officer_tone2:" width="20px" /><br> woman_police_officer_tone3 <img align="absmiddle" alt=":woman_police_officer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fd-200d-2640-fe0f.png" title=":woman_police_officer_tone3:" width="20px" /><br> woman_police_officer_tone4 <img align="absmiddle" alt=":woman_police_officer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3fe-200d-2640-fe0f.png" title=":woman_police_officer_tone4:" width="20px" /><br> woman_police_officer_tone5 <img align="absmiddle" alt=":woman_police_officer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46e-1f3ff-200d-2640-fe0f.png" title=":woman_police_officer_tone5:" width="20px" /><br> woman_pouting <img align="absmiddle" alt=":woman_pouting:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-200d-2640-fe0f.png" title=":woman_pouting:" width="20px" /><br> woman_pouting_tone1 <img align="absmiddle" alt=":woman_pouting_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fb-200d-2640-fe0f.png" title=":woman_pouting_tone1:" width="20px" /><br> woman_pouting_tone2 <img align="absmiddle" alt=":woman_pouting_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fc-200d-2640-fe0f.png" title=":woman_pouting_tone2:" width="20px" /><br> woman_pouting_tone3 <img align="absmiddle" alt=":woman_pouting_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fd-200d-2640-fe0f.png" title=":woman_pouting_tone3:" width="20px" /><br> woman_pouting_tone4 <img align="absmiddle" alt=":woman_pouting_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3fe-200d-2640-fe0f.png" title=":woman_pouting_tone4:" width="20px" /><br> woman_pouting_tone5 <img align="absmiddle" alt=":woman_pouting_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64e-1f3ff-200d-2640-fe0f.png" title=":woman_pouting_tone5:" width="20px" /><br> woman_raising_hand <img align="absmiddle" alt=":woman_raising_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-200d-2640-fe0f.png" title=":woman_raising_hand:" width="20px" /><br> woman_raising_hand_tone1 <img align="absmiddle" alt=":woman_raising_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fb-200d-2640-fe0f.png" title=":woman_raising_hand_tone1:" width="20px" /><br> woman_raising_hand_tone2 <img align="absmiddle" alt=":woman_raising_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fc-200d-2640-fe0f.png" title=":woman_raising_hand_tone2:" width="20px" /><br> woman_raising_hand_tone3 <img align="absmiddle" alt=":woman_raising_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fd-200d-2640-fe0f.png" title=":woman_raising_hand_tone3:" width="20px" /><br> woman_raising_hand_tone4 <img align="absmiddle" alt=":woman_raising_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3fe-200d-2640-fe0f.png" title=":woman_raising_hand_tone4:" width="20px" /><br> woman_raising_hand_tone5 <img align="absmiddle" alt=":woman_raising_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f64b-1f3ff-200d-2640-fe0f.png" title=":woman_raising_hand_tone5:" width="20px" /><br> woman_red_haired <img align="absmiddle" alt=":woman_red_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9b0.png" title=":woman_red_haired:" width="20px" /><br> woman_red_haired_tone1 <img align="absmiddle" alt=":woman_red_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9b0.png" title=":woman_red_haired_tone1:" width="20px" /><br> woman_red_haired_tone2 <img align="absmiddle" alt=":woman_red_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9b0.png" title=":woman_red_haired_tone2:" width="20px" /><br> woman_red_haired_tone3 <img align="absmiddle" alt=":woman_red_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9b0.png" title=":woman_red_haired_tone3:" width="20px" /><br> woman_red_haired_tone4 <img align="absmiddle" alt=":woman_red_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9b0.png" title=":woman_red_haired_tone4:" width="20px" /><br> woman_red_haired_tone5 <img align="absmiddle" alt=":woman_red_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9b0.png" title=":woman_red_haired_tone5:" width="20px" /><br> woman_rowing_boat <img align="absmiddle" alt=":woman_rowing_boat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-200d-2640-fe0f.png" title=":woman_rowing_boat:" width="20px" /><br> woman_rowing_boat_tone1 <img align="absmiddle" alt=":woman_rowing_boat_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fb-200d-2640-fe0f.png" title=":woman_rowing_boat_tone1:" width="20px" /><br> woman_rowing_boat_tone2 <img align="absmiddle" alt=":woman_rowing_boat_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fc-200d-2640-fe0f.png" title=":woman_rowing_boat_tone2:" width="20px" /><br> woman_rowing_boat_tone3 <img align="absmiddle" alt=":woman_rowing_boat_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fd-200d-2640-fe0f.png" title=":woman_rowing_boat_tone3:" width="20px" /><br> woman_rowing_boat_tone4 <img align="absmiddle" alt=":woman_rowing_boat_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3fe-200d-2640-fe0f.png" title=":woman_rowing_boat_tone4:" width="20px" /><br> woman_rowing_boat_tone5 <img align="absmiddle" alt=":woman_rowing_boat_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6a3-1f3ff-200d-2640-fe0f.png" title=":woman_rowing_boat_tone5:" width="20px" /><br> woman_running <img align="absmiddle" alt=":woman_running:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-200d-2640-fe0f.png" title=":woman_running:" width="20px" /><br> woman_running_tone1 <img align="absmiddle" alt=":woman_running_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fb-200d-2640-fe0f.png" title=":woman_running_tone1:" width="20px" /><br> woman_running_tone2 <img align="absmiddle" alt=":woman_running_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fc-200d-2640-fe0f.png" title=":woman_running_tone2:" width="20px" /><br> woman_running_tone3 <img align="absmiddle" alt=":woman_running_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fd-200d-2640-fe0f.png" title=":woman_running_tone3:" width="20px" /><br> woman_running_tone4 <img align="absmiddle" alt=":woman_running_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3fe-200d-2640-fe0f.png" title=":woman_running_tone4:" width="20px" /><br> woman_running_tone5 <img align="absmiddle" alt=":woman_running_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c3-1f3ff-200d-2640-fe0f.png" title=":woman_running_tone5:" width="20px" /><br> woman_scientist <img align="absmiddle" alt=":woman_scientist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f52c.png" title=":woman_scientist:" width="20px" /><br> woman_scientist_tone1 <img align="absmiddle" alt=":woman_scientist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f52c.png" title=":woman_scientist_tone1:" width="20px" /><br> woman_scientist_tone2 <img align="absmiddle" alt=":woman_scientist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f52c.png" title=":woman_scientist_tone2:" width="20px" /><br> woman_scientist_tone3 <img align="absmiddle" alt=":woman_scientist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f52c.png" title=":woman_scientist_tone3:" width="20px" /><br> woman_scientist_tone4 <img align="absmiddle" alt=":woman_scientist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f52c.png" title=":woman_scientist_tone4:" width="20px" /><br> woman_scientist_tone5 <img align="absmiddle" alt=":woman_scientist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f52c.png" title=":woman_scientist_tone5:" width="20px" /><br> woman_shrugging <img align="absmiddle" alt=":woman_shrugging:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-200d-2640-fe0f.png" title=":woman_shrugging:" width="20px" /><br> woman_shrugging_tone1 <img align="absmiddle" alt=":woman_shrugging_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fb-200d-2640-fe0f.png" title=":woman_shrugging_tone1:" width="20px" /><br> woman_shrugging_tone2 <img align="absmiddle" alt=":woman_shrugging_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fc-200d-2640-fe0f.png" title=":woman_shrugging_tone2:" width="20px" /><br> woman_shrugging_tone3 <img align="absmiddle" alt=":woman_shrugging_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fd-200d-2640-fe0f.png" title=":woman_shrugging_tone3:" width="20px" /><br> woman_shrugging_tone4 <img align="absmiddle" alt=":woman_shrugging_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3fe-200d-2640-fe0f.png" title=":woman_shrugging_tone4:" width="20px" /><br> woman_shrugging_tone5 <img align="absmiddle" alt=":woman_shrugging_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f937-1f3ff-200d-2640-fe0f.png" title=":woman_shrugging_tone5:" width="20px" /><br> woman_singer <img align="absmiddle" alt=":woman_singer:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f3a4.png" title=":woman_singer:" width="20px" /><br> woman_singer_tone1 <img align="absmiddle" alt=":woman_singer_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f3a4.png" title=":woman_singer_tone1:" width="20px" /><br> woman_singer_tone2 <img align="absmiddle" alt=":woman_singer_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f3a4.png" title=":woman_singer_tone2:" width="20px" /><br> woman_singer_tone3 <img align="absmiddle" alt=":woman_singer_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f3a4.png" title=":woman_singer_tone3:" width="20px" /><br> woman_singer_tone4 <img align="absmiddle" alt=":woman_singer_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f3a4.png" title=":woman_singer_tone4:" width="20px" /><br> woman_singer_tone5 <img align="absmiddle" alt=":woman_singer_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f3a4.png" title=":woman_singer_tone5:" width="20px" /><br> woman_standing <img align="absmiddle" alt=":woman_standing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-200d-2640-fe0f.png" title=":woman_standing:" width="20px" /><br> woman_standing_tone1 <img align="absmiddle" alt=":woman_standing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fb-200d-2640-fe0f.png" title=":woman_standing_tone1:" width="20px" /><br> woman_standing_tone2 <img align="absmiddle" alt=":woman_standing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fc-200d-2640-fe0f.png" title=":woman_standing_tone2:" width="20px" /><br> woman_standing_tone3 <img align="absmiddle" alt=":woman_standing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fd-200d-2640-fe0f.png" title=":woman_standing_tone3:" width="20px" /><br> woman_standing_tone4 <img align="absmiddle" alt=":woman_standing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3fe-200d-2640-fe0f.png" title=":woman_standing_tone4:" width="20px" /><br> woman_standing_tone5 <img align="absmiddle" alt=":woman_standing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9cd-1f3ff-200d-2640-fe0f.png" title=":woman_standing_tone5:" width="20px" /><br> woman_student <img align="absmiddle" alt=":woman_student:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f393.png" title=":woman_student:" width="20px" /><br> woman_student_tone1 <img align="absmiddle" alt=":woman_student_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f393.png" title=":woman_student_tone1:" width="20px" /><br> woman_student_tone2 <img align="absmiddle" alt=":woman_student_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f393.png" title=":woman_student_tone2:" width="20px" /><br> woman_student_tone3 <img align="absmiddle" alt=":woman_student_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f393.png" title=":woman_student_tone3:" width="20px" /><br> woman_student_tone4 <img align="absmiddle" alt=":woman_student_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f393.png" title=":woman_student_tone4:" width="20px" /><br> woman_student_tone5 <img align="absmiddle" alt=":woman_student_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f393.png" title=":woman_student_tone5:" width="20px" /><br> woman_superhero <img align="absmiddle" alt=":woman_superhero:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-200d-2640-fe0f.png" title=":woman_superhero:" width="20px" /><br> woman_superhero_tone1 <img align="absmiddle" alt=":woman_superhero_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fb-200d-2640-fe0f.png" title=":woman_superhero_tone1:" width="20px" /><br> woman_superhero_tone2 <img align="absmiddle" alt=":woman_superhero_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fc-200d-2640-fe0f.png" title=":woman_superhero_tone2:" width="20px" /><br> woman_superhero_tone3 <img align="absmiddle" alt=":woman_superhero_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fd-200d-2640-fe0f.png" title=":woman_superhero_tone3:" width="20px" /><br> woman_superhero_tone4 <img align="absmiddle" alt=":woman_superhero_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3fe-200d-2640-fe0f.png" title=":woman_superhero_tone4:" width="20px" /><br> woman_superhero_tone5 <img align="absmiddle" alt=":woman_superhero_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b8-1f3ff-200d-2640-fe0f.png" title=":woman_superhero_tone5:" width="20px" /><br> woman_supervillain <img align="absmiddle" alt=":woman_supervillain:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-200d-2640-fe0f.png" title=":woman_supervillain:" width="20px" /><br> woman_supervillain_tone1 <img align="absmiddle" alt=":woman_supervillain_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fb-200d-2640-fe0f.png" title=":woman_supervillain_tone1:" width="20px" /><br> woman_supervillain_tone2 <img align="absmiddle" alt=":woman_supervillain_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fc-200d-2640-fe0f.png" title=":woman_supervillain_tone2:" width="20px" /><br> woman_supervillain_tone3 <img align="absmiddle" alt=":woman_supervillain_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fd-200d-2640-fe0f.png" title=":woman_supervillain_tone3:" width="20px" /><br> woman_supervillain_tone4 <img align="absmiddle" alt=":woman_supervillain_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3fe-200d-2640-fe0f.png" title=":woman_supervillain_tone4:" width="20px" /><br> woman_supervillain_tone5 <img align="absmiddle" alt=":woman_supervillain_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9b9-1f3ff-200d-2640-fe0f.png" title=":woman_supervillain_tone5:" width="20px" /><br> woman_surfing <img align="absmiddle" alt=":woman_surfing:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-200d-2640-fe0f.png" title=":woman_surfing:" width="20px" /><br> woman_surfing_tone1 <img align="absmiddle" alt=":woman_surfing_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fb-200d-2640-fe0f.png" title=":woman_surfing_tone1:" width="20px" /><br> woman_surfing_tone2 <img align="absmiddle" alt=":woman_surfing_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fc-200d-2640-fe0f.png" title=":woman_surfing_tone2:" width="20px" /><br> woman_surfing_tone3 <img align="absmiddle" alt=":woman_surfing_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fd-200d-2640-fe0f.png" title=":woman_surfing_tone3:" width="20px" /><br> woman_surfing_tone4 <img align="absmiddle" alt=":woman_surfing_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3fe-200d-2640-fe0f.png" title=":woman_surfing_tone4:" width="20px" /><br> woman_surfing_tone5 <img align="absmiddle" alt=":woman_surfing_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3c4-1f3ff-200d-2640-fe0f.png" title=":woman_surfing_tone5:" width="20px" /><br> woman_swimming <img align="absmiddle" alt=":woman_swimming:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-200d-2640-fe0f.png" title=":woman_swimming:" width="20px" /><br> woman_swimming_tone1 <img align="absmiddle" alt=":woman_swimming_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fb-200d-2640-fe0f.png" title=":woman_swimming_tone1:" width="20px" /><br> woman_swimming_tone2 <img align="absmiddle" alt=":woman_swimming_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fc-200d-2640-fe0f.png" title=":woman_swimming_tone2:" width="20px" /><br> woman_swimming_tone3 <img align="absmiddle" alt=":woman_swimming_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fd-200d-2640-fe0f.png" title=":woman_swimming_tone3:" width="20px" /><br> woman_swimming_tone4 <img align="absmiddle" alt=":woman_swimming_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3fe-200d-2640-fe0f.png" title=":woman_swimming_tone4:" width="20px" /><br> woman_swimming_tone5 <img align="absmiddle" alt=":woman_swimming_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f3ca-1f3ff-200d-2640-fe0f.png" title=":woman_swimming_tone5:" width="20px" /><br> woman_teacher <img align="absmiddle" alt=":woman_teacher:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f3eb.png" title=":woman_teacher:" width="20px" /><br> woman_teacher_tone1 <img align="absmiddle" alt=":woman_teacher_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f3eb.png" title=":woman_teacher_tone1:" width="20px" /><br> woman_teacher_tone2 <img align="absmiddle" alt=":woman_teacher_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f3eb.png" title=":woman_teacher_tone2:" width="20px" /><br> woman_teacher_tone3 <img align="absmiddle" alt=":woman_teacher_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f3eb.png" title=":woman_teacher_tone3:" width="20px" /><br> woman_teacher_tone4 <img align="absmiddle" alt=":woman_teacher_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f3eb.png" title=":woman_teacher_tone4:" width="20px" /><br> woman_teacher_tone5 <img align="absmiddle" alt=":woman_teacher_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f3eb.png" title=":woman_teacher_tone5:" width="20px" /><br> woman_technologist <img align="absmiddle" alt=":woman_technologist:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f4bb.png" title=":woman_technologist:" width="20px" /><br> woman_technologist_tone1 <img align="absmiddle" alt=":woman_technologist_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f4bb.png" title=":woman_technologist_tone1:" width="20px" /><br> woman_technologist_tone2 <img align="absmiddle" alt=":woman_technologist_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f4bb.png" title=":woman_technologist_tone2:" width="20px" /><br> woman_technologist_tone3 <img align="absmiddle" alt=":woman_technologist_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f4bb.png" title=":woman_technologist_tone3:" width="20px" /><br> woman_technologist_tone4 <img align="absmiddle" alt=":woman_technologist_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f4bb.png" title=":woman_technologist_tone4:" width="20px" /><br> woman_technologist_tone5 <img align="absmiddle" alt=":woman_technologist_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f4bb.png" title=":woman_technologist_tone5:" width="20px" /><br> woman_tipping_hand <img align="absmiddle" alt=":woman_tipping_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-200d-2640-fe0f.png" title=":woman_tipping_hand:" width="20px" /><br> woman_tipping_hand_tone1 <img align="absmiddle" alt=":woman_tipping_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fb-200d-2640-fe0f.png" title=":woman_tipping_hand_tone1:" width="20px" /><br> woman_tipping_hand_tone2 <img align="absmiddle" alt=":woman_tipping_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fc-200d-2640-fe0f.png" title=":woman_tipping_hand_tone2:" width="20px" /><br> woman_tipping_hand_tone3 <img align="absmiddle" alt=":woman_tipping_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fd-200d-2640-fe0f.png" title=":woman_tipping_hand_tone3:" width="20px" /><br> woman_tipping_hand_tone4 <img align="absmiddle" alt=":woman_tipping_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3fe-200d-2640-fe0f.png" title=":woman_tipping_hand_tone4:" width="20px" /><br> woman_tipping_hand_tone5 <img align="absmiddle" alt=":woman_tipping_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f481-1f3ff-200d-2640-fe0f.png" title=":woman_tipping_hand_tone5:" width="20px" /><br> woman_tone1 <img align="absmiddle" alt=":woman_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb.png" title=":woman_tone1:" width="20px" /><br> woman_tone1_beard <img align="absmiddle" alt=":woman_tone1_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fb-200d-2640-fe0f.png" title=":woman_tone1_beard:" width="20px" /><br> woman_tone2 <img align="absmiddle" alt=":woman_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc.png" title=":woman_tone2:" width="20px" /><br> woman_tone2_beard <img align="absmiddle" alt=":woman_tone2_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fc-200d-2640-fe0f.png" title=":woman_tone2_beard:" width="20px" /><br> woman_tone3 <img align="absmiddle" alt=":woman_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd.png" title=":woman_tone3:" width="20px" /><br> woman_tone3_beard <img align="absmiddle" alt=":woman_tone3_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fd-200d-2640-fe0f.png" title=":woman_tone3_beard:" width="20px" /><br> woman_tone4 <img align="absmiddle" alt=":woman_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe.png" title=":woman_tone4:" width="20px" /><br> woman_tone4_beard <img align="absmiddle" alt=":woman_tone4_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3fe-200d-2640-fe0f.png" title=":woman_tone4_beard:" width="20px" /><br> woman_tone5 <img align="absmiddle" alt=":woman_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff.png" title=":woman_tone5:" width="20px" /><br> woman_tone5_beard <img align="absmiddle" alt=":woman_tone5_beard:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d4-1f3ff-200d-2640-fe0f.png" title=":woman_tone5_beard:" width="20px" /><br> woman_vampire <img align="absmiddle" alt=":woman_vampire:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-200d-2640-fe0f.png" title=":woman_vampire:" width="20px" /><br> woman_vampire_tone1 <img align="absmiddle" alt=":woman_vampire_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fb-200d-2640-fe0f.png" title=":woman_vampire_tone1:" width="20px" /><br> woman_vampire_tone2 <img align="absmiddle" alt=":woman_vampire_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fc-200d-2640-fe0f.png" title=":woman_vampire_tone2:" width="20px" /><br> woman_vampire_tone3 <img align="absmiddle" alt=":woman_vampire_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fd-200d-2640-fe0f.png" title=":woman_vampire_tone3:" width="20px" /><br> woman_vampire_tone4 <img align="absmiddle" alt=":woman_vampire_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3fe-200d-2640-fe0f.png" title=":woman_vampire_tone4:" width="20px" /><br> woman_vampire_tone5 <img align="absmiddle" alt=":woman_vampire_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9db-1f3ff-200d-2640-fe0f.png" title=":woman_vampire_tone5:" width="20px" /><br> woman_walking <img align="absmiddle" alt=":woman_walking:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-200d-2640-fe0f.png" title=":woman_walking:" width="20px" /><br> woman_walking_tone1 <img align="absmiddle" alt=":woman_walking_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fb-200d-2640-fe0f.png" title=":woman_walking_tone1:" width="20px" /><br> woman_walking_tone2 <img align="absmiddle" alt=":woman_walking_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fc-200d-2640-fe0f.png" title=":woman_walking_tone2:" width="20px" /><br> woman_walking_tone3 <img align="absmiddle" alt=":woman_walking_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fd-200d-2640-fe0f.png" title=":woman_walking_tone3:" width="20px" /><br> woman_walking_tone4 <img align="absmiddle" alt=":woman_walking_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3fe-200d-2640-fe0f.png" title=":woman_walking_tone4:" width="20px" /><br> woman_walking_tone5 <img align="absmiddle" alt=":woman_walking_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6b6-1f3ff-200d-2640-fe0f.png" title=":woman_walking_tone5:" width="20px" /><br> woman_wearing_turban <img align="absmiddle" alt=":woman_wearing_turban:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-200d-2640-fe0f.png" title=":woman_wearing_turban:" width="20px" /><br> woman_wearing_turban_tone1 <img align="absmiddle" alt=":woman_wearing_turban_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fb-200d-2640-fe0f.png" title=":woman_wearing_turban_tone1:" width="20px" /><br> woman_wearing_turban_tone2 <img align="absmiddle" alt=":woman_wearing_turban_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fc-200d-2640-fe0f.png" title=":woman_wearing_turban_tone2:" width="20px" /><br> woman_wearing_turban_tone3 <img align="absmiddle" alt=":woman_wearing_turban_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fd-200d-2640-fe0f.png" title=":woman_wearing_turban_tone3:" width="20px" /><br> woman_wearing_turban_tone4 <img align="absmiddle" alt=":woman_wearing_turban_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3fe-200d-2640-fe0f.png" title=":woman_wearing_turban_tone4:" width="20px" /><br> woman_wearing_turban_tone5 <img align="absmiddle" alt=":woman_wearing_turban_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f473-1f3ff-200d-2640-fe0f.png" title=":woman_wearing_turban_tone5:" width="20px" /><br> woman_white_haired <img align="absmiddle" alt=":woman_white_haired:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9b3.png" title=":woman_white_haired:" width="20px" /><br> woman_white_haired_tone1 <img align="absmiddle" alt=":woman_white_haired_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9b3.png" title=":woman_white_haired_tone1:" width="20px" /><br> woman_white_haired_tone2 <img align="absmiddle" alt=":woman_white_haired_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9b3.png" title=":woman_white_haired_tone2:" width="20px" /><br> woman_white_haired_tone3 <img align="absmiddle" alt=":woman_white_haired_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9b3.png" title=":woman_white_haired_tone3:" width="20px" /><br> woman_white_haired_tone4 <img align="absmiddle" alt=":woman_white_haired_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9b3.png" title=":woman_white_haired_tone4:" width="20px" /><br> woman_white_haired_tone5 <img align="absmiddle" alt=":woman_white_haired_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9b3.png" title=":woman_white_haired_tone5:" width="20px" /><br> woman_with_headscarf <img align="absmiddle" alt=":woman_with_headscarf:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5.png" title=":woman_with_headscarf:" width="20px" /><br> woman_with_headscarf_tone1 <img align="absmiddle" alt=":woman_with_headscarf_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5-1f3fb.png" title=":woman_with_headscarf_tone1:" width="20px" /><br> woman_with_headscarf_tone2 <img align="absmiddle" alt=":woman_with_headscarf_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5-1f3fc.png" title=":woman_with_headscarf_tone2:" width="20px" /><br> woman_with_headscarf_tone3 <img align="absmiddle" alt=":woman_with_headscarf_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5-1f3fd.png" title=":woman_with_headscarf_tone3:" width="20px" /><br> woman_with_headscarf_tone4 <img align="absmiddle" alt=":woman_with_headscarf_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5-1f3fe.png" title=":woman_with_headscarf_tone4:" width="20px" /><br> woman_with_headscarf_tone5 <img align="absmiddle" alt=":woman_with_headscarf_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9d5-1f3ff.png" title=":woman_with_headscarf_tone5:" width="20px" /><br> woman_with_probing_cane <img align="absmiddle" alt=":woman_with_probing_cane:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-200d-1f9af.png" title=":woman_with_probing_cane:" width="20px" /><br> woman_with_probing_cane_tone1 <img align="absmiddle" alt=":woman_with_probing_cane_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f9af.png" title=":woman_with_probing_cane_tone1:" width="20px" /><br> woman_with_probing_cane_tone2 <img align="absmiddle" alt=":woman_with_probing_cane_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f9af.png" title=":woman_with_probing_cane_tone2:" width="20px" /><br> woman_with_probing_cane_tone3 <img align="absmiddle" alt=":woman_with_probing_cane_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f9af.png" title=":woman_with_probing_cane_tone3:" width="20px" /><br> woman_with_probing_cane_tone4 <img align="absmiddle" alt=":woman_with_probing_cane_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f9af.png" title=":woman_with_probing_cane_tone4:" width="20px" /><br> woman_with_probing_cane_tone5 <img align="absmiddle" alt=":woman_with_probing_cane_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f9af.png" title=":woman_with_probing_cane_tone5:" width="20px" /><br> woman_with_veil <img align="absmiddle" alt=":woman_with_veil:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-200d-2640-fe0f.png" title=":woman_with_veil:" width="20px" /><br> woman_with_veil_tone1 <img align="absmiddle" alt=":woman_with_veil_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fb-200d-2640-fe0f.png" title=":woman_with_veil_tone1:" width="20px" /><br> woman_with_veil_tone2 <img align="absmiddle" alt=":woman_with_veil_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fc-200d-2640-fe0f.png" title=":woman_with_veil_tone2:" width="20px" /><br> woman_with_veil_tone3 <img align="absmiddle" alt=":woman_with_veil_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fd-200d-2640-fe0f.png" title=":woman_with_veil_tone3:" width="20px" /><br> woman_with_veil_tone4 <img align="absmiddle" alt=":woman_with_veil_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3fe-200d-2640-fe0f.png" title=":woman_with_veil_tone4:" width="20px" /><br> woman_with_veil_tone5 <img align="absmiddle" alt=":woman_with_veil_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f470-1f3ff-200d-2640-fe0f.png" title=":woman_with_veil_tone5:" width="20px" /><br> woman_zombie <img align="absmiddle" alt=":woman_zombie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9df-200d-2640-fe0f.png" title=":woman_zombie:" width="20px" /><br> womans_clothes <img align="absmiddle" alt=":womans_clothes:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f45a.png" title=":womans_clothes:" width="20px" /><br> womans_flat_shoe <img align="absmiddle" alt=":womans_flat_shoe:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f97f.png" title=":womans_flat_shoe:" width="20px" /><br> womans_hat <img align="absmiddle" alt=":womans_hat:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f452.png" title=":womans_hat:" width="20px" /><br> women_holding_hands_tone1 <img align="absmiddle" alt=":women_holding_hands_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d-1f3fb.png" title=":women_holding_hands_tone1:" width="20px" /><br> women_holding_hands_tone1_tone2 <img align="absmiddle" alt=":women_holding_hands_tone1_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.png" title=":women_holding_hands_tone1_tone2:" width="20px" /><br> women_holding_hands_tone1_tone3 <img align="absmiddle" alt=":women_holding_hands_tone1_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.png" title=":women_holding_hands_tone1_tone3:" width="20px" /><br> women_holding_hands_tone1_tone4 <img align="absmiddle" alt=":women_holding_hands_tone1_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.png" title=":women_holding_hands_tone1_tone4:" width="20px" /><br> women_holding_hands_tone1_tone5 <img align="absmiddle" alt=":women_holding_hands_tone1_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.png" title=":women_holding_hands_tone1_tone5:" width="20px" /><br> women_holding_hands_tone2 <img align="absmiddle" alt=":women_holding_hands_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d-1f3fc.png" title=":women_holding_hands_tone2:" width="20px" /><br> women_holding_hands_tone2_tone1 <img align="absmiddle" alt=":women_holding_hands_tone2_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.png" title=":women_holding_hands_tone2_tone1:" width="20px" /><br> women_holding_hands_tone2_tone3 <img align="absmiddle" alt=":women_holding_hands_tone2_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.png" title=":women_holding_hands_tone2_tone3:" width="20px" /><br> women_holding_hands_tone2_tone4 <img align="absmiddle" alt=":women_holding_hands_tone2_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.png" title=":women_holding_hands_tone2_tone4:" width="20px" /><br> women_holding_hands_tone2_tone5 <img align="absmiddle" alt=":women_holding_hands_tone2_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.png" title=":women_holding_hands_tone2_tone5:" width="20px" /><br> women_holding_hands_tone3 <img align="absmiddle" alt=":women_holding_hands_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d-1f3fd.png" title=":women_holding_hands_tone3:" width="20px" /><br> women_holding_hands_tone3_tone1 <img align="absmiddle" alt=":women_holding_hands_tone3_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.png" title=":women_holding_hands_tone3_tone1:" width="20px" /><br> women_holding_hands_tone3_tone2 <img align="absmiddle" alt=":women_holding_hands_tone3_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.png" title=":women_holding_hands_tone3_tone2:" width="20px" /><br> women_holding_hands_tone3_tone4 <img align="absmiddle" alt=":women_holding_hands_tone3_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.png" title=":women_holding_hands_tone3_tone4:" width="20px" /><br> women_holding_hands_tone3_tone5 <img align="absmiddle" alt=":women_holding_hands_tone3_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.png" title=":women_holding_hands_tone3_tone5:" width="20px" /><br> women_holding_hands_tone4 <img align="absmiddle" alt=":women_holding_hands_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d-1f3fe.png" title=":women_holding_hands_tone4:" width="20px" /><br> women_holding_hands_tone4_tone1 <img align="absmiddle" alt=":women_holding_hands_tone4_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.png" title=":women_holding_hands_tone4_tone1:" width="20px" /><br> women_holding_hands_tone4_tone2 <img align="absmiddle" alt=":women_holding_hands_tone4_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.png" title=":women_holding_hands_tone4_tone2:" width="20px" /><br> women_holding_hands_tone4_tone3 <img align="absmiddle" alt=":women_holding_hands_tone4_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.png" title=":women_holding_hands_tone4_tone3:" width="20px" /><br> women_holding_hands_tone4_tone5 <img align="absmiddle" alt=":women_holding_hands_tone4_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.png" title=":women_holding_hands_tone4_tone5:" width="20px" /><br> women_holding_hands_tone5 <img align="absmiddle" alt=":women_holding_hands_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46d-1f3ff.png" title=":women_holding_hands_tone5:" width="20px" /><br> women_holding_hands_tone5_tone1 <img align="absmiddle" alt=":women_holding_hands_tone5_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.png" title=":women_holding_hands_tone5_tone1:" width="20px" /><br> women_holding_hands_tone5_tone2 <img align="absmiddle" alt=":women_holding_hands_tone5_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.png" title=":women_holding_hands_tone5_tone2:" width="20px" /><br> women_holding_hands_tone5_tone3 <img align="absmiddle" alt=":women_holding_hands_tone5_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.png" title=":women_holding_hands_tone5_tone3:" width="20px" /><br> women_holding_hands_tone5_tone4 <img align="absmiddle" alt=":women_holding_hands_tone5_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.png" title=":women_holding_hands_tone5_tone4:" width="20px" /><br> women_with_bunny_ears_partying <img align="absmiddle" alt=":women_with_bunny_ears_partying:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f46f-200d-2640-fe0f.png" title=":women_with_bunny_ears_partying:" width="20px" /><br> women_wrestling <img align="absmiddle" alt=":women_wrestling:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f93c-200d-2640-fe0f.png" title=":women_wrestling:" width="20px" /><br> womens <img align="absmiddle" alt=":womens:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f6ba.png" title=":womens:" width="20px" /><br> wood <img align="absmiddle" alt=":wood:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab5.png" title=":wood:" width="20px" /><br> woozy_face <img align="absmiddle" alt=":woozy_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f974.png" title=":woozy_face:" width="20px" /><br> worm <img align="absmiddle" alt=":worm:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fab1.png" title=":worm:" width="20px" /><br> worried <img align="absmiddle" alt=":worried:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f61f.png" title=":worried:" width="20px" /><br> wrench <img align="absmiddle" alt=":wrench:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f527.png" title=":wrench:" width="20px" /><br> writing_hand <img align="absmiddle" alt=":writing_hand:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d.png" title=":writing_hand:" width="20px" /><br> writing_hand_tone1 <img align="absmiddle" alt=":writing_hand_tone1:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d-1f3fb.png" title=":writing_hand_tone1:" width="20px" /><br> writing_hand_tone2 <img align="absmiddle" alt=":writing_hand_tone2:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d-1f3fc.png" title=":writing_hand_tone2:" width="20px" /><br> writing_hand_tone3 <img align="absmiddle" alt=":writing_hand_tone3:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d-1f3fd.png" title=":writing_hand_tone3:" width="20px" /><br> writing_hand_tone4 <img align="absmiddle" alt=":writing_hand_tone4:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d-1f3fe.png" title=":writing_hand_tone4:" width="20px" /><br> writing_hand_tone5 <img align="absmiddle" alt=":writing_hand_tone5:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/270d-1f3ff.png" title=":writing_hand_tone5:" width="20px" /><br> x <img align="absmiddle" alt=":x:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/274c.png" title=":x:" width="20px" /><br> x_ray <img align="absmiddle" alt=":x_ray:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa7b.png" title=":x_ray:" width="20px" /><br> yarn <img align="absmiddle" alt=":yarn:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9f6.png" title=":yarn:" width="20px" /><br> yawning_face <img align="absmiddle" alt=":yawning_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f971.png" title=":yawning_face:" width="20px" /><br> yellow_circle <img align="absmiddle" alt=":yellow_circle:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e1.png" title=":yellow_circle:" width="20px" /><br> yellow_heart <img align="absmiddle" alt=":yellow_heart:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f49b.png" title=":yellow_heart:" width="20px" /><br> yellow_square <img align="absmiddle" alt=":yellow_square:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f7e8.png" title=":yellow_square:" width="20px" /><br> yen <img align="absmiddle" alt=":yen:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4b4.png" title=":yen:" width="20px" /><br> yin_yang <img align="absmiddle" alt=":yin_yang:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/262f.png" title=":yin_yang:" width="20px" /><br> yo_yo <img align="absmiddle" alt=":yo_yo:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1fa80.png" title=":yo_yo:" width="20px" /><br> yum <img align="absmiddle" alt=":yum:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f60b.png" title=":yum:" width="20px" /><br> zany_face <img align="absmiddle" alt=":zany_face:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f92a.png" title=":zany_face:" width="20px" /><br> zap <img align="absmiddle" alt=":zap:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/26a1.png" title=":zap:" width="20px" /><br> zebra <img align="absmiddle" alt=":zebra:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f993.png" title=":zebra:" width="20px" /><br> zero <img align="absmiddle" alt=":zero:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/30-20e3.png" title=":zero:" width="20px" /><br> zipper_mouth <img align="absmiddle" alt=":zipper_mouth:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f910.png" title=":zipper_mouth:" width="20px" /><br> zombie <img align="absmiddle" alt=":zombie:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f9df.png" title=":zombie:" width="20px" /><br> zzz <img align="absmiddle" alt=":zzz:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f4a4.png" title=":zzz:" width="20px" /><br></p>�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (png).txt������������������������������������0000664�0000000�0000000�00000435177�14651242716�0025137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abacus :abacus:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> accordion :accordion:<br> adhesive_bandage :adhesive_bandage:<br> adult :adult:<br> adult_tone1 :adult_tone1:<br> adult_tone2 :adult_tone2:<br> adult_tone3 :adult_tone3:<br> adult_tone4 :adult_tone4:<br> adult_tone5 :adult_tone5:<br> aerial_tramway :aerial_tramway:<br> airplane :airplane:<br> airplane_arriving :airplane_arriving:<br> airplane_departure :airplane_departure:<br> airplane_small :airplane_small:<br> alarm_clock :alarm_clock:<br> alembic :alembic:<br> alien :alien:<br> ambulance :ambulance:<br> amphora :amphora:<br> anatomical_heart :anatomical_heart:<br> anchor :anchor:<br> angel :angel:<br> angel_tone1 :angel_tone1:<br> angel_tone2 :angel_tone2:<br> angel_tone3 :angel_tone3:<br> angel_tone4 :angel_tone4:<br> angel_tone5 :angel_tone5:<br> anger :anger:<br> anger_right :anger_right:<br> angry :angry:<br> anguished :anguished:<br> ant :ant:<br> apple :apple:<br> aquarius :aquarius:<br> aries :aries:<br> arrow_backward :arrow_backward:<br> arrow_double_down :arrow_double_down:<br> arrow_double_up :arrow_double_up:<br> arrow_down :arrow_down:<br> arrow_down_small :arrow_down_small:<br> arrow_forward :arrow_forward:<br> arrow_heading_down :arrow_heading_down:<br> arrow_heading_up :arrow_heading_up:<br> arrow_left :arrow_left:<br> arrow_lower_left :arrow_lower_left:<br> arrow_lower_right :arrow_lower_right:<br> arrow_right :arrow_right:<br> arrow_right_hook :arrow_right_hook:<br> arrow_up :arrow_up:<br> arrow_up_down :arrow_up_down:<br> arrow_up_small :arrow_up_small:<br> arrow_upper_left :arrow_upper_left:<br> arrow_upper_right :arrow_upper_right:<br> arrows_clockwise :arrows_clockwise:<br> arrows_counterclockwise :arrows_counterclockwise:<br> art :art:<br> articulated_lorry :articulated_lorry:<br> artist :artist:<br> artist_tone1 :artist_tone1:<br> artist_tone2 :artist_tone2:<br> artist_tone3 :artist_tone3:<br> artist_tone4 :artist_tone4:<br> artist_tone5 :artist_tone5:<br> asterisk :asterisk:<br> astonished :astonished:<br> astronaut :astronaut:<br> astronaut_tone1 :astronaut_tone1:<br> astronaut_tone2 :astronaut_tone2:<br> astronaut_tone3 :astronaut_tone3:<br> astronaut_tone4 :astronaut_tone4:<br> astronaut_tone5 :astronaut_tone5:<br> athletic_shoe :athletic_shoe:<br> atm :atm:<br> atom :atom:<br> auto_rickshaw :auto_rickshaw:<br> avocado :avocado:<br> axe :axe:<br> b :b:<br> baby :baby:<br> baby_bottle :baby_bottle:<br> baby_chick :baby_chick:<br> baby_symbol :baby_symbol:<br> baby_tone1 :baby_tone1:<br> baby_tone2 :baby_tone2:<br> baby_tone3 :baby_tone3:<br> baby_tone4 :baby_tone4:<br> baby_tone5 :baby_tone5:<br> back :back:<br> bacon :bacon:<br> badger :badger:<br> badminton :badminton:<br> bagel :bagel:<br> baggage_claim :baggage_claim:<br> bald :bald:<br> ballet_shoes :ballet_shoes:<br> balloon :balloon:<br> ballot_box :ballot_box:<br> ballot_box_with_check :ballot_box_with_check:<br> bamboo :bamboo:<br> banana :banana:<br> bangbang :bangbang:<br> banjo :banjo:<br> bank :bank:<br> bar_chart :bar_chart:<br> barber :barber:<br> baseball :baseball:<br> basket :basket:<br> basketball :basketball:<br> bat :bat:<br> bath :bath:<br> bath_tone1 :bath_tone1:<br> bath_tone2 :bath_tone2:<br> bath_tone3 :bath_tone3:<br> bath_tone4 :bath_tone4:<br> bath_tone5 :bath_tone5:<br> bathtub :bathtub:<br> battery :battery:<br> beach :beach:<br> beach_umbrella :beach_umbrella:<br> beans :beans:<br> bear :bear:<br> bearded_person :bearded_person:<br> bearded_person_tone1 :bearded_person_tone1:<br> bearded_person_tone2 :bearded_person_tone2:<br> bearded_person_tone3 :bearded_person_tone3:<br> bearded_person_tone4 :bearded_person_tone4:<br> bearded_person_tone5 :bearded_person_tone5:<br> beaver :beaver:<br> bed :bed:<br> bee :bee:<br> beer :beer:<br> beers :beers:<br> beetle :beetle:<br> beginner :beginner:<br> bell :bell:<br> bell_pepper :bell_pepper:<br> bellhop :bellhop:<br> bento :bento:<br> beverage_box :beverage_box:<br> bike :bike:<br> bikini :bikini:<br> billed_cap :billed_cap:<br> biohazard :biohazard:<br> bird :bird:<br> birthday :birthday:<br> bison :bison:<br> biting_lip :biting_lip:<br> black_bird :black_bird:<br> black_cat :black_cat:<br> black_circle :black_circle:<br> black_heart :black_heart:<br> black_joker :black_joker:<br> black_large_square :black_large_square:<br> black_medium_small_square :black_medium_small_square:<br> black_medium_square :black_medium_square:<br> black_nib :black_nib:<br> black_small_square :black_small_square:<br> black_square_button :black_square_button:<br> blond-haired_man :blond-haired_man:<br> blond-haired_man_tone1 :blond-haired_man_tone1:<br> blond-haired_man_tone2 :blond-haired_man_tone2:<br> blond-haired_man_tone3 :blond-haired_man_tone3:<br> blond-haired_man_tone4 :blond-haired_man_tone4:<br> blond-haired_man_tone5 :blond-haired_man_tone5:<br> blond-haired_woman :blond-haired_woman:<br> blond-haired_woman_tone1 :blond-haired_woman_tone1:<br> blond-haired_woman_tone2 :blond-haired_woman_tone2:<br> blond-haired_woman_tone3 :blond-haired_woman_tone3:<br> blond-haired_woman_tone4 :blond-haired_woman_tone4:<br> blond-haired_woman_tone5 :blond-haired_woman_tone5:<br> blond_haired_person :blond_haired_person:<br> blond_haired_person_tone1 :blond_haired_person_tone1:<br> blond_haired_person_tone2 :blond_haired_person_tone2:<br> blond_haired_person_tone3 :blond_haired_person_tone3:<br> blond_haired_person_tone4 :blond_haired_person_tone4:<br> blond_haired_person_tone5 :blond_haired_person_tone5:<br> blossom :blossom:<br> blowfish :blowfish:<br> blue_book :blue_book:<br> blue_car :blue_car:<br> blue_circle :blue_circle:<br> blue_heart :blue_heart:<br> blue_square :blue_square:<br> blueberries :blueberries:<br> blush :blush:<br> boar :boar:<br> bomb :bomb:<br> bone :bone:<br> book :book:<br> bookmark :bookmark:<br> bookmark_tabs :bookmark_tabs:<br> books :books:<br> boom :boom:<br> boomerang :boomerang:<br> boot :boot:<br> bouquet :bouquet:<br> bow_and_arrow :bow_and_arrow:<br> bowl_with_spoon :bowl_with_spoon:<br> bowling :bowling:<br> boxing_glove :boxing_glove:<br> boy :boy:<br> boy_tone1 :boy_tone1:<br> boy_tone2 :boy_tone2:<br> boy_tone3 :boy_tone3:<br> boy_tone4 :boy_tone4:<br> boy_tone5 :boy_tone5:<br> brain :brain:<br> bread :bread:<br> breast_feeding :breast_feeding:<br> breast_feeding_tone1 :breast_feeding_tone1:<br> breast_feeding_tone2 :breast_feeding_tone2:<br> breast_feeding_tone3 :breast_feeding_tone3:<br> breast_feeding_tone4 :breast_feeding_tone4:<br> breast_feeding_tone5 :breast_feeding_tone5:<br> bricks :bricks:<br> bridge_at_night :bridge_at_night:<br> briefcase :briefcase:<br> briefs :briefs:<br> broccoli :broccoli:<br> broken_heart :broken_heart:<br> broom :broom:<br> brown_circle :brown_circle:<br> brown_heart :brown_heart:<br> brown_square :brown_square:<br> bubble_tea :bubble_tea:<br> bubbles :bubbles:<br> bucket :bucket:<br> bug :bug:<br> bulb :bulb:<br> bullettrain_front :bullettrain_front:<br> bullettrain_side :bullettrain_side:<br> burrito :burrito:<br> bus :bus:<br> busstop :busstop:<br> bust_in_silhouette :bust_in_silhouette:<br> busts_in_silhouette :busts_in_silhouette:<br> butter :butter:<br> butterfly :butterfly:<br> cactus :cactus:<br> cake :cake:<br> calendar :calendar:<br> calendar_spiral :calendar_spiral:<br> call_me :call_me:<br> call_me_tone1 :call_me_tone1:<br> call_me_tone2 :call_me_tone2:<br> call_me_tone3 :call_me_tone3:<br> call_me_tone4 :call_me_tone4:<br> call_me_tone5 :call_me_tone5:<br> calling :calling:<br> camel :camel:<br> camera :camera:<br> camera_with_flash :camera_with_flash:<br> camping :camping:<br> cancer :cancer:<br> candle :candle:<br> candy :candy:<br> canned_food :canned_food:<br> canoe :canoe:<br> capital_abcd :capital_abcd:<br> capricorn :capricorn:<br> card_box :card_box:<br> card_index :card_index:<br> carousel_horse :carousel_horse:<br> carpentry_saw :carpentry_saw:<br> carrot :carrot:<br> cat2 :cat2:<br> cat :cat:<br> cd :cd:<br> chains :chains:<br> chair :chair:<br> champagne :champagne:<br> champagne_glass :champagne_glass:<br> chart :chart:<br> chart_with_downwards_trend :chart_with_downwards_trend:<br> chart_with_upwards_trend :chart_with_upwards_trend:<br> checkered_flag :checkered_flag:<br> cheese :cheese:<br> cherries :cherries:<br> cherry_blossom :cherry_blossom:<br> chess_pawn :chess_pawn:<br> chestnut :chestnut:<br> chicken :chicken:<br> child :child:<br> child_tone1 :child_tone1:<br> child_tone2 :child_tone2:<br> child_tone3 :child_tone3:<br> child_tone4 :child_tone4:<br> child_tone5 :child_tone5:<br> children_crossing :children_crossing:<br> chipmunk :chipmunk:<br> chocolate_bar :chocolate_bar:<br> chopsticks :chopsticks:<br> christmas_tree :christmas_tree:<br> church :church:<br> cinema :cinema:<br> circus_tent :circus_tent:<br> city_dusk :city_dusk:<br> city_sunset :city_sunset:<br> cityscape :cityscape:<br> cl :cl:<br> clap :clap:<br> clap_tone1 :clap_tone1:<br> clap_tone2 :clap_tone2:<br> clap_tone3 :clap_tone3:<br> clap_tone4 :clap_tone4:<br> clap_tone5 :clap_tone5:<br> clapper :clapper:<br> classical_building :classical_building:<br> clipboard :clipboard:<br> clock1030 :clock1030:<br> clock10 :clock10:<br> clock1130 :clock1130:<br> clock11 :clock11:<br> clock1230 :clock1230:<br> clock12 :clock12:<br> clock130 :clock130:<br> clock1 :clock1:<br> clock230 :clock230:<br> clock2 :clock2:<br> clock330 :clock330:<br> clock3 :clock3:<br> clock430 :clock430:<br> clock4 :clock4:<br> clock530 :clock530:<br> clock5 :clock5:<br> clock630 :clock630:<br> clock6 :clock6:<br> clock730 :clock730:<br> clock7 :clock7:<br> clock830 :clock830:<br> clock8 :clock8:<br> clock930 :clock930:<br> clock9 :clock9:<br> clock :clock:<br> closed_book :closed_book:<br> closed_lock_with_key :closed_lock_with_key:<br> closed_umbrella :closed_umbrella:<br> cloud :cloud:<br> cloud_lightning :cloud_lightning:<br> cloud_rain :cloud_rain:<br> cloud_snow :cloud_snow:<br> cloud_tornado :cloud_tornado:<br> clown :clown:<br> clubs :clubs:<br> coat :coat:<br> cockroach :cockroach:<br> cocktail :cocktail:<br> coconut :coconut:<br> coffee :coffee:<br> coffin :coffin:<br> coin :coin:<br> cold_face :cold_face:<br> cold_sweat :cold_sweat:<br> comet :comet:<br> compass :compass:<br> compression :compression:<br> computer :computer:<br> confetti_ball :confetti_ball:<br> confounded :confounded:<br> confused :confused:<br> congratulations :congratulations:<br> construction :construction:<br> construction_site :construction_site:<br> construction_worker :construction_worker:<br> construction_worker_tone1 :construction_worker_tone1:<br> construction_worker_tone2 :construction_worker_tone2:<br> construction_worker_tone3 :construction_worker_tone3:<br> construction_worker_tone4 :construction_worker_tone4:<br> construction_worker_tone5 :construction_worker_tone5:<br> control_knobs :control_knobs:<br> convenience_store :convenience_store:<br> cook :cook:<br> cook_tone1 :cook_tone1:<br> cook_tone2 :cook_tone2:<br> cook_tone3 :cook_tone3:<br> cook_tone4 :cook_tone4:<br> cook_tone5 :cook_tone5:<br> cookie :cookie:<br> cooking :cooking:<br> cool :cool:<br> copyright :copyright:<br> coral :coral:<br> corn :corn:<br> couch :couch:<br> couple :couple:<br> couple_mm :couple_mm:<br> couple_with_heart :couple_with_heart:<br> couple_with_heart_man_man_tone1 :couple_with_heart_man_man_tone1:<br> couple_with_heart_man_man_tone1_tone2 :couple_with_heart_man_man_tone1_tone2:<br> couple_with_heart_man_man_tone1_tone3 :couple_with_heart_man_man_tone1_tone3:<br> couple_with_heart_man_man_tone1_tone4 :couple_with_heart_man_man_tone1_tone4:<br> couple_with_heart_man_man_tone1_tone5 :couple_with_heart_man_man_tone1_tone5:<br> couple_with_heart_man_man_tone2 :couple_with_heart_man_man_tone2:<br> couple_with_heart_man_man_tone2_tone1 :couple_with_heart_man_man_tone2_tone1:<br> couple_with_heart_man_man_tone2_tone3 :couple_with_heart_man_man_tone2_tone3:<br> couple_with_heart_man_man_tone2_tone4 :couple_with_heart_man_man_tone2_tone4:<br> couple_with_heart_man_man_tone2_tone5 :couple_with_heart_man_man_tone2_tone5:<br> couple_with_heart_man_man_tone3 :couple_with_heart_man_man_tone3:<br> couple_with_heart_man_man_tone3_tone1 :couple_with_heart_man_man_tone3_tone1:<br> couple_with_heart_man_man_tone3_tone2 :couple_with_heart_man_man_tone3_tone2:<br> couple_with_heart_man_man_tone3_tone4 :couple_with_heart_man_man_tone3_tone4:<br> couple_with_heart_man_man_tone3_tone5 :couple_with_heart_man_man_tone3_tone5:<br> couple_with_heart_man_man_tone4 :couple_with_heart_man_man_tone4:<br> couple_with_heart_man_man_tone4_tone1 :couple_with_heart_man_man_tone4_tone1:<br> couple_with_heart_man_man_tone4_tone2 :couple_with_heart_man_man_tone4_tone2:<br> couple_with_heart_man_man_tone4_tone3 :couple_with_heart_man_man_tone4_tone3:<br> couple_with_heart_man_man_tone4_tone5 :couple_with_heart_man_man_tone4_tone5:<br> couple_with_heart_man_man_tone5 :couple_with_heart_man_man_tone5:<br> couple_with_heart_man_man_tone5_tone1 :couple_with_heart_man_man_tone5_tone1:<br> couple_with_heart_man_man_tone5_tone2 :couple_with_heart_man_man_tone5_tone2:<br> couple_with_heart_man_man_tone5_tone3 :couple_with_heart_man_man_tone5_tone3:<br> couple_with_heart_man_man_tone5_tone4 :couple_with_heart_man_man_tone5_tone4:<br> couple_with_heart_person_person_tone1_tone2 :couple_with_heart_person_person_tone1_tone2:<br> couple_with_heart_person_person_tone1_tone3 :couple_with_heart_person_person_tone1_tone3:<br> couple_with_heart_person_person_tone1_tone4 :couple_with_heart_person_person_tone1_tone4:<br> couple_with_heart_person_person_tone1_tone5 :couple_with_heart_person_person_tone1_tone5:<br> couple_with_heart_person_person_tone2_tone1 :couple_with_heart_person_person_tone2_tone1:<br> couple_with_heart_person_person_tone2_tone3 :couple_with_heart_person_person_tone2_tone3:<br> couple_with_heart_person_person_tone2_tone4 :couple_with_heart_person_person_tone2_tone4:<br> couple_with_heart_person_person_tone2_tone5 :couple_with_heart_person_person_tone2_tone5:<br> couple_with_heart_person_person_tone3_tone1 :couple_with_heart_person_person_tone3_tone1:<br> couple_with_heart_person_person_tone3_tone2 :couple_with_heart_person_person_tone3_tone2:<br> couple_with_heart_person_person_tone3_tone4 :couple_with_heart_person_person_tone3_tone4:<br> couple_with_heart_person_person_tone3_tone5 :couple_with_heart_person_person_tone3_tone5:<br> couple_with_heart_person_person_tone4_tone1 :couple_with_heart_person_person_tone4_tone1:<br> couple_with_heart_person_person_tone4_tone2 :couple_with_heart_person_person_tone4_tone2:<br> couple_with_heart_person_person_tone4_tone3 :couple_with_heart_person_person_tone4_tone3:<br> couple_with_heart_person_person_tone4_tone5 :couple_with_heart_person_person_tone4_tone5:<br> couple_with_heart_person_person_tone5_tone1 :couple_with_heart_person_person_tone5_tone1:<br> couple_with_heart_person_person_tone5_tone2 :couple_with_heart_person_person_tone5_tone2:<br> couple_with_heart_person_person_tone5_tone3 :couple_with_heart_person_person_tone5_tone3:<br> couple_with_heart_person_person_tone5_tone4 :couple_with_heart_person_person_tone5_tone4:<br> couple_with_heart_tone1 :couple_with_heart_tone1:<br> couple_with_heart_tone2 :couple_with_heart_tone2:<br> couple_with_heart_tone3 :couple_with_heart_tone3:<br> couple_with_heart_tone4 :couple_with_heart_tone4:<br> couple_with_heart_tone5 :couple_with_heart_tone5:<br> couple_with_heart_woman_man :couple_with_heart_woman_man:<br> couple_with_heart_woman_man_tone1 :couple_with_heart_woman_man_tone1:<br> couple_with_heart_woman_man_tone1_tone2 :couple_with_heart_woman_man_tone1_tone2:<br> couple_with_heart_woman_man_tone1_tone3 :couple_with_heart_woman_man_tone1_tone3:<br> couple_with_heart_woman_man_tone1_tone4 :couple_with_heart_woman_man_tone1_tone4:<br> couple_with_heart_woman_man_tone1_tone5 :couple_with_heart_woman_man_tone1_tone5:<br> couple_with_heart_woman_man_tone2 :couple_with_heart_woman_man_tone2:<br> couple_with_heart_woman_man_tone2_tone1 :couple_with_heart_woman_man_tone2_tone1:<br> couple_with_heart_woman_man_tone2_tone3 :couple_with_heart_woman_man_tone2_tone3:<br> couple_with_heart_woman_man_tone2_tone4 :couple_with_heart_woman_man_tone2_tone4:<br> couple_with_heart_woman_man_tone2_tone5 :couple_with_heart_woman_man_tone2_tone5:<br> couple_with_heart_woman_man_tone3 :couple_with_heart_woman_man_tone3:<br> couple_with_heart_woman_man_tone3_tone1 :couple_with_heart_woman_man_tone3_tone1:<br> couple_with_heart_woman_man_tone3_tone2 :couple_with_heart_woman_man_tone3_tone2:<br> couple_with_heart_woman_man_tone3_tone4 :couple_with_heart_woman_man_tone3_tone4:<br> couple_with_heart_woman_man_tone3_tone5 :couple_with_heart_woman_man_tone3_tone5:<br> couple_with_heart_woman_man_tone4 :couple_with_heart_woman_man_tone4:<br> couple_with_heart_woman_man_tone4_tone1 :couple_with_heart_woman_man_tone4_tone1:<br> couple_with_heart_woman_man_tone4_tone2 :couple_with_heart_woman_man_tone4_tone2:<br> couple_with_heart_woman_man_tone4_tone3 :couple_with_heart_woman_man_tone4_tone3:<br> couple_with_heart_woman_man_tone4_tone5 :couple_with_heart_woman_man_tone4_tone5:<br> couple_with_heart_woman_man_tone5 :couple_with_heart_woman_man_tone5:<br> couple_with_heart_woman_man_tone5_tone1 :couple_with_heart_woman_man_tone5_tone1:<br> couple_with_heart_woman_man_tone5_tone2 :couple_with_heart_woman_man_tone5_tone2:<br> couple_with_heart_woman_man_tone5_tone3 :couple_with_heart_woman_man_tone5_tone3:<br> couple_with_heart_woman_man_tone5_tone4 :couple_with_heart_woman_man_tone5_tone4:<br> couple_with_heart_woman_woman_tone1 :couple_with_heart_woman_woman_tone1:<br> couple_with_heart_woman_woman_tone1_tone2 :couple_with_heart_woman_woman_tone1_tone2:<br> couple_with_heart_woman_woman_tone1_tone3 :couple_with_heart_woman_woman_tone1_tone3:<br> couple_with_heart_woman_woman_tone1_tone4 :couple_with_heart_woman_woman_tone1_tone4:<br> couple_with_heart_woman_woman_tone1_tone5 :couple_with_heart_woman_woman_tone1_tone5:<br> couple_with_heart_woman_woman_tone2 :couple_with_heart_woman_woman_tone2:<br> couple_with_heart_woman_woman_tone2_tone1 :couple_with_heart_woman_woman_tone2_tone1:<br> couple_with_heart_woman_woman_tone2_tone3 :couple_with_heart_woman_woman_tone2_tone3:<br> couple_with_heart_woman_woman_tone2_tone4 :couple_with_heart_woman_woman_tone2_tone4:<br> couple_with_heart_woman_woman_tone2_tone5 :couple_with_heart_woman_woman_tone2_tone5:<br> couple_with_heart_woman_woman_tone3 :couple_with_heart_woman_woman_tone3:<br> couple_with_heart_woman_woman_tone3_tone1 :couple_with_heart_woman_woman_tone3_tone1:<br> couple_with_heart_woman_woman_tone3_tone2 :couple_with_heart_woman_woman_tone3_tone2:<br> couple_with_heart_woman_woman_tone3_tone4 :couple_with_heart_woman_woman_tone3_tone4:<br> couple_with_heart_woman_woman_tone3_tone5 :couple_with_heart_woman_woman_tone3_tone5:<br> couple_with_heart_woman_woman_tone4 :couple_with_heart_woman_woman_tone4:<br> couple_with_heart_woman_woman_tone4_tone1 :couple_with_heart_woman_woman_tone4_tone1:<br> couple_with_heart_woman_woman_tone4_tone2 :couple_with_heart_woman_woman_tone4_tone2:<br> couple_with_heart_woman_woman_tone4_tone3 :couple_with_heart_woman_woman_tone4_tone3:<br> couple_with_heart_woman_woman_tone4_tone5 :couple_with_heart_woman_woman_tone4_tone5:<br> couple_with_heart_woman_woman_tone5 :couple_with_heart_woman_woman_tone5:<br> couple_with_heart_woman_woman_tone5_tone1 :couple_with_heart_woman_woman_tone5_tone1:<br> couple_with_heart_woman_woman_tone5_tone2 :couple_with_heart_woman_woman_tone5_tone2:<br> couple_with_heart_woman_woman_tone5_tone3 :couple_with_heart_woman_woman_tone5_tone3:<br> couple_with_heart_woman_woman_tone5_tone4 :couple_with_heart_woman_woman_tone5_tone4:<br> couple_ww :couple_ww:<br> couplekiss :couplekiss:<br> cow2 :cow2:<br> cow :cow:<br> cowboy :cowboy:<br> crab :crab:<br> crayon :crayon:<br> credit_card :credit_card:<br> crescent_moon :crescent_moon:<br> cricket :cricket:<br> cricket_game :cricket_game:<br> crocodile :crocodile:<br> croissant :croissant:<br> cross :cross:<br> crossed_flags :crossed_flags:<br> crossed_swords :crossed_swords:<br> crown :crown:<br> cruise_ship :cruise_ship:<br> crutch :crutch:<br> cry :cry:<br> crying_cat_face :crying_cat_face:<br> crystal_ball :crystal_ball:<br> cucumber :cucumber:<br> cup_with_straw :cup_with_straw:<br> cupcake :cupcake:<br> cupid :cupid:<br> curling_stone :curling_stone:<br> curly_haired :curly_haired:<br> curly_loop :curly_loop:<br> currency_exchange :currency_exchange:<br> curry :curry:<br> custard :custard:<br> customs :customs:<br> cut_of_meat :cut_of_meat:<br> cyclone :cyclone:<br> dagger :dagger:<br> dancer :dancer:<br> dancer_tone1 :dancer_tone1:<br> dancer_tone2 :dancer_tone2:<br> dancer_tone3 :dancer_tone3:<br> dancer_tone4 :dancer_tone4:<br> dancer_tone5 :dancer_tone5:<br> dango :dango:<br> dark_sunglasses :dark_sunglasses:<br> dart :dart:<br> dash :dash:<br> date :date:<br> deaf_man :deaf_man:<br> deaf_man_tone1 :deaf_man_tone1:<br> deaf_man_tone2 :deaf_man_tone2:<br> deaf_man_tone3 :deaf_man_tone3:<br> deaf_man_tone4 :deaf_man_tone4:<br> deaf_man_tone5 :deaf_man_tone5:<br> deaf_person :deaf_person:<br> deaf_person_tone1 :deaf_person_tone1:<br> deaf_person_tone2 :deaf_person_tone2:<br> deaf_person_tone3 :deaf_person_tone3:<br> deaf_person_tone4 :deaf_person_tone4:<br> deaf_person_tone5 :deaf_person_tone5:<br> deaf_woman :deaf_woman:<br> deaf_woman_tone1 :deaf_woman_tone1:<br> deaf_woman_tone2 :deaf_woman_tone2:<br> deaf_woman_tone3 :deaf_woman_tone3:<br> deaf_woman_tone4 :deaf_woman_tone4:<br> deaf_woman_tone5 :deaf_woman_tone5:<br> deciduous_tree :deciduous_tree:<br> deer :deer:<br> department_store :department_store:<br> desert :desert:<br> desktop :desktop:<br> detective :detective:<br> detective_tone1 :detective_tone1:<br> detective_tone2 :detective_tone2:<br> detective_tone3 :detective_tone3:<br> detective_tone4 :detective_tone4:<br> detective_tone5 :detective_tone5:<br> diamond_shape_with_a_dot_inside :diamond_shape_with_a_dot_inside:<br> diamonds :diamonds:<br> disappointed :disappointed:<br> disappointed_relieved :disappointed_relieved:<br> disguised_face :disguised_face:<br> dividers :dividers:<br> diving_mask :diving_mask:<br> diya_lamp :diya_lamp:<br> dizzy :dizzy:<br> dizzy_face :dizzy_face:<br> dna :dna:<br> do_not_litter :do_not_litter:<br> dodo :dodo:<br> dog2 :dog2:<br> dog :dog:<br> dollar :dollar:<br> dolls :dolls:<br> dolphin :dolphin:<br> donkey :donkey:<br> door :door:<br> dotted_line_face :dotted_line_face:<br> doughnut :doughnut:<br> dove :dove:<br> dragon :dragon:<br> dragon_face :dragon_face:<br> dress :dress:<br> dromedary_camel :dromedary_camel:<br> drooling_face :drooling_face:<br> drop_of_blood :drop_of_blood:<br> droplet :droplet:<br> drum :drum:<br> duck :duck:<br> dumpling :dumpling:<br> dvd :dvd:<br> e-mail :e-mail:<br> eagle :eagle:<br> ear :ear:<br> ear_of_rice :ear_of_rice:<br> ear_tone1 :ear_tone1:<br> ear_tone2 :ear_tone2:<br> ear_tone3 :ear_tone3:<br> ear_tone4 :ear_tone4:<br> ear_tone5 :ear_tone5:<br> ear_with_hearing_aid :ear_with_hearing_aid:<br> ear_with_hearing_aid_tone1 :ear_with_hearing_aid_tone1:<br> ear_with_hearing_aid_tone2 :ear_with_hearing_aid_tone2:<br> ear_with_hearing_aid_tone3 :ear_with_hearing_aid_tone3:<br> ear_with_hearing_aid_tone4 :ear_with_hearing_aid_tone4:<br> ear_with_hearing_aid_tone5 :ear_with_hearing_aid_tone5:<br> earth_africa :earth_africa:<br> earth_americas :earth_americas:<br> earth_asia :earth_asia:<br> egg :egg:<br> eggplant :eggplant:<br> eight :eight:<br> eight_pointed_black_star :eight_pointed_black_star:<br> eight_spoked_asterisk :eight_spoked_asterisk:<br> eject :eject:<br> electric_plug :electric_plug:<br> elephant :elephant:<br> elevator :elevator:<br> elf :elf:<br> elf_tone1 :elf_tone1:<br> elf_tone2 :elf_tone2:<br> elf_tone3 :elf_tone3:<br> elf_tone4 :elf_tone4:<br> elf_tone5 :elf_tone5:<br> empty_nest :empty_nest:<br> end :end:<br> england :england:<br> envelope :envelope:<br> envelope_with_arrow :envelope_with_arrow:<br> euro :euro:<br> european_castle :european_castle:<br> european_post_office :european_post_office:<br> evergreen_tree :evergreen_tree:<br> exclamation :exclamation:<br> exploding_head :exploding_head:<br> expressionless :expressionless:<br> eye :eye:<br> eye_in_speech_bubble :eye_in_speech_bubble:<br> eyeglasses :eyeglasses:<br> eyes :eyes:<br> face_exhaling :face_exhaling:<br> face_holding_back_tears :face_holding_back_tears:<br> face_in_clouds :face_in_clouds:<br> face_vomiting :face_vomiting:<br> face_with_diagonal_mouth :face_with_diagonal_mouth:<br> face_with_hand_over_mouth :face_with_hand_over_mouth:<br> face_with_monocle :face_with_monocle:<br> face_with_open_eyes_and_hand_over_mouth :face_with_open_eyes_and_hand_over_mouth:<br> face_with_peeking_eye :face_with_peeking_eye:<br> face_with_raised_eyebrow :face_with_raised_eyebrow:<br> face_with_spiral_eyes :face_with_spiral_eyes:<br> face_with_symbols_over_mouth :face_with_symbols_over_mouth:<br> factory :factory:<br> factory_worker :factory_worker:<br> factory_worker_tone1 :factory_worker_tone1:<br> factory_worker_tone2 :factory_worker_tone2:<br> factory_worker_tone3 :factory_worker_tone3:<br> factory_worker_tone4 :factory_worker_tone4:<br> factory_worker_tone5 :factory_worker_tone5:<br> fairy :fairy:<br> fairy_tone1 :fairy_tone1:<br> fairy_tone2 :fairy_tone2:<br> fairy_tone3 :fairy_tone3:<br> fairy_tone4 :fairy_tone4:<br> fairy_tone5 :fairy_tone5:<br> falafel :falafel:<br> fallen_leaf :fallen_leaf:<br> family :family:<br> family_man_boy :family_man_boy:<br> family_man_boy_boy :family_man_boy_boy:<br> family_man_girl :family_man_girl:<br> family_man_girl_boy :family_man_girl_boy:<br> family_man_girl_girl :family_man_girl_girl:<br> family_man_woman_boy :family_man_woman_boy:<br> family_mmb :family_mmb:<br> family_mmbb :family_mmbb:<br> family_mmg :family_mmg:<br> family_mmgb :family_mmgb:<br> family_mmgg :family_mmgg:<br> family_mwbb :family_mwbb:<br> family_mwg :family_mwg:<br> family_mwgb :family_mwgb:<br> family_mwgg :family_mwgg:<br> family_woman_boy :family_woman_boy:<br> family_woman_boy_boy :family_woman_boy_boy:<br> family_woman_girl :family_woman_girl:<br> family_woman_girl_boy :family_woman_girl_boy:<br> family_woman_girl_girl :family_woman_girl_girl:<br> family_wwb :family_wwb:<br> family_wwbb :family_wwbb:<br> family_wwg :family_wwg:<br> family_wwgb :family_wwgb:<br> family_wwgg :family_wwgg:<br> farmer :farmer:<br> farmer_tone1 :farmer_tone1:<br> farmer_tone2 :farmer_tone2:<br> farmer_tone3 :farmer_tone3:<br> farmer_tone4 :farmer_tone4:<br> farmer_tone5 :farmer_tone5:<br> fast_forward :fast_forward:<br> fax :fax:<br> fearful :fearful:<br> feather :feather:<br> feet :feet:<br> female_sign :female_sign:<br> ferris_wheel :ferris_wheel:<br> ferry :ferry:<br> field_hockey :field_hockey:<br> file_cabinet :file_cabinet:<br> file_folder :file_folder:<br> film_frames :film_frames:<br> fingers_crossed :fingers_crossed:<br> fingers_crossed_tone1 :fingers_crossed_tone1:<br> fingers_crossed_tone2 :fingers_crossed_tone2:<br> fingers_crossed_tone3 :fingers_crossed_tone3:<br> fingers_crossed_tone4 :fingers_crossed_tone4:<br> fingers_crossed_tone5 :fingers_crossed_tone5:<br> fire :fire:<br> fire_engine :fire_engine:<br> fire_extinguisher :fire_extinguisher:<br> firecracker :firecracker:<br> firefighter :firefighter:<br> firefighter_tone1 :firefighter_tone1:<br> firefighter_tone2 :firefighter_tone2:<br> firefighter_tone3 :firefighter_tone3:<br> firefighter_tone4 :firefighter_tone4:<br> firefighter_tone5 :firefighter_tone5:<br> fireworks :fireworks:<br> first_place :first_place:<br> first_quarter_moon :first_quarter_moon:<br> first_quarter_moon_with_face :first_quarter_moon_with_face:<br> fish :fish:<br> fish_cake :fish_cake:<br> fishing_pole_and_fish :fishing_pole_and_fish:<br> fist :fist:<br> fist_tone1 :fist_tone1:<br> fist_tone2 :fist_tone2:<br> fist_tone3 :fist_tone3:<br> fist_tone4 :fist_tone4:<br> fist_tone5 :fist_tone5:<br> five :five:<br> flag_ac :flag_ac:<br> flag_ad :flag_ad:<br> flag_ae :flag_ae:<br> flag_af :flag_af:<br> flag_ag :flag_ag:<br> flag_ai :flag_ai:<br> flag_al :flag_al:<br> flag_am :flag_am:<br> flag_ao :flag_ao:<br> flag_aq :flag_aq:<br> flag_ar :flag_ar:<br> flag_as :flag_as:<br> flag_at :flag_at:<br> flag_au :flag_au:<br> flag_aw :flag_aw:<br> flag_ax :flag_ax:<br> flag_az :flag_az:<br> flag_ba :flag_ba:<br> flag_bb :flag_bb:<br> flag_bd :flag_bd:<br> flag_be :flag_be:<br> flag_bf :flag_bf:<br> flag_bg :flag_bg:<br> flag_bh :flag_bh:<br> flag_bi :flag_bi:<br> flag_bj :flag_bj:<br> flag_bl :flag_bl:<br> flag_black :flag_black:<br> flag_bm :flag_bm:<br> flag_bn :flag_bn:<br> flag_bo :flag_bo:<br> flag_bq :flag_bq:<br> flag_br :flag_br:<br> flag_bs :flag_bs:<br> flag_bt :flag_bt:<br> flag_bv :flag_bv:<br> flag_bw :flag_bw:<br> flag_by :flag_by:<br> flag_bz :flag_bz:<br> flag_ca :flag_ca:<br> flag_cc :flag_cc:<br> flag_cd :flag_cd:<br> flag_cf :flag_cf:<br> flag_cg :flag_cg:<br> flag_ch :flag_ch:<br> flag_ci :flag_ci:<br> flag_ck :flag_ck:<br> flag_cl :flag_cl:<br> flag_cm :flag_cm:<br> flag_cn :flag_cn:<br> flag_co :flag_co:<br> flag_cp :flag_cp:<br> flag_cr :flag_cr:<br> flag_cu :flag_cu:<br> flag_cv :flag_cv:<br> flag_cw :flag_cw:<br> flag_cx :flag_cx:<br> flag_cy :flag_cy:<br> flag_cz :flag_cz:<br> flag_de :flag_de:<br> flag_dg :flag_dg:<br> flag_dj :flag_dj:<br> flag_dk :flag_dk:<br> flag_dm :flag_dm:<br> flag_do :flag_do:<br> flag_dz :flag_dz:<br> flag_ea :flag_ea:<br> flag_ec :flag_ec:<br> flag_ee :flag_ee:<br> flag_eg :flag_eg:<br> flag_eh :flag_eh:<br> flag_er :flag_er:<br> flag_es :flag_es:<br> flag_et :flag_et:<br> flag_eu :flag_eu:<br> flag_fi :flag_fi:<br> flag_fj :flag_fj:<br> flag_fk :flag_fk:<br> flag_fm :flag_fm:<br> flag_fo :flag_fo:<br> flag_fr :flag_fr:<br> flag_ga :flag_ga:<br> flag_gb :flag_gb:<br> flag_gd :flag_gd:<br> flag_ge :flag_ge:<br> flag_gf :flag_gf:<br> flag_gg :flag_gg:<br> flag_gh :flag_gh:<br> flag_gi :flag_gi:<br> flag_gl :flag_gl:<br> flag_gm :flag_gm:<br> flag_gn :flag_gn:<br> flag_gp :flag_gp:<br> flag_gq :flag_gq:<br> flag_gr :flag_gr:<br> flag_gs :flag_gs:<br> flag_gt :flag_gt:<br> flag_gu :flag_gu:<br> flag_gw :flag_gw:<br> flag_gy :flag_gy:<br> flag_hk :flag_hk:<br> flag_hm :flag_hm:<br> flag_hn :flag_hn:<br> flag_hr :flag_hr:<br> flag_ht :flag_ht:<br> flag_hu :flag_hu:<br> flag_ic :flag_ic:<br> flag_id :flag_id:<br> flag_ie :flag_ie:<br> flag_il :flag_il:<br> flag_im :flag_im:<br> flag_in :flag_in:<br> flag_io :flag_io:<br> flag_iq :flag_iq:<br> flag_ir :flag_ir:<br> flag_is :flag_is:<br> flag_it :flag_it:<br> flag_je :flag_je:<br> flag_jm :flag_jm:<br> flag_jo :flag_jo:<br> flag_jp :flag_jp:<br> flag_ke :flag_ke:<br> flag_kg :flag_kg:<br> flag_kh :flag_kh:<br> flag_ki :flag_ki:<br> flag_km :flag_km:<br> flag_kn :flag_kn:<br> flag_kp :flag_kp:<br> flag_kr :flag_kr:<br> flag_kw :flag_kw:<br> flag_ky :flag_ky:<br> flag_kz :flag_kz:<br> flag_la :flag_la:<br> flag_lb :flag_lb:<br> flag_lc :flag_lc:<br> flag_li :flag_li:<br> flag_lk :flag_lk:<br> flag_lr :flag_lr:<br> flag_ls :flag_ls:<br> flag_lt :flag_lt:<br> flag_lu :flag_lu:<br> flag_lv :flag_lv:<br> flag_ly :flag_ly:<br> flag_ma :flag_ma:<br> flag_mc :flag_mc:<br> flag_md :flag_md:<br> flag_me :flag_me:<br> flag_mf :flag_mf:<br> flag_mg :flag_mg:<br> flag_mh :flag_mh:<br> flag_mk :flag_mk:<br> flag_ml :flag_ml:<br> flag_mm :flag_mm:<br> flag_mn :flag_mn:<br> flag_mo :flag_mo:<br> flag_mp :flag_mp:<br> flag_mq :flag_mq:<br> flag_mr :flag_mr:<br> flag_ms :flag_ms:<br> flag_mt :flag_mt:<br> flag_mu :flag_mu:<br> flag_mv :flag_mv:<br> flag_mw :flag_mw:<br> flag_mx :flag_mx:<br> flag_my :flag_my:<br> flag_mz :flag_mz:<br> flag_na :flag_na:<br> flag_nc :flag_nc:<br> flag_ne :flag_ne:<br> flag_nf :flag_nf:<br> flag_ng :flag_ng:<br> flag_ni :flag_ni:<br> flag_nl :flag_nl:<br> flag_no :flag_no:<br> flag_np :flag_np:<br> flag_nr :flag_nr:<br> flag_nu :flag_nu:<br> flag_nz :flag_nz:<br> flag_om :flag_om:<br> flag_pa :flag_pa:<br> flag_pe :flag_pe:<br> flag_pf :flag_pf:<br> flag_pg :flag_pg:<br> flag_ph :flag_ph:<br> flag_pk :flag_pk:<br> flag_pl :flag_pl:<br> flag_pm :flag_pm:<br> flag_pn :flag_pn:<br> flag_pr :flag_pr:<br> flag_ps :flag_ps:<br> flag_pt :flag_pt:<br> flag_pw :flag_pw:<br> flag_py :flag_py:<br> flag_qa :flag_qa:<br> flag_re :flag_re:<br> flag_ro :flag_ro:<br> flag_rs :flag_rs:<br> flag_ru :flag_ru:<br> flag_rw :flag_rw:<br> flag_sa :flag_sa:<br> flag_sb :flag_sb:<br> flag_sc :flag_sc:<br> flag_sd :flag_sd:<br> flag_se :flag_se:<br> flag_sg :flag_sg:<br> flag_sh :flag_sh:<br> flag_si :flag_si:<br> flag_sj :flag_sj:<br> flag_sk :flag_sk:<br> flag_sl :flag_sl:<br> flag_sm :flag_sm:<br> flag_sn :flag_sn:<br> flag_so :flag_so:<br> flag_sr :flag_sr:<br> flag_ss :flag_ss:<br> flag_st :flag_st:<br> flag_sv :flag_sv:<br> flag_sx :flag_sx:<br> flag_sy :flag_sy:<br> flag_sz :flag_sz:<br> flag_ta :flag_ta:<br> flag_tc :flag_tc:<br> flag_td :flag_td:<br> flag_tf :flag_tf:<br> flag_tg :flag_tg:<br> flag_th :flag_th:<br> flag_tj :flag_tj:<br> flag_tk :flag_tk:<br> flag_tl :flag_tl:<br> flag_tm :flag_tm:<br> flag_tn :flag_tn:<br> flag_to :flag_to:<br> flag_tr :flag_tr:<br> flag_tt :flag_tt:<br> flag_tv :flag_tv:<br> flag_tw :flag_tw:<br> flag_tz :flag_tz:<br> flag_ua :flag_ua:<br> flag_ug :flag_ug:<br> flag_um :flag_um:<br> flag_us :flag_us:<br> flag_uy :flag_uy:<br> flag_uz :flag_uz:<br> flag_va :flag_va:<br> flag_vc :flag_vc:<br> flag_ve :flag_ve:<br> flag_vg :flag_vg:<br> flag_vi :flag_vi:<br> flag_vn :flag_vn:<br> flag_vu :flag_vu:<br> flag_wf :flag_wf:<br> flag_white :flag_white:<br> flag_ws :flag_ws:<br> flag_xk :flag_xk:<br> flag_ye :flag_ye:<br> flag_yt :flag_yt:<br> flag_za :flag_za:<br> flag_zm :flag_zm:<br> flag_zw :flag_zw:<br> flags :flags:<br> flamingo :flamingo:<br> flashlight :flashlight:<br> flatbread :flatbread:<br> fleur-de-lis :fleur-de-lis:<br> floppy_disk :floppy_disk:<br> flower_playing_cards :flower_playing_cards:<br> flushed :flushed:<br> flute :flute:<br> fly :fly:<br> flying_disc :flying_disc:<br> flying_saucer :flying_saucer:<br> fog :fog:<br> foggy :foggy:<br> folding_hand_fan :folding_hand_fan:<br> fondue :fondue:<br> foot :foot:<br> foot_tone1 :foot_tone1:<br> foot_tone2 :foot_tone2:<br> foot_tone3 :foot_tone3:<br> foot_tone4 :foot_tone4:<br> foot_tone5 :foot_tone5:<br> football :football:<br> footprints :footprints:<br> fork_and_knife :fork_and_knife:<br> fork_knife_plate :fork_knife_plate:<br> fortune_cookie :fortune_cookie:<br> fountain :fountain:<br> four :four:<br> four_leaf_clover :four_leaf_clover:<br> fox :fox:<br> frame_photo :frame_photo:<br> free :free:<br> french_bread :french_bread:<br> fried_shrimp :fried_shrimp:<br> fries :fries:<br> frog :frog:<br> frowning2 :frowning2:<br> frowning :frowning:<br> fuelpump :fuelpump:<br> full_moon :full_moon:<br> full_moon_with_face :full_moon_with_face:<br> game_die :game_die:<br> garlic :garlic:<br> gear :gear:<br> gem :gem:<br> gemini :gemini:<br> genie :genie:<br> ghost :ghost:<br> gift :gift:<br> gift_heart :gift_heart:<br> ginger_root :ginger_root:<br> giraffe :giraffe:<br> girl :girl:<br> girl_tone1 :girl_tone1:<br> girl_tone2 :girl_tone2:<br> girl_tone3 :girl_tone3:<br> girl_tone4 :girl_tone4:<br> girl_tone5 :girl_tone5:<br> globe_with_meridians :globe_with_meridians:<br> gloves :gloves:<br> goal :goal:<br> goat :goat:<br> goggles :goggles:<br> golf :golf:<br> goose :goose:<br> gorilla :gorilla:<br> grapes :grapes:<br> green_apple :green_apple:<br> green_book :green_book:<br> green_circle :green_circle:<br> green_heart :green_heart:<br> green_square :green_square:<br> grey_exclamation :grey_exclamation:<br> grey_heart :grey_heart:<br> grey_question :grey_question:<br> grimacing :grimacing:<br> grin :grin:<br> grinning :grinning:<br> guard :guard:<br> guard_tone1 :guard_tone1:<br> guard_tone2 :guard_tone2:<br> guard_tone3 :guard_tone3:<br> guard_tone4 :guard_tone4:<br> guard_tone5 :guard_tone5:<br> guide_dog :guide_dog:<br> guitar :guitar:<br> gun :gun:<br> hair_pick :hair_pick:<br> hamburger :hamburger:<br> hammer :hammer:<br> hammer_pick :hammer_pick:<br> hamsa :hamsa:<br> hamster :hamster:<br> hand_splayed :hand_splayed:<br> hand_splayed_tone1 :hand_splayed_tone1:<br> hand_splayed_tone2 :hand_splayed_tone2:<br> hand_splayed_tone3 :hand_splayed_tone3:<br> hand_splayed_tone4 :hand_splayed_tone4:<br> hand_splayed_tone5 :hand_splayed_tone5:<br> hand_with_index_finger_and_thumb_crossed :hand_with_index_finger_and_thumb_crossed:<br> hand_with_index_finger_and_thumb_crossed_tone1 :hand_with_index_finger_and_thumb_crossed_tone1:<br> hand_with_index_finger_and_thumb_crossed_tone2 :hand_with_index_finger_and_thumb_crossed_tone2:<br> hand_with_index_finger_and_thumb_crossed_tone3 :hand_with_index_finger_and_thumb_crossed_tone3:<br> hand_with_index_finger_and_thumb_crossed_tone4 :hand_with_index_finger_and_thumb_crossed_tone4:<br> hand_with_index_finger_and_thumb_crossed_tone5 :hand_with_index_finger_and_thumb_crossed_tone5:<br> handbag :handbag:<br> handshake :handshake:<br> handshake_tone1 :handshake_tone1:<br> handshake_tone1_tone2 :handshake_tone1_tone2:<br> handshake_tone1_tone3 :handshake_tone1_tone3:<br> handshake_tone1_tone4 :handshake_tone1_tone4:<br> handshake_tone1_tone5 :handshake_tone1_tone5:<br> handshake_tone2 :handshake_tone2:<br> handshake_tone2_tone1 :handshake_tone2_tone1:<br> handshake_tone2_tone3 :handshake_tone2_tone3:<br> handshake_tone2_tone4 :handshake_tone2_tone4:<br> handshake_tone2_tone5 :handshake_tone2_tone5:<br> handshake_tone3 :handshake_tone3:<br> handshake_tone3_tone1 :handshake_tone3_tone1:<br> handshake_tone3_tone2 :handshake_tone3_tone2:<br> handshake_tone3_tone4 :handshake_tone3_tone4:<br> handshake_tone3_tone5 :handshake_tone3_tone5:<br> handshake_tone4 :handshake_tone4:<br> handshake_tone4_tone1 :handshake_tone4_tone1:<br> handshake_tone4_tone2 :handshake_tone4_tone2:<br> handshake_tone4_tone3 :handshake_tone4_tone3:<br> handshake_tone4_tone5 :handshake_tone4_tone5:<br> handshake_tone5 :handshake_tone5:<br> handshake_tone5_tone1 :handshake_tone5_tone1:<br> handshake_tone5_tone2 :handshake_tone5_tone2:<br> handshake_tone5_tone3 :handshake_tone5_tone3:<br> handshake_tone5_tone4 :handshake_tone5_tone4:<br> hash :hash:<br> hatched_chick :hatched_chick:<br> hatching_chick :hatching_chick:<br> head_bandage :head_bandage:<br> headphones :headphones:<br> headstone :headstone:<br> health_worker :health_worker:<br> health_worker_tone1 :health_worker_tone1:<br> health_worker_tone2 :health_worker_tone2:<br> health_worker_tone3 :health_worker_tone3:<br> health_worker_tone4 :health_worker_tone4:<br> health_worker_tone5 :health_worker_tone5:<br> hear_no_evil :hear_no_evil:<br> heart :heart:<br> heart_decoration :heart_decoration:<br> heart_exclamation :heart_exclamation:<br> heart_eyes :heart_eyes:<br> heart_eyes_cat :heart_eyes_cat:<br> heart_hands :heart_hands:<br> heart_hands_tone1 :heart_hands_tone1:<br> heart_hands_tone2 :heart_hands_tone2:<br> heart_hands_tone3 :heart_hands_tone3:<br> heart_hands_tone4 :heart_hands_tone4:<br> heart_hands_tone5 :heart_hands_tone5:<br> heart_on_fire :heart_on_fire:<br> heartbeat :heartbeat:<br> heartpulse :heartpulse:<br> hearts :hearts:<br> heavy_check_mark :heavy_check_mark:<br> heavy_division_sign :heavy_division_sign:<br> heavy_dollar_sign :heavy_dollar_sign:<br> heavy_equals_sign :heavy_equals_sign:<br> heavy_minus_sign :heavy_minus_sign:<br> heavy_multiplication_x :heavy_multiplication_x:<br> heavy_plus_sign :heavy_plus_sign:<br> hedgehog :hedgehog:<br> helicopter :helicopter:<br> helmet_with_cross :helmet_with_cross:<br> herb :herb:<br> hibiscus :hibiscus:<br> high_brightness :high_brightness:<br> high_heel :high_heel:<br> hiking_boot :hiking_boot:<br> hindu_temple :hindu_temple:<br> hippopotamus :hippopotamus:<br> hockey :hockey:<br> hole :hole:<br> homes :homes:<br> honey_pot :honey_pot:<br> hook :hook:<br> horse :horse:<br> horse_racing :horse_racing:<br> horse_racing_tone1 :horse_racing_tone1:<br> horse_racing_tone2 :horse_racing_tone2:<br> horse_racing_tone3 :horse_racing_tone3:<br> horse_racing_tone4 :horse_racing_tone4:<br> horse_racing_tone5 :horse_racing_tone5:<br> hospital :hospital:<br> hot_face :hot_face:<br> hot_pepper :hot_pepper:<br> hotdog :hotdog:<br> hotel :hotel:<br> hotsprings :hotsprings:<br> hourglass :hourglass:<br> hourglass_flowing_sand :hourglass_flowing_sand:<br> house :house:<br> house_abandoned :house_abandoned:<br> house_with_garden :house_with_garden:<br> hugging :hugging:<br> hushed :hushed:<br> hut :hut:<br> hyacinth :hyacinth:<br> ice_cream :ice_cream:<br> ice_cube :ice_cube:<br> ice_skate :ice_skate:<br> icecream :icecream:<br> id :id:<br> identification_card :identification_card:<br> ideograph_advantage :ideograph_advantage:<br> imp :imp:<br> inbox_tray :inbox_tray:<br> incoming_envelope :incoming_envelope:<br> index_pointing_at_the_viewer :index_pointing_at_the_viewer:<br> index_pointing_at_the_viewer_tone1 :index_pointing_at_the_viewer_tone1:<br> index_pointing_at_the_viewer_tone2 :index_pointing_at_the_viewer_tone2:<br> index_pointing_at_the_viewer_tone3 :index_pointing_at_the_viewer_tone3:<br> index_pointing_at_the_viewer_tone4 :index_pointing_at_the_viewer_tone4:<br> index_pointing_at_the_viewer_tone5 :index_pointing_at_the_viewer_tone5:<br> infinity :infinity:<br> information_source :information_source:<br> innocent :innocent:<br> interrobang :interrobang:<br> island :island:<br> izakaya_lantern :izakaya_lantern:<br> jack_o_lantern :jack_o_lantern:<br> japan :japan:<br> japanese_castle :japanese_castle:<br> japanese_goblin :japanese_goblin:<br> japanese_ogre :japanese_ogre:<br> jar :jar:<br> jeans :jeans:<br> jellyfish :jellyfish:<br> jigsaw :jigsaw:<br> joy :joy:<br> joy_cat :joy_cat:<br> joystick :joystick:<br> judge :judge:<br> judge_tone1 :judge_tone1:<br> judge_tone2 :judge_tone2:<br> judge_tone3 :judge_tone3:<br> judge_tone4 :judge_tone4:<br> judge_tone5 :judge_tone5:<br> kaaba :kaaba:<br> kangaroo :kangaroo:<br> key2 :key2:<br> key :key:<br> keyboard :keyboard:<br> keycap_ten :keycap_ten:<br> khanda :khanda:<br> kimono :kimono:<br> kiss :kiss:<br> kiss_man_man_tone1 :kiss_man_man_tone1:<br> kiss_man_man_tone1_tone2 :kiss_man_man_tone1_tone2:<br> kiss_man_man_tone1_tone3 :kiss_man_man_tone1_tone3:<br> kiss_man_man_tone1_tone4 :kiss_man_man_tone1_tone4:<br> kiss_man_man_tone1_tone5 :kiss_man_man_tone1_tone5:<br> kiss_man_man_tone2 :kiss_man_man_tone2:<br> kiss_man_man_tone2_tone1 :kiss_man_man_tone2_tone1:<br> kiss_man_man_tone2_tone3 :kiss_man_man_tone2_tone3:<br> kiss_man_man_tone2_tone4 :kiss_man_man_tone2_tone4:<br> kiss_man_man_tone2_tone5 :kiss_man_man_tone2_tone5:<br> kiss_man_man_tone3 :kiss_man_man_tone3:<br> kiss_man_man_tone3_tone1 :kiss_man_man_tone3_tone1:<br> kiss_man_man_tone3_tone2 :kiss_man_man_tone3_tone2:<br> kiss_man_man_tone3_tone4 :kiss_man_man_tone3_tone4:<br> kiss_man_man_tone3_tone5 :kiss_man_man_tone3_tone5:<br> kiss_man_man_tone4 :kiss_man_man_tone4:<br> kiss_man_man_tone4_tone1 :kiss_man_man_tone4_tone1:<br> kiss_man_man_tone4_tone2 :kiss_man_man_tone4_tone2:<br> kiss_man_man_tone4_tone3 :kiss_man_man_tone4_tone3:<br> kiss_man_man_tone4_tone5 :kiss_man_man_tone4_tone5:<br> kiss_man_man_tone5 :kiss_man_man_tone5:<br> kiss_man_man_tone5_tone1 :kiss_man_man_tone5_tone1:<br> kiss_man_man_tone5_tone2 :kiss_man_man_tone5_tone2:<br> kiss_man_man_tone5_tone3 :kiss_man_man_tone5_tone3:<br> kiss_man_man_tone5_tone4 :kiss_man_man_tone5_tone4:<br> kiss_mm :kiss_mm:<br> kiss_person_person_tone1_tone2 :kiss_person_person_tone1_tone2:<br> kiss_person_person_tone1_tone3 :kiss_person_person_tone1_tone3:<br> kiss_person_person_tone1_tone4 :kiss_person_person_tone1_tone4:<br> kiss_person_person_tone1_tone5 :kiss_person_person_tone1_tone5:<br> kiss_person_person_tone2_tone1 :kiss_person_person_tone2_tone1:<br> kiss_person_person_tone2_tone3 :kiss_person_person_tone2_tone3:<br> kiss_person_person_tone2_tone4 :kiss_person_person_tone2_tone4:<br> kiss_person_person_tone2_tone5 :kiss_person_person_tone2_tone5:<br> kiss_person_person_tone3_tone1 :kiss_person_person_tone3_tone1:<br> kiss_person_person_tone3_tone2 :kiss_person_person_tone3_tone2:<br> kiss_person_person_tone3_tone4 :kiss_person_person_tone3_tone4:<br> kiss_person_person_tone3_tone5 :kiss_person_person_tone3_tone5:<br> kiss_person_person_tone4_tone1 :kiss_person_person_tone4_tone1:<br> kiss_person_person_tone4_tone2 :kiss_person_person_tone4_tone2:<br> kiss_person_person_tone4_tone3 :kiss_person_person_tone4_tone3:<br> kiss_person_person_tone4_tone5 :kiss_person_person_tone4_tone5:<br> kiss_person_person_tone5_tone1 :kiss_person_person_tone5_tone1:<br> kiss_person_person_tone5_tone2 :kiss_person_person_tone5_tone2:<br> kiss_person_person_tone5_tone3 :kiss_person_person_tone5_tone3:<br> kiss_person_person_tone5_tone4 :kiss_person_person_tone5_tone4:<br> kiss_tone1 :kiss_tone1:<br> kiss_tone2 :kiss_tone2:<br> kiss_tone3 :kiss_tone3:<br> kiss_tone4 :kiss_tone4:<br> kiss_tone5 :kiss_tone5:<br> kiss_woman_man :kiss_woman_man:<br> kiss_woman_man_tone1 :kiss_woman_man_tone1:<br> kiss_woman_man_tone1_tone2 :kiss_woman_man_tone1_tone2:<br> kiss_woman_man_tone1_tone3 :kiss_woman_man_tone1_tone3:<br> kiss_woman_man_tone1_tone4 :kiss_woman_man_tone1_tone4:<br> kiss_woman_man_tone1_tone5 :kiss_woman_man_tone1_tone5:<br> kiss_woman_man_tone2 :kiss_woman_man_tone2:<br> kiss_woman_man_tone2_tone1 :kiss_woman_man_tone2_tone1:<br> kiss_woman_man_tone2_tone3 :kiss_woman_man_tone2_tone3:<br> kiss_woman_man_tone2_tone4 :kiss_woman_man_tone2_tone4:<br> kiss_woman_man_tone2_tone5 :kiss_woman_man_tone2_tone5:<br> kiss_woman_man_tone3 :kiss_woman_man_tone3:<br> kiss_woman_man_tone3_tone1 :kiss_woman_man_tone3_tone1:<br> kiss_woman_man_tone3_tone2 :kiss_woman_man_tone3_tone2:<br> kiss_woman_man_tone3_tone4 :kiss_woman_man_tone3_tone4:<br> kiss_woman_man_tone3_tone5 :kiss_woman_man_tone3_tone5:<br> kiss_woman_man_tone4 :kiss_woman_man_tone4:<br> kiss_woman_man_tone4_tone1 :kiss_woman_man_tone4_tone1:<br> kiss_woman_man_tone4_tone2 :kiss_woman_man_tone4_tone2:<br> kiss_woman_man_tone4_tone3 :kiss_woman_man_tone4_tone3:<br> kiss_woman_man_tone4_tone5 :kiss_woman_man_tone4_tone5:<br> kiss_woman_man_tone5 :kiss_woman_man_tone5:<br> kiss_woman_man_tone5_tone1 :kiss_woman_man_tone5_tone1:<br> kiss_woman_man_tone5_tone2 :kiss_woman_man_tone5_tone2:<br> kiss_woman_man_tone5_tone3 :kiss_woman_man_tone5_tone3:<br> kiss_woman_man_tone5_tone4 :kiss_woman_man_tone5_tone4:<br> kiss_woman_woman_tone1 :kiss_woman_woman_tone1:<br> kiss_woman_woman_tone1_tone2 :kiss_woman_woman_tone1_tone2:<br> kiss_woman_woman_tone1_tone3 :kiss_woman_woman_tone1_tone3:<br> kiss_woman_woman_tone1_tone4 :kiss_woman_woman_tone1_tone4:<br> kiss_woman_woman_tone1_tone5 :kiss_woman_woman_tone1_tone5:<br> kiss_woman_woman_tone2 :kiss_woman_woman_tone2:<br> kiss_woman_woman_tone2_tone1 :kiss_woman_woman_tone2_tone1:<br> kiss_woman_woman_tone2_tone3 :kiss_woman_woman_tone2_tone3:<br> kiss_woman_woman_tone2_tone4 :kiss_woman_woman_tone2_tone4:<br> kiss_woman_woman_tone2_tone5 :kiss_woman_woman_tone2_tone5:<br> kiss_woman_woman_tone3 :kiss_woman_woman_tone3:<br> kiss_woman_woman_tone3_tone1 :kiss_woman_woman_tone3_tone1:<br> kiss_woman_woman_tone3_tone2 :kiss_woman_woman_tone3_tone2:<br> kiss_woman_woman_tone3_tone4 :kiss_woman_woman_tone3_tone4:<br> kiss_woman_woman_tone3_tone5 :kiss_woman_woman_tone3_tone5:<br> kiss_woman_woman_tone4 :kiss_woman_woman_tone4:<br> kiss_woman_woman_tone4_tone1 :kiss_woman_woman_tone4_tone1:<br> kiss_woman_woman_tone4_tone2 :kiss_woman_woman_tone4_tone2:<br> kiss_woman_woman_tone4_tone3 :kiss_woman_woman_tone4_tone3:<br> kiss_woman_woman_tone4_tone5 :kiss_woman_woman_tone4_tone5:<br> kiss_woman_woman_tone5 :kiss_woman_woman_tone5:<br> kiss_woman_woman_tone5_tone1 :kiss_woman_woman_tone5_tone1:<br> kiss_woman_woman_tone5_tone2 :kiss_woman_woman_tone5_tone2:<br> kiss_woman_woman_tone5_tone3 :kiss_woman_woman_tone5_tone3:<br> kiss_woman_woman_tone5_tone4 :kiss_woman_woman_tone5_tone4:<br> kiss_ww :kiss_ww:<br> kissing :kissing:<br> kissing_cat :kissing_cat:<br> kissing_closed_eyes :kissing_closed_eyes:<br> kissing_heart :kissing_heart:<br> kissing_smiling_eyes :kissing_smiling_eyes:<br> kite :kite:<br> kiwi :kiwi:<br> knife :knife:<br> knot :knot:<br> koala :koala:<br> koko :koko:<br> lab_coat :lab_coat:<br> label :label:<br> lacrosse :lacrosse:<br> ladder :ladder:<br> lady_beetle :lady_beetle:<br> large_blue_diamond :large_blue_diamond:<br> large_orange_diamond :large_orange_diamond:<br> last_quarter_moon :last_quarter_moon:<br> last_quarter_moon_with_face :last_quarter_moon_with_face:<br> laughing :laughing:<br> leafy_green :leafy_green:<br> leaves :leaves:<br> ledger :ledger:<br> left_facing_fist :left_facing_fist:<br> left_facing_fist_tone1 :left_facing_fist_tone1:<br> left_facing_fist_tone2 :left_facing_fist_tone2:<br> left_facing_fist_tone3 :left_facing_fist_tone3:<br> left_facing_fist_tone4 :left_facing_fist_tone4:<br> left_facing_fist_tone5 :left_facing_fist_tone5:<br> left_luggage :left_luggage:<br> left_right_arrow :left_right_arrow:<br> leftwards_arrow_with_hook :leftwards_arrow_with_hook:<br> leftwards_hand :leftwards_hand:<br> leftwards_hand_tone1 :leftwards_hand_tone1:<br> leftwards_hand_tone2 :leftwards_hand_tone2:<br> leftwards_hand_tone3 :leftwards_hand_tone3:<br> leftwards_hand_tone4 :leftwards_hand_tone4:<br> leftwards_hand_tone5 :leftwards_hand_tone5:<br> leftwards_pushing_hand :leftwards_pushing_hand:<br> leftwards_pushing_hand_tone1 :leftwards_pushing_hand_tone1:<br> leftwards_pushing_hand_tone2 :leftwards_pushing_hand_tone2:<br> leftwards_pushing_hand_tone3 :leftwards_pushing_hand_tone3:<br> leftwards_pushing_hand_tone4 :leftwards_pushing_hand_tone4:<br> leftwards_pushing_hand_tone5 :leftwards_pushing_hand_tone5:<br> leg :leg:<br> leg_tone1 :leg_tone1:<br> leg_tone2 :leg_tone2:<br> leg_tone3 :leg_tone3:<br> leg_tone4 :leg_tone4:<br> leg_tone5 :leg_tone5:<br> lemon :lemon:<br> leo :leo:<br> leopard :leopard:<br> level_slider :level_slider:<br> levitate :levitate:<br> levitate_tone1 :levitate_tone1:<br> levitate_tone2 :levitate_tone2:<br> levitate_tone3 :levitate_tone3:<br> levitate_tone4 :levitate_tone4:<br> levitate_tone5 :levitate_tone5:<br> libra :libra:<br> light_blue_heart :light_blue_heart:<br> light_rail :light_rail:<br> link :link:<br> lion_face :lion_face:<br> lips :lips:<br> lipstick :lipstick:<br> lizard :lizard:<br> llama :llama:<br> lobster :lobster:<br> lock :lock:<br> lock_with_ink_pen :lock_with_ink_pen:<br> lollipop :lollipop:<br> long_drum :long_drum:<br> loop :loop:<br> lotus :lotus:<br> loud_sound :loud_sound:<br> loudspeaker :loudspeaker:<br> love_hotel :love_hotel:<br> love_letter :love_letter:<br> love_you_gesture :love_you_gesture:<br> love_you_gesture_tone1 :love_you_gesture_tone1:<br> love_you_gesture_tone2 :love_you_gesture_tone2:<br> love_you_gesture_tone3 :love_you_gesture_tone3:<br> love_you_gesture_tone4 :love_you_gesture_tone4:<br> love_you_gesture_tone5 :love_you_gesture_tone5:<br> low_battery :low_battery:<br> low_brightness :low_brightness:<br> luggage :luggage:<br> lungs :lungs:<br> lying_face :lying_face:<br> m :m:<br> mag :mag:<br> mag_right :mag_right:<br> mage :mage:<br> mage_tone1 :mage_tone1:<br> mage_tone2 :mage_tone2:<br> mage_tone3 :mage_tone3:<br> mage_tone4 :mage_tone4:<br> mage_tone5 :mage_tone5:<br> magic_wand :magic_wand:<br> magnet :magnet:<br> mahjong :mahjong:<br> mailbox :mailbox:<br> mailbox_closed :mailbox_closed:<br> mailbox_with_mail :mailbox_with_mail:<br> mailbox_with_no_mail :mailbox_with_no_mail:<br> male_sign :male_sign:<br> mammoth :mammoth:<br> man :man:<br> man_artist :man_artist:<br> man_artist_tone1 :man_artist_tone1:<br> man_artist_tone2 :man_artist_tone2:<br> man_artist_tone3 :man_artist_tone3:<br> man_artist_tone4 :man_artist_tone4:<br> man_artist_tone5 :man_artist_tone5:<br> man_astronaut :man_astronaut:<br> man_astronaut_tone1 :man_astronaut_tone1:<br> man_astronaut_tone2 :man_astronaut_tone2:<br> man_astronaut_tone3 :man_astronaut_tone3:<br> man_astronaut_tone4 :man_astronaut_tone4:<br> man_astronaut_tone5 :man_astronaut_tone5:<br> man_bald :man_bald:<br> man_bald_tone1 :man_bald_tone1:<br> man_bald_tone2 :man_bald_tone2:<br> man_bald_tone3 :man_bald_tone3:<br> man_bald_tone4 :man_bald_tone4:<br> man_bald_tone5 :man_bald_tone5:<br> man_beard :man_beard:<br> man_biking :man_biking:<br> man_biking_tone1 :man_biking_tone1:<br> man_biking_tone2 :man_biking_tone2:<br> man_biking_tone3 :man_biking_tone3:<br> man_biking_tone4 :man_biking_tone4:<br> man_biking_tone5 :man_biking_tone5:<br> man_bouncing_ball :man_bouncing_ball:<br> man_bouncing_ball_tone1 :man_bouncing_ball_tone1:<br> man_bouncing_ball_tone2 :man_bouncing_ball_tone2:<br> man_bouncing_ball_tone3 :man_bouncing_ball_tone3:<br> man_bouncing_ball_tone4 :man_bouncing_ball_tone4:<br> man_bouncing_ball_tone5 :man_bouncing_ball_tone5:<br> man_bowing :man_bowing:<br> man_bowing_tone1 :man_bowing_tone1:<br> man_bowing_tone2 :man_bowing_tone2:<br> man_bowing_tone3 :man_bowing_tone3:<br> man_bowing_tone4 :man_bowing_tone4:<br> man_bowing_tone5 :man_bowing_tone5:<br> man_cartwheeling :man_cartwheeling:<br> man_cartwheeling_tone1 :man_cartwheeling_tone1:<br> man_cartwheeling_tone2 :man_cartwheeling_tone2:<br> man_cartwheeling_tone3 :man_cartwheeling_tone3:<br> man_cartwheeling_tone4 :man_cartwheeling_tone4:<br> man_cartwheeling_tone5 :man_cartwheeling_tone5:<br> man_climbing :man_climbing:<br> man_climbing_tone1 :man_climbing_tone1:<br> man_climbing_tone2 :man_climbing_tone2:<br> man_climbing_tone3 :man_climbing_tone3:<br> man_climbing_tone4 :man_climbing_tone4:<br> man_climbing_tone5 :man_climbing_tone5:<br> man_construction_worker :man_construction_worker:<br> man_construction_worker_tone1 :man_construction_worker_tone1:<br> man_construction_worker_tone2 :man_construction_worker_tone2:<br> man_construction_worker_tone3 :man_construction_worker_tone3:<br> man_construction_worker_tone4 :man_construction_worker_tone4:<br> man_construction_worker_tone5 :man_construction_worker_tone5:<br> man_cook :man_cook:<br> man_cook_tone1 :man_cook_tone1:<br> man_cook_tone2 :man_cook_tone2:<br> man_cook_tone3 :man_cook_tone3:<br> man_cook_tone4 :man_cook_tone4:<br> man_cook_tone5 :man_cook_tone5:<br> man_curly_haired :man_curly_haired:<br> man_curly_haired_tone1 :man_curly_haired_tone1:<br> man_curly_haired_tone2 :man_curly_haired_tone2:<br> man_curly_haired_tone3 :man_curly_haired_tone3:<br> man_curly_haired_tone4 :man_curly_haired_tone4:<br> man_curly_haired_tone5 :man_curly_haired_tone5:<br> man_dancing :man_dancing:<br> man_dancing_tone1 :man_dancing_tone1:<br> man_dancing_tone2 :man_dancing_tone2:<br> man_dancing_tone3 :man_dancing_tone3:<br> man_dancing_tone4 :man_dancing_tone4:<br> man_dancing_tone5 :man_dancing_tone5:<br> man_detective :man_detective:<br> man_detective_tone1 :man_detective_tone1:<br> man_detective_tone2 :man_detective_tone2:<br> man_detective_tone3 :man_detective_tone3:<br> man_detective_tone4 :man_detective_tone4:<br> man_detective_tone5 :man_detective_tone5:<br> man_elf :man_elf:<br> man_elf_tone1 :man_elf_tone1:<br> man_elf_tone2 :man_elf_tone2:<br> man_elf_tone3 :man_elf_tone3:<br> man_elf_tone4 :man_elf_tone4:<br> man_elf_tone5 :man_elf_tone5:<br> man_facepalming :man_facepalming:<br> man_facepalming_tone1 :man_facepalming_tone1:<br> man_facepalming_tone2 :man_facepalming_tone2:<br> man_facepalming_tone3 :man_facepalming_tone3:<br> man_facepalming_tone4 :man_facepalming_tone4:<br> man_facepalming_tone5 :man_facepalming_tone5:<br> man_factory_worker :man_factory_worker:<br> man_factory_worker_tone1 :man_factory_worker_tone1:<br> man_factory_worker_tone2 :man_factory_worker_tone2:<br> man_factory_worker_tone3 :man_factory_worker_tone3:<br> man_factory_worker_tone4 :man_factory_worker_tone4:<br> man_factory_worker_tone5 :man_factory_worker_tone5:<br> man_fairy :man_fairy:<br> man_fairy_tone1 :man_fairy_tone1:<br> man_fairy_tone2 :man_fairy_tone2:<br> man_fairy_tone3 :man_fairy_tone3:<br> man_fairy_tone4 :man_fairy_tone4:<br> man_fairy_tone5 :man_fairy_tone5:<br> man_farmer :man_farmer:<br> man_farmer_tone1 :man_farmer_tone1:<br> man_farmer_tone2 :man_farmer_tone2:<br> man_farmer_tone3 :man_farmer_tone3:<br> man_farmer_tone4 :man_farmer_tone4:<br> man_farmer_tone5 :man_farmer_tone5:<br> man_feeding_baby :man_feeding_baby:<br> man_feeding_baby_tone1 :man_feeding_baby_tone1:<br> man_feeding_baby_tone2 :man_feeding_baby_tone2:<br> man_feeding_baby_tone3 :man_feeding_baby_tone3:<br> man_feeding_baby_tone4 :man_feeding_baby_tone4:<br> man_feeding_baby_tone5 :man_feeding_baby_tone5:<br> man_firefighter :man_firefighter:<br> man_firefighter_tone1 :man_firefighter_tone1:<br> man_firefighter_tone2 :man_firefighter_tone2:<br> man_firefighter_tone3 :man_firefighter_tone3:<br> man_firefighter_tone4 :man_firefighter_tone4:<br> man_firefighter_tone5 :man_firefighter_tone5:<br> man_frowning :man_frowning:<br> man_frowning_tone1 :man_frowning_tone1:<br> man_frowning_tone2 :man_frowning_tone2:<br> man_frowning_tone3 :man_frowning_tone3:<br> man_frowning_tone4 :man_frowning_tone4:<br> man_frowning_tone5 :man_frowning_tone5:<br> man_genie :man_genie:<br> man_gesturing_no :man_gesturing_no:<br> man_gesturing_no_tone1 :man_gesturing_no_tone1:<br> man_gesturing_no_tone2 :man_gesturing_no_tone2:<br> man_gesturing_no_tone3 :man_gesturing_no_tone3:<br> man_gesturing_no_tone4 :man_gesturing_no_tone4:<br> man_gesturing_no_tone5 :man_gesturing_no_tone5:<br> man_gesturing_ok :man_gesturing_ok:<br> man_gesturing_ok_tone1 :man_gesturing_ok_tone1:<br> man_gesturing_ok_tone2 :man_gesturing_ok_tone2:<br> man_gesturing_ok_tone3 :man_gesturing_ok_tone3:<br> man_gesturing_ok_tone4 :man_gesturing_ok_tone4:<br> man_gesturing_ok_tone5 :man_gesturing_ok_tone5:<br> man_getting_face_massage :man_getting_face_massage:<br> man_getting_face_massage_tone1 :man_getting_face_massage_tone1:<br> man_getting_face_massage_tone2 :man_getting_face_massage_tone2:<br> man_getting_face_massage_tone3 :man_getting_face_massage_tone3:<br> man_getting_face_massage_tone4 :man_getting_face_massage_tone4:<br> man_getting_face_massage_tone5 :man_getting_face_massage_tone5:<br> man_getting_haircut :man_getting_haircut:<br> man_getting_haircut_tone1 :man_getting_haircut_tone1:<br> man_getting_haircut_tone2 :man_getting_haircut_tone2:<br> man_getting_haircut_tone3 :man_getting_haircut_tone3:<br> man_getting_haircut_tone4 :man_getting_haircut_tone4:<br> man_getting_haircut_tone5 :man_getting_haircut_tone5:<br> man_golfing :man_golfing:<br> man_golfing_tone1 :man_golfing_tone1:<br> man_golfing_tone2 :man_golfing_tone2:<br> man_golfing_tone3 :man_golfing_tone3:<br> man_golfing_tone4 :man_golfing_tone4:<br> man_golfing_tone5 :man_golfing_tone5:<br> man_guard :man_guard:<br> man_guard_tone1 :man_guard_tone1:<br> man_guard_tone2 :man_guard_tone2:<br> man_guard_tone3 :man_guard_tone3:<br> man_guard_tone4 :man_guard_tone4:<br> man_guard_tone5 :man_guard_tone5:<br> man_health_worker :man_health_worker:<br> man_health_worker_tone1 :man_health_worker_tone1:<br> man_health_worker_tone2 :man_health_worker_tone2:<br> man_health_worker_tone3 :man_health_worker_tone3:<br> man_health_worker_tone4 :man_health_worker_tone4:<br> man_health_worker_tone5 :man_health_worker_tone5:<br> man_in_lotus_position :man_in_lotus_position:<br> man_in_lotus_position_tone1 :man_in_lotus_position_tone1:<br> man_in_lotus_position_tone2 :man_in_lotus_position_tone2:<br> man_in_lotus_position_tone3 :man_in_lotus_position_tone3:<br> man_in_lotus_position_tone4 :man_in_lotus_position_tone4:<br> man_in_lotus_position_tone5 :man_in_lotus_position_tone5:<br> man_in_manual_wheelchair :man_in_manual_wheelchair:<br> man_in_manual_wheelchair_tone1 :man_in_manual_wheelchair_tone1:<br> man_in_manual_wheelchair_tone2 :man_in_manual_wheelchair_tone2:<br> man_in_manual_wheelchair_tone3 :man_in_manual_wheelchair_tone3:<br> man_in_manual_wheelchair_tone4 :man_in_manual_wheelchair_tone4:<br> man_in_manual_wheelchair_tone5 :man_in_manual_wheelchair_tone5:<br> man_in_motorized_wheelchair :man_in_motorized_wheelchair:<br> man_in_motorized_wheelchair_tone1 :man_in_motorized_wheelchair_tone1:<br> man_in_motorized_wheelchair_tone2 :man_in_motorized_wheelchair_tone2:<br> man_in_motorized_wheelchair_tone3 :man_in_motorized_wheelchair_tone3:<br> man_in_motorized_wheelchair_tone4 :man_in_motorized_wheelchair_tone4:<br> man_in_motorized_wheelchair_tone5 :man_in_motorized_wheelchair_tone5:<br> man_in_santa_hat :man_in_santa_hat:<br> man_in_santa_hat_tone1 :man_in_santa_hat_tone1:<br> man_in_santa_hat_tone2 :man_in_santa_hat_tone2:<br> man_in_santa_hat_tone3 :man_in_santa_hat_tone3:<br> man_in_santa_hat_tone4 :man_in_santa_hat_tone4:<br> man_in_santa_hat_tone5 :man_in_santa_hat_tone5:<br> man_in_steamy_room :man_in_steamy_room:<br> man_in_steamy_room_tone1 :man_in_steamy_room_tone1:<br> man_in_steamy_room_tone2 :man_in_steamy_room_tone2:<br> man_in_steamy_room_tone3 :man_in_steamy_room_tone3:<br> man_in_steamy_room_tone4 :man_in_steamy_room_tone4:<br> man_in_steamy_room_tone5 :man_in_steamy_room_tone5:<br> man_in_tuxedo :man_in_tuxedo:<br> man_in_tuxedo_tone1 :man_in_tuxedo_tone1:<br> man_in_tuxedo_tone2 :man_in_tuxedo_tone2:<br> man_in_tuxedo_tone3 :man_in_tuxedo_tone3:<br> man_in_tuxedo_tone4 :man_in_tuxedo_tone4:<br> man_in_tuxedo_tone5 :man_in_tuxedo_tone5:<br> man_judge :man_judge:<br> man_judge_tone1 :man_judge_tone1:<br> man_judge_tone2 :man_judge_tone2:<br> man_judge_tone3 :man_judge_tone3:<br> man_judge_tone4 :man_judge_tone4:<br> man_judge_tone5 :man_judge_tone5:<br> man_juggling :man_juggling:<br> man_juggling_tone1 :man_juggling_tone1:<br> man_juggling_tone2 :man_juggling_tone2:<br> man_juggling_tone3 :man_juggling_tone3:<br> man_juggling_tone4 :man_juggling_tone4:<br> man_juggling_tone5 :man_juggling_tone5:<br> man_kneeling :man_kneeling:<br> man_kneeling_tone1 :man_kneeling_tone1:<br> man_kneeling_tone2 :man_kneeling_tone2:<br> man_kneeling_tone3 :man_kneeling_tone3:<br> man_kneeling_tone4 :man_kneeling_tone4:<br> man_kneeling_tone5 :man_kneeling_tone5:<br> man_lifting_weights :man_lifting_weights:<br> man_lifting_weights_tone1 :man_lifting_weights_tone1:<br> man_lifting_weights_tone2 :man_lifting_weights_tone2:<br> man_lifting_weights_tone3 :man_lifting_weights_tone3:<br> man_lifting_weights_tone4 :man_lifting_weights_tone4:<br> man_lifting_weights_tone5 :man_lifting_weights_tone5:<br> man_mage :man_mage:<br> man_mage_tone1 :man_mage_tone1:<br> man_mage_tone2 :man_mage_tone2:<br> man_mage_tone3 :man_mage_tone3:<br> man_mage_tone4 :man_mage_tone4:<br> man_mage_tone5 :man_mage_tone5:<br> man_mechanic :man_mechanic:<br> man_mechanic_tone1 :man_mechanic_tone1:<br> man_mechanic_tone2 :man_mechanic_tone2:<br> man_mechanic_tone3 :man_mechanic_tone3:<br> man_mechanic_tone4 :man_mechanic_tone4:<br> man_mechanic_tone5 :man_mechanic_tone5:<br> man_mountain_biking :man_mountain_biking:<br> man_mountain_biking_tone1 :man_mountain_biking_tone1:<br> man_mountain_biking_tone2 :man_mountain_biking_tone2:<br> man_mountain_biking_tone3 :man_mountain_biking_tone3:<br> man_mountain_biking_tone4 :man_mountain_biking_tone4:<br> man_mountain_biking_tone5 :man_mountain_biking_tone5:<br> man_office_worker :man_office_worker:<br> man_office_worker_tone1 :man_office_worker_tone1:<br> man_office_worker_tone2 :man_office_worker_tone2:<br> man_office_worker_tone3 :man_office_worker_tone3:<br> man_office_worker_tone4 :man_office_worker_tone4:<br> man_office_worker_tone5 :man_office_worker_tone5:<br> man_pilot :man_pilot:<br> man_pilot_tone1 :man_pilot_tone1:<br> man_pilot_tone2 :man_pilot_tone2:<br> man_pilot_tone3 :man_pilot_tone3:<br> man_pilot_tone4 :man_pilot_tone4:<br> man_pilot_tone5 :man_pilot_tone5:<br> man_playing_handball :man_playing_handball:<br> man_playing_handball_tone1 :man_playing_handball_tone1:<br> man_playing_handball_tone2 :man_playing_handball_tone2:<br> man_playing_handball_tone3 :man_playing_handball_tone3:<br> man_playing_handball_tone4 :man_playing_handball_tone4:<br> man_playing_handball_tone5 :man_playing_handball_tone5:<br> man_playing_water_polo :man_playing_water_polo:<br> man_playing_water_polo_tone1 :man_playing_water_polo_tone1:<br> man_playing_water_polo_tone2 :man_playing_water_polo_tone2:<br> man_playing_water_polo_tone3 :man_playing_water_polo_tone3:<br> man_playing_water_polo_tone4 :man_playing_water_polo_tone4:<br> man_playing_water_polo_tone5 :man_playing_water_polo_tone5:<br> man_police_officer :man_police_officer:<br> man_police_officer_tone1 :man_police_officer_tone1:<br> man_police_officer_tone2 :man_police_officer_tone2:<br> man_police_officer_tone3 :man_police_officer_tone3:<br> man_police_officer_tone4 :man_police_officer_tone4:<br> man_police_officer_tone5 :man_police_officer_tone5:<br> man_pouting :man_pouting:<br> man_pouting_tone1 :man_pouting_tone1:<br> man_pouting_tone2 :man_pouting_tone2:<br> man_pouting_tone3 :man_pouting_tone3:<br> man_pouting_tone4 :man_pouting_tone4:<br> man_pouting_tone5 :man_pouting_tone5:<br> man_raising_hand :man_raising_hand:<br> man_raising_hand_tone1 :man_raising_hand_tone1:<br> man_raising_hand_tone2 :man_raising_hand_tone2:<br> man_raising_hand_tone3 :man_raising_hand_tone3:<br> man_raising_hand_tone4 :man_raising_hand_tone4:<br> man_raising_hand_tone5 :man_raising_hand_tone5:<br> man_red_haired :man_red_haired:<br> man_red_haired_tone1 :man_red_haired_tone1:<br> man_red_haired_tone2 :man_red_haired_tone2:<br> man_red_haired_tone3 :man_red_haired_tone3:<br> man_red_haired_tone4 :man_red_haired_tone4:<br> man_red_haired_tone5 :man_red_haired_tone5:<br> man_rowing_boat :man_rowing_boat:<br> man_rowing_boat_tone1 :man_rowing_boat_tone1:<br> man_rowing_boat_tone2 :man_rowing_boat_tone2:<br> man_rowing_boat_tone3 :man_rowing_boat_tone3:<br> man_rowing_boat_tone4 :man_rowing_boat_tone4:<br> man_rowing_boat_tone5 :man_rowing_boat_tone5:<br> man_running :man_running:<br> man_running_tone1 :man_running_tone1:<br> man_running_tone2 :man_running_tone2:<br> man_running_tone3 :man_running_tone3:<br> man_running_tone4 :man_running_tone4:<br> man_running_tone5 :man_running_tone5:<br> man_scientist :man_scientist:<br> man_scientist_tone1 :man_scientist_tone1:<br> man_scientist_tone2 :man_scientist_tone2:<br> man_scientist_tone3 :man_scientist_tone3:<br> man_scientist_tone4 :man_scientist_tone4:<br> man_scientist_tone5 :man_scientist_tone5:<br> man_shrugging :man_shrugging:<br> man_shrugging_tone1 :man_shrugging_tone1:<br> man_shrugging_tone2 :man_shrugging_tone2:<br> man_shrugging_tone3 :man_shrugging_tone3:<br> man_shrugging_tone4 :man_shrugging_tone4:<br> man_shrugging_tone5 :man_shrugging_tone5:<br> man_singer :man_singer:<br> man_singer_tone1 :man_singer_tone1:<br> man_singer_tone2 :man_singer_tone2:<br> man_singer_tone3 :man_singer_tone3:<br> man_singer_tone4 :man_singer_tone4:<br> man_singer_tone5 :man_singer_tone5:<br> man_standing :man_standing:<br> man_standing_tone1 :man_standing_tone1:<br> man_standing_tone2 :man_standing_tone2:<br> man_standing_tone3 :man_standing_tone3:<br> man_standing_tone4 :man_standing_tone4:<br> man_standing_tone5 :man_standing_tone5:<br> man_student :man_student:<br> man_student_tone1 :man_student_tone1:<br> man_student_tone2 :man_student_tone2:<br> man_student_tone3 :man_student_tone3:<br> man_student_tone4 :man_student_tone4:<br> man_student_tone5 :man_student_tone5:<br> man_superhero :man_superhero:<br> man_superhero_tone1 :man_superhero_tone1:<br> man_superhero_tone2 :man_superhero_tone2:<br> man_superhero_tone3 :man_superhero_tone3:<br> man_superhero_tone4 :man_superhero_tone4:<br> man_superhero_tone5 :man_superhero_tone5:<br> man_supervillain :man_supervillain:<br> man_supervillain_tone1 :man_supervillain_tone1:<br> man_supervillain_tone2 :man_supervillain_tone2:<br> man_supervillain_tone3 :man_supervillain_tone3:<br> man_supervillain_tone4 :man_supervillain_tone4:<br> man_supervillain_tone5 :man_supervillain_tone5:<br> man_surfing :man_surfing:<br> man_surfing_tone1 :man_surfing_tone1:<br> man_surfing_tone2 :man_surfing_tone2:<br> man_surfing_tone3 :man_surfing_tone3:<br> man_surfing_tone4 :man_surfing_tone4:<br> man_surfing_tone5 :man_surfing_tone5:<br> man_swimming :man_swimming:<br> man_swimming_tone1 :man_swimming_tone1:<br> man_swimming_tone2 :man_swimming_tone2:<br> man_swimming_tone3 :man_swimming_tone3:<br> man_swimming_tone4 :man_swimming_tone4:<br> man_swimming_tone5 :man_swimming_tone5:<br> man_teacher :man_teacher:<br> man_teacher_tone1 :man_teacher_tone1:<br> man_teacher_tone2 :man_teacher_tone2:<br> man_teacher_tone3 :man_teacher_tone3:<br> man_teacher_tone4 :man_teacher_tone4:<br> man_teacher_tone5 :man_teacher_tone5:<br> man_technologist :man_technologist:<br> man_technologist_tone1 :man_technologist_tone1:<br> man_technologist_tone2 :man_technologist_tone2:<br> man_technologist_tone3 :man_technologist_tone3:<br> man_technologist_tone4 :man_technologist_tone4:<br> man_technologist_tone5 :man_technologist_tone5:<br> man_tipping_hand :man_tipping_hand:<br> man_tipping_hand_tone1 :man_tipping_hand_tone1:<br> man_tipping_hand_tone2 :man_tipping_hand_tone2:<br> man_tipping_hand_tone3 :man_tipping_hand_tone3:<br> man_tipping_hand_tone4 :man_tipping_hand_tone4:<br> man_tipping_hand_tone5 :man_tipping_hand_tone5:<br> man_tone1 :man_tone1:<br> man_tone1_beard :man_tone1_beard:<br> man_tone2 :man_tone2:<br> man_tone2_beard :man_tone2_beard:<br> man_tone3 :man_tone3:<br> man_tone3_beard :man_tone3_beard:<br> man_tone4 :man_tone4:<br> man_tone4_beard :man_tone4_beard:<br> man_tone5 :man_tone5:<br> man_tone5_beard :man_tone5_beard:<br> man_vampire :man_vampire:<br> man_vampire_tone1 :man_vampire_tone1:<br> man_vampire_tone2 :man_vampire_tone2:<br> man_vampire_tone3 :man_vampire_tone3:<br> man_vampire_tone4 :man_vampire_tone4:<br> man_vampire_tone5 :man_vampire_tone5:<br> man_walking :man_walking:<br> man_walking_tone1 :man_walking_tone1:<br> man_walking_tone2 :man_walking_tone2:<br> man_walking_tone3 :man_walking_tone3:<br> man_walking_tone4 :man_walking_tone4:<br> man_walking_tone5 :man_walking_tone5:<br> man_wearing_turban :man_wearing_turban:<br> man_wearing_turban_tone1 :man_wearing_turban_tone1:<br> man_wearing_turban_tone2 :man_wearing_turban_tone2:<br> man_wearing_turban_tone3 :man_wearing_turban_tone3:<br> man_wearing_turban_tone4 :man_wearing_turban_tone4:<br> man_wearing_turban_tone5 :man_wearing_turban_tone5:<br> man_white_haired :man_white_haired:<br> man_white_haired_tone1 :man_white_haired_tone1:<br> man_white_haired_tone2 :man_white_haired_tone2:<br> man_white_haired_tone3 :man_white_haired_tone3:<br> man_white_haired_tone4 :man_white_haired_tone4:<br> man_white_haired_tone5 :man_white_haired_tone5:<br> man_with_chinese_cap :man_with_chinese_cap:<br> man_with_chinese_cap_tone1 :man_with_chinese_cap_tone1:<br> man_with_chinese_cap_tone2 :man_with_chinese_cap_tone2:<br> man_with_chinese_cap_tone3 :man_with_chinese_cap_tone3:<br> man_with_chinese_cap_tone4 :man_with_chinese_cap_tone4:<br> man_with_chinese_cap_tone5 :man_with_chinese_cap_tone5:<br> man_with_probing_cane :man_with_probing_cane:<br> man_with_probing_cane_tone1 :man_with_probing_cane_tone1:<br> man_with_probing_cane_tone2 :man_with_probing_cane_tone2:<br> man_with_probing_cane_tone3 :man_with_probing_cane_tone3:<br> man_with_probing_cane_tone4 :man_with_probing_cane_tone4:<br> man_with_probing_cane_tone5 :man_with_probing_cane_tone5:<br> man_with_veil :man_with_veil:<br> man_with_veil_tone1 :man_with_veil_tone1:<br> man_with_veil_tone2 :man_with_veil_tone2:<br> man_with_veil_tone3 :man_with_veil_tone3:<br> man_with_veil_tone4 :man_with_veil_tone4:<br> man_with_veil_tone5 :man_with_veil_tone5:<br> man_zombie :man_zombie:<br> mango :mango:<br> mans_shoe :mans_shoe:<br> manual_wheelchair :manual_wheelchair:<br> map :map:<br> maple_leaf :maple_leaf:<br> maracas :maracas:<br> martial_arts_uniform :martial_arts_uniform:<br> mask :mask:<br> mate :mate:<br> meat_on_bone :meat_on_bone:<br> mechanic :mechanic:<br> mechanic_tone1 :mechanic_tone1:<br> mechanic_tone2 :mechanic_tone2:<br> mechanic_tone3 :mechanic_tone3:<br> mechanic_tone4 :mechanic_tone4:<br> mechanic_tone5 :mechanic_tone5:<br> mechanical_arm :mechanical_arm:<br> mechanical_leg :mechanical_leg:<br> medal :medal:<br> medical_symbol :medical_symbol:<br> mega :mega:<br> melon :melon:<br> melting_face :melting_face:<br> men_holding_hands_tone1 :men_holding_hands_tone1:<br> men_holding_hands_tone1_tone2 :men_holding_hands_tone1_tone2:<br> men_holding_hands_tone1_tone3 :men_holding_hands_tone1_tone3:<br> men_holding_hands_tone1_tone4 :men_holding_hands_tone1_tone4:<br> men_holding_hands_tone1_tone5 :men_holding_hands_tone1_tone5:<br> men_holding_hands_tone2 :men_holding_hands_tone2:<br> men_holding_hands_tone2_tone1 :men_holding_hands_tone2_tone1:<br> men_holding_hands_tone2_tone3 :men_holding_hands_tone2_tone3:<br> men_holding_hands_tone2_tone4 :men_holding_hands_tone2_tone4:<br> men_holding_hands_tone2_tone5 :men_holding_hands_tone2_tone5:<br> men_holding_hands_tone3 :men_holding_hands_tone3:<br> men_holding_hands_tone3_tone1 :men_holding_hands_tone3_tone1:<br> men_holding_hands_tone3_tone2 :men_holding_hands_tone3_tone2:<br> men_holding_hands_tone3_tone4 :men_holding_hands_tone3_tone4:<br> men_holding_hands_tone3_tone5 :men_holding_hands_tone3_tone5:<br> men_holding_hands_tone4 :men_holding_hands_tone4:<br> men_holding_hands_tone4_tone1 :men_holding_hands_tone4_tone1:<br> men_holding_hands_tone4_tone2 :men_holding_hands_tone4_tone2:<br> men_holding_hands_tone4_tone3 :men_holding_hands_tone4_tone3:<br> men_holding_hands_tone4_tone5 :men_holding_hands_tone4_tone5:<br> men_holding_hands_tone5 :men_holding_hands_tone5:<br> men_holding_hands_tone5_tone1 :men_holding_hands_tone5_tone1:<br> men_holding_hands_tone5_tone2 :men_holding_hands_tone5_tone2:<br> men_holding_hands_tone5_tone3 :men_holding_hands_tone5_tone3:<br> men_holding_hands_tone5_tone4 :men_holding_hands_tone5_tone4:<br> men_with_bunny_ears_partying :men_with_bunny_ears_partying:<br> men_wrestling :men_wrestling:<br> mending_heart :mending_heart:<br> menorah :menorah:<br> mens :mens:<br> mermaid :mermaid:<br> mermaid_tone1 :mermaid_tone1:<br> mermaid_tone2 :mermaid_tone2:<br> mermaid_tone3 :mermaid_tone3:<br> mermaid_tone4 :mermaid_tone4:<br> mermaid_tone5 :mermaid_tone5:<br> merman :merman:<br> merman_tone1 :merman_tone1:<br> merman_tone2 :merman_tone2:<br> merman_tone3 :merman_tone3:<br> merman_tone4 :merman_tone4:<br> merman_tone5 :merman_tone5:<br> merperson :merperson:<br> merperson_tone1 :merperson_tone1:<br> merperson_tone2 :merperson_tone2:<br> merperson_tone3 :merperson_tone3:<br> merperson_tone4 :merperson_tone4:<br> merperson_tone5 :merperson_tone5:<br> metal :metal:<br> metal_tone1 :metal_tone1:<br> metal_tone2 :metal_tone2:<br> metal_tone3 :metal_tone3:<br> metal_tone4 :metal_tone4:<br> metal_tone5 :metal_tone5:<br> metro :metro:<br> microbe :microbe:<br> microphone2 :microphone2:<br> microphone :microphone:<br> microscope :microscope:<br> middle_finger :middle_finger:<br> middle_finger_tone1 :middle_finger_tone1:<br> middle_finger_tone2 :middle_finger_tone2:<br> middle_finger_tone3 :middle_finger_tone3:<br> middle_finger_tone4 :middle_finger_tone4:<br> middle_finger_tone5 :middle_finger_tone5:<br> military_helmet :military_helmet:<br> military_medal :military_medal:<br> milk :milk:<br> milky_way :milky_way:<br> minibus :minibus:<br> minidisc :minidisc:<br> mirror :mirror:<br> mirror_ball :mirror_ball:<br> mobile_phone :mobile_phone:<br> mobile_phone_off :mobile_phone_off:<br> money_mouth :money_mouth:<br> money_with_wings :money_with_wings:<br> moneybag :moneybag:<br> monkey :monkey:<br> monkey_face :monkey_face:<br> monorail :monorail:<br> moon_cake :moon_cake:<br> moose :moose:<br> mortar_board :mortar_board:<br> mosque :mosque:<br> mosquito :mosquito:<br> motor_scooter :motor_scooter:<br> motorboat :motorboat:<br> motorcycle :motorcycle:<br> motorized_wheelchair :motorized_wheelchair:<br> motorway :motorway:<br> mount_fuji :mount_fuji:<br> mountain :mountain:<br> mountain_cableway :mountain_cableway:<br> mountain_railway :mountain_railway:<br> mountain_snow :mountain_snow:<br> mouse2 :mouse2:<br> mouse :mouse:<br> mouse_three_button :mouse_three_button:<br> mouse_trap :mouse_trap:<br> movie_camera :movie_camera:<br> moyai :moyai:<br> mrs_claus :mrs_claus:<br> mrs_claus_tone1 :mrs_claus_tone1:<br> mrs_claus_tone2 :mrs_claus_tone2:<br> mrs_claus_tone3 :mrs_claus_tone3:<br> mrs_claus_tone4 :mrs_claus_tone4:<br> mrs_claus_tone5 :mrs_claus_tone5:<br> muscle :muscle:<br> muscle_tone1 :muscle_tone1:<br> muscle_tone2 :muscle_tone2:<br> muscle_tone3 :muscle_tone3:<br> muscle_tone4 :muscle_tone4:<br> muscle_tone5 :muscle_tone5:<br> mushroom :mushroom:<br> musical_keyboard :musical_keyboard:<br> musical_note :musical_note:<br> musical_score :musical_score:<br> mute :mute:<br> mx_claus :mx_claus:<br> mx_claus_tone1 :mx_claus_tone1:<br> mx_claus_tone2 :mx_claus_tone2:<br> mx_claus_tone3 :mx_claus_tone3:<br> mx_claus_tone4 :mx_claus_tone4:<br> mx_claus_tone5 :mx_claus_tone5:<br> nail_care :nail_care:<br> nail_care_tone1 :nail_care_tone1:<br> nail_care_tone2 :nail_care_tone2:<br> nail_care_tone3 :nail_care_tone3:<br> nail_care_tone4 :nail_care_tone4:<br> nail_care_tone5 :nail_care_tone5:<br> name_badge :name_badge:<br> nauseated_face :nauseated_face:<br> nazar_amulet :nazar_amulet:<br> necktie :necktie:<br> negative_squared_cross_mark :negative_squared_cross_mark:<br> nerd :nerd:<br> nest_with_eggs :nest_with_eggs:<br> nesting_dolls :nesting_dolls:<br> neutral_face :neutral_face:<br> new :new:<br> new_moon :new_moon:<br> new_moon_with_face :new_moon_with_face:<br> newspaper2 :newspaper2:<br> newspaper :newspaper:<br> ng :ng:<br> night_with_stars :night_with_stars:<br> nine :nine:<br> ninja :ninja:<br> ninja_tone1 :ninja_tone1:<br> ninja_tone2 :ninja_tone2:<br> ninja_tone3 :ninja_tone3:<br> ninja_tone4 :ninja_tone4:<br> ninja_tone5 :ninja_tone5:<br> no_bell :no_bell:<br> no_bicycles :no_bicycles:<br> no_entry :no_entry:<br> no_entry_sign :no_entry_sign:<br> no_mobile_phones :no_mobile_phones:<br> no_mouth :no_mouth:<br> no_pedestrians :no_pedestrians:<br> no_smoking :no_smoking:<br> non-potable_water :non-potable_water:<br> nose :nose:<br> nose_tone1 :nose_tone1:<br> nose_tone2 :nose_tone2:<br> nose_tone3 :nose_tone3:<br> nose_tone4 :nose_tone4:<br> nose_tone5 :nose_tone5:<br> notebook :notebook:<br> notebook_with_decorative_cover :notebook_with_decorative_cover:<br> notepad_spiral :notepad_spiral:<br> notes :notes:<br> nut_and_bolt :nut_and_bolt:<br> o2 :o2:<br> o :o:<br> ocean :ocean:<br> octagonal_sign :octagonal_sign:<br> octopus :octopus:<br> oden :oden:<br> office :office:<br> office_worker :office_worker:<br> office_worker_tone1 :office_worker_tone1:<br> office_worker_tone2 :office_worker_tone2:<br> office_worker_tone3 :office_worker_tone3:<br> office_worker_tone4 :office_worker_tone4:<br> office_worker_tone5 :office_worker_tone5:<br> oil :oil:<br> ok :ok:<br> ok_hand :ok_hand:<br> ok_hand_tone1 :ok_hand_tone1:<br> ok_hand_tone2 :ok_hand_tone2:<br> ok_hand_tone3 :ok_hand_tone3:<br> ok_hand_tone4 :ok_hand_tone4:<br> ok_hand_tone5 :ok_hand_tone5:<br> older_adult :older_adult:<br> older_adult_tone1 :older_adult_tone1:<br> older_adult_tone2 :older_adult_tone2:<br> older_adult_tone3 :older_adult_tone3:<br> older_adult_tone4 :older_adult_tone4:<br> older_adult_tone5 :older_adult_tone5:<br> older_man :older_man:<br> older_man_tone1 :older_man_tone1:<br> older_man_tone2 :older_man_tone2:<br> older_man_tone3 :older_man_tone3:<br> older_man_tone4 :older_man_tone4:<br> older_man_tone5 :older_man_tone5:<br> older_woman :older_woman:<br> older_woman_tone1 :older_woman_tone1:<br> older_woman_tone2 :older_woman_tone2:<br> older_woman_tone3 :older_woman_tone3:<br> older_woman_tone4 :older_woman_tone4:<br> older_woman_tone5 :older_woman_tone5:<br> olive :olive:<br> om_symbol :om_symbol:<br> on :on:<br> oncoming_automobile :oncoming_automobile:<br> oncoming_bus :oncoming_bus:<br> oncoming_police_car :oncoming_police_car:<br> oncoming_taxi :oncoming_taxi:<br> one :one:<br> one_piece_swimsuit :one_piece_swimsuit:<br> onion :onion:<br> open_file_folder :open_file_folder:<br> open_hands :open_hands:<br> open_hands_tone1 :open_hands_tone1:<br> open_hands_tone2 :open_hands_tone2:<br> open_hands_tone3 :open_hands_tone3:<br> open_hands_tone4 :open_hands_tone4:<br> open_hands_tone5 :open_hands_tone5:<br> open_mouth :open_mouth:<br> ophiuchus :ophiuchus:<br> orange_book :orange_book:<br> orange_circle :orange_circle:<br> orange_heart :orange_heart:<br> orange_square :orange_square:<br> orangutan :orangutan:<br> orthodox_cross :orthodox_cross:<br> otter :otter:<br> outbox_tray :outbox_tray:<br> owl :owl:<br> ox :ox:<br> oyster :oyster:<br> package :package:<br> page_facing_up :page_facing_up:<br> page_with_curl :page_with_curl:<br> pager :pager:<br> paintbrush :paintbrush:<br> palm_down_hand :palm_down_hand:<br> palm_down_hand_tone1 :palm_down_hand_tone1:<br> palm_down_hand_tone2 :palm_down_hand_tone2:<br> palm_down_hand_tone3 :palm_down_hand_tone3:<br> palm_down_hand_tone4 :palm_down_hand_tone4:<br> palm_down_hand_tone5 :palm_down_hand_tone5:<br> palm_tree :palm_tree:<br> palm_up_hand :palm_up_hand:<br> palm_up_hand_tone1 :palm_up_hand_tone1:<br> palm_up_hand_tone2 :palm_up_hand_tone2:<br> palm_up_hand_tone3 :palm_up_hand_tone3:<br> palm_up_hand_tone4 :palm_up_hand_tone4:<br> palm_up_hand_tone5 :palm_up_hand_tone5:<br> palms_up_together :palms_up_together:<br> palms_up_together_tone1 :palms_up_together_tone1:<br> palms_up_together_tone2 :palms_up_together_tone2:<br> palms_up_together_tone3 :palms_up_together_tone3:<br> palms_up_together_tone4 :palms_up_together_tone4:<br> palms_up_together_tone5 :palms_up_together_tone5:<br> pancakes :pancakes:<br> panda_face :panda_face:<br> paperclip :paperclip:<br> paperclips :paperclips:<br> parachute :parachute:<br> park :park:<br> parking :parking:<br> parrot :parrot:<br> part_alternation_mark :part_alternation_mark:<br> partly_sunny :partly_sunny:<br> partying_face :partying_face:<br> passport_control :passport_control:<br> pause_button :pause_button:<br> pea_pod :pea_pod:<br> peace :peace:<br> peach :peach:<br> peacock :peacock:<br> peanuts :peanuts:<br> pear :pear:<br> pen_ballpoint :pen_ballpoint:<br> pen_fountain :pen_fountain:<br> pencil2 :pencil2:<br> pencil :pencil:<br> penguin :penguin:<br> pensive :pensive:<br> people_holding_hands :people_holding_hands:<br> people_holding_hands_tone1 :people_holding_hands_tone1:<br> people_holding_hands_tone1_tone2 :people_holding_hands_tone1_tone2:<br> people_holding_hands_tone1_tone3 :people_holding_hands_tone1_tone3:<br> people_holding_hands_tone1_tone4 :people_holding_hands_tone1_tone4:<br> people_holding_hands_tone1_tone5 :people_holding_hands_tone1_tone5:<br> people_holding_hands_tone2 :people_holding_hands_tone2:<br> people_holding_hands_tone2_tone1 :people_holding_hands_tone2_tone1:<br> people_holding_hands_tone2_tone3 :people_holding_hands_tone2_tone3:<br> people_holding_hands_tone2_tone4 :people_holding_hands_tone2_tone4:<br> people_holding_hands_tone2_tone5 :people_holding_hands_tone2_tone5:<br> people_holding_hands_tone3 :people_holding_hands_tone3:<br> people_holding_hands_tone3_tone1 :people_holding_hands_tone3_tone1:<br> people_holding_hands_tone3_tone2 :people_holding_hands_tone3_tone2:<br> people_holding_hands_tone3_tone4 :people_holding_hands_tone3_tone4:<br> people_holding_hands_tone3_tone5 :people_holding_hands_tone3_tone5:<br> people_holding_hands_tone4 :people_holding_hands_tone4:<br> people_holding_hands_tone4_tone1 :people_holding_hands_tone4_tone1:<br> people_holding_hands_tone4_tone2 :people_holding_hands_tone4_tone2:<br> people_holding_hands_tone4_tone3 :people_holding_hands_tone4_tone3:<br> people_holding_hands_tone4_tone5 :people_holding_hands_tone4_tone5:<br> people_holding_hands_tone5 :people_holding_hands_tone5:<br> people_holding_hands_tone5_tone1 :people_holding_hands_tone5_tone1:<br> people_holding_hands_tone5_tone2 :people_holding_hands_tone5_tone2:<br> people_holding_hands_tone5_tone3 :people_holding_hands_tone5_tone3:<br> people_holding_hands_tone5_tone4 :people_holding_hands_tone5_tone4:<br> people_hugging :people_hugging:<br> people_with_bunny_ears_partying :people_with_bunny_ears_partying:<br> people_wrestling :people_wrestling:<br> performing_arts :performing_arts:<br> persevere :persevere:<br> person_bald :person_bald:<br> person_biking :person_biking:<br> person_biking_tone1 :person_biking_tone1:<br> person_biking_tone2 :person_biking_tone2:<br> person_biking_tone3 :person_biking_tone3:<br> person_biking_tone4 :person_biking_tone4:<br> person_biking_tone5 :person_biking_tone5:<br> person_bouncing_ball :person_bouncing_ball:<br> person_bouncing_ball_tone1 :person_bouncing_ball_tone1:<br> person_bouncing_ball_tone2 :person_bouncing_ball_tone2:<br> person_bouncing_ball_tone3 :person_bouncing_ball_tone3:<br> person_bouncing_ball_tone4 :person_bouncing_ball_tone4:<br> person_bouncing_ball_tone5 :person_bouncing_ball_tone5:<br> person_bowing :person_bowing:<br> person_bowing_tone1 :person_bowing_tone1:<br> person_bowing_tone2 :person_bowing_tone2:<br> person_bowing_tone3 :person_bowing_tone3:<br> person_bowing_tone4 :person_bowing_tone4:<br> person_bowing_tone5 :person_bowing_tone5:<br> person_climbing :person_climbing:<br> person_climbing_tone1 :person_climbing_tone1:<br> person_climbing_tone2 :person_climbing_tone2:<br> person_climbing_tone3 :person_climbing_tone3:<br> person_climbing_tone4 :person_climbing_tone4:<br> person_climbing_tone5 :person_climbing_tone5:<br> person_curly_hair :person_curly_hair:<br> person_doing_cartwheel :person_doing_cartwheel:<br> person_doing_cartwheel_tone1 :person_doing_cartwheel_tone1:<br> person_doing_cartwheel_tone2 :person_doing_cartwheel_tone2:<br> person_doing_cartwheel_tone3 :person_doing_cartwheel_tone3:<br> person_doing_cartwheel_tone4 :person_doing_cartwheel_tone4:<br> person_doing_cartwheel_tone5 :person_doing_cartwheel_tone5:<br> person_facepalming :person_facepalming:<br> person_facepalming_tone1 :person_facepalming_tone1:<br> person_facepalming_tone2 :person_facepalming_tone2:<br> person_facepalming_tone3 :person_facepalming_tone3:<br> person_facepalming_tone4 :person_facepalming_tone4:<br> person_facepalming_tone5 :person_facepalming_tone5:<br> person_feeding_baby :person_feeding_baby:<br> person_feeding_baby_tone1 :person_feeding_baby_tone1:<br> person_feeding_baby_tone2 :person_feeding_baby_tone2:<br> person_feeding_baby_tone3 :person_feeding_baby_tone3:<br> person_feeding_baby_tone4 :person_feeding_baby_tone4:<br> person_feeding_baby_tone5 :person_feeding_baby_tone5:<br> person_fencing :person_fencing:<br> person_frowning :person_frowning:<br> person_frowning_tone1 :person_frowning_tone1:<br> person_frowning_tone2 :person_frowning_tone2:<br> person_frowning_tone3 :person_frowning_tone3:<br> person_frowning_tone4 :person_frowning_tone4:<br> person_frowning_tone5 :person_frowning_tone5:<br> person_gesturing_no :person_gesturing_no:<br> person_gesturing_no_tone1 :person_gesturing_no_tone1:<br> person_gesturing_no_tone2 :person_gesturing_no_tone2:<br> person_gesturing_no_tone3 :person_gesturing_no_tone3:<br> person_gesturing_no_tone4 :person_gesturing_no_tone4:<br> person_gesturing_no_tone5 :person_gesturing_no_tone5:<br> person_gesturing_ok :person_gesturing_ok:<br> person_gesturing_ok_tone1 :person_gesturing_ok_tone1:<br> person_gesturing_ok_tone2 :person_gesturing_ok_tone2:<br> person_gesturing_ok_tone3 :person_gesturing_ok_tone3:<br> person_gesturing_ok_tone4 :person_gesturing_ok_tone4:<br> person_gesturing_ok_tone5 :person_gesturing_ok_tone5:<br> person_getting_haircut :person_getting_haircut:<br> person_getting_haircut_tone1 :person_getting_haircut_tone1:<br> person_getting_haircut_tone2 :person_getting_haircut_tone2:<br> person_getting_haircut_tone3 :person_getting_haircut_tone3:<br> person_getting_haircut_tone4 :person_getting_haircut_tone4:<br> person_getting_haircut_tone5 :person_getting_haircut_tone5:<br> person_getting_massage :person_getting_massage:<br> person_getting_massage_tone1 :person_getting_massage_tone1:<br> person_getting_massage_tone2 :person_getting_massage_tone2:<br> person_getting_massage_tone3 :person_getting_massage_tone3:<br> person_getting_massage_tone4 :person_getting_massage_tone4:<br> person_getting_massage_tone5 :person_getting_massage_tone5:<br> person_golfing :person_golfing:<br> person_golfing_tone1 :person_golfing_tone1:<br> person_golfing_tone2 :person_golfing_tone2:<br> person_golfing_tone3 :person_golfing_tone3:<br> person_golfing_tone4 :person_golfing_tone4:<br> person_golfing_tone5 :person_golfing_tone5:<br> person_in_bed_tone1 :person_in_bed_tone1:<br> person_in_bed_tone2 :person_in_bed_tone2:<br> person_in_bed_tone3 :person_in_bed_tone3:<br> person_in_bed_tone4 :person_in_bed_tone4:<br> person_in_bed_tone5 :person_in_bed_tone5:<br> person_in_lotus_position :person_in_lotus_position:<br> person_in_lotus_position_tone1 :person_in_lotus_position_tone1:<br> person_in_lotus_position_tone2 :person_in_lotus_position_tone2:<br> person_in_lotus_position_tone3 :person_in_lotus_position_tone3:<br> person_in_lotus_position_tone4 :person_in_lotus_position_tone4:<br> person_in_lotus_position_tone5 :person_in_lotus_position_tone5:<br> person_in_manual_wheelchair :person_in_manual_wheelchair:<br> person_in_manual_wheelchair_tone1 :person_in_manual_wheelchair_tone1:<br> person_in_manual_wheelchair_tone2 :person_in_manual_wheelchair_tone2:<br> person_in_manual_wheelchair_tone3 :person_in_manual_wheelchair_tone3:<br> person_in_manual_wheelchair_tone4 :person_in_manual_wheelchair_tone4:<br> person_in_manual_wheelchair_tone5 :person_in_manual_wheelchair_tone5:<br> person_in_motorized_wheelchair :person_in_motorized_wheelchair:<br> person_in_motorized_wheelchair_tone1 :person_in_motorized_wheelchair_tone1:<br> person_in_motorized_wheelchair_tone2 :person_in_motorized_wheelchair_tone2:<br> person_in_motorized_wheelchair_tone3 :person_in_motorized_wheelchair_tone3:<br> person_in_motorized_wheelchair_tone4 :person_in_motorized_wheelchair_tone4:<br> person_in_motorized_wheelchair_tone5 :person_in_motorized_wheelchair_tone5:<br> person_in_steamy_room :person_in_steamy_room:<br> person_in_steamy_room_tone1 :person_in_steamy_room_tone1:<br> person_in_steamy_room_tone2 :person_in_steamy_room_tone2:<br> person_in_steamy_room_tone3 :person_in_steamy_room_tone3:<br> person_in_steamy_room_tone4 :person_in_steamy_room_tone4:<br> person_in_steamy_room_tone5 :person_in_steamy_room_tone5:<br> person_in_tuxedo :person_in_tuxedo:<br> person_in_tuxedo_tone1 :person_in_tuxedo_tone1:<br> person_in_tuxedo_tone2 :person_in_tuxedo_tone2:<br> person_in_tuxedo_tone3 :person_in_tuxedo_tone3:<br> person_in_tuxedo_tone4 :person_in_tuxedo_tone4:<br> person_in_tuxedo_tone5 :person_in_tuxedo_tone5:<br> person_juggling :person_juggling:<br> person_juggling_tone1 :person_juggling_tone1:<br> person_juggling_tone2 :person_juggling_tone2:<br> person_juggling_tone3 :person_juggling_tone3:<br> person_juggling_tone4 :person_juggling_tone4:<br> person_juggling_tone5 :person_juggling_tone5:<br> person_kneeling :person_kneeling:<br> person_kneeling_tone1 :person_kneeling_tone1:<br> person_kneeling_tone2 :person_kneeling_tone2:<br> person_kneeling_tone3 :person_kneeling_tone3:<br> person_kneeling_tone4 :person_kneeling_tone4:<br> person_kneeling_tone5 :person_kneeling_tone5:<br> person_lifting_weights :person_lifting_weights:<br> person_lifting_weights_tone1 :person_lifting_weights_tone1:<br> person_lifting_weights_tone2 :person_lifting_weights_tone2:<br> person_lifting_weights_tone3 :person_lifting_weights_tone3:<br> person_lifting_weights_tone4 :person_lifting_weights_tone4:<br> person_lifting_weights_tone5 :person_lifting_weights_tone5:<br> person_mountain_biking :person_mountain_biking:<br> person_mountain_biking_tone1 :person_mountain_biking_tone1:<br> person_mountain_biking_tone2 :person_mountain_biking_tone2:<br> person_mountain_biking_tone3 :person_mountain_biking_tone3:<br> person_mountain_biking_tone4 :person_mountain_biking_tone4:<br> person_mountain_biking_tone5 :person_mountain_biking_tone5:<br> person_playing_handball :person_playing_handball:<br> person_playing_handball_tone1 :person_playing_handball_tone1:<br> person_playing_handball_tone2 :person_playing_handball_tone2:<br> person_playing_handball_tone3 :person_playing_handball_tone3:<br> person_playing_handball_tone4 :person_playing_handball_tone4:<br> person_playing_handball_tone5 :person_playing_handball_tone5:<br> person_playing_water_polo :person_playing_water_polo:<br> person_playing_water_polo_tone1 :person_playing_water_polo_tone1:<br> person_playing_water_polo_tone2 :person_playing_water_polo_tone2:<br> person_playing_water_polo_tone3 :person_playing_water_polo_tone3:<br> person_playing_water_polo_tone4 :person_playing_water_polo_tone4:<br> person_playing_water_polo_tone5 :person_playing_water_polo_tone5:<br> person_pouting :person_pouting:<br> person_pouting_tone1 :person_pouting_tone1:<br> person_pouting_tone2 :person_pouting_tone2:<br> person_pouting_tone3 :person_pouting_tone3:<br> person_pouting_tone4 :person_pouting_tone4:<br> person_pouting_tone5 :person_pouting_tone5:<br> person_raising_hand :person_raising_hand:<br> person_raising_hand_tone1 :person_raising_hand_tone1:<br> person_raising_hand_tone2 :person_raising_hand_tone2:<br> person_raising_hand_tone3 :person_raising_hand_tone3:<br> person_raising_hand_tone4 :person_raising_hand_tone4:<br> person_raising_hand_tone5 :person_raising_hand_tone5:<br> person_red_hair :person_red_hair:<br> person_rowing_boat :person_rowing_boat:<br> person_rowing_boat_tone1 :person_rowing_boat_tone1:<br> person_rowing_boat_tone2 :person_rowing_boat_tone2:<br> person_rowing_boat_tone3 :person_rowing_boat_tone3:<br> person_rowing_boat_tone4 :person_rowing_boat_tone4:<br> person_rowing_boat_tone5 :person_rowing_boat_tone5:<br> person_running :person_running:<br> person_running_tone1 :person_running_tone1:<br> person_running_tone2 :person_running_tone2:<br> person_running_tone3 :person_running_tone3:<br> person_running_tone4 :person_running_tone4:<br> person_running_tone5 :person_running_tone5:<br> person_shrugging :person_shrugging:<br> person_shrugging_tone1 :person_shrugging_tone1:<br> person_shrugging_tone2 :person_shrugging_tone2:<br> person_shrugging_tone3 :person_shrugging_tone3:<br> person_shrugging_tone4 :person_shrugging_tone4:<br> person_shrugging_tone5 :person_shrugging_tone5:<br> person_standing :person_standing:<br> person_standing_tone1 :person_standing_tone1:<br> person_standing_tone2 :person_standing_tone2:<br> person_standing_tone3 :person_standing_tone3:<br> person_standing_tone4 :person_standing_tone4:<br> person_standing_tone5 :person_standing_tone5:<br> person_surfing :person_surfing:<br> person_surfing_tone1 :person_surfing_tone1:<br> person_surfing_tone2 :person_surfing_tone2:<br> person_surfing_tone3 :person_surfing_tone3:<br> person_surfing_tone4 :person_surfing_tone4:<br> person_surfing_tone5 :person_surfing_tone5:<br> person_swimming :person_swimming:<br> person_swimming_tone1 :person_swimming_tone1:<br> person_swimming_tone2 :person_swimming_tone2:<br> person_swimming_tone3 :person_swimming_tone3:<br> person_swimming_tone4 :person_swimming_tone4:<br> person_swimming_tone5 :person_swimming_tone5:<br> person_tipping_hand :person_tipping_hand:<br> person_tipping_hand_tone1 :person_tipping_hand_tone1:<br> person_tipping_hand_tone2 :person_tipping_hand_tone2:<br> person_tipping_hand_tone3 :person_tipping_hand_tone3:<br> person_tipping_hand_tone4 :person_tipping_hand_tone4:<br> person_tipping_hand_tone5 :person_tipping_hand_tone5:<br> person_tone1_bald :person_tone1_bald:<br> person_tone1_curly_hair :person_tone1_curly_hair:<br> person_tone1_red_hair :person_tone1_red_hair:<br> person_tone1_white_hair :person_tone1_white_hair:<br> person_tone2_bald :person_tone2_bald:<br> person_tone2_curly_hair :person_tone2_curly_hair:<br> person_tone2_red_hair :person_tone2_red_hair:<br> person_tone2_white_hair :person_tone2_white_hair:<br> person_tone3_bald :person_tone3_bald:<br> person_tone3_curly_hair :person_tone3_curly_hair:<br> person_tone3_red_hair :person_tone3_red_hair:<br> person_tone3_white_hair :person_tone3_white_hair:<br> person_tone4_bald :person_tone4_bald:<br> person_tone4_curly_hair :person_tone4_curly_hair:<br> person_tone4_red_hair :person_tone4_red_hair:<br> person_tone4_white_hair :person_tone4_white_hair:<br> person_tone5_bald :person_tone5_bald:<br> person_tone5_curly_hair :person_tone5_curly_hair:<br> person_tone5_red_hair :person_tone5_red_hair:<br> person_tone5_white_hair :person_tone5_white_hair:<br> person_walking :person_walking:<br> person_walking_tone1 :person_walking_tone1:<br> person_walking_tone2 :person_walking_tone2:<br> person_walking_tone3 :person_walking_tone3:<br> person_walking_tone4 :person_walking_tone4:<br> person_walking_tone5 :person_walking_tone5:<br> person_wearing_turban :person_wearing_turban:<br> person_wearing_turban_tone1 :person_wearing_turban_tone1:<br> person_wearing_turban_tone2 :person_wearing_turban_tone2:<br> person_wearing_turban_tone3 :person_wearing_turban_tone3:<br> person_wearing_turban_tone4 :person_wearing_turban_tone4:<br> person_wearing_turban_tone5 :person_wearing_turban_tone5:<br> person_white_hair :person_white_hair:<br> person_with_crown :person_with_crown:<br> person_with_crown_tone1 :person_with_crown_tone1:<br> person_with_crown_tone2 :person_with_crown_tone2:<br> person_with_crown_tone3 :person_with_crown_tone3:<br> person_with_crown_tone4 :person_with_crown_tone4:<br> person_with_crown_tone5 :person_with_crown_tone5:<br> person_with_probing_cane :person_with_probing_cane:<br> person_with_probing_cane_tone1 :person_with_probing_cane_tone1:<br> person_with_probing_cane_tone2 :person_with_probing_cane_tone2:<br> person_with_probing_cane_tone3 :person_with_probing_cane_tone3:<br> person_with_probing_cane_tone4 :person_with_probing_cane_tone4:<br> person_with_probing_cane_tone5 :person_with_probing_cane_tone5:<br> person_with_veil :person_with_veil:<br> person_with_veil_tone1 :person_with_veil_tone1:<br> person_with_veil_tone2 :person_with_veil_tone2:<br> person_with_veil_tone3 :person_with_veil_tone3:<br> person_with_veil_tone4 :person_with_veil_tone4:<br> person_with_veil_tone5 :person_with_veil_tone5:<br> petri_dish :petri_dish:<br> pick :pick:<br> pickup_truck :pickup_truck:<br> pie :pie:<br> pig2 :pig2:<br> pig :pig:<br> pig_nose :pig_nose:<br> pill :pill:<br> pilot :pilot:<br> pilot_tone1 :pilot_tone1:<br> pilot_tone2 :pilot_tone2:<br> pilot_tone3 :pilot_tone3:<br> pilot_tone4 :pilot_tone4:<br> pilot_tone5 :pilot_tone5:<br> pinched_fingers :pinched_fingers:<br> pinched_fingers_tone1 :pinched_fingers_tone1:<br> pinched_fingers_tone2 :pinched_fingers_tone2:<br> pinched_fingers_tone3 :pinched_fingers_tone3:<br> pinched_fingers_tone4 :pinched_fingers_tone4:<br> pinched_fingers_tone5 :pinched_fingers_tone5:<br> pinching_hand :pinching_hand:<br> pinching_hand_tone1 :pinching_hand_tone1:<br> pinching_hand_tone2 :pinching_hand_tone2:<br> pinching_hand_tone3 :pinching_hand_tone3:<br> pinching_hand_tone4 :pinching_hand_tone4:<br> pinching_hand_tone5 :pinching_hand_tone5:<br> pineapple :pineapple:<br> ping_pong :ping_pong:<br> pink_heart :pink_heart:<br> pirate_flag :pirate_flag:<br> pisces :pisces:<br> pizza :pizza:<br> piñata :piñata:<br> placard :placard:<br> place_of_worship :place_of_worship:<br> play_pause :play_pause:<br> playground_slide :playground_slide:<br> pleading_face :pleading_face:<br> plunger :plunger:<br> point_down :point_down:<br> point_down_tone1 :point_down_tone1:<br> point_down_tone2 :point_down_tone2:<br> point_down_tone3 :point_down_tone3:<br> point_down_tone4 :point_down_tone4:<br> point_down_tone5 :point_down_tone5:<br> point_left :point_left:<br> point_left_tone1 :point_left_tone1:<br> point_left_tone2 :point_left_tone2:<br> point_left_tone3 :point_left_tone3:<br> point_left_tone4 :point_left_tone4:<br> point_left_tone5 :point_left_tone5:<br> point_right :point_right:<br> point_right_tone1 :point_right_tone1:<br> point_right_tone2 :point_right_tone2:<br> point_right_tone3 :point_right_tone3:<br> point_right_tone4 :point_right_tone4:<br> point_right_tone5 :point_right_tone5:<br> point_up :point_up:<br> point_up_2 :point_up_2:<br> point_up_2_tone1 :point_up_2_tone1:<br> point_up_2_tone2 :point_up_2_tone2:<br> point_up_2_tone3 :point_up_2_tone3:<br> point_up_2_tone4 :point_up_2_tone4:<br> point_up_2_tone5 :point_up_2_tone5:<br> point_up_tone1 :point_up_tone1:<br> point_up_tone2 :point_up_tone2:<br> point_up_tone3 :point_up_tone3:<br> point_up_tone4 :point_up_tone4:<br> point_up_tone5 :point_up_tone5:<br> polar_bear :polar_bear:<br> police_car :police_car:<br> police_officer :police_officer:<br> police_officer_tone1 :police_officer_tone1:<br> police_officer_tone2 :police_officer_tone2:<br> police_officer_tone3 :police_officer_tone3:<br> police_officer_tone4 :police_officer_tone4:<br> police_officer_tone5 :police_officer_tone5:<br> poodle :poodle:<br> poop :poop:<br> popcorn :popcorn:<br> post_office :post_office:<br> postal_horn :postal_horn:<br> postbox :postbox:<br> potable_water :potable_water:<br> potato :potato:<br> potted_plant :potted_plant:<br> pouch :pouch:<br> poultry_leg :poultry_leg:<br> pound :pound:<br> pouring_liquid :pouring_liquid:<br> pouting_cat :pouting_cat:<br> pray :pray:<br> pray_tone1 :pray_tone1:<br> pray_tone2 :pray_tone2:<br> pray_tone3 :pray_tone3:<br> pray_tone4 :pray_tone4:<br> pray_tone5 :pray_tone5:<br> prayer_beads :prayer_beads:<br> pregnant_man :pregnant_man:<br> pregnant_man_tone1 :pregnant_man_tone1:<br> pregnant_man_tone2 :pregnant_man_tone2:<br> pregnant_man_tone3 :pregnant_man_tone3:<br> pregnant_man_tone4 :pregnant_man_tone4:<br> pregnant_man_tone5 :pregnant_man_tone5:<br> pregnant_person :pregnant_person:<br> pregnant_person_tone1 :pregnant_person_tone1:<br> pregnant_person_tone2 :pregnant_person_tone2:<br> pregnant_person_tone3 :pregnant_person_tone3:<br> pregnant_person_tone4 :pregnant_person_tone4:<br> pregnant_person_tone5 :pregnant_person_tone5:<br> pregnant_woman :pregnant_woman:<br> pregnant_woman_tone1 :pregnant_woman_tone1:<br> pregnant_woman_tone2 :pregnant_woman_tone2:<br> pregnant_woman_tone3 :pregnant_woman_tone3:<br> pregnant_woman_tone4 :pregnant_woman_tone4:<br> pregnant_woman_tone5 :pregnant_woman_tone5:<br> pretzel :pretzel:<br> prince :prince:<br> prince_tone1 :prince_tone1:<br> prince_tone2 :prince_tone2:<br> prince_tone3 :prince_tone3:<br> prince_tone4 :prince_tone4:<br> prince_tone5 :prince_tone5:<br> princess :princess:<br> princess_tone1 :princess_tone1:<br> princess_tone2 :princess_tone2:<br> princess_tone3 :princess_tone3:<br> princess_tone4 :princess_tone4:<br> princess_tone5 :princess_tone5:<br> printer :printer:<br> probing_cane :probing_cane:<br> projector :projector:<br> punch :punch:<br> punch_tone1 :punch_tone1:<br> punch_tone2 :punch_tone2:<br> punch_tone3 :punch_tone3:<br> punch_tone4 :punch_tone4:<br> punch_tone5 :punch_tone5:<br> purple_circle :purple_circle:<br> purple_heart :purple_heart:<br> purple_square :purple_square:<br> purse :purse:<br> pushpin :pushpin:<br> put_litter_in_its_place :put_litter_in_its_place:<br> question :question:<br> rabbit2 :rabbit2:<br> rabbit :rabbit:<br> raccoon :raccoon:<br> race_car :race_car:<br> racehorse :racehorse:<br> radio :radio:<br> radio_button :radio_button:<br> radioactive :radioactive:<br> rage :rage:<br> railway_car :railway_car:<br> railway_track :railway_track:<br> rainbow :rainbow:<br> rainbow_flag :rainbow_flag:<br> raised_back_of_hand :raised_back_of_hand:<br> raised_back_of_hand_tone1 :raised_back_of_hand_tone1:<br> raised_back_of_hand_tone2 :raised_back_of_hand_tone2:<br> raised_back_of_hand_tone3 :raised_back_of_hand_tone3:<br> raised_back_of_hand_tone4 :raised_back_of_hand_tone4:<br> raised_back_of_hand_tone5 :raised_back_of_hand_tone5:<br> raised_hand :raised_hand:<br> raised_hand_tone1 :raised_hand_tone1:<br> raised_hand_tone2 :raised_hand_tone2:<br> raised_hand_tone3 :raised_hand_tone3:<br> raised_hand_tone4 :raised_hand_tone4:<br> raised_hand_tone5 :raised_hand_tone5:<br> raised_hands :raised_hands:<br> raised_hands_tone1 :raised_hands_tone1:<br> raised_hands_tone2 :raised_hands_tone2:<br> raised_hands_tone3 :raised_hands_tone3:<br> raised_hands_tone4 :raised_hands_tone4:<br> raised_hands_tone5 :raised_hands_tone5:<br> ram :ram:<br> ramen :ramen:<br> rat :rat:<br> razor :razor:<br> receipt :receipt:<br> record_button :record_button:<br> recycle :recycle:<br> red_car :red_car:<br> red_circle :red_circle:<br> red_envelope :red_envelope:<br> red_haired :red_haired:<br> red_square :red_square:<br> regional_indicator_a :regional_indicator_a:<br> regional_indicator_b :regional_indicator_b:<br> regional_indicator_c :regional_indicator_c:<br> regional_indicator_d :regional_indicator_d:<br> regional_indicator_e :regional_indicator_e:<br> regional_indicator_f :regional_indicator_f:<br> regional_indicator_g :regional_indicator_g:<br> regional_indicator_h :regional_indicator_h:<br> regional_indicator_i :regional_indicator_i:<br> regional_indicator_j :regional_indicator_j:<br> regional_indicator_k :regional_indicator_k:<br> regional_indicator_l :regional_indicator_l:<br> regional_indicator_m :regional_indicator_m:<br> regional_indicator_n :regional_indicator_n:<br> regional_indicator_o :regional_indicator_o:<br> regional_indicator_p :regional_indicator_p:<br> regional_indicator_q :regional_indicator_q:<br> regional_indicator_r :regional_indicator_r:<br> regional_indicator_s :regional_indicator_s:<br> regional_indicator_t :regional_indicator_t:<br> regional_indicator_u :regional_indicator_u:<br> regional_indicator_v :regional_indicator_v:<br> regional_indicator_w :regional_indicator_w:<br> regional_indicator_x :regional_indicator_x:<br> regional_indicator_y :regional_indicator_y:<br> regional_indicator_z :regional_indicator_z:<br> registered :registered:<br> relaxed :relaxed:<br> relieved :relieved:<br> reminder_ribbon :reminder_ribbon:<br> repeat :repeat:<br> repeat_one :repeat_one:<br> restroom :restroom:<br> revolving_hearts :revolving_hearts:<br> rewind :rewind:<br> rhino :rhino:<br> ribbon :ribbon:<br> rice :rice:<br> rice_ball :rice_ball:<br> rice_cracker :rice_cracker:<br> rice_scene :rice_scene:<br> right_facing_fist :right_facing_fist:<br> right_facing_fist_tone1 :right_facing_fist_tone1:<br> right_facing_fist_tone2 :right_facing_fist_tone2:<br> right_facing_fist_tone3 :right_facing_fist_tone3:<br> right_facing_fist_tone4 :right_facing_fist_tone4:<br> right_facing_fist_tone5 :right_facing_fist_tone5:<br> rightwards_hand :rightwards_hand:<br> rightwards_hand_tone1 :rightwards_hand_tone1:<br> rightwards_hand_tone2 :rightwards_hand_tone2:<br> rightwards_hand_tone3 :rightwards_hand_tone3:<br> rightwards_hand_tone4 :rightwards_hand_tone4:<br> rightwards_hand_tone5 :rightwards_hand_tone5:<br> rightwards_pushing_hand :rightwards_pushing_hand:<br> rightwards_pushing_hand_tone1 :rightwards_pushing_hand_tone1:<br> rightwards_pushing_hand_tone2 :rightwards_pushing_hand_tone2:<br> rightwards_pushing_hand_tone3 :rightwards_pushing_hand_tone3:<br> rightwards_pushing_hand_tone4 :rightwards_pushing_hand_tone4:<br> rightwards_pushing_hand_tone5 :rightwards_pushing_hand_tone5:<br> ring :ring:<br> ring_buoy :ring_buoy:<br> ringed_planet :ringed_planet:<br> robot :robot:<br> rock :rock:<br> rocket :rocket:<br> rofl :rofl:<br> roll_of_paper :roll_of_paper:<br> roller_coaster :roller_coaster:<br> roller_skate :roller_skate:<br> rolling_eyes :rolling_eyes:<br> rooster :rooster:<br> rose :rose:<br> rosette :rosette:<br> rotating_light :rotating_light:<br> round_pushpin :round_pushpin:<br> rugby_football :rugby_football:<br> running_shirt_with_sash :running_shirt_with_sash:<br> sa :sa:<br> safety_pin :safety_pin:<br> safety_vest :safety_vest:<br> sagittarius :sagittarius:<br> sailboat :sailboat:<br> sake :sake:<br> salad :salad:<br> salt :salt:<br> saluting_face :saluting_face:<br> sandal :sandal:<br> sandwich :sandwich:<br> santa :santa:<br> santa_tone1 :santa_tone1:<br> santa_tone2 :santa_tone2:<br> santa_tone3 :santa_tone3:<br> santa_tone4 :santa_tone4:<br> santa_tone5 :santa_tone5:<br> sari :sari:<br> satellite :satellite:<br> satellite_orbital :satellite_orbital:<br> sauropod :sauropod:<br> saxophone :saxophone:<br> scales :scales:<br> scarf :scarf:<br> school :school:<br> school_satchel :school_satchel:<br> scientist :scientist:<br> scientist_tone1 :scientist_tone1:<br> scientist_tone2 :scientist_tone2:<br> scientist_tone3 :scientist_tone3:<br> scientist_tone4 :scientist_tone4:<br> scientist_tone5 :scientist_tone5:<br> scissors :scissors:<br> scooter :scooter:<br> scorpion :scorpion:<br> scorpius :scorpius:<br> scotland :scotland:<br> scream :scream:<br> scream_cat :scream_cat:<br> screwdriver :screwdriver:<br> scroll :scroll:<br> seal :seal:<br> seat :seat:<br> second_place :second_place:<br> secret :secret:<br> see_no_evil :see_no_evil:<br> seedling :seedling:<br> selfie :selfie:<br> selfie_tone1 :selfie_tone1:<br> selfie_tone2 :selfie_tone2:<br> selfie_tone3 :selfie_tone3:<br> selfie_tone4 :selfie_tone4:<br> selfie_tone5 :selfie_tone5:<br> service_dog :service_dog:<br> seven :seven:<br> sewing_needle :sewing_needle:<br> shaking_face :shaking_face:<br> shallow_pan_of_food :shallow_pan_of_food:<br> shamrock :shamrock:<br> shark :shark:<br> shaved_ice :shaved_ice:<br> sheep :sheep:<br> shell :shell:<br> shibuya :shibuya:<br> shield :shield:<br> shinto_shrine :shinto_shrine:<br> ship :ship:<br> shirt :shirt:<br> shopping_bags :shopping_bags:<br> shopping_cart :shopping_cart:<br> shorts :shorts:<br> shower :shower:<br> shrimp :shrimp:<br> shushing_face :shushing_face:<br> signal_strength :signal_strength:<br> singer :singer:<br> singer_tone1 :singer_tone1:<br> singer_tone2 :singer_tone2:<br> singer_tone3 :singer_tone3:<br> singer_tone4 :singer_tone4:<br> singer_tone5 :singer_tone5:<br> six :six:<br> six_pointed_star :six_pointed_star:<br> skateboard :skateboard:<br> ski :ski:<br> skier :skier:<br> skier_tone1 :skier_tone1:<br> skier_tone2 :skier_tone2:<br> skier_tone3 :skier_tone3:<br> skier_tone4 :skier_tone4:<br> skier_tone5 :skier_tone5:<br> skull :skull:<br> skull_crossbones :skull_crossbones:<br> skunk :skunk:<br> sled :sled:<br> sleeping :sleeping:<br> sleeping_accommodation :sleeping_accommodation:<br> sleepy :sleepy:<br> slight_frown :slight_frown:<br> slight_smile :slight_smile:<br> slot_machine :slot_machine:<br> sloth :sloth:<br> small_blue_diamond :small_blue_diamond:<br> small_orange_diamond :small_orange_diamond:<br> small_red_triangle :small_red_triangle:<br> small_red_triangle_down :small_red_triangle_down:<br> smile :smile:<br> smile_cat :smile_cat:<br> smiley :smiley:<br> smiley_cat :smiley_cat:<br> smiling_face_with_3_hearts :smiling_face_with_3_hearts:<br> smiling_face_with_tear :smiling_face_with_tear:<br> smiling_imp :smiling_imp:<br> smirk :smirk:<br> smirk_cat :smirk_cat:<br> smoking :smoking:<br> snail :snail:<br> snake :snake:<br> sneezing_face :sneezing_face:<br> snowboarder :snowboarder:<br> snowboarder_tone1 :snowboarder_tone1:<br> snowboarder_tone2 :snowboarder_tone2:<br> snowboarder_tone3 :snowboarder_tone3:<br> snowboarder_tone4 :snowboarder_tone4:<br> snowboarder_tone5 :snowboarder_tone5:<br> snowflake :snowflake:<br> snowman2 :snowman2:<br> snowman :snowman:<br> soap :soap:<br> sob :sob:<br> soccer :soccer:<br> socks :socks:<br> softball :softball:<br> soon :soon:<br> sos :sos:<br> sound :sound:<br> space_invader :space_invader:<br> spades :spades:<br> spaghetti :spaghetti:<br> sparkle :sparkle:<br> sparkler :sparkler:<br> sparkles :sparkles:<br> sparkling_heart :sparkling_heart:<br> speak_no_evil :speak_no_evil:<br> speaker :speaker:<br> speaking_head :speaking_head:<br> speech_balloon :speech_balloon:<br> speech_left :speech_left:<br> speedboat :speedboat:<br> spider :spider:<br> spider_web :spider_web:<br> sponge :sponge:<br> spoon :spoon:<br> squeeze_bottle :squeeze_bottle:<br> squid :squid:<br> stadium :stadium:<br> star2 :star2:<br> star :star:<br> star_and_crescent :star_and_crescent:<br> star_of_david :star_of_david:<br> star_struck :star_struck:<br> stars :stars:<br> station :station:<br> statue_of_liberty :statue_of_liberty:<br> steam_locomotive :steam_locomotive:<br> stethoscope :stethoscope:<br> stew :stew:<br> stop_button :stop_button:<br> stopwatch :stopwatch:<br> straight_ruler :straight_ruler:<br> strawberry :strawberry:<br> stuck_out_tongue :stuck_out_tongue:<br> stuck_out_tongue_closed_eyes :stuck_out_tongue_closed_eyes:<br> stuck_out_tongue_winking_eye :stuck_out_tongue_winking_eye:<br> student :student:<br> student_tone1 :student_tone1:<br> student_tone2 :student_tone2:<br> student_tone3 :student_tone3:<br> student_tone4 :student_tone4:<br> student_tone5 :student_tone5:<br> stuffed_flatbread :stuffed_flatbread:<br> sun_with_face :sun_with_face:<br> sunflower :sunflower:<br> sunglasses :sunglasses:<br> sunny :sunny:<br> sunrise :sunrise:<br> sunrise_over_mountains :sunrise_over_mountains:<br> superhero :superhero:<br> superhero_tone1 :superhero_tone1:<br> superhero_tone2 :superhero_tone2:<br> superhero_tone3 :superhero_tone3:<br> superhero_tone4 :superhero_tone4:<br> superhero_tone5 :superhero_tone5:<br> supervillain :supervillain:<br> supervillain_tone1 :supervillain_tone1:<br> supervillain_tone2 :supervillain_tone2:<br> supervillain_tone3 :supervillain_tone3:<br> supervillain_tone4 :supervillain_tone4:<br> supervillain_tone5 :supervillain_tone5:<br> sushi :sushi:<br> suspension_railway :suspension_railway:<br> swan :swan:<br> sweat :sweat:<br> sweat_drops :sweat_drops:<br> sweat_smile :sweat_smile:<br> sweet_potato :sweet_potato:<br> symbols :symbols:<br> synagogue :synagogue:<br> syringe :syringe:<br> t_rex :t_rex:<br> taco :taco:<br> tada :tada:<br> takeout_box :takeout_box:<br> tamale :tamale:<br> tanabata_tree :tanabata_tree:<br> tangerine :tangerine:<br> taurus :taurus:<br> taxi :taxi:<br> tea :tea:<br> teacher :teacher:<br> teacher_tone1 :teacher_tone1:<br> teacher_tone2 :teacher_tone2:<br> teacher_tone3 :teacher_tone3:<br> teacher_tone4 :teacher_tone4:<br> teacher_tone5 :teacher_tone5:<br> teapot :teapot:<br> technologist :technologist:<br> technologist_tone1 :technologist_tone1:<br> technologist_tone2 :technologist_tone2:<br> technologist_tone3 :technologist_tone3:<br> technologist_tone4 :technologist_tone4:<br> technologist_tone5 :technologist_tone5:<br> teddy_bear :teddy_bear:<br> telephone :telephone:<br> telephone_receiver :telephone_receiver:<br> telescope :telescope:<br> tennis :tennis:<br> tent :tent:<br> test_tube :test_tube:<br> thermometer :thermometer:<br> thermometer_face :thermometer_face:<br> thinking :thinking:<br> third_place :third_place:<br> thong_sandal :thong_sandal:<br> thought_balloon :thought_balloon:<br> thread :thread:<br> three :three:<br> thumbsdown :thumbsdown:<br> thumbsdown_tone1 :thumbsdown_tone1:<br> thumbsdown_tone2 :thumbsdown_tone2:<br> thumbsdown_tone3 :thumbsdown_tone3:<br> thumbsdown_tone4 :thumbsdown_tone4:<br> thumbsdown_tone5 :thumbsdown_tone5:<br> thumbsup :thumbsup:<br> thumbsup_tone1 :thumbsup_tone1:<br> thumbsup_tone2 :thumbsup_tone2:<br> thumbsup_tone3 :thumbsup_tone3:<br> thumbsup_tone4 :thumbsup_tone4:<br> thumbsup_tone5 :thumbsup_tone5:<br> thunder_cloud_rain :thunder_cloud_rain:<br> ticket :ticket:<br> tickets :tickets:<br> tiger2 :tiger2:<br> tiger :tiger:<br> timer :timer:<br> tired_face :tired_face:<br> tm :tm:<br> toilet :toilet:<br> tokyo_tower :tokyo_tower:<br> tomato :tomato:<br> tone1 :tone1:<br> tone2 :tone2:<br> tone3 :tone3:<br> tone4 :tone4:<br> tone5 :tone5:<br> tongue :tongue:<br> toolbox :toolbox:<br> tools :tools:<br> tooth :tooth:<br> toothbrush :toothbrush:<br> top :top:<br> tophat :tophat:<br> track_next :track_next:<br> track_previous :track_previous:<br> trackball :trackball:<br> tractor :tractor:<br> traffic_light :traffic_light:<br> train2 :train2:<br> train :train:<br> tram :tram:<br> transgender_flag :transgender_flag:<br> transgender_symbol :transgender_symbol:<br> triangular_flag_on_post :triangular_flag_on_post:<br> triangular_ruler :triangular_ruler:<br> trident :trident:<br> triumph :triumph:<br> troll :troll:<br> trolleybus :trolleybus:<br> trophy :trophy:<br> tropical_drink :tropical_drink:<br> tropical_fish :tropical_fish:<br> truck :truck:<br> trumpet :trumpet:<br> tulip :tulip:<br> tumbler_glass :tumbler_glass:<br> turkey :turkey:<br> turtle :turtle:<br> tv :tv:<br> twisted_rightwards_arrows :twisted_rightwards_arrows:<br> two :two:<br> two_hearts :two_hearts:<br> two_men_holding_hands :two_men_holding_hands:<br> two_women_holding_hands :two_women_holding_hands:<br> u5272 :u5272:<br> u5408 :u5408:<br> u55b6 :u55b6:<br> u6307 :u6307:<br> u6708 :u6708:<br> u6709 :u6709:<br> u6e80 :u6e80:<br> u7121 :u7121:<br> u7533 :u7533:<br> u7981 :u7981:<br> u7a7a :u7a7a:<br> umbrella2 :umbrella2:<br> umbrella :umbrella:<br> unamused :unamused:<br> underage :underage:<br> unicorn :unicorn:<br> united_nations :united_nations:<br> unlock :unlock:<br> up :up:<br> upside_down :upside_down:<br> urn :urn:<br> v :v:<br> v_tone1 :v_tone1:<br> v_tone2 :v_tone2:<br> v_tone3 :v_tone3:<br> v_tone4 :v_tone4:<br> v_tone5 :v_tone5:<br> vampire :vampire:<br> vampire_tone1 :vampire_tone1:<br> vampire_tone2 :vampire_tone2:<br> vampire_tone3 :vampire_tone3:<br> vampire_tone4 :vampire_tone4:<br> vampire_tone5 :vampire_tone5:<br> vertical_traffic_light :vertical_traffic_light:<br> vhs :vhs:<br> vibration_mode :vibration_mode:<br> video_camera :video_camera:<br> video_game :video_game:<br> violin :violin:<br> virgo :virgo:<br> volcano :volcano:<br> volleyball :volleyball:<br> vs :vs:<br> vulcan :vulcan:<br> vulcan_tone1 :vulcan_tone1:<br> vulcan_tone2 :vulcan_tone2:<br> vulcan_tone3 :vulcan_tone3:<br> vulcan_tone4 :vulcan_tone4:<br> vulcan_tone5 :vulcan_tone5:<br> waffle :waffle:<br> wales :wales:<br> waning_crescent_moon :waning_crescent_moon:<br> waning_gibbous_moon :waning_gibbous_moon:<br> warning :warning:<br> wastebasket :wastebasket:<br> watch :watch:<br> water_buffalo :water_buffalo:<br> watermelon :watermelon:<br> wave :wave:<br> wave_tone1 :wave_tone1:<br> wave_tone2 :wave_tone2:<br> wave_tone3 :wave_tone3:<br> wave_tone4 :wave_tone4:<br> wave_tone5 :wave_tone5:<br> wavy_dash :wavy_dash:<br> waxing_crescent_moon :waxing_crescent_moon:<br> waxing_gibbous_moon :waxing_gibbous_moon:<br> wc :wc:<br> weary :weary:<br> wedding :wedding:<br> whale2 :whale2:<br> whale :whale:<br> wheel :wheel:<br> wheel_of_dharma :wheel_of_dharma:<br> wheelchair :wheelchair:<br> white_check_mark :white_check_mark:<br> white_circle :white_circle:<br> white_flower :white_flower:<br> white_haired :white_haired:<br> white_heart :white_heart:<br> white_large_square :white_large_square:<br> white_medium_small_square :white_medium_small_square:<br> white_medium_square :white_medium_square:<br> white_small_square :white_small_square:<br> white_square_button :white_square_button:<br> white_sun_cloud :white_sun_cloud:<br> white_sun_rain_cloud :white_sun_rain_cloud:<br> white_sun_small_cloud :white_sun_small_cloud:<br> wilted_rose :wilted_rose:<br> wind_blowing_face :wind_blowing_face:<br> wind_chime :wind_chime:<br> window :window:<br> wine_glass :wine_glass:<br> wing :wing:<br> wink :wink:<br> wireless :wireless:<br> wolf :wolf:<br> woman :woman:<br> woman_and_man_holding_hands_tone1 :woman_and_man_holding_hands_tone1:<br> woman_and_man_holding_hands_tone1_tone2 :woman_and_man_holding_hands_tone1_tone2:<br> woman_and_man_holding_hands_tone1_tone3 :woman_and_man_holding_hands_tone1_tone3:<br> woman_and_man_holding_hands_tone1_tone4 :woman_and_man_holding_hands_tone1_tone4:<br> woman_and_man_holding_hands_tone1_tone5 :woman_and_man_holding_hands_tone1_tone5:<br> woman_and_man_holding_hands_tone2 :woman_and_man_holding_hands_tone2:<br> woman_and_man_holding_hands_tone2_tone1 :woman_and_man_holding_hands_tone2_tone1:<br> woman_and_man_holding_hands_tone2_tone3 :woman_and_man_holding_hands_tone2_tone3:<br> woman_and_man_holding_hands_tone2_tone4 :woman_and_man_holding_hands_tone2_tone4:<br> woman_and_man_holding_hands_tone2_tone5 :woman_and_man_holding_hands_tone2_tone5:<br> woman_and_man_holding_hands_tone3 :woman_and_man_holding_hands_tone3:<br> woman_and_man_holding_hands_tone3_tone1 :woman_and_man_holding_hands_tone3_tone1:<br> woman_and_man_holding_hands_tone3_tone2 :woman_and_man_holding_hands_tone3_tone2:<br> woman_and_man_holding_hands_tone3_tone4 :woman_and_man_holding_hands_tone3_tone4:<br> woman_and_man_holding_hands_tone3_tone5 :woman_and_man_holding_hands_tone3_tone5:<br> woman_and_man_holding_hands_tone4 :woman_and_man_holding_hands_tone4:<br> woman_and_man_holding_hands_tone4_tone1 :woman_and_man_holding_hands_tone4_tone1:<br> woman_and_man_holding_hands_tone4_tone2 :woman_and_man_holding_hands_tone4_tone2:<br> woman_and_man_holding_hands_tone4_tone3 :woman_and_man_holding_hands_tone4_tone3:<br> woman_and_man_holding_hands_tone4_tone5 :woman_and_man_holding_hands_tone4_tone5:<br> woman_and_man_holding_hands_tone5 :woman_and_man_holding_hands_tone5:<br> woman_and_man_holding_hands_tone5_tone1 :woman_and_man_holding_hands_tone5_tone1:<br> woman_and_man_holding_hands_tone5_tone2 :woman_and_man_holding_hands_tone5_tone2:<br> woman_and_man_holding_hands_tone5_tone3 :woman_and_man_holding_hands_tone5_tone3:<br> woman_and_man_holding_hands_tone5_tone4 :woman_and_man_holding_hands_tone5_tone4:<br> woman_artist :woman_artist:<br> woman_artist_tone1 :woman_artist_tone1:<br> woman_artist_tone2 :woman_artist_tone2:<br> woman_artist_tone3 :woman_artist_tone3:<br> woman_artist_tone4 :woman_artist_tone4:<br> woman_artist_tone5 :woman_artist_tone5:<br> woman_astronaut :woman_astronaut:<br> woman_astronaut_tone1 :woman_astronaut_tone1:<br> woman_astronaut_tone2 :woman_astronaut_tone2:<br> woman_astronaut_tone3 :woman_astronaut_tone3:<br> woman_astronaut_tone4 :woman_astronaut_tone4:<br> woman_astronaut_tone5 :woman_astronaut_tone5:<br> woman_bald :woman_bald:<br> woman_bald_tone1 :woman_bald_tone1:<br> woman_bald_tone2 :woman_bald_tone2:<br> woman_bald_tone3 :woman_bald_tone3:<br> woman_bald_tone4 :woman_bald_tone4:<br> woman_bald_tone5 :woman_bald_tone5:<br> woman_beard :woman_beard:<br> woman_biking :woman_biking:<br> woman_biking_tone1 :woman_biking_tone1:<br> woman_biking_tone2 :woman_biking_tone2:<br> woman_biking_tone3 :woman_biking_tone3:<br> woman_biking_tone4 :woman_biking_tone4:<br> woman_biking_tone5 :woman_biking_tone5:<br> woman_bouncing_ball :woman_bouncing_ball:<br> woman_bouncing_ball_tone1 :woman_bouncing_ball_tone1:<br> woman_bouncing_ball_tone2 :woman_bouncing_ball_tone2:<br> woman_bouncing_ball_tone3 :woman_bouncing_ball_tone3:<br> woman_bouncing_ball_tone4 :woman_bouncing_ball_tone4:<br> woman_bouncing_ball_tone5 :woman_bouncing_ball_tone5:<br> woman_bowing :woman_bowing:<br> woman_bowing_tone1 :woman_bowing_tone1:<br> woman_bowing_tone2 :woman_bowing_tone2:<br> woman_bowing_tone3 :woman_bowing_tone3:<br> woman_bowing_tone4 :woman_bowing_tone4:<br> woman_bowing_tone5 :woman_bowing_tone5:<br> woman_cartwheeling :woman_cartwheeling:<br> woman_cartwheeling_tone1 :woman_cartwheeling_tone1:<br> woman_cartwheeling_tone2 :woman_cartwheeling_tone2:<br> woman_cartwheeling_tone3 :woman_cartwheeling_tone3:<br> woman_cartwheeling_tone4 :woman_cartwheeling_tone4:<br> woman_cartwheeling_tone5 :woman_cartwheeling_tone5:<br> woman_climbing :woman_climbing:<br> woman_climbing_tone1 :woman_climbing_tone1:<br> woman_climbing_tone2 :woman_climbing_tone2:<br> woman_climbing_tone3 :woman_climbing_tone3:<br> woman_climbing_tone4 :woman_climbing_tone4:<br> woman_climbing_tone5 :woman_climbing_tone5:<br> woman_construction_worker :woman_construction_worker:<br> woman_construction_worker_tone1 :woman_construction_worker_tone1:<br> woman_construction_worker_tone2 :woman_construction_worker_tone2:<br> woman_construction_worker_tone3 :woman_construction_worker_tone3:<br> woman_construction_worker_tone4 :woman_construction_worker_tone4:<br> woman_construction_worker_tone5 :woman_construction_worker_tone5:<br> woman_cook :woman_cook:<br> woman_cook_tone1 :woman_cook_tone1:<br> woman_cook_tone2 :woman_cook_tone2:<br> woman_cook_tone3 :woman_cook_tone3:<br> woman_cook_tone4 :woman_cook_tone4:<br> woman_cook_tone5 :woman_cook_tone5:<br> woman_curly_haired :woman_curly_haired:<br> woman_curly_haired_tone1 :woman_curly_haired_tone1:<br> woman_curly_haired_tone2 :woman_curly_haired_tone2:<br> woman_curly_haired_tone3 :woman_curly_haired_tone3:<br> woman_curly_haired_tone4 :woman_curly_haired_tone4:<br> woman_curly_haired_tone5 :woman_curly_haired_tone5:<br> woman_detective :woman_detective:<br> woman_detective_tone1 :woman_detective_tone1:<br> woman_detective_tone2 :woman_detective_tone2:<br> woman_detective_tone3 :woman_detective_tone3:<br> woman_detective_tone4 :woman_detective_tone4:<br> woman_detective_tone5 :woman_detective_tone5:<br> woman_elf :woman_elf:<br> woman_elf_tone1 :woman_elf_tone1:<br> woman_elf_tone2 :woman_elf_tone2:<br> woman_elf_tone3 :woman_elf_tone3:<br> woman_elf_tone4 :woman_elf_tone4:<br> woman_elf_tone5 :woman_elf_tone5:<br> woman_facepalming :woman_facepalming:<br> woman_facepalming_tone1 :woman_facepalming_tone1:<br> woman_facepalming_tone2 :woman_facepalming_tone2:<br> woman_facepalming_tone3 :woman_facepalming_tone3:<br> woman_facepalming_tone4 :woman_facepalming_tone4:<br> woman_facepalming_tone5 :woman_facepalming_tone5:<br> woman_factory_worker :woman_factory_worker:<br> woman_factory_worker_tone1 :woman_factory_worker_tone1:<br> woman_factory_worker_tone2 :woman_factory_worker_tone2:<br> woman_factory_worker_tone3 :woman_factory_worker_tone3:<br> woman_factory_worker_tone4 :woman_factory_worker_tone4:<br> woman_factory_worker_tone5 :woman_factory_worker_tone5:<br> woman_fairy :woman_fairy:<br> woman_fairy_tone1 :woman_fairy_tone1:<br> woman_fairy_tone2 :woman_fairy_tone2:<br> woman_fairy_tone3 :woman_fairy_tone3:<br> woman_fairy_tone4 :woman_fairy_tone4:<br> woman_fairy_tone5 :woman_fairy_tone5:<br> woman_farmer :woman_farmer:<br> woman_farmer_tone1 :woman_farmer_tone1:<br> woman_farmer_tone2 :woman_farmer_tone2:<br> woman_farmer_tone3 :woman_farmer_tone3:<br> woman_farmer_tone4 :woman_farmer_tone4:<br> woman_farmer_tone5 :woman_farmer_tone5:<br> woman_feeding_baby :woman_feeding_baby:<br> woman_feeding_baby_tone1 :woman_feeding_baby_tone1:<br> woman_feeding_baby_tone2 :woman_feeding_baby_tone2:<br> woman_feeding_baby_tone3 :woman_feeding_baby_tone3:<br> woman_feeding_baby_tone4 :woman_feeding_baby_tone4:<br> woman_feeding_baby_tone5 :woman_feeding_baby_tone5:<br> woman_firefighter :woman_firefighter:<br> woman_firefighter_tone1 :woman_firefighter_tone1:<br> woman_firefighter_tone2 :woman_firefighter_tone2:<br> woman_firefighter_tone3 :woman_firefighter_tone3:<br> woman_firefighter_tone4 :woman_firefighter_tone4:<br> woman_firefighter_tone5 :woman_firefighter_tone5:<br> woman_frowning :woman_frowning:<br> woman_frowning_tone1 :woman_frowning_tone1:<br> woman_frowning_tone2 :woman_frowning_tone2:<br> woman_frowning_tone3 :woman_frowning_tone3:<br> woman_frowning_tone4 :woman_frowning_tone4:<br> woman_frowning_tone5 :woman_frowning_tone5:<br> woman_genie :woman_genie:<br> woman_gesturing_no :woman_gesturing_no:<br> woman_gesturing_no_tone1 :woman_gesturing_no_tone1:<br> woman_gesturing_no_tone2 :woman_gesturing_no_tone2:<br> woman_gesturing_no_tone3 :woman_gesturing_no_tone3:<br> woman_gesturing_no_tone4 :woman_gesturing_no_tone4:<br> woman_gesturing_no_tone5 :woman_gesturing_no_tone5:<br> woman_gesturing_ok :woman_gesturing_ok:<br> woman_gesturing_ok_tone1 :woman_gesturing_ok_tone1:<br> woman_gesturing_ok_tone2 :woman_gesturing_ok_tone2:<br> woman_gesturing_ok_tone3 :woman_gesturing_ok_tone3:<br> woman_gesturing_ok_tone4 :woman_gesturing_ok_tone4:<br> woman_gesturing_ok_tone5 :woman_gesturing_ok_tone5:<br> woman_getting_face_massage :woman_getting_face_massage:<br> woman_getting_face_massage_tone1 :woman_getting_face_massage_tone1:<br> woman_getting_face_massage_tone2 :woman_getting_face_massage_tone2:<br> woman_getting_face_massage_tone3 :woman_getting_face_massage_tone3:<br> woman_getting_face_massage_tone4 :woman_getting_face_massage_tone4:<br> woman_getting_face_massage_tone5 :woman_getting_face_massage_tone5:<br> woman_getting_haircut :woman_getting_haircut:<br> woman_getting_haircut_tone1 :woman_getting_haircut_tone1:<br> woman_getting_haircut_tone2 :woman_getting_haircut_tone2:<br> woman_getting_haircut_tone3 :woman_getting_haircut_tone3:<br> woman_getting_haircut_tone4 :woman_getting_haircut_tone4:<br> woman_getting_haircut_tone5 :woman_getting_haircut_tone5:<br> woman_golfing :woman_golfing:<br> woman_golfing_tone1 :woman_golfing_tone1:<br> woman_golfing_tone2 :woman_golfing_tone2:<br> woman_golfing_tone3 :woman_golfing_tone3:<br> woman_golfing_tone4 :woman_golfing_tone4:<br> woman_golfing_tone5 :woman_golfing_tone5:<br> woman_guard :woman_guard:<br> woman_guard_tone1 :woman_guard_tone1:<br> woman_guard_tone2 :woman_guard_tone2:<br> woman_guard_tone3 :woman_guard_tone3:<br> woman_guard_tone4 :woman_guard_tone4:<br> woman_guard_tone5 :woman_guard_tone5:<br> woman_health_worker :woman_health_worker:<br> woman_health_worker_tone1 :woman_health_worker_tone1:<br> woman_health_worker_tone2 :woman_health_worker_tone2:<br> woman_health_worker_tone3 :woman_health_worker_tone3:<br> woman_health_worker_tone4 :woman_health_worker_tone4:<br> woman_health_worker_tone5 :woman_health_worker_tone5:<br> woman_in_lotus_position :woman_in_lotus_position:<br> woman_in_lotus_position_tone1 :woman_in_lotus_position_tone1:<br> woman_in_lotus_position_tone2 :woman_in_lotus_position_tone2:<br> woman_in_lotus_position_tone3 :woman_in_lotus_position_tone3:<br> woman_in_lotus_position_tone4 :woman_in_lotus_position_tone4:<br> woman_in_lotus_position_tone5 :woman_in_lotus_position_tone5:<br> woman_in_manual_wheelchair :woman_in_manual_wheelchair:<br> woman_in_manual_wheelchair_tone1 :woman_in_manual_wheelchair_tone1:<br> woman_in_manual_wheelchair_tone2 :woman_in_manual_wheelchair_tone2:<br> woman_in_manual_wheelchair_tone3 :woman_in_manual_wheelchair_tone3:<br> woman_in_manual_wheelchair_tone4 :woman_in_manual_wheelchair_tone4:<br> woman_in_manual_wheelchair_tone5 :woman_in_manual_wheelchair_tone5:<br> woman_in_motorized_wheelchair :woman_in_motorized_wheelchair:<br> woman_in_motorized_wheelchair_tone1 :woman_in_motorized_wheelchair_tone1:<br> woman_in_motorized_wheelchair_tone2 :woman_in_motorized_wheelchair_tone2:<br> woman_in_motorized_wheelchair_tone3 :woman_in_motorized_wheelchair_tone3:<br> woman_in_motorized_wheelchair_tone4 :woman_in_motorized_wheelchair_tone4:<br> woman_in_motorized_wheelchair_tone5 :woman_in_motorized_wheelchair_tone5:<br> woman_in_santa_hat :woman_in_santa_hat:<br> woman_in_santa_hat_tone1 :woman_in_santa_hat_tone1:<br> woman_in_santa_hat_tone2 :woman_in_santa_hat_tone2:<br> woman_in_santa_hat_tone3 :woman_in_santa_hat_tone3:<br> woman_in_santa_hat_tone4 :woman_in_santa_hat_tone4:<br> woman_in_santa_hat_tone5 :woman_in_santa_hat_tone5:<br> woman_in_steamy_room :woman_in_steamy_room:<br> woman_in_steamy_room_tone1 :woman_in_steamy_room_tone1:<br> woman_in_steamy_room_tone2 :woman_in_steamy_room_tone2:<br> woman_in_steamy_room_tone3 :woman_in_steamy_room_tone3:<br> woman_in_steamy_room_tone4 :woman_in_steamy_room_tone4:<br> woman_in_steamy_room_tone5 :woman_in_steamy_room_tone5:<br> woman_in_tuxedo :woman_in_tuxedo:<br> woman_in_tuxedo_tone1 :woman_in_tuxedo_tone1:<br> woman_in_tuxedo_tone2 :woman_in_tuxedo_tone2:<br> woman_in_tuxedo_tone3 :woman_in_tuxedo_tone3:<br> woman_in_tuxedo_tone4 :woman_in_tuxedo_tone4:<br> woman_in_tuxedo_tone5 :woman_in_tuxedo_tone5:<br> woman_judge :woman_judge:<br> woman_judge_tone1 :woman_judge_tone1:<br> woman_judge_tone2 :woman_judge_tone2:<br> woman_judge_tone3 :woman_judge_tone3:<br> woman_judge_tone4 :woman_judge_tone4:<br> woman_judge_tone5 :woman_judge_tone5:<br> woman_juggling :woman_juggling:<br> woman_juggling_tone1 :woman_juggling_tone1:<br> woman_juggling_tone2 :woman_juggling_tone2:<br> woman_juggling_tone3 :woman_juggling_tone3:<br> woman_juggling_tone4 :woman_juggling_tone4:<br> woman_juggling_tone5 :woman_juggling_tone5:<br> woman_kneeling :woman_kneeling:<br> woman_kneeling_tone1 :woman_kneeling_tone1:<br> woman_kneeling_tone2 :woman_kneeling_tone2:<br> woman_kneeling_tone3 :woman_kneeling_tone3:<br> woman_kneeling_tone4 :woman_kneeling_tone4:<br> woman_kneeling_tone5 :woman_kneeling_tone5:<br> woman_leviate_tone2 :woman_leviate_tone2:<br> woman_leviate_tone3 :woman_leviate_tone3:<br> woman_leviate_tone4 :woman_leviate_tone4:<br> woman_leviate_tone5 :woman_leviate_tone5:<br> woman_levitate :woman_levitate:<br> woman_levitate_tone1 :woman_levitate_tone1:<br> woman_lifting_weights :woman_lifting_weights:<br> woman_lifting_weights_tone1 :woman_lifting_weights_tone1:<br> woman_lifting_weights_tone2 :woman_lifting_weights_tone2:<br> woman_lifting_weights_tone3 :woman_lifting_weights_tone3:<br> woman_lifting_weights_tone4 :woman_lifting_weights_tone4:<br> woman_lifting_weights_tone5 :woman_lifting_weights_tone5:<br> woman_mage :woman_mage:<br> woman_mage_tone1 :woman_mage_tone1:<br> woman_mage_tone2 :woman_mage_tone2:<br> woman_mage_tone3 :woman_mage_tone3:<br> woman_mage_tone4 :woman_mage_tone4:<br> woman_mage_tone5 :woman_mage_tone5:<br> woman_mechanic :woman_mechanic:<br> woman_mechanic_tone1 :woman_mechanic_tone1:<br> woman_mechanic_tone2 :woman_mechanic_tone2:<br> woman_mechanic_tone3 :woman_mechanic_tone3:<br> woman_mechanic_tone4 :woman_mechanic_tone4:<br> woman_mechanic_tone5 :woman_mechanic_tone5:<br> woman_mountain_biking :woman_mountain_biking:<br> woman_mountain_biking_tone1 :woman_mountain_biking_tone1:<br> woman_mountain_biking_tone2 :woman_mountain_biking_tone2:<br> woman_mountain_biking_tone3 :woman_mountain_biking_tone3:<br> woman_mountain_biking_tone4 :woman_mountain_biking_tone4:<br> woman_mountain_biking_tone5 :woman_mountain_biking_tone5:<br> woman_office_worker :woman_office_worker:<br> woman_office_worker_tone1 :woman_office_worker_tone1:<br> woman_office_worker_tone2 :woman_office_worker_tone2:<br> woman_office_worker_tone3 :woman_office_worker_tone3:<br> woman_office_worker_tone4 :woman_office_worker_tone4:<br> woman_office_worker_tone5 :woman_office_worker_tone5:<br> woman_pilot :woman_pilot:<br> woman_pilot_tone1 :woman_pilot_tone1:<br> woman_pilot_tone2 :woman_pilot_tone2:<br> woman_pilot_tone3 :woman_pilot_tone3:<br> woman_pilot_tone4 :woman_pilot_tone4:<br> woman_pilot_tone5 :woman_pilot_tone5:<br> woman_playing_handball :woman_playing_handball:<br> woman_playing_handball_tone1 :woman_playing_handball_tone1:<br> woman_playing_handball_tone2 :woman_playing_handball_tone2:<br> woman_playing_handball_tone3 :woman_playing_handball_tone3:<br> woman_playing_handball_tone4 :woman_playing_handball_tone4:<br> woman_playing_handball_tone5 :woman_playing_handball_tone5:<br> woman_playing_water_polo :woman_playing_water_polo:<br> woman_playing_water_polo_tone1 :woman_playing_water_polo_tone1:<br> woman_playing_water_polo_tone2 :woman_playing_water_polo_tone2:<br> woman_playing_water_polo_tone3 :woman_playing_water_polo_tone3:<br> woman_playing_water_polo_tone4 :woman_playing_water_polo_tone4:<br> woman_playing_water_polo_tone5 :woman_playing_water_polo_tone5:<br> woman_police_officer :woman_police_officer:<br> woman_police_officer_tone1 :woman_police_officer_tone1:<br> woman_police_officer_tone2 :woman_police_officer_tone2:<br> woman_police_officer_tone3 :woman_police_officer_tone3:<br> woman_police_officer_tone4 :woman_police_officer_tone4:<br> woman_police_officer_tone5 :woman_police_officer_tone5:<br> woman_pouting :woman_pouting:<br> woman_pouting_tone1 :woman_pouting_tone1:<br> woman_pouting_tone2 :woman_pouting_tone2:<br> woman_pouting_tone3 :woman_pouting_tone3:<br> woman_pouting_tone4 :woman_pouting_tone4:<br> woman_pouting_tone5 :woman_pouting_tone5:<br> woman_raising_hand :woman_raising_hand:<br> woman_raising_hand_tone1 :woman_raising_hand_tone1:<br> woman_raising_hand_tone2 :woman_raising_hand_tone2:<br> woman_raising_hand_tone3 :woman_raising_hand_tone3:<br> woman_raising_hand_tone4 :woman_raising_hand_tone4:<br> woman_raising_hand_tone5 :woman_raising_hand_tone5:<br> woman_red_haired :woman_red_haired:<br> woman_red_haired_tone1 :woman_red_haired_tone1:<br> woman_red_haired_tone2 :woman_red_haired_tone2:<br> woman_red_haired_tone3 :woman_red_haired_tone3:<br> woman_red_haired_tone4 :woman_red_haired_tone4:<br> woman_red_haired_tone5 :woman_red_haired_tone5:<br> woman_rowing_boat :woman_rowing_boat:<br> woman_rowing_boat_tone1 :woman_rowing_boat_tone1:<br> woman_rowing_boat_tone2 :woman_rowing_boat_tone2:<br> woman_rowing_boat_tone3 :woman_rowing_boat_tone3:<br> woman_rowing_boat_tone4 :woman_rowing_boat_tone4:<br> woman_rowing_boat_tone5 :woman_rowing_boat_tone5:<br> woman_running :woman_running:<br> woman_running_tone1 :woman_running_tone1:<br> woman_running_tone2 :woman_running_tone2:<br> woman_running_tone3 :woman_running_tone3:<br> woman_running_tone4 :woman_running_tone4:<br> woman_running_tone5 :woman_running_tone5:<br> woman_scientist :woman_scientist:<br> woman_scientist_tone1 :woman_scientist_tone1:<br> woman_scientist_tone2 :woman_scientist_tone2:<br> woman_scientist_tone3 :woman_scientist_tone3:<br> woman_scientist_tone4 :woman_scientist_tone4:<br> woman_scientist_tone5 :woman_scientist_tone5:<br> woman_shrugging :woman_shrugging:<br> woman_shrugging_tone1 :woman_shrugging_tone1:<br> woman_shrugging_tone2 :woman_shrugging_tone2:<br> woman_shrugging_tone3 :woman_shrugging_tone3:<br> woman_shrugging_tone4 :woman_shrugging_tone4:<br> woman_shrugging_tone5 :woman_shrugging_tone5:<br> woman_singer :woman_singer:<br> woman_singer_tone1 :woman_singer_tone1:<br> woman_singer_tone2 :woman_singer_tone2:<br> woman_singer_tone3 :woman_singer_tone3:<br> woman_singer_tone4 :woman_singer_tone4:<br> woman_singer_tone5 :woman_singer_tone5:<br> woman_standing :woman_standing:<br> woman_standing_tone1 :woman_standing_tone1:<br> woman_standing_tone2 :woman_standing_tone2:<br> woman_standing_tone3 :woman_standing_tone3:<br> woman_standing_tone4 :woman_standing_tone4:<br> woman_standing_tone5 :woman_standing_tone5:<br> woman_student :woman_student:<br> woman_student_tone1 :woman_student_tone1:<br> woman_student_tone2 :woman_student_tone2:<br> woman_student_tone3 :woman_student_tone3:<br> woman_student_tone4 :woman_student_tone4:<br> woman_student_tone5 :woman_student_tone5:<br> woman_superhero :woman_superhero:<br> woman_superhero_tone1 :woman_superhero_tone1:<br> woman_superhero_tone2 :woman_superhero_tone2:<br> woman_superhero_tone3 :woman_superhero_tone3:<br> woman_superhero_tone4 :woman_superhero_tone4:<br> woman_superhero_tone5 :woman_superhero_tone5:<br> woman_supervillain :woman_supervillain:<br> woman_supervillain_tone1 :woman_supervillain_tone1:<br> woman_supervillain_tone2 :woman_supervillain_tone2:<br> woman_supervillain_tone3 :woman_supervillain_tone3:<br> woman_supervillain_tone4 :woman_supervillain_tone4:<br> woman_supervillain_tone5 :woman_supervillain_tone5:<br> woman_surfing :woman_surfing:<br> woman_surfing_tone1 :woman_surfing_tone1:<br> woman_surfing_tone2 :woman_surfing_tone2:<br> woman_surfing_tone3 :woman_surfing_tone3:<br> woman_surfing_tone4 :woman_surfing_tone4:<br> woman_surfing_tone5 :woman_surfing_tone5:<br> woman_swimming :woman_swimming:<br> woman_swimming_tone1 :woman_swimming_tone1:<br> woman_swimming_tone2 :woman_swimming_tone2:<br> woman_swimming_tone3 :woman_swimming_tone3:<br> woman_swimming_tone4 :woman_swimming_tone4:<br> woman_swimming_tone5 :woman_swimming_tone5:<br> woman_teacher :woman_teacher:<br> woman_teacher_tone1 :woman_teacher_tone1:<br> woman_teacher_tone2 :woman_teacher_tone2:<br> woman_teacher_tone3 :woman_teacher_tone3:<br> woman_teacher_tone4 :woman_teacher_tone4:<br> woman_teacher_tone5 :woman_teacher_tone5:<br> woman_technologist :woman_technologist:<br> woman_technologist_tone1 :woman_technologist_tone1:<br> woman_technologist_tone2 :woman_technologist_tone2:<br> woman_technologist_tone3 :woman_technologist_tone3:<br> woman_technologist_tone4 :woman_technologist_tone4:<br> woman_technologist_tone5 :woman_technologist_tone5:<br> woman_tipping_hand :woman_tipping_hand:<br> woman_tipping_hand_tone1 :woman_tipping_hand_tone1:<br> woman_tipping_hand_tone2 :woman_tipping_hand_tone2:<br> woman_tipping_hand_tone3 :woman_tipping_hand_tone3:<br> woman_tipping_hand_tone4 :woman_tipping_hand_tone4:<br> woman_tipping_hand_tone5 :woman_tipping_hand_tone5:<br> woman_tone1 :woman_tone1:<br> woman_tone1_beard :woman_tone1_beard:<br> woman_tone2 :woman_tone2:<br> woman_tone2_beard :woman_tone2_beard:<br> woman_tone3 :woman_tone3:<br> woman_tone3_beard :woman_tone3_beard:<br> woman_tone4 :woman_tone4:<br> woman_tone4_beard :woman_tone4_beard:<br> woman_tone5 :woman_tone5:<br> woman_tone5_beard :woman_tone5_beard:<br> woman_vampire :woman_vampire:<br> woman_vampire_tone1 :woman_vampire_tone1:<br> woman_vampire_tone2 :woman_vampire_tone2:<br> woman_vampire_tone3 :woman_vampire_tone3:<br> woman_vampire_tone4 :woman_vampire_tone4:<br> woman_vampire_tone5 :woman_vampire_tone5:<br> woman_walking :woman_walking:<br> woman_walking_tone1 :woman_walking_tone1:<br> woman_walking_tone2 :woman_walking_tone2:<br> woman_walking_tone3 :woman_walking_tone3:<br> woman_walking_tone4 :woman_walking_tone4:<br> woman_walking_tone5 :woman_walking_tone5:<br> woman_wearing_turban :woman_wearing_turban:<br> woman_wearing_turban_tone1 :woman_wearing_turban_tone1:<br> woman_wearing_turban_tone2 :woman_wearing_turban_tone2:<br> woman_wearing_turban_tone3 :woman_wearing_turban_tone3:<br> woman_wearing_turban_tone4 :woman_wearing_turban_tone4:<br> woman_wearing_turban_tone5 :woman_wearing_turban_tone5:<br> woman_white_haired :woman_white_haired:<br> woman_white_haired_tone1 :woman_white_haired_tone1:<br> woman_white_haired_tone2 :woman_white_haired_tone2:<br> woman_white_haired_tone3 :woman_white_haired_tone3:<br> woman_white_haired_tone4 :woman_white_haired_tone4:<br> woman_white_haired_tone5 :woman_white_haired_tone5:<br> woman_with_headscarf :woman_with_headscarf:<br> woman_with_headscarf_tone1 :woman_with_headscarf_tone1:<br> woman_with_headscarf_tone2 :woman_with_headscarf_tone2:<br> woman_with_headscarf_tone3 :woman_with_headscarf_tone3:<br> woman_with_headscarf_tone4 :woman_with_headscarf_tone4:<br> woman_with_headscarf_tone5 :woman_with_headscarf_tone5:<br> woman_with_probing_cane :woman_with_probing_cane:<br> woman_with_probing_cane_tone1 :woman_with_probing_cane_tone1:<br> woman_with_probing_cane_tone2 :woman_with_probing_cane_tone2:<br> woman_with_probing_cane_tone3 :woman_with_probing_cane_tone3:<br> woman_with_probing_cane_tone4 :woman_with_probing_cane_tone4:<br> woman_with_probing_cane_tone5 :woman_with_probing_cane_tone5:<br> woman_with_veil :woman_with_veil:<br> woman_with_veil_tone1 :woman_with_veil_tone1:<br> woman_with_veil_tone2 :woman_with_veil_tone2:<br> woman_with_veil_tone3 :woman_with_veil_tone3:<br> woman_with_veil_tone4 :woman_with_veil_tone4:<br> woman_with_veil_tone5 :woman_with_veil_tone5:<br> woman_zombie :woman_zombie:<br> womans_clothes :womans_clothes:<br> womans_flat_shoe :womans_flat_shoe:<br> womans_hat :womans_hat:<br> women_holding_hands_tone1 :women_holding_hands_tone1:<br> women_holding_hands_tone1_tone2 :women_holding_hands_tone1_tone2:<br> women_holding_hands_tone1_tone3 :women_holding_hands_tone1_tone3:<br> women_holding_hands_tone1_tone4 :women_holding_hands_tone1_tone4:<br> women_holding_hands_tone1_tone5 :women_holding_hands_tone1_tone5:<br> women_holding_hands_tone2 :women_holding_hands_tone2:<br> women_holding_hands_tone2_tone1 :women_holding_hands_tone2_tone1:<br> women_holding_hands_tone2_tone3 :women_holding_hands_tone2_tone3:<br> women_holding_hands_tone2_tone4 :women_holding_hands_tone2_tone4:<br> women_holding_hands_tone2_tone5 :women_holding_hands_tone2_tone5:<br> women_holding_hands_tone3 :women_holding_hands_tone3:<br> women_holding_hands_tone3_tone1 :women_holding_hands_tone3_tone1:<br> women_holding_hands_tone3_tone2 :women_holding_hands_tone3_tone2:<br> women_holding_hands_tone3_tone4 :women_holding_hands_tone3_tone4:<br> women_holding_hands_tone3_tone5 :women_holding_hands_tone3_tone5:<br> women_holding_hands_tone4 :women_holding_hands_tone4:<br> women_holding_hands_tone4_tone1 :women_holding_hands_tone4_tone1:<br> women_holding_hands_tone4_tone2 :women_holding_hands_tone4_tone2:<br> women_holding_hands_tone4_tone3 :women_holding_hands_tone4_tone3:<br> women_holding_hands_tone4_tone5 :women_holding_hands_tone4_tone5:<br> women_holding_hands_tone5 :women_holding_hands_tone5:<br> women_holding_hands_tone5_tone1 :women_holding_hands_tone5_tone1:<br> women_holding_hands_tone5_tone2 :women_holding_hands_tone5_tone2:<br> women_holding_hands_tone5_tone3 :women_holding_hands_tone5_tone3:<br> women_holding_hands_tone5_tone4 :women_holding_hands_tone5_tone4:<br> women_with_bunny_ears_partying :women_with_bunny_ears_partying:<br> women_wrestling :women_wrestling:<br> womens :womens:<br> wood :wood:<br> woozy_face :woozy_face:<br> worm :worm:<br> worried :worried:<br> wrench :wrench:<br> writing_hand :writing_hand:<br> writing_hand_tone1 :writing_hand_tone1:<br> writing_hand_tone2 :writing_hand_tone2:<br> writing_hand_tone3 :writing_hand_tone3:<br> writing_hand_tone4 :writing_hand_tone4:<br> writing_hand_tone5 :writing_hand_tone5:<br> x :x:<br> x_ray :x_ray:<br> yarn :yarn:<br> yawning_face :yawning_face:<br> yellow_circle :yellow_circle:<br> yellow_heart :yellow_heart:<br> yellow_square :yellow_square:<br> yen :yen:<br> yin_yang :yin_yang:<br> yo_yo :yo_yo:<br> yum :yum:<br> zany_face :zany_face:<br> zap :zap:<br> zebra :zebra:<br> zero :zero:<br> zipper_mouth :zipper_mouth:<br> zombie :zombie:<br> zzz :zzz:<br> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (svg).html�����������������������������������0000664�0000000�0000000�00000003517�14651242716�0025264�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Emojis</h1> <p>100 <img align="absmiddle" alt=":100:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f4af.svg" title=":100:" width="20px" /><br> 1234 <img align="absmiddle" alt=":1234:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f522.svg" title=":1234:" width="20px" /><br> 8ball <img align="absmiddle" alt=":8ball:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f3b1.svg" title=":8ball:" width="20px" /><br> a <img align="absmiddle" alt=":a:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f170.svg" title=":a:" width="20px" /><br> ab <img align="absmiddle" alt=":ab:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f18e.svg" title=":ab:" width="20px" /><br> abacus <img align="absmiddle" alt=":abacus:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f9ee.svg" title=":abacus:" width="20px" /><br> abc <img align="absmiddle" alt=":abc:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f524.svg" title=":abc:" width="20px" /><br> abcd <img align="absmiddle" alt=":abcd:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f521.svg" title=":abcd:" width="20px" /><br> accept <img align="absmiddle" alt=":accept:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1f251.svg" title=":accept:" width="20px" /><br> accordion <img align="absmiddle" alt=":accordion:" class="twemoji" height="20px" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/1fa97.svg" title=":accordion:" width="20px" /><br></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/emoji/twemoji (svg).txt������������������������������������0000664�0000000�0000000�00000000257�14651242716�0025135�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Emojis 100 :100:<br> 1234 :1234:<br> 8ball :8ball:<br> a :a:<br> ab :ab:<br> abacus :abacus:<br> abc :abc:<br> abcd :abcd:<br> accept :accept:<br> accordion :accordion:<br> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/�������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022637�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall (critic).html��������������������������0000664�0000000�0000000�00000000206�14651242716�0027033�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>We shouldn't escape STX and ETX characters:</p> <p>Don't escape crtiic placeholder: <span class="critic comment">comment</span></p>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall (critic).txt���������������������������0000664�0000000�0000000�00000000135�14651242716�0026707�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������We shouldn't escape STX and ETX characters: Don't escape crtiic placeholder: \{>>comment<<} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall (ws normal).html�����������������������0000664�0000000�0000000�00000000122�14651242716�0027455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>We can escape everything â¤âœ“☀☆☂♞☯☭☢€☎∞â„♫ 😄 \</p>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall (ws normal).txt������������������������0000664�0000000�0000000�00000000165�14651242716�0027337�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\W\e\ \c\a\n\ \e\s\c\a\p\e\ \e\v\e\r\y\t\h\i\n\g \ \â¤\✓\☀\☆\☂\♞\☯\☭\☢\€\☎\∞\â„\♫ \😄 \\ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall.html�����������������������������������0000664�0000000�0000000�00000000147�14651242716�0025460�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>We can escape everything <br /> â¤âœ“☀☆☂♞☯☭☢€☎∞â„♫ 😄 \</p>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/escapeall.txt������������������������������������0000664�0000000�0000000�00000000165�14651242716�0025333�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\W\e\ \c\a\n\ \e\s\c\a\p\e\ \e\v\e\r\y\t\h\i\n\g \ \â¤\✓\☀\☆\☂\♞\☯\☭\☢\€\☎\∞\â„\♫ \😄 \\ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/escapeall/tests.yml����������������������������������������0000664�0000000�0000000�00000000410�14651242716�0024517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} escapeall: extensions: pymdownx.escapeall: hardbreak: True nbsp: True escapeall (critic): extensions: pymdownx.escapeall: pymdownx.critic: mode: view escapeall (ws normal): extensions: pymdownx.escapeall: ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/�����������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022031�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/extra (config).html����������������������������������0000664�0000000�0000000�00000001072�14651242716�0025411�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Footnotes<sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup> have a label<sup id="fnref:@#$%"><a class="footnote-ref" href="#fn:@#$%">2</a></sup> and the footnote's content.</p> <div class="footnote"> <hr /> <ol> <li id="fn:1"> <p>This is a footnote content. <a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text">link</a></p> </li> <li id="fn:@#$%"> <p>A footnote on the label: "@#$%". <a class="footnote-backref" href="#fnref:@#$%" title="Jump back to footnote 2 in the text">link</a></p> </li> </ol> </div>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/extra (config).txt�����������������������������������0000664�0000000�0000000�00000000213�14651242716�0025260�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Footnotes[^1] have a label[^@#$%] and the footnote's content. [^1]: This is a footnote content. [^@#$%]: A footnote on the label: "@#$%". �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/extra.html�������������������������������������������0000664�0000000�0000000�00000001343�14651242716�0024043�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<table> <thead> <tr> <th>Col1</th> <th>Col2</th> </tr> </thead> <tbody> <tr> <td>Abbreviations</td> <td><abbr title="abbreviations">abr</abbr></td> </tr> <tr> <td>Emphasis</td> <td><strong>emphasis works</strong></td> </tr> <tr> <td>Footnote<sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup></td> <td></td> </tr> <tr> <td>Attr List</td> <td><strong style="color: red;">Test</strong></td> </tr> </tbody> </table> <div> <p>This <strong>will</strong> be processed.</p> </div> <dl> <dt>Definition</dt> <dd>Some text</dd> </dl> <div class="footnote"> <hr /> <ol> <li id="fn:1"> <p>This is a footnote. <a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text">↩</a></p> </li> </ol> </div>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/extra.txt��������������������������������������������0000664�0000000�0000000�00000000437�14651242716�0023721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������| Col1 | Col2 | | ---- | ---- | | Abbreviations | abr | | Emphasis | **emphasis works** | | Footnote[^1] | | | Attr List | **Test**{: style="color: red;"} | <div markdown="1"> This **will** be processed. </div> Definition : Some text *[abr]: abbreviations [^1]: This is a footnote. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/extra/tests.yml��������������������������������������������0000664�0000000�0000000�00000000256�14651242716�0023721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} extra: extensions: pymdownx.extra: extra (config): extensions: pymdownx.extra: markdown.extensions.footnotes: BACKLINK_TEXT: link ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0021661�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/keys (camel).html�������������������������������������0000664�0000000�0000000�00000002007�14651242716�0024704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h2>Keys</h2> <p><span class="keys"><kbd class="key-alt">Alt</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-down">Down</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-left">Left</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-right">Right</kbd></span></p> <h2>Aliases</h2> <p><span class="keys"><kbd class="key-num-plus">Num +</kbd></span></p> <p><span class="keys"><kbd class="key-context-menu">Menu</kbd></span></p> <p><span class="keys"><kbd class="key-backspace">Backspace</kbd></span></p> <h2>Combos</h2> <p><span class="keys"><kbd class="key-windows">Win</kbd><span>+</span><kbd class="key-shift">Shift</kbd><span>+</span><kbd class="key-s">S</kbd></span></p> <p><span class="keys"><kbd class="key-command">Cmd</kbd><span>+</span><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-d">D</kbd></span></p> <p><span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd class="key-page-down">Page Down</kbd></span></p>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/keys (camel).txt��������������������������������������0000664�0000000�0000000�00000000246�14651242716�0024562�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Keys ++Alt++ ++ArrowDown++ ++ArrowLeft++ ++ArrowRight++ ## Aliases ++Add++ ++Apps++ ++Back++ ## Combos ++Win+Shift+s++ ++cmd+ctrl+d++ ++Ctrl+Alt+PgDn++ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/keys.html���������������������������������������������0000664�0000000�0000000�00000006545�14651242716�0023534�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h2>Keys</h2> <p><span class="keys"><kbd class="key-alt">Alt</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-down">Down</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-left">Left</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-right">Right</kbd></span></p> <p><span class="keys"><kbd class="key-arrow-up">Up</kbd></span></p> <p><span class="keys"><kbd class="key-backslash">\</kbd></span></p> <p><span class="keys"><kbd class="key-backspace">Backspace</kbd></span></p> <p><span class="keys"><kbd class="key-backtab">Back Tab</kbd></span></p> <p><span class="keys"><kbd class="key-bar">|</kbd></span></p> <p><span class="keys"><kbd class="key-brace-left">{</kbd></span></p> <p><span class="keys"><kbd class="key-brace-right">}</kbd></span></p> <p><span class="keys"><kbd class="key-bracket-left">[</kbd></span></p> <p><span class="keys"><kbd class="key-bracket-right">]</kbd></span></p> <p><span class="keys"><kbd class="key-break">Break</kbd></span></p> <p><span class="keys"><kbd class="key-browser-back">Browser Back</kbd></span></p> <p><span class="keys"><kbd class="key-browser-favorites">Browser Favorites</kbd></span></p> <p><span class="keys"><kbd class="key-browser-forward">Browser Forward</kbd></span></p> <p><span class="keys"><kbd class="key-browser-home">Browser Home</kbd></span></p> <p><span class="keys"><kbd class="key-browser-refresh">Browser Refresh</kbd></span></p> <p><span class="keys"><kbd class="key-browser-search">Browser Search</kbd></span></p> <p><span class="keys"><kbd class="key-browser-stop">Browser Stop</kbd></span></p> <h2>Aliases</h2> <p><span class="keys"><kbd class="key-num-plus">Num +</kbd></span></p> <p><span class="keys"><kbd class="key-context-menu">Menu</kbd></span></p> <p><span class="keys"><kbd class="key-backspace">Backspace</kbd></span></p> <p><span class="keys"><kbd class="key-backspace">Backspace</kbd></span></p> <p><span class="keys"><kbd class="key-backtab">Back Tab</kbd></span></p> <p><span class="keys"><kbd class="key-break">Break</kbd></span></p> <h2>Combos</h2> <p><span class="keys"><kbd class="key-windows">Win</kbd><span>+</span><kbd class="key-shift">Shift</kbd><span>+</span><kbd class="key-s">S</kbd></span></p> <p><span class="keys"><kbd class="key-command">Cmd</kbd><span>+</span><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-d">D</kbd></span></p> <h2>On the Fly Special Key</h2> <p><span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd>Special</kbd></span></p> <h2>Special Key Added to Key Map</h2> <p><span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd class="key-custom">Custom Key</kbd></span></p> <h2>Override Original</h2> <p><span class="keys"><kbd class="key-option">Opt</kbd><span>+</span><kbd class="key-shift">Shift</kbd><span>+</span><kbd class="key-s">S</kbd></span></p> <h2>Escape Plus</h2> <p><span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd>Special with + sign</kbd></span></p> <p>++ctrl+alt+delete++</p> <p>\<span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-alt">Alt</kbd><span>+</span><kbd class="key-delete">Del</kbd></span></p> <p>\++ctrl+alt+delete++</p> <p>++ctrl+alt+delete++</p> <p>++ctrl+alt+delete++</p> <h2>Bad Key</h2> <p>++ctrl+alt+bad++</p>�����������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/keys.txt����������������������������������������������0000664�0000000�0000000�00000001454�14651242716�0023401�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Keys ++alt++ ++arrow-down++ ++arrow-left++ ++arrow-right++ ++arrow-up++ ++backslash++ ++backspace++ ++backtab++ ++bar++ ++brace-left++ ++brace-right++ ++bracket-left++ ++bracket-right++ ++break++ ++browser-back++ ++browser-favorites++ ++browser-forward++ ++browser-home++ ++browser-refresh++ ++browser-search++ ++browser-stop++ ## Aliases ++add++ ++apps++ ++back++ ++bksp++ ++bktab++ ++cancel++ ## Combos ++win+shift+s++ ++cmd+ctrl+d++ ## On the Fly Special Key ++ctrl+alt+"Special"++ ## Special Key Added to Key Map ++ctrl+alt+custom++ ## Override Original ++option+shift+s++ ## Escape Plus ++ctrl+alt+"Special with \+ sign"++ \++ctrl+alt+delete++ \\++ctrl+alt+delete++ \\\++ctrl+alt+delete++ ++ctrl+alt+delete\++ ++ctrl\+alt+delete++ ## Bad Key ++ctrl+alt+bad++ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/keys/tests.yml���������������������������������������������0000664�0000000�0000000�00000000320�14651242716�0023541�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} keys: extensions: pymdownx.keys: key_map: { 'custom': 'Custom Key', 'option': 'Opt' } keys (camel): extensions: pymdownx.keys: camel_case: true ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/�������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022644�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (bitbucket).html�����������������������0000664�0000000�0000000�00000006505�14651242716�0027554�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Mention <a class="magiclink magiclink-bitbucket magiclink-mention" href="https://bitbucket.org/some-bodies_name" title="Bitbucket User: some-bodies_name">@some-bodies_name</a></p> <p>Commit <a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/some-bodies_name/some_repository/commits/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="Bitbucket Commit: some-bodies_name/some_repository@3f6b07a">some-bodies_name/some_repository@3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-bitbucket magiclink-compare" href="https://bitbucket.org/some-bodies_name/some_repository/branches/commits/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2..90b6fb8711e75732f987982cc024e9bb0111beac#diff" title="Bitbucket Compare: some-bodies_name/some_repository@e2ed7e0...90b6fb8">some-bodies_name/some_repository@e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/some-bodies_name/some_repository/issues/33" title="Bitbucket Issue: some-bodies_name/some_repository #33">some-bodies_name/some_repository#33</a></p> <p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/some-bodies_name/some_repository/pull-requests/33" title="Bitbucket Pull Request: some-bodies_name/some_repository #33">some-bodies_name/some_repository!33</a></p> <p>Commit <a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/facelessuser/pymdown-extensions/commits/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="Bitbucket Commit: facelessuser/pymdown-extensions@3f6b07a">3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-bitbucket magiclink-compare" href="https://bitbucket.org/facelessuser/pymdown-extensions/branches/commits/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2..90b6fb8711e75732f987982cc024e9bb0111beac#diff" title="Bitbucket Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/facelessuser/pymdown-extensions/issues/33" title="Bitbucket Issue: facelessuser/pymdown-extensions #33">#33</a></p> <p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/facelessuser/pymdown-extensions/pull-requests/33" title="Bitbucket Pull Request: facelessuser/pymdown-extensions #33">!33</a></p> <p>Commit <a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/facelessuser/MyRepo/commits/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="Bitbucket Commit: facelessuser/MyRepo@3f6b07a">MyRepo@3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-bitbucket magiclink-compare" href="https://bitbucket.org/facelessuser/pymdown-extensions/branches/commits/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2..90b6fb8711e75732f987982cc024e9bb0111beac#diff" title="Bitbucket Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/facelessuser/MyRepo/issues/33" title="Bitbucket Issue: facelessuser/MyRepo #33">MyRepo#33</a></p> <p>Pull <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/facelessuser/MyRepo/pull-requests/33" title="Bitbucket Pull Request: facelessuser/MyRepo #33">MyRepo!33</a></p>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (bitbucket).txt������������������������0000664�0000000�0000000�00000001250�14651242716�0027417�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mention @some-bodies_name Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare some-bodies_name/some_repository@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue some-bodies_name/some_repository#33 Pull request some-bodies_name/some_repository!33 Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue #33 Pull request !33 Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue MyRepo#33 Pull MyRepo!33 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (extensions).html����������������������0000664�0000000�0000000�00000003741�14651242716�0027776�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Magic link mixed with other extensions</p> <p><del><a href="http://www.google.com">http://www.google.com</a></del></p> <p><strong><a href="http://www.google.com">http://www.google.com</a></strong></p> <p><strong><a href="http://www.google.com">http://www.google.com</a></strong></p> <p><ins><a href="http://www.google.com">http://www.google.com</a></ins></p> <p><del><a href="mailto:fake.mail@gmail.com">fake.mail@gmail.com</a></del></p> <p><strong><a href="mailto:fake.mail@gmail.com">fake.mail@gmail.com</a></strong></p> <p><ins><a href="mailto:fake.mail@gmail.com">fake.mail@gmail.com</a></ins></p> <p><mark><a href="mailto:fake.mail@gmail.com">fake.mail@gmail.com</a></mark></p> <p>These aren't guarunteed to work without being enclosed as we allow links to trail with = and emails can lead with _.</p> <p><mark><a href="http://www.google.com">http://www.google.com</a></mark></p> <p><strong><a href="mailto:fake.mail@gmail.com">fake.mail@gmail.com</a></strong></p>�������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (extensions).txt�����������������������0000664�0000000�0000000�00000000645�14651242716�0027651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Magic link mixed with other extensions ~~http://www.google.com~~ **http://www.google.com** __http://www.google.com__ ^^http://www.google.com^^ ~~fake.mail@gmail.com~~ **fake.mail@gmail.com** ^^fake.mail@gmail.com^^ ==fake.mail@gmail.com== These aren't guarunteed to work without being enclosed as we allow links to trail with = and emails can lead with _. ==<http://www.google.com>== __<fake.mail@gmail.com>__ �������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (gitlab).html��������������������������0000664�0000000�0000000�00000006255�14651242716�0027044�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Mention <a class="magiclink magiclink-gitlab magiclink-mention" href="https://gitlab.com/some-bodies_name" title="GitLab User: some-bodies_name">@some-bodies_name</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/some-bodies_name/some_repository/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: some-bodies_name/some_repository@3f6b07a8">some-bodies_name/some_repository@3f6b07a8</a></p> <p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/some-bodies_name/some_repository/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: some-bodies_name/some_repository@e2ed7e0b...90b6fb87">some-bodies_name/some_repository@e2ed7e0b...90b6fb87</a></p> <p>Issue <a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/some-bodies_name/some_repository/-/issues/33" title="GitLab Issue: some-bodies_name/some_repository #33">some-bodies_name/some_repository#33</a></p> <p>Pull request <a class="magiclink magiclink-gitlab magiclink-pull" href="https://gitlab.com/some-bodies_name/some_repository/-/merge_requests/33" title="GitLab Pull Request: some-bodies_name/some_repository #33">some-bodies_name/some_repository!33</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/facelessuser/pymdown-extensions/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: facelessuser/pymdown-extensions@3f6b07a8">3f6b07a8</a></p> <p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/facelessuser/pymdown-extensions/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: facelessuser/pymdown-extensions@e2ed7e0b...90b6fb87">e2ed7e0b...90b6fb87</a></p> <p>Issue <a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/facelessuser/pymdown-extensions/-/issues/33" title="GitLab Issue: facelessuser/pymdown-extensions #33">#33</a></p> <p>Pull request <a class="magiclink magiclink-gitlab magiclink-pull" href="https://gitlab.com/facelessuser/pymdown-extensions/-/merge_requests/33" title="GitLab Pull Request: facelessuser/pymdown-extensions #33">!33</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/facelessuser/MyRepo/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: facelessuser/MyRepo@3f6b07a8">MyRepo@3f6b07a8</a></p> <p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/facelessuser/MyRepo/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: facelessuser/MyRepo@e2ed7e0b...90b6fb87">MyRepo@e2ed7e0b...90b6fb87</a></p> <p>Issue <a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/facelessuser/MyRepo/-/issues/33" title="GitLab Issue: facelessuser/MyRepo #33">MyRepo#33</a></p> <p>Pull <a class="magiclink magiclink-gitlab magiclink-pull" href="https://gitlab.com/facelessuser/MyRepo/-/merge_requests/33" title="GitLab Pull Request: facelessuser/MyRepo #33">MyRepo!33</a></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (gitlab).txt���������������������������0000664�0000000�0000000�00000001257�14651242716�0026714�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mention @some-bodies_name Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare some-bodies_name/some_repository@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue some-bodies_name/some_repository#33 Pull request some-bodies_name/some_repository!33 Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue #33 Pull request !33 Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare MyRepo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue MyRepo#33 Pull MyRepo!33 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (invalid).html�������������������������0000664�0000000�0000000�00000007235�14651242716�0027227�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Mention <a class="magiclink magiclink-github magiclink-mention" href="https://github.com/some-bodies_name" title="GitHub User: some-bodies_name">@some-bodies_name</a></p> <p>Mention <a class="magiclink magiclink-github magiclink-repository" href="https://github.com/some-bodies_name/some_repository" title="GitHub Repository: some-bodies_name/some_repository">some-bodies_name/some_repository</a></p> <p>Mention <a class="magiclink magiclink-github magiclink-repository" href="https://github.com/facelessuser/some_repository" title="GitHub Repository: facelessuser/some_repository">facelessuser/some_repository</a></p> <p>Commit <a class="magiclink magiclink-github magiclink-commit" href="https://github.com/some-bodies_name/some_repository/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitHub Commit: some-bodies_name/some_repository@3f6b07a">some-bodies_name/some_repository@3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-github magiclink-compare" href="https://github.com/some-bodies_name/some_repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: some-bodies_name/some_repository@e2ed7e0...90b6fb8">some-bodies_name/some_repository@e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-bodies_name/some_repository/issues/33" title="GitHub Issue: some-bodies_name/some_repository #33">some-bodies_name/some_repository#33</a></p> <p>Pull request <a class="magiclink magiclink-github magiclink-pull" href="https://github.com/some-bodies_name/some_repository/pull/33" title="GitHub Pull Request: some-bodies_name/some_repository #33">some-bodies_name/some_repository!33</a></p> <p>Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac</p> <p>Issue #33</p> <p>Pull request !33</p> <p>Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>Compare MyRepo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac</p> <p>Issue MyRepo#33</p> <p>Pull MyRepo!33</p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-mention" href="https://gitlab.com/some-user" title="GitLab User: some-user">@some-user</a></p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-repository" href="https://gitlab.com/some-bodies_name/some_repository" title="GitLab Repository: some-bodies_name/some_repository">some-bodies_name/some_repository</a></p> <p>Mention <a class="magiclink magiclink-bitbucket magiclink-repository" href="https://bitbucket.org/facelessuser/some_repository" title="Bitbucket Repository: facelessuser/some_repository">facelessuser/some_repository</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-user/some-repo/issues/1" title="GitHub Issue: some-user/some-repo #1">some-user/some-repo#1</a></p> <p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/some-user/some-repo/pull-requests/2" title="Bitbucket Pull Request: some-user/some-repo #2">some-user/some-repo!2</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/some-user/some-repo/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: some-user/some-repo@3f6b07a8">some-user/some-repo@3f6b07a8</a></p> <p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/some-user/some-repo/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: some-user/some-repo@e2ed7e0b...90b6fb87">some-user/some-repo@e2ed7e0b...90b6fb87</a></p>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (invalid).txt��������������������������0000664�0000000�0000000�00000002225�14651242716�0027074�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mention @some-bodies_name Mention @some-bodies_name/some_repository Mention @facelessuser/some_repository Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare some-bodies_name/some_repository@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue some-bodies_name/some_repository#33 Pull request some-bodies_name/some_repository!33 Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue #33 Pull request !33 Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare MyRepo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue MyRepo#33 Pull MyRepo!33 Mention @gitlab:some-user Mention @gitlab:some-bodies_name/some_repository Mention @bitbucket:facelessuser/some_repository Issue github:some-user/some-repo#1 Pull request bitbucket:some-user/some-repo!2 Commit gitlab:some-user/some-repo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare gitlab:some-user/some-repo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (shorthand).html�����������������������0000664�0000000�0000000�00000014414�14651242716�0027570�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Mention <a class="magiclink magiclink-github magiclink-mention" href="https://github.com/some-bodies_name" title="GitHub User: some-bodies_name">@some-bodies_name</a></p> <p>Mention <a class="magiclink magiclink-github magiclink-repository" href="https://github.com/some-bodies_name/some_repository" title="GitHub Repository: some-bodies_name/some_repository">some-bodies_name/some_repository</a></p> <p>Mention <a class="magiclink magiclink-github magiclink-repository" href="https://github.com/facelessuser/some_repository" title="GitHub Repository: facelessuser/some_repository">facelessuser/some_repository</a></p> <p>Commit <a class="magiclink magiclink-github magiclink-commit" href="https://github.com/some-bodies_name/some_repository/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitHub Commit: some-bodies_name/some_repository@3f6b07a">some-bodies_name/some_repository@3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-github magiclink-compare" href="https://github.com/some-bodies_name/some_repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: some-bodies_name/some_repository@e2ed7e0...90b6fb8">some-bodies_name/some_repository@e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-bodies_name/some_repository/issues/33" title="GitHub Issue: some-bodies_name/some_repository #33">some-bodies_name/some_repository#33</a></p> <p>Pull request <a class="magiclink magiclink-github magiclink-pull" href="https://github.com/some-bodies_name/some_repository/pull/33" title="GitHub Pull Request: some-bodies_name/some_repository #33">some-bodies_name/some_repository!33</a></p> <p>Commit <a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitHub Commit: facelessuser/pymdown-extensions@3f6b07a">3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-github magiclink-compare" href="https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/33" title="GitHub Issue: facelessuser/pymdown-extensions #33">#33</a></p> <p>Pull request <a class="magiclink magiclink-github magiclink-pull" href="https://github.com/facelessuser/pymdown-extensions/pull/33" title="GitHub Pull Request: facelessuser/pymdown-extensions #33">!33</a></p> <p>Commit <a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/MyRepo/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitHub Commit: facelessuser/MyRepo@3f6b07a">MyRepo@3f6b07a</a></p> <p>Compare <a class="magiclink magiclink-github magiclink-compare" href="https://github.com/facelessuser/MyRepo/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: facelessuser/MyRepo@e2ed7e0...90b6fb8">MyRepo@e2ed7e0...90b6fb8</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/MyRepo/issues/33" title="GitHub Issue: facelessuser/MyRepo #33">MyRepo#33</a></p> <p>Pull <a class="magiclink magiclink-github magiclink-pull" href="https://github.com/facelessuser/MyRepo/pull/33" title="GitHub Pull Request: facelessuser/MyRepo #33">MyRepo!33</a></p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-mention" href="https://gitlab.com/some-user" title="GitLab User: some-user">@some-user</a></p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-repository" href="https://gitlab.com/some-bodies_name/some_repository" title="GitLab Repository: some-bodies_name/some_repository">some-bodies_name/some_repository</a></p> <p>Mention <a class="magiclink magiclink-bitbucket magiclink-repository" href="https://bitbucket.org/facelessuser/some_repository" title="Bitbucket Repository: facelessuser/some_repository">facelessuser/some_repository</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-user/some-repo/issues/1" title="GitHub Issue: some-user/some-repo #1">some-user/some-repo#1</a></p> <p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/some-user/some-repo/pull-requests/2" title="Bitbucket Pull Request: some-user/some-repo #2">some-user/some-repo!2</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/some-user/some-repo/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: some-user/some-repo@3f6b07a8">some-user/some-repo@3f6b07a8</a></p> <p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/some-user/some-repo/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: some-user/some-repo@e2ed7e0b...90b6fb87">some-user/some-repo@e2ed7e0b...90b6fb87</a></p> <hr /> <p><a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/username" title="Twitter User: username">@username</a></p> <hr /> <p>No issue #33</p> <p>No issue #</p> <p>No pull request !33</p> <p>No mention @some-bodies_name</p> <p>No issue some-bodies_name/some_repository#33</p> <p>No pull request some-bodies_name/some_repository!33</p> <p>No commit @3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>No compare @e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...<a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Commit: facelessuser/pymdown-extensions@90b6fb8">90b6fb8</a></p> <p><a href="http://google.com">No mention @facelessuser</a></p> <p><a href="http://google.com">No issue #33</a></p> <p><a href="http://google.com">No issue some-bodies_name/some_repository#33</a></p> <p><a href="http://google.com">@facelessuser</a></p> <p><a href="http://google.com">No repo @facelessuser/pymdown-extensions</a></p> <p><a href="http://google.com">No link http://google.com</a></p> <p><a href="http://google.com">No email fakeemail@mail.com</a></p>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (shorthand).txt������������������������0000664�0000000�0000000�00000003533�14651242716�0027443�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mention @some-bodies_name Mention @some-bodies_name/some_repository Mention @facelessuser/some_repository Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare some-bodies_name/some_repository@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue some-bodies_name/some_repository#33 Pull request some-bodies_name/some_repository!33 Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue #33 Pull request !33 Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare MyRepo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac Issue MyRepo#33 Pull MyRepo!33 Mention @gitlab:some-user Mention @gitlab:some-bodies_name/some_repository Mention @bitbucket:facelessuser/some_repository Issue github:some-user/some-repo#1 Pull request bitbucket:some-user/some-repo!2 Commit gitlab:some-user/some-repo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a Compare gitlab:some-user/some-repo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac --- @twitter:username --- No issue \#33 No issue # No pull request \!33 No mention \@some-bodies_name No issue some-bodies_name/some_repository\#33 No pull request some-bodies_name/some_repository\!33 No commit @3f6b07a8eeaa9d606115758d90f55fec565d4e2a No compare @e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac [No mention @facelessuser](http://google.com) [No issue #33](http://google.com) [No issue some-bodies_name/some_repository#33](http://google.com) [@facelessuser](http://google.com) [No repo @facelessuser/pymdown-extensions](http://google.com) [No link http://google.com](http://google.com) [No email fakeemail@mail.com](http://google.com) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (shorthand-social).html����������������0000664�0000000�0000000�00000015017�14651242716�0031040�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Mention <a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/some" title="Twitter User: some">@some</a>-bodies_name</p> <p>Not a repo mention <a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/some" title="Twitter User: some">@some</a>-bodies_name/some_repository</p> <p>Not a repo mention <a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/facelessuser" title="Twitter User: facelessuser">@facelessuser</a>/some_repository</p> <p>No Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>No Issue some-bodies_name/some_repository#33</p> <p>No Pull request some-bodies_name/some_repository!33</p> <p>No Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>No Issue #33</p> <p>No Pull request !33</p> <p>No Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <p>No Issue MyRepo#33</p> <p>No Pull MyRepo!33</p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-mention" href="https://gitlab.com/some-user" title="GitLab User: some-user">@some-user</a></p> <p>Mention <a class="magiclink magiclink-gitlab magiclink-repository" href="https://gitlab.com/some-bodies_name/some_repository" title="GitLab Repository: some-bodies_name/some_repository">some-bodies_name/some_repository</a></p> <p>Mention <a class="magiclink magiclink-bitbucket magiclink-repository" href="https://bitbucket.org/facelessuser/some_repository" title="Bitbucket Repository: facelessuser/some_repository">facelessuser/some_repository</a></p> <p>Issue <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-user/some-repo/issues/1" title="GitHub Issue: some-user/some-repo #1">some-user/some-repo#1</a></p> <p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/some-user/some-repo/pull-requests/2" title="Bitbucket Pull Request: some-user/some-repo #2">some-user/some-repo!2</a></p> <p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/some-user/some-repo/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: some-user/some-repo@3f6b07a8">some-user/some-repo@3f6b07a8</a></p> <hr /> <p><a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/username" title="Twitter User: username">@username</a></p> <hr /> <p>No issue #33</p> <p>No pull request !33</p> <p>No mention @some-bodies_name</p> <p>No issue some-bodies_name/some_repository#33</p> <p>No pull request some-bodies_name/some_repository!33</p> <p>No commit @3f6b07a8eeaa9d606115758d90f55fec565d4e2a</p> <hr /> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">facelessuser/pymdown-extensions#49</a></p> <p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/facelessuser/pymdown-extensions/pull/87" title="GitHub Pull Request: facelessuser/pymdown-extensions #87">facelessuser/pymdown-extensions!87</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819" title="GitHub Commit: facelessuser/pymdown-extensions@6a09fde">facelessuser/pymdown-extensions@6a09fde</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/fake-user/fake-repository/issues/538" title="GitHub Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/fake-user/fake-repository/pull/539" title="GitHub Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/fake-user/fake-repository/issues/538" title="GitLab Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-gitlab magiclink-pull" href="https://gitlab.com/fake-user/fake-repository/merge_requests/539" title="GitLab Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitLab Commit: fake-user/fake-repository@594b25d5">fake-user/fake-repository@594b25d5</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/fake-user/fake-repository/pull-requests/539/" title="Bitbucket Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/fake-user/fake-repository/pull-requests/539/optional-title" title="Bitbucket Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="Bitbucket Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">facelessuser/pymdown-extensions#49</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/fake-repository/issues/87" title="GitHub Issue: facelessuser/fake-repository #87">facelessuser/fake-repository#87</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: facelessuser/fake-repository@594b25d">facelessuser/fake-repository@594b25d</a></p>�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink (shorthand-social).txt�����������������0000664�0000000�0000000�00000004366�14651242716�0030720�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mention @some-bodies_name Not a repo mention @some-bodies_name/some_repository Not a repo mention @facelessuser/some_repository No Commit some-bodies_name/some_repository@3f6b07a8eeaa9d606115758d90f55fec565d4e2a No Issue some-bodies_name/some_repository#33 No Pull request some-bodies_name/some_repository!33 No Commit 3f6b07a8eeaa9d606115758d90f55fec565d4e2a No Issue #33 No Pull request !33 No Commit MyRepo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a No Issue MyRepo#33 No Pull MyRepo!33 Mention @gitlab:some-user Mention @gitlab:some-bodies_name/some_repository Mention @bitbucket:facelessuser/some_repository Issue github:some-user/some-repo#1 Pull request bitbucket:some-user/some-repo!2 Commit gitlab:some-user/some-repo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a --- @twitter:username --- No issue \#33 No pull request \!33 No mention \@some-bodies_name No issue some-bodies_name/some_repository\#33 No pull request some-bodies_name/some_repository\!33 No commit @3f6b07a8eeaa9d606115758d90f55fec565d4e2a --- https://github.com/facelessuser/pymdown-extensions/issues/49 https://github.com/facelessuser/pymdown-extensions/pull/87 https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819 https://github.com/fake-user/fake-repository/issues/538 https://github.com/fake-user/fake-repository/pull/539 https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://gitlab.com/fake-user/fake-repository/issues/538 https://gitlab.com/fake-user/fake-repository/merge_requests/539 https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://bitbucket.org/fake-user/fake-repository/issues/538/ https://bitbucket.org/fake-user/fake-repository/pull-requests/539/ https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title https://bitbucket.org/fake-user/fake-repository/pull-requests/539/optional-title https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16 <https://github.com/facelessuser/pymdown-extensions/issues/49> https://github.com/facelessuser/fake-repository/issues/87 https://github.com/facelessuser/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink.html�����������������������������������0000664�0000000�0000000�00000045322�14651242716�0025476�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h3>Should Pass</h3> <p><a href="http://foo.com/blah_blah">http://foo.com/blah_blah</a></p> <p><a href="http://foo.com/blah_blah/">http://foo.com/blah_blah/</a></p> <p><a href="http://foo.com/blah_blah_(wikipedia">http://foo.com/blah_blah_(wikipedia</a>)</p> <p><a href="http://foo.com/blah_blah_(wikipedia)_(again">http://foo.com/blah_blah_(wikipedia)_(again</a>)</p> <p><a href="http://www.example.com/wpstyle/?p=364">http://www.example.com/wpstyle/?p=364</a></p> <p><a href="https://www.example.com/foo/?bar=baz&inga=42&quux">https://www.example.com/foo/?bar=baz&inga=42&quux</a></p> <p><a href="http://142.42.1.1/">http://142.42.1.1/</a></p> <p><a href="http://142.42.1.1:8080/">http://142.42.1.1:8080/</a></p> <p><a href="http://foo.com/blah_(wikipedia)#cite-1">http://foo.com/blah_(wikipedia)#cite-1</a></p> <p><a href="http://foo.com/blah_(wikipedia)_blah#cite-1">http://foo.com/blah_(wikipedia)_blah#cite-1</a></p> <p><a href="http://foo.com/(something)?after=parens">http://foo.com/(something)?after=parens</a></p> <p><a href="http://code.google.com/events/#&product=browser">http://code.google.com/events/#&product=browser</a></p> <p><a href="http://j.mp">http://j.mp</a></p> <p><a href="ftp://foo.bar/baz">ftp://foo.bar/baz</a></p> <p><a href="http://foo.bar/?q=Test%20URL-encoded%20stuff">http://foo.bar/?q=Test%20URL-encoded%20stuff</a></p> <p><a href="http://1337.net">http://1337.net</a></p> <p><a href="http://a.b-c.de">http://a.b-c.de</a></p> <p><a href="http://223.255.255.254">http://223.255.255.254</a></p> <p><a href="http://www.google.com">www.google.com</a></p> <p><a href="http://single-word">http://single-word</a></p> <p><a href="http://www.single-word">www.single-word</a></p> <p><a href="http://localhost/website">http://localhost/website</a></p> <p><a href="http://3628126748">http://3628126748</a></p> <h1>Should Fail</h1> <p>http://</p> <p>http://.</p> <p>http://..</p> <p>http://../</p> <p>http://?</p> <p>http://??</p> <p>http://??/</p> <p>http://#</p> <p>http://##</p> <p>http://##/</p> <p><a href="http://foo.bar?q=Spaces">http://foo.bar?q=Spaces</a> should be encoded</p> <p>//</p> <p>//a</p> <p>///a</p> <p>///</p> <p>http:///a</p> <p>foo.com</p> <p>rdar://1234</p> <p>h://test</p> <p>http:// shouldfail.com</p> <p>:// should fail</p> <p><a href="http://foo.bar/foo(bar)baz">http://foo.bar/foo(bar)baz</a> quux</p> <p>http://-error-.invalid/</p> <p>http://-a.b.co</p> <h1>These should be valid</h1> <p><a href="mailto:first.last@test.org">first.last@test.org</a></p> <p><a href="mailto:1234567890123456789012345678901234567890123456789012345678901234@test.org">1234567890123456789012345678901234567890123456789012345678901234@test.org</a></p> <p><a href="mailto:first.last@x23456789012345678901234567890123456789012345678901234567890123.test.org">first.last@x23456789012345678901234567890123456789012345678901234567890123.test.org</a></p> <p><a href="mailto:first.last@3com.com">first.last@3com.com</a></p> <p><a href="mailto:first.last@123.test.org">first.last@123.test.org</a></p> <p><a href="mailto:user+mailbox@test.org">user+mailbox@test.org</a></p> <p><a href="mailto:_somename@test.org">_somename@test.org</a></p> <p><a href="mailto:dclo@us.ibm.com">dclo@us.ibm.com</a></p> <p><a href="mailto:peter.piper@test.org">peter.piper@test.org</a></p> <p><a href="mailto:test@test.org">test@test.org</a></p> <p><a href="mailto:TEST@test.org">TEST@test.org</a></p> <p><a href="mailto:1234567890@test.org">1234567890@test.org</a></p> <p><a href="mailto:test+test@test.org">test+test@test.org</a></p> <p><a href="mailto:test-test@test.org">test-test@test.org</a></p> <p><a href="mailto:test.test@test.org">test.test@test.org</a></p> <p><a href="mailto:test@example.test.org">test@example.test.org</a></p> <p><a href="mailto:test@example.example.test.org">test@example.example.test.org</a></p> <p><a href="mailto:_Yosemite.Sam@test.org">_Yosemite.Sam@test.org</a></p> <p><a href="mailto:Ima.Fool@test.org">Ima.Fool@test.org</a></p> <p><a href="mailto:name.lastname@domain.com">name.lastname@domain.com</a></p> <p><a href="mailto:a@bar.com">a@bar.com</a></p> <p><a href="mailto:a-b@bar.com">a-b@bar.com</a></p> <p><a href="mailto:+@b.c">+@b.c</a></p> <p><a href="mailto:+@b.com">+@b.com</a></p> <p><a href="mailto:a@b.co-foo.uk">a@b.co-foo.uk</a></p> <p><a href="mailto:valid@about.museum">valid@about.museum</a></p> <p><a href="mailto:shaitan@my-domain.thisisminekthx">shaitan@my-domain.thisisminekthx</a></p> <p><a href="mailto:test@test.com">test@test.com</a></p> <p><a href="mailto:test@xn--example.com">test@xn--example.com</a></p> <p><a href="mailto:test@example.com">test@example.com</a></p> <h1>These should be invalid</h1> <p><a href="mailto:first.last@sub.do">first.last@sub.do</a>,com</p> <p>first.last</p> <p>.<a href="mailto:first.last@test.org">first.last@test.org</a></p> <p>first.last.@test.org</p> <p>first..<a href="mailto:last@test.org">last@test.org</a></p> <p>first.last@</p> <p>abc@def@test.org</p> <p>@test.org</p> <p>doug@</p> <p>.<a href="mailto:dot@test.org">dot@test.org</a></p> <p>dot.@test.org</p> <p>two..<a href="mailto:dot@test.org">dot@test.org</a></p> <p>hello <a href="mailto:world@test.org">world@test.org</a></p> <p>test.test.org</p> <p>test@@test.org</p> <p>[test]@test.org</p> <p>()[]\;:,><@test.org</p> <p>test@.</p> <p>test@example.</p> <p>test@.org</p> <p>NotAnEmail</p> <p>.@</p> <p>@bar.com</p> <p>@@bar.com</p> <p>aaa.com</p> <p>aaa@.com</p> <p>aaa@.123</p> <p><a href="mailto:a@bar.com">a@bar.com</a>.</p> <p>-@..com</p> <p>-@a..com</p> <p>invalid@about.museum-</p> <p>test@...........com</p> <h1>Repo Links</h1> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">#49</a></p> <p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/facelessuser/pymdown-extensions/pull/87" title="GitHub Pull Request: facelessuser/pymdown-extensions #87">!87</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819" title="GitHub Commit: facelessuser/pymdown-extensions@6a09fde">6a09fde</a></p> <p><a class="magiclink magiclink-github magiclink-compare" href="https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/fake-user/fake-repository/issues/538" title="GitHub Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/fake-user/fake-repository/pull/539" title="GitHub Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-github magiclink-compare" href="https://github.com/fake-user/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: fake-user/fake-repository@e2ed7e0...90b6fb8">fake-user/fake-repository@e2ed7e0...90b6fb8</a></p> <p><a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/fake-user/fake-repository/issues/538" title="GitLab Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-gitlab magiclink-pull" href="https://gitlab.com/fake-user/fake-repository/merge_requests/539" title="GitLab Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitLab Commit: fake-user/fake-repository@594b25d5">fake-user/fake-repository@594b25d5</a></p> <p><a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/fake-user/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: fake-user/fake-repository@e2ed7e0b...90b6fb87">fake-user/fake-repository@e2ed7e0b...90b6fb87</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/fake-user/fake-repository/pull-requests/539/" title="Bitbucket Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/fake-user/fake-repository/pull-requests/539/optional-title" title="Bitbucket Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="Bitbucket Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-compare" href="https://bitbucket.org/fake-user/fake-repository/branches/commits/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2..90b6fb8711e75732f987982cc024e9bb0111beac#diff" title="Bitbucket Compare: fake-user/fake-repository@e2ed7e0...90b6fb8">fake-user/fake-repository@e2ed7e0...90b6fb8</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">#49</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/fake-repository/issues/87" title="GitHub Issue: facelessuser/fake-repository #87">fake-repository#87</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: facelessuser/fake-repository@594b25d">fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-github magiclink-compare" href="https://github.com/facelessuser/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: facelessuser/fake-repository@e2ed7e0...90b6fb8">fake-repository@e2ed7e0...90b6fb8</a></p>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink.txt������������������������������������0000664�0000000�0000000�00000010230�14651242716�0025337�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������### Should Pass http://foo.com/blah_blah http://foo.com/blah_blah/ http://foo.com/blah_blah_(wikipedia) http://foo.com/blah_blah_(wikipedia)_(again) http://www.example.com/wpstyle/?p=364 https://www.example.com/foo/?bar=baz&inga=42&quux http://142.42.1.1/ http://142.42.1.1:8080/ http://foo.com/blah_(wikipedia)#cite-1 http://foo.com/blah_(wikipedia)_blah#cite-1 http://foo.com/(something)?after=parens http://code.google.com/events/#&product=browser http://j.mp ftp://foo.bar/baz http://foo.bar/?q=Test%20URL-encoded%20stuff http://1337.net http://a.b-c.de http://223.255.255.254 www.google.com http://single-word www.single-word http://localhost/website http://3628126748 # Should Fail http:// http://. http://.. http://../ http://? http://?? http://??/ http://# http://## http://##/ http://foo.bar?q=Spaces should be encoded // //a ///a /// http:///a foo.com rdar://1234 h://test http:// shouldfail.com :// should fail http://foo.bar/foo(bar)baz quux http://-error-.invalid/ http://-a.b.co # These should be valid first.last@test.org 1234567890123456789012345678901234567890123456789012345678901234@test.org first.last@x23456789012345678901234567890123456789012345678901234567890123.test.org first.last@3com.com first.last@123.test.org user+mailbox@test.org _somename@test.org dclo@us.ibm.com peter.piper@test.org test@test.org TEST@test.org 1234567890@test.org test+test@test.org test-test@test.org test.test@test.org test@example.test.org test@example.example.test.org _Yosemite.Sam@test.org Ima.Fool@test.org name.lastname@domain.com a@bar.com a-b@bar.com +@b.c +@b.com a@b.co-foo.uk valid@about.museum shaitan@my-domain.thisisminekthx test@test.com test@xn--example.com test@example.com # These should be invalid first.last@sub.do,com first.last .first.last@test.org first.last.@test.org first..last@test.org first.last@ abc@def@test.org @test.org doug@ .dot@test.org dot.@test.org two..dot@test.org hello world@test.org test.test.org test@@test.org [test]@test.org ()[]\;:,><@test.org test@. test@example. test@.org NotAnEmail .@ @bar.com @@bar.com aaa.com aaa@.com aaa@.123 a@bar.com. -@..com -@a..com invalid@about.museum- test@...........com # Repo Links https://github.com/facelessuser/pymdown-extensions/issues/49 https://github.com/facelessuser/pymdown-extensions/pull/87 https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819 https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac https://github.com/fake-user/fake-repository/issues/538 https://github.com/fake-user/fake-repository/pull/539 https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://github.com/fake-user/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac https://gitlab.com/fake-user/fake-repository/issues/538 https://gitlab.com/fake-user/fake-repository/merge_requests/539 https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://gitlab.com/fake-user/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac https://bitbucket.org/fake-user/fake-repository/issues/538/ https://bitbucket.org/fake-user/fake-repository/pull-requests/539/ https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title https://bitbucket.org/fake-user/fake-repository/pull-requests/539/optional-title https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://bitbucket.org/fake-user/fake-repository/branches/commits/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2..90b6fb8711e75732f987982cc024e9bb0111beac#diff <https://github.com/facelessuser/pymdown-extensions/issues/49> https://github.com/facelessuser/fake-repository/issues/87 https://github.com/facelessuser/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://github.com/facelessuser/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink_hide_protocol.html���������������������0000664�0000000�0000000�00000005620�14651242716�0030405�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p><a href="http://foo.com/blah_blah_wikipedia_again">foo.com/blah_blah_wikipedia_again</a></p> <p><a href="https://www.example.com/foo/?bar=baz&inga=42&quux">www.example.com/foo/?bar=baz&inga=42&quux</a></p> <p><a href="ftp://foo.bar/baz">foo.bar/baz</a></p> <p><a href="mailto:mailto@unaffected.org">mailto@unaffected.org</a></p> <h1>Repo Links</h1> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">#49</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819" title="GitHub Commit: facelessuser/pymdown-extensions@6a09fde">6a09fde</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/fake-user/fake-repository/issues/538" title="GitHub Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-gitlab magiclink-issue" href="https://gitlab.com/fake-user/fake-repository/issues/538" title="GitLab Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitLab Commit: fake-user/fake-repository@594b25d5">fake-user/fake-repository@594b25d5</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-issue" href="https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title" title="Bitbucket Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p> <p><a class="magiclink magiclink-bitbucket magiclink-commit" href="https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="Bitbucket Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p> <p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">#49</a></p> <p><a href="https://www.google.com">www.google.com</a></p>����������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/magiclink_hide_protocol.txt����������������������0000664�0000000�0000000�00000001657�14651242716�0030266�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������http://foo.com/blah_blah_wikipedia_again https://www.example.com/foo/?bar=baz&inga=42&quux ftp://foo.bar/baz mailto@unaffected.org # Repo Links https://github.com/facelessuser/pymdown-extensions/issues/49 https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819 https://github.com/fake-user/fake-repository/issues/538 https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://gitlab.com/fake-user/fake-repository/issues/538 https://gitlab.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16 https://bitbucket.org/fake-user/fake-repository/issues/538/ https://bitbucket.org/fake-user/fake-repository/issues/538/optional-title https://bitbucket.org/fake-user/fake-repository/commits/commit/594b25d53798c30735da5a9be19c06cc94052a16 <https://github.com/facelessuser/pymdown-extensions/issues/49> <https://www.google.com> ���������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/magiclink/tests.yml����������������������������������������0000664�0000000�0000000�00000003703�14651242716�0024534�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} magiclink: extensions: pymdownx.magiclink: hide_protocol: false repo_url_shortener: true user: facelessuser repo: pymdown-extensions magiclink (bitbucket): extensions: pymdownx.magiclink: hide_protocol: false provider: bitbucket repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true user: facelessuser repo: pymdown-extensions magiclink (extensions): extensions: pymdownx.magiclink: hide_protocol: false repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true user: facelessuser repo: pymdown-extensions pymdownx.betterem: pymdownx.tilde: pymdownx.caret: pymdownx.mark: magiclink (gitlab): extensions: pymdownx.magiclink: hide_protocol: false provider: gitlab repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true user: facelessuser repo: pymdown-extensions magiclink (invalid): extensions: pymdownx.magiclink: hide_protocol: false provider: invalid repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true magiclink (shorthand): extensions: pymdownx.magiclink: hide_protocol: false repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true user: facelessuser repo: pymdown-extensions magiclink (shorthand-social): extensions: pymdownx.magiclink: hide_protocol: false repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true provider: twitter user: facelessuser repo: pymdown-extensions magiclink_hide_protocol: extensions: pymdownx.magiclink: hide_protocol: true repo_url_shortener: true repo_url_shorthand: true social_url_shorthand: true user: facelessuser repo: pymdown-extensions �������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0021640�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/mark (dumb).html��������������������������������������0000664�0000000�0000000�00000000325�14651242716�0024511�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: == Won't mark ==</p> <p>Test: <mark>Will mark</mark></p> <p>Test: <mark>All will = be marked</mark></p> <p>Test: <mark>All will not</mark>= be marked==</p> <p>Test: <mark>All will === be marked</mark></p>�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/mark (dumb).txt���������������������������������������0000664�0000000�0000000�00000000223�14651242716�0024361�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: == Won't mark == Test: ==Will mark== Test: ==All will = be marked== Test: ==All will not=== be marked== Test: ==All will === be marked== �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/mark.html���������������������������������������������0000664�0000000�0000000�00000001052�14651242716�0023456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: == Won't mark ==</p> <p>Test: <mark>Will mark</mark></p> <p>Test: <mark>A lot of equals=============is okay</mark></p> <p>Test: <mark>This will all be marked ==because of the placement of the center equal signs.</mark></p> <p>Test: <mark>This will all be marked == because of the placement of the center equal sings.</mark></p> <p>Test: <mark>This will NOT all be marked</mark> because of the placement of the center equal sings.==</p> <p>Test: <mark>This will all be marked= because of the token is less than that of the surrounding.</mark></p>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/mark.txt����������������������������������������������0000664�0000000�0000000�00000000712�14651242716�0023333�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: == Won't mark == Test: ==Will mark== Test: ==A lot of equals=============is okay== Test: ==This will all be marked ==because of the placement of the center equal signs.== Test: ==This will all be marked == because of the placement of the center equal sings.== Test: ==This will NOT all be marked== because of the placement of the center equal sings.== Test: ==This will all be marked= because of the token is less than that of the surrounding.== ������������������������������������������������������pymdown-extensions-10.9/tests/extensions/mark/tests.yml���������������������������������������������0000664�0000000�0000000�00000000177�14651242716�0023532�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} mark: extensions: pymdownx.mark: mark (dumb): extensions: pymdownx.mark: smart_mark: false �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/progressbar/�����������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0023237�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/progressbar/progressbar.html�������������������������������0000664�0000000�0000000�00000004555�14651242716�0026467�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../_assets/progressbar.css"/> </head> <body> <div class="markdown-body"> <p> <div class="progress progress-0plus candystripe-animate"> <div class="progress-bar" style="width:0.00%"> <p class="progress-label">0%</p> </div> </div> </p> <p> <div class="progress progress-0plus candystripe-animate"> <div class="progress-bar" style="width:5.00%"> <p class="progress-label">5%</p> </div> </div> </p> <p> <div class="progress progress-20plus candystripe-animate"> <div class="progress-bar" style="width:25.00%"> <p class="progress-label">25%</p> </div> </div> </p> <p> <div class="progress progress-40plus candystripe-animate"> <div class="progress-bar" style="width:45.00%"> <p class="progress-label">45%</p> </div> </div> </p> <p> <div class="progress progress-60plus candystripe-animate"> <div class="progress-bar" style="width:65.00%"> <p class="progress-label">65%</p> </div> </div> </p> <p> <div class="progress progress-80plus candystripe-animate"> <div class="progress-bar" style="width:85.00%"> <p class="progress-label">85%</p> </div> </div> </p> <p> <div class="progress progress-100plus candystripe-animate"> <div class="progress-bar" style="width:100.00%"> <p class="progress-label">100%</p> </div> </div> </p> <p> <div class="progress progress-20plus"> <div class="progress-bar" style="width:39.52%"> <p class="progress-label">212.2/537 Testing division</p> </div> </div> </p> <p> <div class="progress progress-40plus"> <div class="progress-bar" style="width:50.00%"> <p class="progress-label"></p> </div> </div> </p> <p>Before<div class="progress progress-40plus"> <div class="progress-bar" style="width:50.00%"> <p class="progress-label">I'm a block!</p> </div> </div>After</p> <p> <div class="progress progress-40plus candystripe-animate gloss"> <div class="progress-bar" style="width:50.00%"> <p class="progress-label">Glossy</p> </div> </div> </p> <p> <div class="progress progress-0plus"> <div class="progress-bar" style="width:0.00%"> <p class="progress-label"></p> </div> </div> </p> <p> <div class="progress progress-0plus"> <div class="progress-bar" style="width:0.00%"> <p class="progress-label">Divide by 0</p> </div> </div> </p> <p> <div class="progress progress-100plus"> <div class="progress-bar" style="width:100.00%"> <p class="progress-label">Greater than 0</p> </div> </div> </p> </div> </body> ���������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/progressbar/progressbar.txt��������������������������������0000664�0000000�0000000�00000000717�14651242716�0026336�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[=0% "0%"]{: .candystripe-animate} [=5% "5%"]{: .candystripe-animate} [=25% "25%"]{: .candystripe-animate} [=45% "45%"]{: .candystripe-animate} [=65% "65%"]{: .candystripe-animate} [=85% "85%"]{: .candystripe-animate} [=100% "100%"]{: .candystripe-animate} [= 212.2/537 "212.2/537 Testing division"] [=== 50%] Before[= 50% "I'm a block!"]After [= 50% "Glossy"]{: .candystripe-animate .gloss} [= 0%] [= 3/0 "Divide by 0"] [= 300/100 "Greater than 0"] �������������������������������������������������pymdown-extensions-10.9/tests/extensions/progressbar/tests.yml��������������������������������������0000664�0000000�0000000�00000000221�14651242716�0025117�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} progressbar: css: - ../_assets/progressbar.css extensions: pymdownx.progressbar: markdown.extensions.attr_list: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/�������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022734�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/striphtml (no attr strip).html�������������������0000664�0000000�0000000�00000001107�14651242716�0030442�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<script type="text/javascript"> var a = "<!-- Test comment -->"; // <span class="some classes"> </script> <style> /* <!-- Test cmment --> <span class="some classes"> */ h1 {color:red;} p {color:blue;} </style> <p><span id="some-id"> <span class="some classes"> <span style="color: #333; background-color: #888;"></span> <span onclick="do_some_js_stuff();"></span> </span> </span></p> <p><a href="#somelink">link</a> <span id=unquoted class="some classes" style="color: #5dbede;" onclick="do_some_js_stuff();"> Some text </span></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/striphtml (no attr strip).txt��������������������0000664�0000000�0000000�00000001153�14651242716�0030316�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Test comment --> <!-- Test comment --> <script type="text/javascript"> var a = "<!-- Test comment -->"; // <span class="some classes"> </script> <style> /* <!-- Test cmment --> <span class="some classes"> */ h1 {color:red;} p {color:blue;} </style> <span id="some-id"> <span class="some classes"> <span style="color: #333; background-color: #888;"></span> <span onclick="do_some_js_stuff();"></span> </span> </span> <a href="#somelink">link</a> <span id=unquoted class="some classes" style="color: #5dbede;" onclick="do_some_js_stuff();"> Some text </span> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/striphtml.html�����������������������������������0000664�0000000�0000000�00000000563�14651242716�0025654�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<script type="text/javascript"> var a = "<!-- Test comment -->"; // <span class="some classes"> </script> <style> /* <!-- Test cmment --> <span class="some classes"> */ h1 {color:red;} p {color:blue;} </style> <p><span> <span> <span></span> <span></span> </span> </span></p> <p><a href="#somelink">link</a> <span> Some text </span></p>���������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/striphtml.txt������������������������������������0000664�0000000�0000000�00000001153�14651242716�0025523�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Test comment --> <!-- Test comment --> <script type="text/javascript"> var a = "<!-- Test comment -->"; // <span class="some classes"> </script> <style> /* <!-- Test cmment --> <span class="some classes"> */ h1 {color:red;} p {color:blue;} </style> <span id="some-id"> <span class="some classes"> <span style="color: #333; background-color: #888;"></span> <span onclick="do_some_js_stuff();"></span> </span> </span> <a href="#somelink">link</a> <span id=unquoted class="some classes" style="color: #5dbede;" onclick="do_some_js_stuff();"> Some text </span> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/striphtml/tests.yml����������������������������������������0000664�0000000�0000000�00000000347�14651242716�0024625�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} striphtml: extensions: pymdownx.striphtml: strip_attributes: - id - style - class striphtml (no attr strip): extensions: pymdownx.striphtml: strip_js_on_attributes: false �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/�����������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0023230�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (custom).html����������������������0000664�0000000�0000000�00000000211�14651242716�0030046�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<div class="test">content</div> <div id="id" class="test class">content</div> <pre id="id" class="test2 class"><code>content</code></pre>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (custom).txt�����������������������0000664�0000000�0000000�00000000133�14651242716�0027724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������```test content ``` ```{.test .class #id} content ``` ```{.test2 .class #id} content ``` �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (failures).html��������������������0000664�0000000�0000000�00000003213�14651242716�0030353�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<ul> <li>Test bad indentation 1:<pre><code>``` </code></pre> <p>Here is some text. ```</p> </li> </ul> <hr /> <ul> <li> <p>Test bad indentation 2:</p> <p><code>Here is some text.</code></p> </li> </ul> <hr /> <ul> <li> <p>Test bad indentation 3:</p> <p><code>Here is some text.</code></p> </li> </ul> <hr /> <ul> <li> <p>Test bad indentation 4:</p> <p><code>Here is some text.</code></p> </li> </ul> <hr /> <ul> <li><code>This will not work.</code></li> </ul> <hr /> <blockquote> <p>``` Test</p> </blockquote> <p>will break. ```</p> <hr /> <ul> <li> <p>Test bad indentation blockquote</p> <blockquote> <p><code>Test will break</code></p> </blockquote> </li> </ul> <hr /> <ul> <li> <p>Test block quote exceeding start level</p> <blockquote> <p>``` Test</p> <blockquote> <p>will break ```</p> </blockquote> </blockquote> </li> </ul> <hr /> <ul> <li> <p>Unexpected block quote</p> <p>``` Test will</p> <blockquote> <p>break ```</p> </blockquote> </li> </ul> <hr /> <ul> <li> <p>Block quote unalignment</p> <blockquote> <p><code>Test Will break</code></p> </blockquote> </li> </ul> <hr /> <ul> <li> <p>Block quote unalignment</p> <blockquote> <p><code>Test Will break</code></p> </blockquote> </li> </ul> <hr /> <ul> <li> <p>Bad attribute list</p> <div class="highlight"><pre><span></span><code>import test </code></pre></div> </li> </ul> <hr /> <ul> <li> <p>Missing closing bracket</p> <p><code>{ .python import test</code></p> </li> </ul> <hr /> <ul> <li> <p>Missing opening bracket</p> <p><code>.python } import test</code></p> </li> </ul> <hr /> <ul> <li> <p>Additional class outside of attribute list</p> <p><code>python .class import test</code></p> </li> </ul>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (failures).txt���������������������0000664�0000000�0000000�00000002122�14651242716�0030224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������- Test bad indentation 1: ``` Here is some text. ``` --- - Test bad indentation 2: ``` Here is some text. ``` --- - Test bad indentation 3: ``` Here is some text. ``` --- - Test bad indentation 4: ``` Here is some text. ``` --- - ``` This will not work. ``` --- > ``` Test will break. ``` --- - Test bad indentation blockquote > ``` > Test > will break > ``` --- - Test block quote exceeding start level > ``` > Test >>will >>break >>``` --- - Unexpected block quote ``` Test will > break ``` --- - Block quote unalignment >``` Test Will break ``` --- - Block quote unalignment >``` Test Will break ``` --- - Bad attribute list ``` { python } import test ``` --- - Missing closing bracket ``` { .python import test ``` --- - Missing opening bracket ``` .python } import test ``` --- - Additional class outside of attribute list ```python .class import test ``` ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (no indent blocks).html������������0000664�0000000�0000000�00000000154�14651242716�0031656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>This will not be parsed as a normal indented code block. It will be parsed as a fenced block.</p>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (no indent blocks).txt�������������0000664�0000000�0000000�00000000152�14651242716�0031527�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ This will not be parsed as a normal indented code block. It will be parsed as a fenced block. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (no pygments).html�����������������0000664�0000000�0000000�00000000562�14651242716�0031010�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<pre class="highlight"><code class="language-python">import test</code></pre> <p>Text after code.</p> <pre class="highlight"><code class="language-python">import test</code></pre> <h1>Attribute List</h1> <pre class="highlight"><code id="id" class="language-python another-class" linenums="1">"""Some file.""" import foo.bar import boo.baz import foo.bar.baz</code></pre>����������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (no pygments).txt������������������0000664�0000000�0000000�00000000317�14651242716�0030661�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������```python import test ``` Text after code. ```python import test ``` # Attribute List ```{ .python #id .another-class linenums="1" } """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (normal).html����������������������0000664�0000000�0000000�00000012364�14651242716�0030040�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Neseted Fences:</h1> <div class="highlight"><pre><span></span><code>``` This will still be parsed as a normal indented code block. ``` </code></pre></div> <div class="highlight"><pre><span></span><code>This will still be parsed as a fenced code block. </code></pre></div> <ul> <li> <div class="highlight"><pre><span></span><code>This will work. </code></pre></div> </li> <li> <p>This is a list that contains multiple code blocks.</p> <ul> <li> <p>Here is an indented block</p> <div class="highlight"><pre><span></span><code>``` This will still be parsed as a normal indented code block. ``` </code></pre></div> </li> <li> <p>Here is a fenced code block:</p> <div class="highlight"><pre><span></span><code>This will still be parsed as a fenced code block. </code></pre></div> <blockquote> <div class="highlight"><pre><span></span><code>Blockquotes? Not a problem! </code></pre></div> </blockquote> </li> </ul> </li> <li> <p>Fenced block with lesser child fence.</p> <div class="highlight"><pre><span></span><code> ``` Fenced block containing fenced syntax. ``` </code></pre></div> <div class="highlight"><pre><span></span><code>``` Fenced block containing fenced syntax. ``` </code></pre></div> </li> <li> <p>Fenced block with greater child fence:</p> <div class="highlight"><pre><span></span><code> ```` Fenced block containing fenced syntax. ```` </code></pre></div> <div class="highlight"><pre><span></span><code>```` Fenced block containing fenced syntax. ```` </code></pre></div> </li> <li> <p>Fenced block with indented child fence:</p> <div class="highlight"><pre><span></span><code> ``` Fenced block containing fenced syntax. ``` </code></pre></div> </li> <li> <p>Tabs</p> <div class="highlight"><pre><span></span><code>Test with tabs. Test with tabs. Test tabs. </code></pre></div> <div class="highlight"><pre><span></span><code>============================================================ T Tp Sp D Dp S D7 T ------------------------------------------------------------ A F#m Bm E C#m D E7 A A# Gm Cm F Dm D# F7 A# Bâ™­ Gm Cm F Dm Eâ™­m F7 Bâ™­ </code></pre></div> </li> <li> <p>Here is a highlighted code block with line numbers:</p> <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span> <span class="normal">3</span> <span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="sd">"""Some file."""</span> <span class="kn">import</span> <span class="nn">foo.bar</span> <span class="kn">import</span> <span class="nn">boo.baz</span> <span class="kn">import</span> <span class="nn">foo.bar.baz</span> </code></pre></div></td></tr></table></div> </li> <li> <p>Here is a highlighted code block with line numbers and line highlighting:</p> <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span> <span class="normal">3</span> <span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="sd">"""Some file."""</span> <span class="hll"><span class="kn">import</span> <span class="nn">foo.bar</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">boo.baz</span> </span><span class="kn">import</span> <span class="nn">foo.bar.baz</span> </code></pre></div></td></tr></table></div> </li> <li> <p>Highlight extended language:</p> <div class="highlight"><pre><span></span><code><span class="nv">$a</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"foo"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"bar"</span> <span class="o">=></span> <span class="mi">1</span><span class="p">);</span> </code></pre></div> </li> </ul> <h1>UML Flow Charts</h1> <pre class="uml-flowchart"><code>st=>start: Start:>http://www.google.com[blank] e=>end:>http://www.google.com op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No?:>http://www.google.com io=>inputoutput: catch something... st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1</code></pre> <h1>UML Sequence Diagrams</h1> <pre class="uml-sequence-diagram"><code>Title: Here is a title A->B: Normal line B-->C: Dashed line C->>D: Open arrow D-->>A: Dashed open arrow</code></pre> <h1>Attribute List</h1> <div id="id" class="another-class highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span> <span class="normal">3</span> <span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="sd">"""Some file."""</span> <span class="hll"><span class="kn">import</span> <span class="nn">foo.bar</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">boo.baz</span> </span><span class="kn">import</span> <span class="nn">foo.bar.baz</span> </code></pre></div></td></tr></table></div>����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (normal).txt�����������������������0000664�0000000�0000000�00000005006�14651242716�0027706�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Neseted Fences: ``` This will still be parsed as a normal indented code block. ``` ``` This will still be parsed as a fenced code block. ``` - ``` This will work. ``` - This is a list that contains multiple code blocks. - Here is an indented block ``` This will still be parsed as a normal indented code block. ``` - Here is a fenced code block: ``` This will still be parsed as a fenced code block. ``` > ``` > Blockquotes? > Not a problem! > ``` - Fenced block with lesser child fence. ```` ``` Fenced block containing fenced syntax. ``` ```` ```` ``` Fenced block containing fenced syntax. ``` ```` - Fenced block with greater child fence: ``` ```` Fenced block containing fenced syntax. ```` ``` ``` ```` Fenced block containing fenced syntax. ```` ``` - Fenced block with indented child fence: ``` ``` Fenced block containing fenced syntax. ``` ``` - Tabs ``` Test with tabs. Test with tabs. Test tabs. ``` ``` ============================================================ T Tp Sp D Dp S D7 T ------------------------------------------------------------ A F#m Bm E C#m D E7 A A# Gm Cm F Dm D# F7 A# Bâ™­ Gm Cm F Dm Eâ™­m F7 Bâ™­ ``` - Here is a highlighted code block with line numbers: ```python linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` - Here is a highlighted code block with line numbers and line highlighting: ```python hl_lines="2 3" linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` - Highlight extended language: ```php-inline $a = array("foo" => 0, "bar" => 1); ``` # UML Flow Charts ```flow st=>start: Start:>http://www.google.com[blank] e=>end:>http://www.google.com op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No?:>http://www.google.com io=>inputoutput: catch something... st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1 ``` # UML Sequence Diagrams ```sequence Title: Here is a title A->B: Normal line B-->C: Dashed line C->>D: Open arrow D-->>A: Dashed open arrow ``` # Attribute List ```{ .python #id .another-class hl_lines="2 3" linenums="1" } """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (preserve tabs).html���������������0000664�0000000�0000000�00000010754�14651242716�0031316�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<h1>Neseted Fences:</h1> <div class="highlight"><pre><span></span><code>``` This will still be parsed as a normal indented code block. ``` </code></pre></div> <div class="highlight"><pre><span></span><code>This will still be parsed as a fenced code block. </code></pre></div> <ul> <li> <div class="highlight"><pre><span></span><code>This will work. </code></pre></div> </li> <li> <p>This is a list that contains multiple code blocks.</p> <ul> <li> <p>Here is an indented block</p> <div class="highlight"><pre><span></span><code>``` This will still be parsed as a normal indented code block. ``` </code></pre></div> </li> <li> <p>Here is a fenced code block:</p> <div class="highlight"><pre><span></span><code>This will still be parsed as a fenced code block. </code></pre></div> <blockquote> <div class="highlight"><pre><span></span><code>Blockquotes? Not a problem! </code></pre></div> </blockquote> </li> </ul> </li> <li> <p>Fenced block with lesser child fence.</p> <div class="highlight"><pre><span></span><code> ``` Fenced block containing fenced syntax. ``` </code></pre></div> <div class="highlight"><pre><span></span><code>``` Fenced block containing fenced syntax. ``` </code></pre></div> </li> <li> <p>Fenced block with greater child fence:</p> <div class="highlight"><pre><span></span><code> ```` Fenced block containing fenced syntax. ```` </code></pre></div> <div class="highlight"><pre><span></span><code>```` Fenced block containing fenced syntax. ```` </code></pre></div> </li> <li> <p>Fenced block with indented child fence:</p> <div class="highlight"><pre><span></span><code> ``` Fenced block containing fenced syntax. ``` </code></pre></div> </li> <li> <p>Tabs</p> <div class="highlight"><pre><span></span><code>Test with tabs. Test with tabs. Test tabs. </code></pre></div> <div class="highlight"><pre><span></span><code>============================================================ T Tp Sp D Dp S D7 T ------------------------------------------------------------ A F#m Bm E C#m D E7 A A# Gm Cm F Dm D# F7 A# Bâ™­ Gm Cm F Dm Eâ™­m F7 Bâ™­ </code></pre></div> </li> <li> <p>Here is a highlighted code block with line numbers:</p> <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span> <span class="normal">3</span> <span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="sd">"""Some file."""</span> <span class="kn">import</span> <span class="nn">foo.bar</span> <span class="kn">import</span> <span class="nn">boo.baz</span> <span class="kn">import</span> <span class="nn">foo.bar.baz</span> </code></pre></div></td></tr></table></div> </li> <li> <p>Here is a highlighted code block with line numbers and line highlighting:</p> <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span> <span class="normal">3</span> <span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="sd">"""Some file."""</span> <span class="hll"><span class="kn">import</span> <span class="nn">foo.bar</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">boo.baz</span> </span><span class="kn">import</span> <span class="nn">foo.bar.baz</span> </code></pre></div></td></tr></table></div> </li> <li> <p>Highlight extended language:</p> <div class="highlight"><pre><span></span><code><span class="nv">$a</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"foo"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"bar"</span> <span class="o">=></span> <span class="mi">1</span><span class="p">);</span> </code></pre></div> </li> </ul> <h1>UML Flow Charts</h1> <pre class="uml-flowchart"><code>st=>start: Start:>http://www.google.com[blank] e=>end:>http://www.google.com op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No?:>http://www.google.com io=>inputoutput: catch something... st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1</code></pre> <h1>UML Sequence Diagrams</h1> <pre class="uml-sequence-diagram"><code>Title: Here is a title A->B: Normal line B-->C: Dashed line C->>D: Open arrow D-->>A: Dashed open arrow</code></pre>��������������������pymdown-extensions-10.9/tests/extensions/superfences/superfences (preserve tabs).txt����������������0000664�0000000�0000000�00000004155�14651242716�0031167�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Neseted Fences: ``` This will still be parsed as a normal indented code block. ``` ``` This will still be parsed as a fenced code block. ``` - ``` This will work. ``` - This is a list that contains multiple code blocks. - Here is an indented block ``` This will still be parsed as a normal indented code block. ``` - Here is a fenced code block: ``` This will still be parsed as a fenced code block. ``` > ``` > Blockquotes? > Not a problem! > ``` - Fenced block with lesser child fence. ```` ``` Fenced block containing fenced syntax. ``` ```` ```` ``` Fenced block containing fenced syntax. ``` ```` - Fenced block with greater child fence: ``` ```` Fenced block containing fenced syntax. ```` ``` ``` ```` Fenced block containing fenced syntax. ```` ``` - Fenced block with indented child fence: ``` ``` Fenced block containing fenced syntax. ``` ``` - Tabs ``` Test with tabs. Test with tabs. Test tabs. ``` ``` ============================================================ T Tp Sp D Dp S D7 T ------------------------------------------------------------ A F#m Bm E C#m D E7 A A# Gm Cm F Dm D# F7 A# Bâ™­ Gm Cm F Dm Eâ™­m F7 Bâ™­ ``` - Here is a highlighted code block with line numbers: ```python linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` - Here is a highlighted code block with line numbers and line highlighting: ```python hl_lines="2 3" linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` - Highlight extended language: ```php-inline $a = array("foo" => 0, "bar" => 1); ``` # UML Flow Charts ```flow st=>start: Start:>http://www.google.com[blank] e=>end:>http://www.google.com op1=>operation: My Operation sub1=>subroutine: My Subroutine cond=>condition: Yes or No?:>http://www.google.com io=>inputoutput: catch something... st->op1->cond cond(yes)->io->e cond(no)->sub1(right)->op1 ``` # UML Sequence Diagrams ```sequence Title: Here is a title A->B: Normal line B-->C: Dashed line C->>D: Open arrow D-->>A: Dashed open arrow ``` �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/superfences/tests.yml��������������������������������������0000664�0000000�0000000�00000005106�14651242716�0025117�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} superfences (custom): extensions: markdown.extensions.attr_list: pymdownx.superfences: custom_fences: - name: test class: test format: !!python/name:pymdownx.superfences.fence_div_format - name: test2 class: test2 format: !!python/name:pymdownx.superfences.fence_code_format superfences (failures): extensions: pymdownx.superfences: custom_fences: - name: flow class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - name: sequence class: uml-sequence-diagram format: !!python/name:pymdownx.superfences.fence_code_format superfences (no indent blocks): extensions: markdown.extensions.codehilite: guess_lang: false pymdownx.superfences: disable_indented_code_blocks: true custom_fences: - name: flow class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - name: sequence class: uml-sequence-diagram format: !!python/name:pymdownx.superfences.fence_code_format superfences (no pygments): extensions: markdown.extensions.attr_list: pymdownx.superfences: custom_fences: - name: flow class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - name: sequence class: uml-sequence-diagram format: !!python/name:pymdownx.superfences.fence_code_format pymdownx.highlight: use_pygments: false superfences (normal): extensions: markdown.extensions.attr_list: pymdownx.highlight: extend_pygments_lang: - name: php-inline lang: php options: startinline: true pymdownx.superfences: custom_fences: - name: flow class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - name: sequence class: uml-sequence-diagram format: !!python/name:pymdownx.superfences.fence_code_format superfences (preserve tabs): extensions: pymdownx.highlight: extend_pygments_lang: - name: php-inline lang: php options: startinline: true pymdownx.superfences: preserve_tabs: true custom_fences: - name: flow class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - name: sequence class: uml-sequence-diagram format: !!python/name:pymdownx.superfences.fence_code_format ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/��������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022544�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (checkable).html�������������������������0000664�0000000�0000000�00000003745�14651242716�0027304�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../_assets/tasklist.css"/> </head> <body> <div class="markdown-body"> <h1>Task List</h1> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" checked/> item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" checked/> item A</li> <li class="task-list-item"><input type="checkbox"/> item B more text<ul class="task-list"> <li class="task-list-item"><input type="checkbox" checked/> item a</li> <li class="task-list-item"><input type="checkbox"/> item b</li> <li class="task-list-item"><input type="checkbox" checked/> item c</li> </ul> </li> <li class="task-list-item"><input type="checkbox" checked/> item C</li> </ul> </li> <li class="task-list-item"><input type="checkbox"/> item 2</li> <li class="task-list-item"><input type="checkbox"/> item 3</li> </ul> <h1>Mixed Lists</h1> <ul> <li>item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" checked/> item A</li> <li class="task-list-item"><input type="checkbox"/> item B more text<ol> <li>item a</li> <li>item b</li> <li>item c</li> </ol> </li> <li class="task-list-item"><input type="checkbox" checked/> item C</li> </ul> </li> <li>item 2</li> <li>item 3</li> </ul> <h1>Really Mixed Lists</h1> <ul class="task-list"> <li>item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" checked/> item A</li> <li>item B more text<ol class="task-list"> <li>item a</li> <li>item b</li> <li class="task-list-item"><input type="checkbox"/> item c</li> </ol> </li> <li>item C</li> </ul> </li> <li>item 2</li> <li class="task-list-item"><input type="checkbox" checked/> item 3</li> </ul> <h1>Test Tasklists in Subparagraphs</h1> <ul class="task-list"> <li class="task-list-item"> <p><input type="checkbox" checked/> item 1</p> <ul class="task-list"> <li class="task-list-item"> <p><input type="checkbox" checked/> item A</p> </li> <li> <p>item a</p> </li> </ul> </li> </ul> </div> </body> ���������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (checkable).txt��������������������������0000664�0000000�0000000�00000001134�14651242716�0027145�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 # Mixed Lists - item 1 * [X] item A * [ ] item B more text 1. item a 2. item b 3. item c * [X] item C - item 2 - item 3 # Really Mixed Lists - item 1 * [X] item A - item B more text 1. item a + item b + [ ] item c 3. item C 2. item 2 - [X] item 3 # Test Tasklists in Subparagraphs - [X] item 1 - [X] item A - item a ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (custom checkable).html������������������0000664�0000000�0000000�00000006536�14651242716�0030600�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../_assets/tasklist_custom.css"/> </head> <body> <div class="markdown-body"> <h1>Task List</h1> <ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item A</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item B more text<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item a</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item b</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item c</li> </ul> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item C</li> </ul> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item 2</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item 3</li> </ul> <h1>Mixed Lists</h1> <ul> <li>item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item A</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item B more text<ol> <li>item a</li> <li>item b</li> <li>item c</li> </ol> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item C</li> </ul> </li> <li>item 2</li> <li>item 3</li> </ul> <h1>Really Mixed Lists</h1> <ul class="task-list"> <li>item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item A</li> <li>item B more text<ol class="task-list"> <li>item a</li> <li>item b</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox"/><span class="task-list-indicator"></span></label> item c</li> </ol> </li> <li>item C</li> </ul> </li> <li>item 2</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item 3</li> </ul> <h1>Test Tasklists in Subparagraphs</h1> <ul class="task-list"> <li class="task-list-item"> <p><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item 1</p> <ul class="task-list"> <li class="task-list-item"> <p><label class="task-list-control"><input type="checkbox" checked/><span class="task-list-indicator"></span></label> item A</p> </li> <li> <p>item a</p> </li> </ul> </li> </ul> </div> </body> ������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (custom checkable).txt�������������������0000664�0000000�0000000�00000001134�14651242716�0030440�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 # Mixed Lists - item 1 * [X] item A * [ ] item B more text 1. item a 2. item b 3. item c * [X] item C - item 2 - item 3 # Really Mixed Lists - item 1 * [X] item A - item B more text 1. item a + item b + [ ] item c 3. item C 2. item 2 - [X] item 3 # Test Tasklists in Subparagraphs - [X] item 1 - [X] item A - item a ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (custom).html����������������������������0000664�0000000�0000000�00000006767�14651242716�0026724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../_assets/tasklist_custom.css"/> </head> <body> <div class="markdown-body"> <h1>Task List</h1> <ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item A</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item B more text<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item a</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item b</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item c</li> </ul> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item C</li> </ul> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item 2</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item 3</li> </ul> <h1>Mixed Lists</h1> <ul> <li>item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item A</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item B more text<ol> <li>item a</li> <li>item b</li> <li>item c</li> </ol> </li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item C</li> </ul> </li> <li>item 2</li> <li>item 3</li> </ul> <h1>Really Mixed Lists</h1> <ul class="task-list"> <li>item 1<ul class="task-list"> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item A</li> <li>item B more text<ol class="task-list"> <li>item a</li> <li>item b</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> item c</li> </ol> </li> <li>item C</li> </ul> </li> <li>item 2</li> <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item 3</li> </ul> <h1>Test Tasklists in Subparagraphs</h1> <ul class="task-list"> <li class="task-list-item"> <p><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item 1</p> <ul class="task-list"> <li class="task-list-item"> <p><label class="task-list-control"><input type="checkbox" disabled checked/><span class="task-list-indicator"></span></label> item A</p> </li> <li> <p>item a</p> </li> </ul> </li> </ul> </div> </body> ���������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist (custom).txt�����������������������������0000664�0000000�0000000�00000001134�14651242716�0026556�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 # Mixed Lists - item 1 * [X] item A * [ ] item B more text 1. item a 2. item b 3. item c * [X] item C - item 2 - item 3 # Really Mixed Lists - item 1 * [X] item A - item B more text 1. item a + item b + [ ] item c 3. item C 2. item 2 - [X] item 3 # Test Tasklists in Subparagraphs - [X] item 1 - [X] item A - item a ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist.html�������������������������������������0000664�0000000�0000000�00000005222�14651242716�0025271�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../_assets/tasklist.css"/> </head> <body> <div class="markdown-body"> <h1>Task List</h1> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled checked/> item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled checked/> item A</li> <li class="task-list-item"><input type="checkbox" disabled/> item B more text<ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled checked/> item a</li> <li class="task-list-item"><input type="checkbox" disabled/> item b</li> <li class="task-list-item"><input type="checkbox" disabled checked/> item c</li> </ul> </li> <li class="task-list-item"><input type="checkbox" disabled checked/> item C</li> </ul> </li> <li class="task-list-item"><input type="checkbox" disabled/> item 2</li> <li class="task-list-item"><input type="checkbox" disabled/> item 3</li> </ul> <h1>Mixed Lists</h1> <ul> <li>item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled checked/> item A</li> <li class="task-list-item"><input type="checkbox" disabled/> item B more text<ol> <li>item a</li> <li>item b</li> <li>item c</li> </ol> </li> <li class="task-list-item"><input type="checkbox" disabled checked/> item C</li> </ul> </li> <li>item 2</li> <li>item 3</li> </ul> <h1>Really Mixed Lists</h1> <ul class="task-list"> <li>item 1<ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled checked/> item A</li> <li>item B more text<ol class="task-list"> <li>item a</li> <li>item b</li> <li class="task-list-item"><input type="checkbox" disabled/> item c</li> </ol> </li> <li>item C</li> </ul> </li> <li>item 2</li> <li class="task-list-item"><input type="checkbox" disabled checked/> item 3</li> </ul> <h1>Test Tasklists in Subparagraphs</h1> <ul class="task-list"> <li class="task-list-item"> <p><input type="checkbox" disabled checked/> item 1</p> <ul class="task-list"> <li class="task-list-item"> <p><input type="checkbox" disabled checked/> item A</p> </li> <li> <p>item a</p> </li> </ul> </li> </ul> <h1>Test Tasklists Spanning Multiple Lines</h1> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" disabled/> The text on this line will be rendered, and the text on the second line should work as well.</li> <li class="task-list-item"><input type="checkbox" disabled/> It should also still work if you do any kind of special content. For instance, <em>right here</em> it should still continue working. And using <code>preformatted</code> or some other type of content should work too.</li> </ul> </div> </body> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tasklist.txt��������������������������������������0000664�0000000�0000000�00000001706�14651242716�0025147�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Task List - [X] item 1 * [X] item A * [ ] item B more text + [x] item a + [ ] item b + [x] item c * [X] item C - [ ] item 2 - [ ] item 3 # Mixed Lists - item 1 * [X] item A * [ ] item B more text 1. item a 2. item b 3. item c * [X] item C - item 2 - item 3 # Really Mixed Lists - item 1 * [X] item A - item B more text 1. item a + item b + [ ] item c 3. item C 2. item 2 - [X] item 3 # Test Tasklists in Subparagraphs - [X] item 1 - [X] item A - item a # Test Tasklists Spanning Multiple Lines * [ ] The text on this line will be rendered, and the text on the second line should work as well. * [ ] It should also still work if you do any kind of special content. For instance, *right here* it should still continue working. And using `preformatted` or some other type of content should work too. ����������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tasklist/tests.yml�����������������������������������������0000664�0000000�0000000�00000001027�14651242716�0024431�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} tasklist: css: - ../_assets/tasklist.css extensions: pymdownx.tasklist: tasklist (custom): css: - ../_assets/tasklist_custom.css extensions: pymdownx.tasklist: custom_checkbox: true tasklist (checkable): css: - ../_assets/tasklist.css extensions: pymdownx.tasklist: clickable_checkbox: true tasklist (custom checkable): css: - ../_assets/tasklist_custom.css extensions: pymdownx.tasklist: custom_checkbox: true clickable_checkbox: true ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/�����������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0022007�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tests.yml��������������������������������������������0000664�0000000�0000000�00000000602�14651242716�0023672�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������__default__: {} tilde: extensions: pymdownx.tilde: tilde (dumb): extensions: pymdownx.tilde: smart_delete: false tilde (dumb no sub): extensions: pymdownx.tilde: smart_delete: false subscript: false tilde (no delete): extensions: pymdownx.tilde: delete: false tilde (no sub): extensions: pymdownx.tilde: subscript: false ������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (dumb no sub).html�����������������������������0000664�0000000�0000000�00000000355�14651242716�0026201�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: ~~ Won't delete ~~</p> <p>Test: <del>Will delete</del></p> <p>Test: ~~Escaped~~</p> <p>Test: <del>All will ~ be deleted</del></p> <p>Test: <del>All will</del>~ not be deleted~~</p> <p>Test: <del>All will ~~~ be deleted</del></p>�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (dumb no sub).txt������������������������������0000664�0000000�0000000�00000000261�14651242716�0026050�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: ~~ Won't delete ~~ Test: ~~Will delete~~ Test: \~\~Escaped\~\~ Test: ~~All will ~ be deleted~~ Test: ~~All will~~~ not be deleted~~ Test: ~~All will ~~~ be deleted~~ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (dumb).html������������������������������������0000664�0000000�0000000�00000000724�14651242716�0025032�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>CH<sub>3</sub>CH<sub>2</sub>OH</p> <p>Text<sub>subscript</sub></p> <p>Text~subscript failed~</p> <p>Text<sub>subscript success</sub></p> <p>Test: ~~ Won't delete ~~</p> <p>Test: <del>Will delete</del></p> <p>Test: ~~Escaped~~</p> <p>Test: <del>All will ~ be deleted</del></p> <p>Test: <del>All will<sub>~</sub> be deleted with subscript in middle</del></p> <p>Test: <del>All will <sub>~</sub> be deleted with subscript in middle</del></p> <p>Test: Subscript ~~~</p>��������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (dumb).txt�������������������������������������0000664�0000000�0000000�00000000507�14651242716�0024704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������CH~3~CH~2~OH Text~subscript~ Text~subscript failed~ Text~subscript\ success~ Test: ~~ Won't delete ~~ Test: ~~Will delete~~ Test: \~\~Escaped\~\~ Test: ~~All will ~ be deleted~~ Test: ~~All will~\~~ be deleted with subscript in middle~~ Test: ~~All will ~\~~ be deleted with subscript in middle~~ Test: Subscript ~~~ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (no delete).html�������������������������������0000664�0000000�0000000�00000000251�14651242716�0025735�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>CH<sub>3</sub>CH<sub>2</sub>OH</p> <p>Text<sub>subscript</sub></p> <p>Text~subscript failed~</p> <p>Text<sub>subscript success</sub></p> <p>Test: ~~Won't delete~~</p>�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (no delete).txt��������������������������������0000664�0000000�0000000�00000000150�14651242716�0025606�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������CH~3~CH~2~OH Text~subscript~ Text~subscript failed~ Text~subscript\ success~ Test: ~~Won't delete~~ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (no sub).html����������������������������������0000664�0000000�0000000�00000000753�14651242716�0025273�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>Test: ~~ Won't delete ~~</p> <p>Test: <del>Will delete</del></p> <p>Test: ~~Escaped~~</p> <p>Test: <del>This will all be deleted ~~because of the placement of the center tilde.</del></p> <p>Test: <del>This will all be deleted ~~ because of the placement of the center tilde.</del></p> <p>Test: <del>This will NOT all be deleted</del> because of the placement of the center tilde.~~</p> <p>Test: <del>This will all be deleted~ because of the token is less than that of the tilde.</del></p>���������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde (no sub).txt�����������������������������������0000664�0000000�0000000�00000000642�14651242716�0025143�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Test: ~~ Won't delete ~~ Test: ~~Will delete~~ Test: \~\~Escaped\~\~ Test: ~~This will all be deleted ~~because of the placement of the center tilde.~~ Test: ~~This will all be deleted ~~ because of the placement of the center tilde.~~ Test: ~~This will NOT all be deleted~~ because of the placement of the center tilde.~~ Test: ~~This will all be deleted~ because of the token is less than that of the tilde.~~ ����������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde.html�������������������������������������������0000664�0000000�0000000�00000001167�14651242716�0024003�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<p>CH<sub>3</sub>CH<sub>2</sub>OH</p> <p>Text<sub>subscript</sub></p> <p>Text~subscript failed~</p> <p>Text<sub>subscript success</sub></p> <p>Test: ~~ Won't delete ~~</p> <p>Test: <del>Will delete</del></p> <p>Test: ~~Escaped~~</p> <p>Test: <del>This will all be deleted ~~because of the placement of the center tilde.</del></p> <p>Test: <del>This will all be deleted ~~ because of the placement of the center tilde.</del></p> <p>Test: <del>This will NOT all be deleted</del> because of the placement of the center tilde.~~</p> <p>Test: <del>This will all be deleted~ because of the token is less than that of the tilde.</del></p>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/extensions/tilde/tilde.txt��������������������������������������������0000664�0000000�0000000�00000000763�14651242716�0023657�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������CH~3~CH~2~OH Text~subscript~ Text~subscript failed~ Text~subscript\ success~ Test: ~~ Won't delete ~~ Test: ~~Will delete~~ Test: \~\~Escaped\~\~ Test: ~~This will all be deleted ~~because of the placement of the center tilde.~~ Test: ~~This will all be deleted ~~ because of the placement of the center tilde.~~ Test: ~~This will NOT all be deleted~~ because of the placement of the center tilde.~~ Test: ~~This will all be deleted~ because of the token is less than that of the tilde.~~ �������������pymdown-extensions-10.9/tests/test_extensions/������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0021745�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/__init__.py�������������������������������������������0000664�0000000�0000000�00000000027�14651242716�0024055�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test Extensions.""" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_assets/����������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0023406�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_assets/bg.png����������������������������������������0000664�0000000�0000000�00000000773�14651242716�0024513�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR���x���x���ºÆà���¨PLTE9y—e—®˜¹ÈÝîÝîÝîe—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®e—®˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹È˜¹ÈTãS��IDAThí×GrADÑ¿Â{o…� ä-æþ7Ó4ÅGAö¾âEOwWåP*Wªµz£Ùjwº½þ`8O¦³ùbyÃïku»Þlïîwû‡Ç§ç—×·÷ϯïÃñt.P‹ä–Ü2’[Ar«Hn É­#¹ $·‰ä¶Ü6’ÛAr»HnÉí#¹$wˆäŽÜ1’;Ar§Hî É#¹ $wY ôO\k¿qãÆ7nܸqãÆ7nÜët±ö‹õ±Îë^aÝg¬w„õ~±úV¿Âê“Xýk.`Í#¬9ˆ5±æ>VÞÀÊ9Xù +×aåI¬‹•Ÿ±r{Òù¿7nܸqãÆ7nܸqãÆ½H÷bsÊ÷ FdÆ����IEND®B`‚�����pymdown-extensions-10.9/tests/test_extensions/_snippets/��������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0023751�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/a.txt���������������������������������������0000664�0000000�0000000�00000000021�14651242716�0024723�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������---8<--- "b.txt" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/b.txt���������������������������������������0000664�0000000�0000000�00000000010�14651242716�0024722�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Snippet ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/c.txt���������������������������������������0000664�0000000�0000000�00000000030�14651242716�0024725�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������---8<--- b.txt ---8<--- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/d.txt���������������������������������������0000664�0000000�0000000�00000000010�14651242716�0024724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Snippet ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/indented.txt��������������������������������0000664�0000000�0000000�00000000270�14651242716�0026303�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������class SomeClass: """Docstring.""" # --8<-- [start: py-section] def some_method(self, param): """Docstring.""" return param # --8<-- [end: py-section] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/lines.txt�����������������������������������0000664�0000000�0000000�00000000267�14651242716�0025631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������This is a multi-line snippet. Content resides on various lines. If we use line specifiers, we can select any number of lines we want. This is the end of the file. There is no more. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/loop.txt������������������������������������0000664�0000000�0000000�00000000024�14651242716�0025457�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������---8<--- "loop.txt" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/loop_block.txt������������������������������0000664�0000000�0000000�00000000041�14651242716�0026630�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������---8<--- loop_block.txt ---8<--- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/missing.txt���������������������������������0000664�0000000�0000000�00000000026�14651242716�0026161�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������--8<-- "not-here.txt" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/nested/�������������������������������������0000775�0000000�0000000�00000000000�14651242716�0025233�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/nested/nested.txt���������������������������0000664�0000000�0000000�00000000010�14651242716�0027245�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Snippet ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/section.txt���������������������������������0000664�0000000�0000000�00000000573�14651242716�0026163�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* --8<-- [start: css-section] */ div { color: red; } /* --8<-- [end: css-section] */ <!-- -8<- [start: html-section] --> <div><p>content</p></div> <!-- -8<- [end: html-section] --> /* --8<-- [end: css-section2] */ /* --8<-- [start: css-section2] */ div { color: red; } /* --8<-- [end: css-section2] */ <!-- --8<-- [start: html-section2] --> <div><p>content</p></div> �������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/_snippets/section_nested.txt��������������������������0000664�0000000�0000000�00000001143�14651242716�0027517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* --8<-- [start: css-section] */ div { color: red; /* --8<-- [start: css-section2] */ background-color: white; padding: 16px /* --8<-- [end: css-section2] */ } /* --8<-- [end: css-section] */ /* --8<-- [start: css-section3] */ div { color: red; /* ;--8<-- [start: css-section4] */ background-color: white; padding: 16px /* ;--8<-- [end: css-section4] */ } /* --8<-- [end: css-section3] */ /* --8<-- [start: css-section5] */ div { color: red; /* --8<-- [start: css-section5] */ background-color: white; padding: 16px } /* --8<-- [end: css-section5] */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_arithmatex.py������������������������������������0000664�0000000�0000000�00000011575�14651242716�0025535�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Arithmatex.""" from .. import util class TestArithmatexLimit(util.MdCase): """Test limiting Arithmatex inline and block inputs.""" extension = [ 'pymdownx.arithmatex' ] extension_configs = {'pymdownx.arithmatex': {'inline_syntax': ['round'], 'block_syntax': ['square']}} def test_round_only(self): """Test round only.""" self.check_markdown( "\\(1 + 2 + 3\\)", """<p><span class="arithmatex"><span class="MathJax_Preview">1 + 2 + 3</span><script type="math/tex">1 + 2 + 3</script></span></p>""" # noqa: E501 ) def test_square_only(self): """Test square only.""" self.check_markdown( r""" \[ 1 + 2 + 3 \] """, r""" <div class="arithmatex"> <div class="MathJax_Preview"> 1 + 2 + 3 </div> <script type="math/tex; mode=display"> 1 + 2 + 3 </script> </div> """, True ) class TestArithmatexBlockEscapes(util.MdCase): """Test escaping cases for Arithmatex blocks.""" extension = [ 'pymdownx.arithmatex' ] extension_configs = {} def test_escaped_dollar_block(self): """Test escaping a dollar.""" self.check_markdown( r''' $$3+2\$$ ''', r''' <p>$<span class="arithmatex"><span class="MathJax_Preview">3+2\$</span><script type="math/tex">3+2\$</script></span></p> ''', # noqa: E501 True ) def test_escaped_dollar_dollar_block(self): """Test escaping both dollars.""" self.check_markdown( r''' $$3+2\$\$ ''', r''' <p>$$3+2$$</p> ''', True ) def test_double_escaped_dollar_block(self): """Test double escaping a dollar.""" self.check_markdown( r''' $$3+2\\$$ ''', r''' <div class="arithmatex"> <div class="MathJax_Preview">3+2\\</div> <script type="math/tex; mode=display">3+2\\</script> </div> ''', True ) def test_escaped_end_block(self): """Test escaping an end.""" self.check_markdown( r''' \begin{align}3+2\\end{align} ''', r''' <p>\begin{align}3+2\end{align}</p> ''', True ) def test_double_escaped_end_block(self): """Test double escaping an end.""" self.check_markdown( r''' \begin{align}3+2\\\end{align} ''', r''' <div class="arithmatex"> <div class="MathJax_Preview">\begin{align}3+2\\\end{align}</div> <script type="math/tex; mode=display">\begin{align}3+2\\\end{align}</script> </div> ''', True ) def test_escaped_bracket_block(self): """Test escaping a bracket.""" self.check_markdown( r''' \[3+2\\] ''', r''' <p>[3+2\]</p> ''', True ) def test_double_escaped_bracket_block(self): """Test double escaping a bracket.""" self.check_markdown( r''' \[3+2\\\] ''', r''' <div class="arithmatex"> <div class="MathJax_Preview">3+2\\</div> <script type="math/tex; mode=display">3+2\\</script> </div> ''', True ) class TestArithmatexHang(util.MdCase): """Test hang cases.""" def test_hang_dollar(self): """ We are just making sure this works. Previously this pattern would hang. It isn't supposed to match due to the space before the last dollar, but it definitely shouldn't hang the process. """ self.check_markdown( r''' $z^{[1]} = \begin{bmatrix}w^{[1]T}_1 \\ w^{[1]T}_2 \\ w^{[1]T}_3 \\ w^{[1]T}_4 \end{bmatrix} \begin{bmatrix}x_1 \\ x_2 \\ x_3 \end{bmatrix} + \begin{bmatrix}b^{[1]}_1 \\ b^{[1]}_2 \\ b^{[1]}_3 \\ b^{[1]}_4 \end{bmatrix}= \begin{bmatrix}w^{[1]T}_1 x + b^{[1]}_1 \\ w^{[1]T}_2 x + b^{[1]}_2\\ w^{[1]T}_3 x + b^{[1]}_3 \\ w^{[1]T}_4 x + b^{[1]}_4 \end{bmatrix} $ ''', # noqa: E501 r''' <p>$z^{[1]} = \begin{bmatrix}w^{[1]T}_1 \ w^{[1]T}_2 \ w^{[1]T}_3 \ w^{[1]T}_4 \end{bmatrix} \begin{bmatrix}x_1 \ x_2 \ x_3 \end{bmatrix} + \begin{bmatrix}b^{[1]}_1 \ b^{[1]}_2 \ b^{[1]}_3 \ b^{[1]}_4 \end{bmatrix}= \begin{bmatrix}w^{[1]T}_1 x + b^{[1]}_1 \ w^{[1]T}_2 x + b^{[1]}_2\ w^{[1]T}_3 x + b^{[1]}_3 \ w^{[1]T}_4 x + b^{[1]}_4 \end{bmatrix} $</p> ''', # noqa: E501 True ) �����������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_b64.py�������������������������������������������0000664�0000000�0000000�00000006246�14651242716�0023761�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Base 64.""" from .. import util import os CURRENT_DIR = os.path.abspath(os.path.dirname(__file__)) class TestB64(util.MdCase): """Test Base 64.""" extension = ['pymdownx.b64'] extension_configs = { "pymdownx.b64": { "base_path": CURRENT_DIR } } def test_in_script(self): """Test that we do not parse image in script.""" self.check_markdown( r''' <script> var str = '<img alt="picture" src="_assets/bg.png" />' </script> ''', r''' <script> var str = '<img alt="picture" src="_assets/bg.png" />' </script> ''', True ) def test_comment(self): """Don't convert image in comment.""" self.check_markdown( '<!-- ![picture](_assets/bg.png) -->', '<!-- ![picture](_assets/bg.png) -->', True ) def test_relative_path(self): """Test relative path.""" self.check_markdown( '![picture](../test_extensions/_assets/bg.png)', '<p><img alt="picture" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAqFBMVEU5eZdll66Yucjd7h7d7h7d7h5ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll66YuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYucgXVONTAAABDklEQVRoge3XR3ICQRBE0b/Ce2+FAAnkLeb+N9MRNBvFR0H2vuJFT3dX5VAqV6q1eqPZane6vf5gOBpPprP5YnnD72t1u95s7+53+4fHp+eX17f3j8+v78PxdC5Qi+SWkNwykltBcqtIbg3JrSO5DSS3ieS2kNw2kttBcrtIbg/J7SO5AyR3iOSOkNwxkjtBcqdI7gzJnSO5CyR3WaD0T1xrv3Hjxo0bN27cuHHjxo0bN27c63Sx9ov1nbHOF+teYd1nrHeE9X6x+gZWv8Lqk1j9GWsuYM0jrDmINX+x5j5W3sDKOVj5CivXYeVJrByLlZ+xcnuB0n/5vxA3bty4cePGjRs3bty4cePGvUj3B2JzyvcNRmTGAAAAAElFTkSuQmCC" /></p>', # noqa: E501 True ) def test_cache_busting(self): """Test we can convert cache busted images.""" self.check_markdown( '![picture with cache busting](_assets/bg.png?v2)', '<p><img alt="picture with cache busting" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAqFBMVEU5eZdll66Yucjd7h7d7h7d7h5ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll65ll66YuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYuciYucgXVONTAAABDklEQVRoge3XR3ICQRBE0b/Ce2+FAAnkLeb+N9MRNBvFR0H2vuJFT3dX5VAqV6q1eqPZane6vf5gOBpPprP5YnnD72t1u95s7+53+4fHp+eX17f3j8+v78PxdC5Qi+SWkNwykltBcqtIbg3JrSO5DSS3ieS2kNw2kttBcrtIbg/J7SO5AyR3iOSOkNwxkjtBcqdI7gzJnSO5CyR3WaD0T1xrv3Hjxo0bN27cuHHjxo0bN27c63Sx9ov1nbHOF+teYd1nrHeE9X6x+gZWv8Lqk1j9GWsuYM0jrDmINX+x5j5W3sDKOVj5CivXYeVJrByLlZ+xcnuB0n/5vxA3bty4cePGjRs3bty4cePGvUj3B2JzyvcNRmTGAAAAAElFTkSuQmCC" /></p>', # noqa: E501 True ) def test_does_not_exist(self): """Test handling of file that does not exist.""" self.check_markdown( '![Some windows path link](file:///c:/does_not_exist.png)', '<p><img alt="Some windows path link" src="file:///c:/does_not_exist.png" /></p>', True ) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_betterem.py��������������������������������������0000664�0000000�0000000�00000005633�14651242716�0025174�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for BetterEm.""" from .. import util class TestBetterEmNoSmart(util.MdCase): """Test escaping cases for BetterEm without smart enabled.""" extension = [ 'pymdownx.betterem' ] extension_configs = { "pymdownx.betterem": { "smart_enable": "none" } } def test_complex_multple_emphasis_type(self): """Test complex case where `**text*text***` may be detected on accident.""" self.check_markdown( 'traced ***along*** bla **blocked** if other ***or***', '<p>traced <strong><em>along</em></strong> bla <strong>blocked</strong> if other <strong><em>or</em></strong></p>' # noqa: E501 ) def test_complex_multple_emphasis_type_variant2(self): """Test another complex case where `**text*text***` may be detected on accident.""" self.check_markdown( 'on the **1-4 row** of the AP Combat Table ***and*** receive', '<p>on the <strong>1-4 row</strong> of the AP Combat Table <strong><em>and</em></strong> receive</p>' ) def test_complex_multple_underscore_type(self): """Test complex case where `__text_text___` may be detected on accident.""" self.check_markdown( 'traced ___along___ bla __blocked__ if other ___or___', '<p>traced <strong><em>along</em></strong> bla <strong>blocked</strong> if other <strong><em>or</em></strong></p>' # noqa: E501 ) def test_complex_multple_underscore_type_variant2(self): """Test another complex case where `__text_text___` may be detected on accident.""" self.check_markdown( 'on the __1-4 row__ of the AP Combat Table ___and___ receive', '<p>on the <strong>1-4 row</strong> of the AP Combat Table <strong><em>and</em></strong> receive</p>' ) class TestBetterSmartAll(util.MdCase): """Test escaping cases for BetterEm with smart enabled everywhere.""" def test_smart_complex_cases_star(self): """Test some complex cases with star.""" self.check_markdown( ''' ***I'm italic and bold* I am just bold.** ***I'm bold and italic!** I am just italic.* ''', ''' <p><strong><em>I'm italic and bold</em> I am just bold.</strong></p> <p><em><strong>I'm bold and italic!</strong> I am just italic.</em></p> ''', True ) def test_smart_complex_cases_underscore(self): """Test some complex cases with underscore.""" self.check_markdown( ''' ___I'm italic and bold_ I am just bold.__ ___I'm bold and italic!__ I am just italic._ ''', ''' <p><strong><em>I'm italic and bold</em> I am just bold.</strong></p> <p><em><strong>I'm bold and italic!</strong> I am just italic.</em></p> ''', True ) �����������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0024261�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/__init__.py�������������������������������0000664�0000000�0000000�00000000023�14651242716�0026365�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test blocks.""" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_admonitions.py�����������������������0000664�0000000�0000000�00000013366�14651242716�0030227�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (admonitions).""" from ... import util class TestBlocksAdmonitions(util.MdCase): """Test Blocks admonitions cases.""" extension = ['pymdownx.blocks.admonition'] extension_configs = { 'pymdownx.blocks.admonition': { 'types': [ 'note', 'custom', {'name': 'custom2'}, {'name': 'custom3', 'class': 'different'}, {'name': 'custom4', 'class': 'different', 'title': 'Default'}, {'name': 'custom5', 'title': 'Default'} ] } } def test_optional_title(self): """Test that tab is not processed if title is omitted.""" self.check_markdown( R''' /// admonition Some *content* /// ''', r''' <div class="admonition"> <p>Some <em>content</em></p> </div> ''', True ) def test_type_no_title(self): """Test test type as title.""" self.check_markdown( R''' /// admonition type: note attrs: {class: other} Some *content* /// ''', r''' <div class="admonition note other"> <p class="admonition-title">Note</p> <p>Some <em>content</em></p> </div> ''', True ) def test_type_empty_title(self): """Test test empty title.""" self.check_markdown( R''' /// admonition | type: note attrs: {class: other} Some *content* /// ''', r''' <div class="admonition note other"> <p>Some <em>content</em></p> </div> ''', True ) def test_admonition(self): """Test admonition with title.""" self.check_markdown( R''' /// admonition | A Title Some *content* /// ''', r''' <div class="admonition"> <p class="admonition-title">A Title</p> <p>Some <em>content</em></p> </div> ''', True ) def test_note_no_title(self): """Test note with no title.""" self.check_markdown( R''' /// note Some *content* /// ''', r''' <div class="admonition note"> <p class="admonition-title">Note</p> <p>Some <em>content</em></p> </div> ''', True ) def test_note_with_title(self): """Test note with no title.""" self.check_markdown( R''' /// note | A Title Some *content* /// ''', r''' <div class="admonition note"> <p class="admonition-title">A Title</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom(self): """Test custom type (one not shipped by default).""" self.check_markdown( R''' /// custom | A Title Some *content* /// ''', r''' <div class="admonition custom"> <p class="admonition-title">A Title</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom_title(self): """Test custom title.""" self.check_markdown( R''' /// custom Some *content* /// ''', r''' <div class="admonition custom"> <p class="admonition-title">Custom</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom_dict_title(self): """Test custom title with dictionary form.""" self.check_markdown( R''' /// custom2 Some *content* /// ''', r''' <div class="admonition custom2"> <p class="admonition-title">Custom2</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom_explicit_title(self): """Test custom with an explicit, default title.""" self.check_markdown( R''' /// custom5 Some *content* /// ''', r''' <div class="admonition custom5"> <p class="admonition-title">Default</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom_with_class(self): """Test custom title with configured custom class.""" self.check_markdown( R''' /// custom3 Some *content* /// ''', r''' <div class="admonition different"> <p class="admonition-title">Different</p> <p>Some <em>content</em></p> </div> ''', True ) def test_custom_with_class_and_title(self): """Test custom title with configured custom class and title.""" self.check_markdown( R''' /// custom4 Some *content* /// ''', r''' <div class="admonition different"> <p class="admonition-title">Default</p> <p>Some <em>content</em></p> </div> ''', True ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_definition.py������������������������0000664�0000000�0000000�00000005672�14651242716�0030034�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (define).""" from ... import util class TestBlocksDefinition(util.MdCase): """Test Blocks admonitions cases.""" extension = ['pymdownx.blocks.definition', 'pymdownx.blocks.html'] def test_def(self): """Test definition.""" self.check_markdown( R''' /// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. /// ''', R''' <dl> <dt>Apple</dt> <dd>Pomaceous fruit of plants of the genus Malus in the family Rosaceae.</dd> </dl> ''', True ) def test_multi_def(self): """Test multiple definitions.""" self.check_markdown( R''' /// define Apple - Pomaceous fruit of plants of the genus Malus in the family Rosaceae. Orange - The fruit of an evergreen tree of the genus Citrus. /// ''', R''' <dl> <dt>Apple</dt> <dd>Pomaceous fruit of plants of the genus Malus in the family Rosaceae.</dd> <dt>Orange</dt> <dd>The fruit of an evergreen tree of the genus Citrus.</dd> </dl> ''', True ) def test_multi_term(self): """Test definitions with multiple terms.""" self.check_markdown( R''' /// define Term 1 Term 2 - Definition a Term 3 - Definition b /// ''', r''' <dl> <dt>Term 1</dt> <dt>Term 2</dt> <dd>Definition a</dd> <dt>Term 3</dt> <dd>Definition b</dd> </dl> ''', True ) def test_handling_of_dt_dd(self): """Test that we ignore `dt` and `dd` tags.""" self.check_markdown( R''' /// define //// html | dt term //// //// html | dd Some description. //// /// ''', R''' <dl> <dt>term</dt> <dd>Some description.</dd> </dl> ''', True ) def test_non_paragraph_block(self): """Test that we sanely handle a non-paragraph term.""" self.check_markdown( R''' /// define > A non non-paragraph term - description /// ''', R''' <dl> <dt> <blockquote> <p>A non non-paragraph term</p> </blockquote> </dt> <dd>description</dd> </dl> ''', True ) ����������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_details.py���������������������������0000664�0000000�0000000�00000012222�14651242716�0027316�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (details).""" from ... import util class TestBlocksDetails(util.MdCase): """Test Blocks details cases.""" extension = ['pymdownx.blocks.details'] extension_configs = { 'pymdownx.blocks.details': { 'types': [ 'custom', {'name': 'custom2'}, {'name': 'custom3', 'class': 'different'}, {'name': 'custom4', 'class': 'different', 'title': 'Default'}, {'name': 'custom5', 'title': 'Default'} ] } } def test_optional_title(self): """Test that tab is not processed if title is omitted.""" self.check_markdown( R''' /// details Some *content* /// ''', r''' <details> <p>Some <em>content</em></p> </details> ''', True ) def test_type_no_title(self): """Test test type as title.""" self.check_markdown( R''' /// details type: note attrs: {class: other} Some *content* /// ''', r''' <details class="note other"> <summary>Note</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_type_empty_title(self): """Test test empty title.""" self.check_markdown( R''' /// details | type: note attrs: {class: other} Some *content* /// ''', r''' <details class="note other"> <p>Some <em>content</em></p> </details> ''', True ) def test_details(self): """Test details with title.""" self.check_markdown( R''' /// details | A Title Some *content* /// ''', r''' <details> <summary>A Title</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_details_open(self): """Test details forced open.""" self.check_markdown( R''' /// details | A Title open: true Some *content* /// ''', r''' <details open="open"> <summary>A Title</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom(self): """Test custom type (one not shipped by default).""" self.check_markdown( R''' /// custom | A Title Some *content* /// ''', r''' <details class="custom"> <summary>A Title</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom_title(self): """Test custom title.""" self.check_markdown( R''' /// custom Some *content* /// ''', r''' <details class="custom"> <summary>Custom</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom_dict_title(self): """Test custom title with dictionary form.""" self.check_markdown( R''' /// custom2 Some *content* /// ''', r''' <details class="custom2"> <summary>Custom2</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom_explicit_title(self): """Test custom with an explicit, default title.""" self.check_markdown( R''' /// custom5 Some *content* /// ''', r''' <details class="custom5"> <summary>Default</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom_with_class(self): """Test custom title with configured custom class.""" self.check_markdown( R''' /// custom3 Some *content* /// ''', r''' <details class="different"> <summary>Different</summary> <p>Some <em>content</em></p> </details> ''', True ) def test_custom_with_class_and_title(self): """Test custom title with configured custom class and title.""" self.check_markdown( R''' /// custom4 Some *content* /// ''', r''' <details class="different"> <summary>Default</summary> <p>Some <em>content</em></p> </details> ''', True ) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_general_blocks.py��������������������0000664�0000000�0000000�00000052564�14651242716�0030660�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Using the "tab" Blocks extension, test general cases for Blocks.""" from ... import util import unittest from pymdownx.blocks import block import markdown class TestTypeFunctions(unittest.TestCase): """Validate various type functions.""" def test_type_any(self): """Test `type_any`.""" self.assertEqual(3, block.type_any(3)) self.assertEqual({}, block.type_any({})) self.assertEqual('string', block.type_any('string')) def test_type_number(self): """Test `type_number`.""" self.assertEqual(3, block.type_number(3)) self.assertEqual(3.0, block.type_number(3.0)) with self.assertRaises(ValueError): block.type_number('string') def test_type_integer(self): """Test `type_integer`.""" self.assertEqual(3, block.type_integer(3)) self.assertEqual(3, block.type_integer(3.0)) with self.assertRaises(ValueError): block.type_integer(3.3) def test_type_ranged_number(self): """Test `type_ranged_number`.""" self.assertEqual(4.7, block.type_ranged_number(3, 8)(4.7)) with self.assertRaises(ValueError): block.type_ranged_number(3, 8)(2.7) with self.assertRaises(ValueError): block.type_ranged_number(3, 8)(9.2) self.assertEqual(-4.7, block.type_ranged_number(None, 8)(-4.7)) with self.assertRaises(ValueError): block.type_ranged_number(None, 8)(9.2) self.assertEqual(1004.7, block.type_ranged_number(3, None)(1004.7)) with self.assertRaises(ValueError): block.type_ranged_number(3, None)(2.3) with self.assertRaises(ValueError): block.type_ranged_number(3, 8)('string') def test_type_ranged_integer(self): """Test `type_ranged_integer`.""" self.assertEqual(4, block.type_ranged_integer(3, 8)(4)) self.assertEqual(4, block.type_ranged_integer(3, 8)(4.0)) with self.assertRaises(ValueError): block.type_ranged_integer(3, 8)(4.3) with self.assertRaises(ValueError): block.type_ranged_integer(3, 8)(2) with self.assertRaises(ValueError): block.type_ranged_integer(3, 8)(9) def test_type_html_identifier(self): """Test `type_html_tag`.""" self.assertEqual('div', block.type_html_identifier('div')) with self.assertRaises(ValueError): block.type_html_identifier('3bad') def test_type_boolean(self): """Test `type_boolean`.""" self.assertEqual(True, block.type_boolean(True)) self.assertEqual(False, block.type_boolean(False)) with self.assertRaises(ValueError): block.type_boolean(None) def test_type_ternary(self): """Test `type_ternary`.""" self.assertEqual(True, block.type_ternary(True)) self.assertEqual(False, block.type_ternary(False)) self.assertEqual(None, block.type_ternary(None)) with self.assertRaises(ValueError): block.type_ternary(3) def test_type_string(self): """Test `type_string`.""" self.assertEqual('string', block.type_string('string')) with self.assertRaises(ValueError): block.type_string(3) def test_type_string_insensitive(self): """Test `type_string_insensitive`.""" self.assertEqual('string', block.type_string_insensitive('STRING')) with self.assertRaises(ValueError): block.type_string_insensitive(3) def test_type_string_in(self): """Test `type_string_in`.""" self.assertEqual('this', block.type_string_in(['this', 'that'])('this')) self.assertEqual('this', block.type_string_in(['this', 'that'])('This')) self.assertEqual('this', block.type_string_in(['this', 'that'], insensitive=False)('this')) with self.assertRaises(ValueError): block.type_string_in(['this', 'that'], insensitive=False)('This') with self.assertRaises(ValueError): block.type_string_in(['this', 'that'])('bad') def test_type_string_delimiter(self): """Test `type_string_delimiter`.""" self.assertEqual(['this', 'that'], block.type_string_delimiter(';')('this; that')) self.assertEqual(['this', 'that'], block.type_string_delimiter(' ')('this that')) def test_type_html_classes(self): """Test `type_html_classes`.""" self.assertEqual(['this', 'that'], block.type_html_classes('this that')) def test_type_multi(self): """Test `type_multi`.""" t = block.type_multi(block.type_ternary, block.type_string_in(['this', 'that'])) self.assertEqual(True, t(True)) self.assertEqual(False, t(False)) self.assertEqual(None, t(None)) self.assertEqual('this', t('this')) with self.assertRaises(ValueError): t(3) with self.assertRaises(ValueError): t('other') with self.assertRaises(ValueError): block.type_multi()(True) class TestRegister(unittest.TestCase): """Test registration cases.""" def test_duplicates(self): """Test duplicates.""" with self.assertRaises(ValueError): markdown.markdown('test', extensions=['pymdownx.blocks.admonition', 'pymdownx.blocks.admonition']) class TestBlockUndefinedOption(util.MdCase): """Test Blocks with undefined options.""" extension = ['pymdownx.blocks.html', 'pymdownx.blocks.definition'] def test_undefined_option(self): """An undefined option will cause the block parsing to fail.""" self.check_markdown( R''' /// html | div option: whatever content /// ''', ''' <p>/// html | div option: whatever</p> <p>content ///</p> ''', True ) def test_bad_option(self): """An undefined option will cause the block parsing to fail.""" self.check_markdown( R''' /// html | div attrs: whatever content /// ''', ''' <p>/// html | div attrs: whatever</p> <p>content ///</p> ''', True ) def test_no_arg(self): """Test no options.""" self.check_markdown( R''' /// html attrs: whatever content /// ''', ''' <p>/// html attrs: whatever</p> <p>content ///</p> ''', True ) def test_too_many_args(self): """Test too many options.""" self.check_markdown( R''' /// define option: whatever content /// ''', ''' <p>/// define option: whatever</p> <p>content ///</p> ''', True ) def test_bad_frontmatter(self): """Test bad frontmatter.""" self.check_markdown( R''' /// define bad() content /// ''', ''' <p>/// define bad()</p> <p>content ///</p> ''', True ) def test_bad_frontmatter2(self): """Test bad frontmatter.""" self.check_markdown( R''' /// define & content /// ''', ''' <p>/// define &</p> <p>content ///</p> ''', True ) def test_commented_frontmatter(self): """Test commented frontmatter.""" self.check_markdown( R''' /// html | div # attrs: {class: test} content /// ''', ''' <div> <p>content</p> </div> ''', True ) class TestCodeHandling(util.MdCase): """Test some code related cases.""" extension = ['pymdownx.blocks.html', 'pymdownx.superfences'] def test_superfence_block(self): """Test blocks with fenced code content.""" self.check_markdown( R''' /// html | div ```python import foo ``` /// ''', ''' <div> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">foo</span> </code></pre></div> </div> ''', True ) def test_superfence_inline(self): """Test blocks with fenced code content.""" self.check_markdown( R''' /// html | span ```python import foo ``` Other content /// ''', ''' <span><code>python import foo</code> Other content</span> ''', True ) class TestAttributes(util.MdCase): """Test Blocks tab cases.""" extension = ['pymdownx.blocks.admonition'] def test_attributes(self): """Test attributes.""" self.check_markdown( R''' /// admonition | Title attrs: {class: some classes, id: an-id, name: some value} content /// ''', ''' <div class="admonition some classes" id="an-id" name="some value"> <p class="admonition-title">Title</p> <p>content</p> </div> ''', True ) def test_bad_attributes(self): """Test no attributes.""" self.check_markdown( R''' /// admonition | Title attrs: {'+': 'value'} content /// ''', ''' <p>/// admonition | Title attrs: {'+': 'value'} content ///</p> ''', True ) class TestBlocksTab(util.MdCase): """Test Blocks tab cases.""" extension = ['pymdownx.blocks.tab', 'pymdownx.superfences', 'markdown.extensions.def_list', 'pymdownx.details'] extension_configs = { 'pymdownx.blocks.tab': {'alternate_style': True} } def test_with_preceding_text(self): """Test content directly before tabs.""" expected = r''' <p>foo <strong>foo</strong></p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"></div> </div> </div> ''' # noqa: E501 self.check_markdown( R''' foo **foo** /// tab | Tab /// ''', expected, True ) def test_nested_tabbed(self): """Test nested tabbed.""" self.check_markdown( R''' //// tab | Tab Some *content* /// tab | Tab A - item 1 - item 2 /// /// tab | Tab B - item A - item B /// //// /// tab | Another Tab Some more content. /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label><label for="__tabbed_1_2">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Tab A</label><label for="__tabbed_2_2">Tab B</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>item 1</p> </li> <li> <p>item 2</p> </li> </ul> </div> <div class="tabbed-block"> <ul> <li> <p>item A</p> </li> <li> <p>item B</p> </li> </ul> </div> </div> </div> </div> <div class="tabbed-block"> <p>Some more content.</p> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_break(self): """Test that tabs are properly terminated on blocks that are not under the tab.""" self.check_markdown( r''' /// tab | Tab Some *content* And more `content`. /// Content ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> </div> <p>Content</p> ''', # noqa: E501 True ) def test_with_lists(self): """Test with lists.""" self.check_markdown( ''' - List /// tab | Tab - Paragraph Paragraph /// ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_big_lists(self): """Test details with a longer list.""" self.check_markdown( ''' - List /// tab | Tab - Paragraph Paragraph - Paragraph paragraph /// ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> <li> <p>Paragraph</p> <p>paragraph</p> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_complex_lists(self): """Test details in a complex list scenario.""" self.check_markdown( ''' - List /// tab | Tab - Paragraph /// tab | Tab 1. Paragraph Paragraph /// /// ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ol> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ol> </div> </div> </div> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_definition_list(self): """Test with definition list.""" self.check_markdown( ''' - List /// tab | Tab Term : Definition More text : Another definition Even more text /// ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <dl> <dt>Term</dt> <dd> <p>Definition</p> <p>More text</p> </dd> <dd> <p>Another definition</p> <p>Even more text</p> </dd> </dl> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_details(self): """Test with definition list.""" self.check_markdown( ''' /// tab | Output ???+ note "Open styled details" ??? danger "Nested details!" And more content again. /// ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Output</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <details class="note" open="open"> <summary>Open styled details</summary> <details class="danger"> <summary>Nested details!</summary> <p>And more content again.</p> </details> </details> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list(self): """Test tabbed complex list scenario.""" self.check_markdown( ''' /// tab | Tab with loose lists - Parent 1 - Child 1 - Child 2 /// ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab with loose lists</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list_unindented_content(self): """Test tabbed complex list scenario with un-indented content.""" self.check_markdown( ''' /// tab | Tab with loose lists - Parent 1 - Child 1 - Child 2 /// - Parent 2 ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab with loose lists</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> </div> <ul> <li>Parent 2</li> </ul> ''', # noqa: E501 True ) ��������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_html.py������������������������������0000664�0000000�0000000�00000015753�14651242716�0026651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (HTML).""" from ... import util class TestBlocksHTML(util.MdCase): """Test Blocks HTML cases.""" extension = ['pymdownx.blocks.html', 'md_in_html'] def test_bad_tag(self): """Test bad HTML tag.""" self.check_markdown( R''' /// html | 3tag Some *content* /// ''', R''' <p>/// html | 3tag Some <em>content</em> ///</p> ''', True ) def test_required_tag(self): """Test that tab is not processed if tag is omitted.""" self.check_markdown( R''' /// html Some *content* /// ''', r''' <p>/// html Some <em>content</em> ///</p> ''', True ) def test_html_block(self): """Test HTML block element.""" self.check_markdown( R''' /// html | div Some *content* And more `content`. /// ''', r''' <div> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> ''', True ) def test_html_span(self): """Test HTML with span element.""" self.check_markdown( R''' /// html | span Will be parsed as inline *content* And more `content`. /// ''', r''' <span>Will be parsed as inline <em>content</em> And more <code>content</code>.</span> ''', True ) def test_html_raw_element(self): """Test HTML raw element.""" self.check_markdown( R''' /// html | pre Some *content* And more `content`. /// ''', r''' <pre>Some *content* And more `content`.</pre> ''', True ) def test_html_forced_raw_element(self): """Test HTML force raw element.""" self.check_markdown( R''' /// html | div markdown: raw Some *content* And more `content`. /// ''', r''' <div>Some *content* And more `content`.</div> ''', True ) def test_html_force_span(self): """Test HTML with force span element.""" self.check_markdown( R''' /// html | div markdown: inline Will be parsed as inline *content* And more `content`. /// ''', r''' <div>Will be parsed as inline <em>content</em> And more <code>content</code>.</div> ''', True ) def test_html_force_block(self): """Test HTML force block element.""" self.check_markdown( R''' /// html | span markdown: block Some *content* And more `content`. /// ''', r''' <span><p>Some <em>content</em></p><p>And more <code>content</code>.</p></span> ''', True ) def test_attributes(self): """Test attributes.""" self.check_markdown( R''' /// html | div.some.classes#an-id[name1 name2=value name3="string value"] Some *content* And more `content`. /// ''', r''' <div class="some classes" id="an-id" name1="name1" name2="value" name3="string value"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> ''', True ) def test_bad_attributes(self): """Test no attributes.""" self.check_markdown( R''' /// html | div.+ content /// ''', ''' <p>/// html | div.+ content ///</p> ''', True ) def test_multi_class(self): """Test multiple classes.""" self.check_markdown( R''' /// html | div.a.b[class=c] content /// ''', ''' <div class="a b c"> <p>content</p> </div> ''', True ) def test_multi_class2(self): """Test multiple classes.""" self.check_markdown( R''' /// html | div[class="a b"].c content /// ''', ''' <div class="a b c"> <p>content</p> </div> ''', True ) def test_inline_and_md_in_html(self): """Test inline format and HTML content.""" self.check_markdown( R''' /// html | div markdown: inline <div markdown="block"> **content** </div> **content** /// ''', ''' <div><div markdown="block"> **content** </div> <strong>content</strong></div> ''', True ) def test_raw_and_md_in_html(self): """Test raw format and HTML content.""" self.check_markdown( R''' /// html | div markdown: raw <div> **content** </div> this is <span>raw</span> **content** /// ''', ''' <div><div> **content** </div> this is <span>raw</span> **content**</div> ''', True ) def test_html_and_html(self): """Test HTML mode format with HTML code.""" self.check_markdown( R''' /// html | div markdown: html <div> **content** </div> this is <span>raw</span> **content** /// ''', ''' <div><div> **content** </div> this is <span>raw</span> **content**</div> ''', True ) def test_html_and_script(self): """Test inline format with script.""" self.check_markdown( R''' /// html | script const el = document.querySelector('div'); el.innerHTML = '<span>test</span> /// ''', ''' <script>const el = document.querySelector('div'); el.innerHTML = '<span>test</span></script> ''', True ) ���������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_legacy_tab.py������������������������0000664�0000000�0000000�00000020407�14651242716�0027767�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (legacy tab).""" from ... import util from pymdownx.slugs import slugify class TestLegacyTabSlugs(util.MdCase): """Test legacy tab slug cases.""" extension = ['pymdownx.blocks.tab', 'toc'] extension_configs = { 'pymdownx.blocks.tab': {'slugify': slugify(case='lower')} } MD = r""" ### Here is some text /// tab | Here is some text content /// /// tab | Here is some text content /// """ def test_tab_slugs(self): """Test tab slugs.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="here-is-some-text_1" name="__tabbed_1" type="radio" /><label for="here-is-some-text_1">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> <input id="here-is-some-text_2" name="__tabbed_1" type="radio" /><label for="here-is-some-text_2">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) class TestLegacyTabSlugsSep(util.MdCase): """Test legacy tab slug separator cases.""" extension = ['pymdownx.blocks.tab', 'toc'] extension_configs = { 'pymdownx.blocks.tab': {'slugify': slugify(case='lower'), 'separator': '_'} } MD = r""" ### Here is some text /// tab | Here is some text content /// /// tab | Here is some text content /// """ def test_slug_with_separator(self): """Test tab slugs with separator.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="here_is_some_text" name="__tabbed_1" type="radio" /><label for="here_is_some_text">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> <input id="here_is_some_text_1" name="__tabbed_1" type="radio" /><label for="here_is_some_text_1">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) class TestBlocksLegacyTab(util.MdCase): """Test Blocks legacy tab cases.""" extension = ['pymdownx.blocks.tab', 'pymdownx.superfences', 'markdown.extensions.def_list', 'pymdownx.details'] def test_tabbed_select(self): """Test selecting a tab.""" self.check_markdown( r''' /// tab | Tab 1 content /// /// tab | Tab 2 select: true content /// /// tab | Tab 3 content /// ''', r''' <div class="tabbed-set" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab 1</label><div class="tabbed-content"> <p>content</p> </div> <input checked="checked" id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Tab 2</label><div class="tabbed-content"> <p>content</p> </div> <input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><label for="__tabbed_1_3">Tab 3</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) def test_tabbed_select_multiple(self): """Test selecting multiple tabs.""" self.check_markdown( r''' /// tab | Tab 1 content /// /// tab | Tab 2 select: true content /// /// tab | Tab 3 select: true content /// ''', r''' <div class="tabbed-set" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab 1</label><div class="tabbed-content"> <p>content</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Tab 2</label><div class="tabbed-content"> <p>content</p> </div> <input checked="checked" id="__tabbed_1_3" name="__tabbed_1" type="radio" /><label for="__tabbed_1_3">Tab 3</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) def test_required_title(self): """Test that tab is not processed if title is omitted.""" self.check_markdown( R''' /// tab Some *content* /// ''', r''' <p>/// tab Some <em>content</em> ///</p> ''', True ) def test_tabbed(self): """Test tabbed.""" self.check_markdown( R''' /// tab | Tab Some *content* And more `content`. /// /// tab | Another Tab Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Another Tab</label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_markdown_title(self): """Test tabbed.""" self.check_markdown( R''' /// tab | **Tab** Some *content* And more `content`. /// /// tab | _Another Tab_ Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1"><strong>Tab</strong></label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2"><em>Another Tab</em></label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_split(self): """Force a split of tab sets.""" self.check_markdown( R''' /// tab | Tab Some *content* And more `content`. /// /// tab | Another Tab new: true Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> <div class="tabbed-set" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><label for="__tabbed_2_1">Another Tab</label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_blocks/test_tab.py�������������������������������0000664�0000000�0000000�00000030776�14651242716�0026455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Blocks (tab).""" from ... import util from pymdownx.slugs import slugify class TestTabSlugs(util.MdCase): """Test tab slug cases.""" extension = ['pymdownx.blocks.tab', 'toc'] extension_configs = { 'pymdownx.blocks.tab': {'slugify': slugify(case='lower'), 'alternate_style': True} } MD = r""" ### Here is some text /// tab | Here is some text content /// /// tab | Here is some text content /// """ def test_tab_slugs(self): """Test tab slugs.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="here-is-some-text_1" name="__tabbed_1" type="radio" /><input id="here-is-some-text_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here-is-some-text_1">Here is some text</label><label for="here-is-some-text_2">Here is some text</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) class TestTabSlugsSep(util.MdCase): """Test tab slug separator cases.""" extension = ['pymdownx.blocks.tab', 'toc'] extension_configs = { 'pymdownx.blocks.tab': { 'slugify': slugify(case='lower'), 'separator': '_', 'alternate_style': True } } MD = r""" ### Here is some text /// tab | Here is some text content /// /// tab | Here is some text content /// """ def test_slug_with_separator(self): """Test tab slugs with separator.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="here_is_some_text" name="__tabbed_1" type="radio" /><input id="here_is_some_text_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here_is_some_text">Here is some text</label><label for="here_is_some_text_1">Here is some text</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) class TestTabSlugsCombineHeader(util.MdCase): """Combine header slug with content tab.""" extension = ['pymdownx.blocks.tab', 'toc', 'pymdownx.blocks.details'] extension_configs = { 'pymdownx.blocks.tab': { 'slugify': slugify(case='lower'), 'combine_header_slug': True, 'alternate_style': True } } def test_combine_header_slug(self): """Test that slugs are a combination of the header slug and the tab title.""" md = R""" ### Here is some text /// tab | First Tab content /// ### Another header /// details | title //// tab | Second Tab content //// /// """ self.check_markdown( md, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="here-is-some-text-first-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here-is-some-text-first-tab">First Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> <h3 id="another-header">Another header</h3> <details> <summary>title</summary> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="another-header-second-tab" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="another-header-second-tab">Second Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> </details> ''', # noqa: E501 True ) def test_no_header(self): """Test when there is no header.""" md = R""" /// tab | A Tab content /// """ self.check_markdown( md, ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="a-tab">A Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_header_after(self): """Test when header comes after.""" md = R""" /// tab | A Tab content /// # Header """ self.check_markdown( md, ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="a-tab">A Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> <h1 id="header">Header</h1> ''', # noqa: E501 True ) class TestBlocksTab(util.MdCase): """Test Blocks tab cases.""" extension = ['pymdownx.blocks.tab', 'pymdownx.superfences', 'markdown.extensions.def_list', 'pymdownx.details'] extension_configs = { 'pymdownx.blocks.tab': {'alternate_style': True} } def test_tabbed_select(self): """Test selecting a tab.""" self.check_markdown( r''' /// tab | Tab 1 content /// /// tab | Tab 2 select: true content /// /// tab | Tab 3 content /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input checked="checked" id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab 1</label><label for="__tabbed_1_2">Tab 2</label><label for="__tabbed_1_3">Tab 3</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_select_multiple(self): """Test selecting multiple tabs.""" self.check_markdown( r''' /// tab | Tab 1 content /// /// tab | Tab 2 select: true content /// /// tab | Tab 3 select: true content /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input checked="checked" id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab 1</label><label for="__tabbed_1_2">Tab 2</label><label for="__tabbed_1_3">Tab 3</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_required_title(self): """Test that tab is not processed if title is omitted.""" self.check_markdown( R''' /// tab Some *content* /// ''', r''' <p>/// tab</p> <p>Some <em>content</em> ///</p> ''', True ) def test_tabbed(self): """Test tabbed.""" self.check_markdown( R''' /// tab | Tab Some *content* And more `content`. /// /// tab | Another Tab Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label><label for="__tabbed_1_2">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_markdown_title(self): """Test tabbed.""" self.check_markdown( R''' /// tab | **Tab** Some *content* And more `content`. /// /// tab | _Another Tab_ Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1"><strong>Tab</strong></label><label for="__tabbed_1_2"><em>Another Tab</em></label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_split(self): """Force a split of tab sets.""" self.check_markdown( R''' /// tab | Tab Some *content* And more `content`. /// /// tab | Another Tab new: true Some more content. ``` code ``` /// ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> </div> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) ��pymdown-extensions-10.9/tests/test_extensions/test_details.py���������������������������������������0000664�0000000�0000000�00000022133�14651242716�0025004�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Details.""" from .. import util class TestDetails(util.MdCase): """Test Details.""" extension = ['pymdownx.details', 'markdown.extensions.def_list'] extension_configs = { 'pymdownx.blocks': { 'blocks': ['pymdownx.blocks.details:Details'] } } def test_with_preceding_text(self): """Test content right before details.""" expected = r''' <p>foo <strong>foo</strong></p> <details class="note"> <summary>Details</summary> </details> ''' self.check_markdown( R''' foo **foo** ??? note "Details" ''', expected, True ) def test_nested(self): """Test nested.""" expected = r''' <details> <summary>details</summary> <p>content</p> <details open="open"> <summary>open nested details</summary> <p>content</p> <p>more content</p> </details> </details> ''' self.check_markdown( r''' ??? "details" content ???+ "open nested details" content more content ''', expected, True ) def test_class(self): """Test class.""" expected = r''' <details class="optional-class"> <summary>details with class</summary> <p>content</p> </details> ''' self.check_markdown( r''' ??? optional-class "details with class" content ''', expected, True ) def test_multiple_classes(self): """Test multiple classes.""" expected = r''' <details class="multiple optional-class"> <summary>details with multiple class</summary> <p>content</p> </details> ''' self.check_markdown( r''' ??? multiple optional-class "details with multiple class" content ''', expected, True ) def test_only_class(self): """Test only class.""" expected = r''' <details class="only-class"> <summary>Only-class</summary> <p>content</p> </details> ''' self.check_markdown( r''' ??? only-class content ''', expected, True ) def test_only_multiple_classes(self): """Test only multiple classes.""" expected = r''' <details class="multiple classes"> <summary>Multiple</summary> <p>content</p> </details> ''' self.check_markdown( r''' ??? multiple classes content ''', expected, True ) def test_content_after(self): """Test content after details.""" expected = r''' <details> <summary>details end test</summary> <p>content</p> </details> <p>other content</p> ''' self.check_markdown( r''' ??? "details end test" content other content ''', expected, True ) def test_relaxed_spacing(self): """Test relaxed spacing.""" expected = r''' <details class="relaxed spacing"> <summary>Title</summary> <p>content</p> </details> ''' self.check_markdown( r''' ???relaxed spacing "Title" content ''', expected, True ) def test_relaxed_spacing_no_title(self): """Test relaxed spacing and no title.""" expected = r''' <details class="relaxed spacing no title"> <summary>Relaxed</summary> <p>content</p> </details> ''' self.check_markdown( r''' ???relaxed spacing no title content ''', expected, True ) def test_with_lists(self): """Test with lists.""" self.check_markdown( ''' - List ??? note "Details" - Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <details class="note"> <summary>Details</summary> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ul> </details> </li> </ul> ''', True ) def test_with_big_lists(self): """Test details with a longer list.""" self.check_markdown( ''' - List ??? note "Details" - Paragraph Paragraph - Paragraph paragraph ''', ''' <ul> <li> <p>List</p> <details class="note"> <summary>Details</summary> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> <li> <p>Paragraph</p> <p>paragraph</p> </li> </ul> </details> </li> </ul> ''', True ) def test_with_complex_lists(self): """Test details in a complex list scenario.""" self.check_markdown( ''' - List ??? note "Details" - Paragraph ??? note "Details" 1. Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <details class="note"> <summary>Details</summary> <ul> <li> <p>Paragraph</p> <details class="note"> <summary>Details</summary> <ol> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ol> </details> </li> </ul> </details> </li> </ul> ''', True ) def test_definition_list(self): """Test with definition list.""" self.check_markdown( ''' - List ??? note "Details" Term : Definition More text : Another definition Even more text ''', ''' <ul> <li> <p>List</p> <details class="note"> <summary>Details</summary> <dl> <dt>Term</dt> <dd> <p>Definition</p> <p>More text</p> </dd> <dd> <p>Another definition</p> <p>Even more text</p> </dd> </dl> </details> </li> </ul> ''', True ) def test_details_complex_list(self): """Test details complex list scenario.""" self.check_markdown( ''' ???+ "With details block with loose lists" - Parent 1 - Child 1 - Child 2 ''', ''' <details open="open"> <summary>With details block with loose lists</summary> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </details> ''', True ) def test_details_complex_list_unindentd_content(self): """Test details complex list scenario with un-indented content.""" self.check_markdown( ''' ???+ "With details block with loose lists" - Parent 1 - Child 1 - Child 2 - Parent 2 ''', ''' <details open="open"> <summary>With details block with loose lists</summary> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </details> <ul> <li>Parent 2</li> </ul> ''', True ) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_emoji.py�����������������������������������������0000664�0000000�0000000�00000003620�14651242716�0024462�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Highlight.""" from .. import util import pytest import pymdownx.emoji as emoji import markdown def _old_style_index(): """Custom index with no arguments (old style).""" return emoji.twemoji({}, None) def _new_style_index(options, md): """Custom index with arguments (new style).""" index = emoji.twemoji({}, None) if 'append_alias' in options: for alias, original in options['append_alias']: index['aliases'][alias] = original return index class TestEmojiOldIndex(util.MdCase): """Test old style index.""" extension = [ 'pymdownx.emoji' ] extension_configs = { 'pymdownx.emoji': { 'emoji_index': _old_style_index } } @pytest.mark.filterwarnings("ignore") def test_old_index(self): """Test that index works.""" with pytest.warns(DeprecationWarning): self.assertEqual( markdown.Markdown( extensions=self.extension, extension_configs=self.extension_configs ).convert(':smile:'), '<p><img alt="\U0001f604" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f604.png" title=":smile:" /></p>' # noqa: E501 ) class TestEmojiNewIndex(util.MdCase): """Test new style index.""" extension = [ 'pymdownx.emoji' ] extension_configs = { 'pymdownx.emoji': { 'emoji_index': _new_style_index, 'options': {'append_alias': [(':grin:', ":smile:")]} } } def test_new_index(self): """Test that we can pass options using the new style.""" self.check_markdown( ':grin:', '<p><img alt="\U0001f604" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/72x72/1f604.png" title=":grin:" /></p>' # noqa: E501 ) ����������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_escapeall.py�������������������������������������0000664�0000000�0000000�00000001566�14651242716�0025317�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for BetterEm.""" from .. import util class TestEscapeAll(util.MdCase): """Test escaping cases.""" extension = [ 'pymdownx.escapeall' ] extension_configs = {} def test_html_special_char_lt(self): """Test `<`.""" self.check_markdown( r'\<pre>foo', '<p><pre>foo</p>' ) def test_html_special_char_gt(self): """Test `>`.""" self.check_markdown( r'<span\>foo', '<p><span>foo</p>' ) def test_html_special_char_amp(self): """Test `&`.""" self.check_markdown( r'This \& that', '<p>This & that</p>' ) def test_normal_escape(self): """Test normal escapes.""" self.check_markdown( r'This & \that', '<p>This & that</p>' ) ������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_highlight.py�������������������������������������0000664�0000000�0000000�00000052701�14651242716�0025332�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Highlight.""" from .. import util class TestHighlightGuess(util.MdCase): """Test that highlighting works with guessing.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'guess_lang': True } } def test_guess(self): """Test guessing.""" self.check_markdown( r''' ``` import test test.test() ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightGuessBlock(util.MdCase): """Test that highlighting works with guessing for block.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'guess_lang': "block" } } def test_guess_block(self): """Test guessing for block.""" self.check_markdown( r''' ``` import test test.test() ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', # noqa: E501 True ) def test_no_guess_inline(self): """Test inline code is not language guessed.""" self.check_markdown( r''' `int i = std::numeric_limits<int>::min();` ''', ''' <p><code>int i = std::numeric_limits<int>::min();</code></p> ''', True ) class TestHighlightAutoTitle(util.MdCase): """Test title cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'auto_title': True } } def test_auto_tile(self): """Test auto title.""" self.check_markdown( r''' ```pycon >>> import test ``` ''', r''' <div class="highlight"><span class="filename">Python Console Session</span><pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightAutoTitleMap(util.MdCase): """Test title cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'auto_title': True, "auto_title_map": { "Python Console Session": "Python" } } } def test_auto_tile_map(self): """Test auto title.""" self.check_markdown( r''' ```pycon >>> import test ``` ''', r''' <div class="highlight"><span class="filename">Python</span><pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightInline(util.MdCase): """Test highlight inline.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'linenums_style': 'pymdownx-inline' } } def test_pymdownx_inline(self): """Test new inline mode.""" self.check_markdown( r''' ```python linenums="1" import test test.test() ``` ''', r''' <div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="kn">import</span> <span class="nn">test</span> <span class="linenos" data-linenos="2 "></span><span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', # noqa: E501 True ) class TestNoClass(util.MdCase): """Test no class.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'markdown.extensions.attr_list'] extension_configs = { 'pymdownx.highlight': { 'css_class': '' } } def test_no_class(self): """Test with no class.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <div><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', True ) def test_no_class_and_user_class(self): """Test with no class and user class.""" self.check_markdown( r''' ```{.python .more} import test test.test() ``` ''', r''' <div class="more"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', True ) def test_no_class_and_user_class_linenums(self): """Test with no class and user class and table format.""" self.check_markdown( r''' ```{.python .more linenums="1"} import test test.test() ``` ''', r''' <div class="more"><table class="table"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestNoClassNoPygments(util.MdCase): """Test no class.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'css_class': '', 'use_pygments': False } } def test_no_class_no_pygments(self): """Test with no class and no Pygments.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <pre><code class="language-python">import test test.test()</code></pre> ''', True ) class TestCustomLangPrefixNoPygments(util.MdCase): """Test custom language prefix.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'pymdownx.inlinehilite'] extension_configs = { 'pymdownx.highlight': { 'language_prefix': 'lang-', 'use_pygments': False } } def test_custom_prefix_no_pygments(self): """Test with custom prefix and no Pygments.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <pre class="highlight"><code class="lang-python">import test test.test()</code></pre> ''', True ) def test_custom_prefix_no_pygments_inline(self): """Test with custom prefix and no Pygments with inline code.""" self.check_markdown( '`#!python import test`', '<p><code class="lang-python highlight">import test</code></p>' ) class TestNoPygments(util.MdCase): """Test no Pygments.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'use_pygments': False } } def test_no_pygments(self): """Test with no Pygments.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <pre class="highlight"><code class="language-python">import test test.test()</code></pre> ''', True ) def test_no_pygments_linenums(self): """Test with no Pygments and line numbers.""" self.check_markdown( r''' ```python linenums="1" import test test.test() ``` ''', r''' <p><code>python linenums="1" import test test.test()</code></p> ''', True ) def test_no_pygments_extraneous_new_lines(self): """Test that extraneous new lines are not included.""" self.check_markdown( r''' Test import test test.test() Test ''', r''' <p>Test</p> <pre class="highlight"><code>import test test.test()</code></pre> <p>Test</p> ''', True ) class TestNoPygmentsCustomLineClass(util.MdCase): """Test no Pygments with custom line number class.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'use_pygments': False, 'linenums_class': 'line-numbers', 'linenums': True } } def test_no_pygments_linenums_custom_class(self): """Test with no Pygments and line numbers.""" self.check_markdown( r''' Text import test test.test() Text ''', r''' <p>Text</p> <pre class="highlight"><code>import test test.test()</code></pre> <p>Text</p> ''', True ) def test_no_pygments_linenums_custom_class_fences(self): """Test with no Pygments and line numbers in fences.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <pre class="highlight"><code class="language-python">import test test.test()</code></pre> ''', True ) class TestHighlightSpecial(util.MdCase): """Test highlight global special.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'linenums_style': 'pymdownx-inline', 'linenums_special': 2 } } def test_special(self): """Test global special mode.""" self.check_markdown( r''' ```python linenums="1" import test test.test() ``` ''', r''' <div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="kn">import</span> <span class="nn">test</span> <span class="linenos special" data-linenos="2 "></span><span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', # noqa: E501 True ) def test_special_override(self): """Test global special mode override.""" self.check_markdown( r''' ```python linenums="1 1 1" import test test.test() ``` ''', r''' <div class="highlight"><pre><span></span><code><span class="linenos special" data-linenos="1 "></span><span class="kn">import</span> <span class="nn">test</span> <span class="linenos special" data-linenos="2 "></span><span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', # noqa: E501 True ) class TestDisabledLinenums(util.MdCase): """Test with line numbers globally disabled.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'linenums': False } } def test_global_disable(self): """Test with line numbers globally disabled.""" self.check_markdown( r''' ```python linenums="1" import test test.test() ``` ''', r''' <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', True ) class TestDisabledLinenumsNoPygments(util.MdCase): """Test with line numbers globally disabled with no Pygments.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'linenums': False, 'use_pygments': False } } def test_global_disable(self): """Test with line numbers globally disabled and no Pygments.""" self.check_markdown( r''' ```python linenums="1" import test test.test() ``` ''', r''' <p><code>python linenums="1" import test test.test()</code></p> ''', True ) class TestGlobalLinenums(util.MdCase): """Test global line number cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'linenums': True } } def test_global_line_numbers(self): """Test that global line numbers works.""" self.check_markdown( r''' ```python import test test.test() ``` ''', r''' <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> <span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) def test_global_disabling_of_line_numbers(self): """Test that global line numbers can be disabled.""" self.check_markdown( r''' ```{.python linenums="0"} import test test.test() ``` ''', r''' <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span> </code></pre></div> ''', True ) class TestPygmentsLangClass(util.MdCase): """Test no Pygments with custom line number class.""" extension = ['pymdownx.highlight', 'pymdownx.inlinehilite', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'pygments_lang_class': True } } def test_superfences(self): """Test language classes with SuperFences.""" self.check_markdown( r''' ```python import test ``` ''', r''' <div class="language-python highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_inlinehilite(self): """Test language classes with InlineHilite.""" self.check_markdown( ''' `#!python import test` ''', ''' <p><code class="language-python highlight"><span class="kn">import</span> <span class="nn">test</span></code></p> ''', # noqa: E501 True ) class TestExtendedLang(util.MdCase): """Test extended language cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'pymdownx.inlinehilite'] extension_configs = { 'pymdownx.highlight': { 'extend_pygments_lang': [ {'name': 'php-inline', 'lang': 'php', 'options': {'startinline': True}} ] } } def test_extended_lang_inlinehilite(self): """Test extended language in InlineHilite.""" self.check_markdown( ''' `#!php-inline $a = array("foo" => 0, "bar" => 1);` ''', ''' <p><code class="highlight"><span class="nv">$a</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"foo"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"bar"</span> <span class="o">=></span> <span class="mi">1</span><span class="p">);</span></code></p> ''', # noqa: E501 True ) def test_extended_lang_superfences(self): """Test extended language in SuperFences.""" self.check_markdown( ''' ```php-inline $a = array("foo" => 0, "bar" => 1); ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="nv">$a</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"foo"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"bar"</span> <span class="o">=></span> <span class="mi">1</span><span class="p">);</span> </code></pre></div> ''', # noqa: E501 True ) def test_extended_lang_case(self): """Test extended language in SuperFences.""" self.check_markdown( ''' ```PHP-Inline $a = array("foo" => 0, "bar" => 1); ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="nv">$a</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"foo"</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"bar"</span> <span class="o">=></span> <span class="mi">1</span><span class="p">);</span> </code></pre></div> ''', # noqa: E501 True ) class TestDefaultLang(util.MdCase): """Test default block language cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'pymdownx.inlinehilite'] extension_configs = { 'pymdownx.highlight': { 'default_lang': 'python' } } def test_default_block(self): """Test that default language affects block, but not inline code.""" self.check_markdown( ''' `import code` import code ``` import code ``` ''', ''' <p><code>import code</code></p> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">code</span> </code></pre></div> <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">code</span> </code></pre></div> ''', True ) class TestDefaultLangInline(util.MdCase): """Test default inline language cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'pymdownx.inlinehilite'] extension_configs = { 'pymdownx.inlinehilite': { 'style_plain_text': 'python' } } def test_default_inline(self): """Test that default language affects block, but not inline code.""" self.check_markdown( ''' `import code` import code ``` import code ``` ''', ''' <p><code class="highlight"><span class="kn">import</span> <span class="nn">code</span></code></p> <div class="highlight"><pre><span></span><code>import code </code></pre></div> <div class="highlight"><pre><span></span><code>import code </code></pre></div> ''', True ) ���������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_inlinehilite.py����������������������������������0000664�0000000�0000000�00000042476�14651242716�0026050�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Highlight.""" from .. import util import pymdownx.arithmatex as arithmatex from pymdownx.inlinehilite import InlineHiliteException import warnings def _format(src, language, class_name, md): """Inline math formatter.""" return '<span class="lang-{} {}">{}</span>'.format(language, class_name, src) def _default_format(src, language, class_name, md): """Inline math formatter.""" return '<custom class="lang-{} {}">{}</custom>'.format(language, class_name, src) def _format_exploder(src, language, class_name, md): """Inline math formatter.""" raise Exception('Boom!') def _format_exploder_fail(src, language, class_name, md): """Inline math formatter.""" raise InlineHiliteException('Boom!') class TestInlineHilite(util.MdCase): """Test general cases for inline highlight.""" extension = [ 'markdown.extensions.attr_list', 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'style_plain_text': True, 'css_class': 'inlinehilite' } } def test_language(self): """Test language handling.""" # Test #! original syntax self.check_markdown( r'`#!python import module`.', r'<p><code class="inlinehilite"><span class="kn">import</span> <span class="nn">module</span></code>.</p>' ) # Test ::: syntax self.check_markdown( r'`:::python import module`.', r'<p><code class="inlinehilite"><span class="kn">import</span> <span class="nn">module</span></code>.</p>' ) # Test escaping language with space self.check_markdown( r'` #!python import module`.', r'<p><code class="inlinehilite">#!python import module</code>.</p>' ) # Test bad language self.check_markdown( r'`#!bad import module`.', r'<p><code class="inlinehilite">import module</code>.</p>' ) def test_escape(self): """Test backtick escape logic.""" self.check_markdown( r'`Code`', r'<p><code class="inlinehilite">Code</code></p>' ) self.check_markdown( r'\`Not code`', r'<p>`Not code`</p>' ) self.check_markdown( r'\\`Code`', r'<p>\<code class="inlinehilite">Code</code></p>' ) self.check_markdown( r'\\\`Not code`', r'<p>\`Not code`</p>' ) self.check_markdown( r'\\\\`Code`', r'<p>\\<code class="inlinehilite">Code</code></p>' ) def test_attributes(self): """Test with attribute extension.""" self.check_markdown( r'`#!python import module`{: .test}', r'<p><code class="inlinehilite test">' r'<span class="kn">import</span> <span class="nn">module</span>' r'</code></p>' ) class TestInlineHilitePlainText(util.MdCase): """Test inline highlight when not styling plain text.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'style_plain_text': False } } def test_unstyled_plaintext(self): """Test unstyled plain text.""" self.check_markdown( r'Lets test inline highlight no guessing and no text styling `import module`.', r'<p>Lets test inline highlight no guessing and no text styling <code>import module</code>.</p>' ) class TestInlineHiliteNoClass(util.MdCase): """Test with no class.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.highlight': { 'css_class': '' } } def test_no_class(self): """Test with no class.""" self.check_markdown( r'Lets test inline highlight no guessing and no text styling `#!python import module`.', r'<p>Lets test inline highlight no guessing and no text styling <code><span class="kn">import</span> <span class="nn">module</span></code>.</p>' # noqa: E501 ) class TestInlineHiliteNoClassNoPygments(util.MdCase): """Test with no class and no Pygments.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.highlight': { 'css_class': '', 'use_pygments': False } } def test_no_class_no_pygments(self): """Test with no class and no Pygments.""" self.check_markdown( r'Lets test inline highlight no guessing and no text styling `#!python import module`.', r'<p>Lets test inline highlight no guessing and no text styling <code class="language-python">import module</code>.</p>' # noqa: E501 ) class TestInlineHiliteNoPygments(util.MdCase): """Test inline highlight without Pygments.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.highlight': { 'use_pygments': False }, 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite' } } def test_no_pygments(self): """Ensure proper behavior when disabling Pygments.""" self.check_markdown( r'`#!python import module`.', r'<p><code class="language-python inlinehilite">import module</code>.</p>' ) class TestInlineHiliteGuess(util.MdCase): """Test inline highlight with guessing.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.highlight': { 'guess_lang': True }, 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'style_plain_text': True } } def test_guessing(self): """Ensure guessing can be enabled.""" self.check_markdown( r'`import module`.', r'<p><code class="inlinehilite"><span class="kn">import</span><span class="w"> </span><span class="nn">module</span></code>.</p>' # noqa: E501 ) class TestInlineHiliteGuessInline(util.MdCase): """Test inline highlight with guessing set to be inline only.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', 'pymdownx.superfences' ] extension_configs = { 'pymdownx.highlight': { 'guess_lang': 'inline' }, 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'style_plain_text': True } } def test_guessing_inline(self): """Ensure guessing can be enabled for inline only.""" self.check_markdown( r'`import module`.', r'<p><code class="inlinehilite"><span class="kn">import</span><span class="w"> </span><span class="nn">module</span></code>.</p>' # noqa: E501 ) def test_no_guessing_block(self): """Ensure block is not guessed when set as inline only.""" self.check_markdown( r''' ``` <!DOCTYPE html> <html> <body> <h1>My great test</h1> <p>Thou shalt be re-educated through labour should this test ever fails.</p> </body> </html> ``` ''', r''' <div class="highlight"><pre><span></span><code><!DOCTYPE html> <html> <body> <h1>My great test</h1> <p>Thou shalt be re-educated through labour should this test ever fails.</p> </body> </html> </code></pre></div> ''', True ) class TestInlineHiliteCodeHilite(util.MdCase): """Test inline highlight with CodeHilite.""" extension = [ 'markdown.extensions.codehilite', 'pymdownx.inlinehilite', ] extension_configs = { 'markdown.extensions.codehilite': { 'guess_lang': False }, 'pymdownx.inlinehilite': { 'style_plain_text': True } } def test_codehilite(self): """Test CodeHilite.""" # Test #! original syntax self.check_markdown( r'`#!python import module`.', r'<p><code class="highlight"><span class="kn">import</span> <span class="nn">module</span></code>.</p>' ) # Test ::: syntax self.check_markdown( r'`:::python import module`.', r'<p><code class="highlight"><span class="kn">import</span> <span class="nn">module</span></code>.</p>' ) # Test escaping language with space self.check_markdown( r'` #!python import module`.', r'<p><code class="highlight">#!python import module</code>.</p>' ) # Test bad language self.check_markdown( r'`#!bad import module`.', r'<p><code class="highlight">import module</code>.</p>' ) class TestInlineHiliteCustom1(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_inline_format(mode='mathjax') } ] } } def test_arithmatex(self): """Test Arithmatex.""" self.check_markdown( r'`#!math 3 + 3`', r''' <p><span class="arithmatex"><script type="math/tex">3 + 3</script></span></p> ''', True ) class TestLegacyInlineHiliteCustom1(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.inline_mathjax_format } ] } } def test_legacy_arithmatex(self): """Test Arithmatex.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r'`#!math 3 + 3`', r''' <p><span class="arithmatex"><script type="math/tex">3 + 3</script></span></p> ''', True ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestInlineHiliteCustom2(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_inline_format(mode="mathjax", preview=True) } ] } } def test_preview_arithmatex(self): """Test preview Arithmatex.""" self.check_markdown( r'`#!math 3 + 3`', r'<p><span class="arithmatex"><span class="MathJax_Preview">3 + 3</span>' r'<script type="math/tex">3 + 3</script></span></p>' ) class TestLegacyInlineHiliteCustom2(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.inline_mathjax_preview_format } ] } } def test_legacy_preview_arithmatex(self): """Test preview Arithmatex.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r'`#!math 3 + 3`', r'<p><span class="arithmatex"><span class="MathJax_Preview">3 + 3</span>' r'<script type="math/tex">3 + 3</script></span></p>' ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestInlineHiliteCustom3(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_inline_format(mode="generic") } ] } } def test_arithmatex_generic(self): """Test generic Arithmatex.""" self.check_markdown( r'`#!math 3 + 3`', r'<p><span class="arithmatex">\(3 + 3\)</span></p>' ) class TestLegacyInlineHiliteCustom3(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.inline_generic_format } ] } } def test_legacy_arithmatex_generic(self): """Test generic Arithmatex.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r'`#!math 3 + 3`', r'<p><span class="arithmatex">\(3 + 3\)</span></p>' ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestInlineHiliteCustom4(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': 'test', 'class': 'class-test', 'format': _format } ] } } def test_custom(self): """Test custom formatter.""" self.check_markdown( r'`#!test src test`', r'<p><span class="lang-test class-test">src test</span></p>' ) class TestInlineHiliteCustom5(util.MdCase): """Test custom InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'css_class': 'inlinehilite', 'custom_inline': [ { 'name': '*', 'class': 'overwrite', 'format': _default_format }, { 'name': 'test', 'class': 'class-test', 'format': _format } ] } } def test_custom(self): """Test custom formatter.""" self.check_markdown( r'`#!test src test` `#!python src test`', r'<p><span class="lang-test class-test">src test</span> <custom class="lang-python overwrite">src test</custom></p>' # noqa: E501 ) class TestInlineHiliteCustomBrokenFormatter(util.MdCase): """Test custom broken InlineHilite cases.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'custom_inline': [ { 'name': 'test', 'class': 'test', 'format': _format_exploder } ] } } def test_broken(self): """Test custom broken formatter.""" self.check_markdown( r'`#!test boom`', r'<p>`#!test boom`</p>' ) class TestInlineHiliteCustomBrokenFormatterFail(util.MdCase): """Test custom broken InlineHilite cases fails.""" extension = [ 'pymdownx.highlight', 'pymdownx.inlinehilite', ] extension_configs = { 'pymdownx.inlinehilite': { 'custom_inline': [ { 'name': 'test', 'class': 'test', 'format': _format_exploder_fail } ] } } def test_broken(self): """Test custom broken formatter.""" with self.assertRaises(InlineHiliteException): self.check_markdown( r'`#!test boom`', r'' ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_keys.py������������������������������������������0000664�0000000�0000000�00000001255�14651242716�0024334�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Keys.""" from .. import util class TestKeys(util.MdCase): """Tests for Keys.""" extension = [ 'pymdownx.keys' ] def test_avoid_base64(self): """Test complex case where `**text*text***` may be detected on accident.""" self.check_markdown( "![](data:image/png;base64,aaaaa++a++aaaa) ++ctrl+a++ ++ctrl+'custom'++", '<p><img alt="" src="data:image/png;base64,aaaaa++a++aaaa" /> <span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd class="key-a">A</kbd></span> <span class="keys"><kbd class="key-control">Ctrl</kbd><span>+</span><kbd>custom</kbd></span></p>' # noqa: E501 ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_legacy_slugs.py����������������������������������0000664�0000000�0000000�00000007360�14651242716�0026045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test slugs.""" from .. import util import pytest from pymdownx import slugs class TestUslugify(util.MdCase): """Test Unicode slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.uslugify } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing unicode-slugs_headers ±♠Ωℑ', r'<h1 id="testing-unicode-slugs_headers-ωℑ">Testing unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestUslugifyEncoded(util.MdCase): """Test Unicode encoded slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.uslugify_encoded } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="testing-unicode-slugs_headers-%CF%89%E2%84%91-with-encoding">' 'Testing unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) class TestUslugifyCased(util.MdCase): """Test Unicode cased slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.uslugify_cased } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing cased unicode-slugs_headers ±♠Ωℑ', r'<h1 id="Testing-cased-unicode-slugs_headers-Ωℑ">Testing cased unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestUslugifyCasedEncoded(util.MdCase): """Test Unicode cased, encoded slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.uslugify_cased_encoded } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing cased unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="Testing-cased-unicode-slugs_headers-%CE%A9%E2%84%91-with-encoding">' 'Testing cased unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) class TestGFM(util.MdCase): """Test GitHub Flavored Markdown style slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.gfm } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing GFM unicode-slugs_headers ±♠Ωℑ', r'<h1 id="testing-gfm-unicode-slugs_headers-Ωℑ">Testing GFM unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestGFMEncoded(util.MdCase): """Test encoded GitHub Flavored Markdown style slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.gfm_encoded } } def test_slug(self): """Test the slug output.""" with pytest.warns(DeprecationWarning): self.check_markdown( r'# Testing GFM unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="testing-gfm-unicode-slugs_headers-%CE%A9%E2%84%91-with-encoding">' r'Testing GFM unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_magiclink.py�������������������������������������0000664�0000000�0000000�00000030772�14651242716�0025325�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for MagicLink.""" from .. import util import markdown class TestMagicLinkShortner(util.MdCase): """Test cases for repo link shortening.""" extension = [ 'pymdownx.magiclink', ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shortener': True } } def test_user(self): """Test user shortening.""" # Test #! original syntax self.check_markdown( r'https://github.com/facelessuser', r'<p><a class="magiclink magiclink-github magiclink-mention" href="https://github.com/facelessuser" title="GitHub User: facelessuser">@facelessuser</a></p>' # noqa: E501 ) def test_repo(self): """Test repository shortening.""" # Test #! original syntax self.check_markdown( r'https://github.com/facelessuser/pymdown-extensions', r'<p><a class="magiclink magiclink-github magiclink-repository" href="https://github.com/facelessuser/pymdown-extensions" title="GitHub Repository: facelessuser/pymdown-extensions">facelessuser/pymdown-extensions</a></p>' # noqa: E501 ) def test_no_social(self): """Test that social shortening does not happen.""" self.check_markdown( r'https://twitter.com/someuser', r'<p><a href="https://twitter.com/someuser">https://twitter.com/someuser</a></p>' ) def test_excluded_user(self): """Test excluded.""" self.check_markdown( r'https://github.com/support', r'<p><a href="https://github.com/support">https://github.com/support</a></p>' ) def test_excluded_user_repo(self): """Test excluded.""" self.check_markdown( r'https://github.com/support/repo', r'<p><a href="https://github.com/support/repo">https://github.com/support/repo</a></p>' ) def test_discuss(self): """Test discuss.""" self.check_markdown( r'https://github.com/facelessuser/pymdown-extensions/discussions/1173', r'<p><a class="magiclink magiclink-github magiclink-discussion" href="https://github.com/facelessuser/pymdown-extensions/discussions/1173" title="GitHub Discussion: facelessuser/pymdown-extensions #1173">facelessuser/pymdown-extensions?1173</a></p>' # noqa: E501 ) class TestMagicLinkShorthand(util.MdCase): """Test cases for repo link shortening.""" extension = [ 'pymdownx.magiclink', ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shorthand': True, 'user': 'facelessuser', 'repo': 'pymdown-extensions' } } def test_discuss(self): """Test discuss.""" self.check_markdown( r'?1173', r'<p><a class="magiclink magiclink-github magiclink-discussion" href="https://github.com/facelessuser/pymdown-extensions/discussions/1173" title="GitHub Discussion: facelessuser/pymdown-extensions #1173">?1173</a></p>' # noqa: E501 ) def test_bad_discss(self): """Test repo that doesn't support discussions.""" self.check_markdown( r'gitlab:user/repo?1173', r'<p>gitlab:user/repo?1173</p>' ) class TestMagicLinkExternalShorthand(util.MdCase): """Test cases for repo link shortening.""" extension = [ 'pymdownx.magiclink', ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shorthand': True, 'user': 'facelessuser', 'repo': 'pymdown-extensions', 'provider': 'gitlab' } } def test_bad_discss(self): """Test repo that doesn't support discussions.""" self.check_markdown( r'?1173', r'<p>?1173</p>' ) class TestMagicLinkShortnerSocial(util.MdCase): """Test cases for social link shortener.""" extension = [ 'pymdownx.magiclink' ] extension_configs = { 'pymdownx.magiclink': { 'social_url_shortener': True } } def test_user(self): """Test user shortening.""" # Test #! original syntax self.check_markdown( r'https://twitter.com/someuser', r'<p><a class="magiclink magiclink-twitter magiclink-mention" href="https://twitter.com/someuser" title="Twitter User: someuser">@someuser</a></p>' # noqa: E501 ) def test_no_repo(self): """Test that repository shortening does not happen.""" self.check_markdown( r'https://github.com/facelessuser', r'<p><a href="https://github.com/facelessuser">https://github.com/facelessuser</a></p>' ) def test_excluded(self): """Test excluded user.""" self.check_markdown( r'https://twitter.com/home', r'<p><a href="https://twitter.com/home">https://twitter.com/home</a></p>' ) class TestMagicLinkCustom(util.MdCase): """Test cases for custom provider.""" extension = [ 'pymdownx.magiclink', 'pymdownx.saneheaders' ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shorthand': True, 'repo_url_shortener': True, 'user': 'facelessuser', 'repo': 'pymdown-extensions', 'provider': 'test', 'custom': { 'test': { 'host': 'http://test.com', 'label': 'Test', 'type': 'github' } } } } def test_user(self): """Test user in custom repo.""" self.check_markdown( '@facelessuser', '<p><a class="magiclink magiclink-test magiclink-mention" href="http://test.com/facelessuser" title="Test User: facelessuser">@facelessuser</a></p>' # noqa: E501 ) def test_repo(self): """Test repo in custom repo.""" self.check_markdown( '@facelessuser/pymdown-extensions', '<p><a class="magiclink magiclink-test magiclink-repository" href="http://test.com/facelessuser/pymdown-extensions" title="Test Repository: facelessuser/pymdown-extensions">facelessuser/pymdown-extensions</a></p>' # noqa: E501 ) def test_default_issue(self): """Test default issue case.""" self.check_markdown( '#2', '<p><a class="magiclink magiclink-test magiclink-issue" href="http://test.com/facelessuser/pymdown-extensions/issues/2" title="Test Issue: facelessuser/pymdown-extensions #2">#2</a></p>' # noqa: E501 ) def test_default_pull(self): """Test default pull case.""" self.check_markdown( '!2', '<p><a class="magiclink magiclink-test magiclink-pull" href="http://test.com/facelessuser/pymdown-extensions/pull/2" title="Test Pull Request: facelessuser/pymdown-extensions #2">!2</a></p>' # noqa: E501 ) def test_default_discussion(self): """Test default discussion case.""" self.check_markdown( '?2', '<p><a class="magiclink magiclink-test magiclink-discussion" href="http://test.com/facelessuser/pymdown-extensions/discussions/2" title="Test Discussion: facelessuser/pymdown-extensions #2">?2</a></p>' # noqa: E501 ) def test_default_commit(self): """Test default commit case.""" self.check_markdown( '3f6b07a8eeaa9d606115758d90f55fec565d4e2a', '<p><a class="magiclink magiclink-test magiclink-commit" href="http://test.com/facelessuser/pymdown-extensions/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="Test Commit: facelessuser/pymdown-extensions@3f6b07a">3f6b07a</a></p>' # noqa: E501 ) def test_default_compare(self): """Test default compare case.""" self.check_markdown( 'e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac', '<p><a class="magiclink magiclink-test magiclink-compare" href="http://test.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="Test Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p>' # noqa: E501 ) def test_user_link(self): """Test user link.""" self.check_markdown( 'http://test.com/facelessuser', '<p><a class="magiclink magiclink-test magiclink-mention" href="http://test.com/facelessuser" title="Test User: facelessuser">@facelessuser</a></p>' # noqa: E501 ) def test_repo_link(self): """Test repository link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions', '<p><a class="magiclink magiclink-test magiclink-repository" href="http://test.com/facelessuser/pymdown-extensions" title="Test Repository: facelessuser/pymdown-extensions">facelessuser/pymdown-extensions</a></p>' # noqa: E501 ) def test_issue_link(self): """Test issue link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions/issues/2', '<p><a class="magiclink magiclink-test magiclink-issue" href="http://test.com/facelessuser/pymdown-extensions/issues/2" title="Test Issue: facelessuser/pymdown-extensions #2">#2</a></p>' # noqa: E501 ) def test_pull_link(self): """Test issue link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions/pull/2', '<p><a class="magiclink magiclink-test magiclink-pull" href="http://test.com/facelessuser/pymdown-extensions/pull/2" title="Test Pull Request: facelessuser/pymdown-extensions #2">!2</a></p>' # noqa: E501 ) def test_discussion_link(self): """Test discussion link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions/discussions/2', '<p><a class="magiclink magiclink-test magiclink-discussion" href="http://test.com/facelessuser/pymdown-extensions/discussions/2" title="Test Discussion: facelessuser/pymdown-extensions #2">?2</a></p>' # noqa: E501 ) def test_commit_link(self): """Test commit link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a', '<p><a class="magiclink magiclink-test magiclink-commit" href="http://test.com/facelessuser/pymdown-extensions/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="Test Commit: facelessuser/pymdown-extensions@3f6b07a">3f6b07a</a></p>' # noqa: E501 ) def test_compare_link(self): """Test compare link.""" self.check_markdown( 'http://test.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac', '<p><a class="magiclink magiclink-test magiclink-compare" href="http://test.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="Test Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p>' # noqa: E501 ) def test_external_user(self): """Test external user in custom repo.""" self.check_markdown( '@github:facelessuser', '<p><a class="magiclink magiclink-github magiclink-mention" href="https://github.com/facelessuser" title="GitHub User: facelessuser">@facelessuser</a></p>' # noqa: E501 ) self.check_markdown( '@test:facelessuser', '<p><a class="magiclink magiclink-test magiclink-mention" href="http://test.com/facelessuser" title="Test User: facelessuser">@facelessuser</a></p>' # noqa: E501 ) def test_bad_name(self): """Test bad name.""" extension = [ 'pymdownx.magiclink', 'pymdownx.saneheaders' ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shorthand': True, 'repo_url_shortener': True, 'user': 'facelessuser', 'repo': 'pymdown-extensions', 'provider': 'bad-name', 'custom': { 'bad-name': { 'host': 'http://bad.com', 'label': 'Bad', 'type': 'github' } } } } with self.assertRaises(ValueError): markdown.markdown('', extensions=extension, extension_configs=extension_configs) ������pymdown-extensions-10.9/tests/test_extensions/test_pathconverter.py���������������������������������0000664�0000000�0000000�00000026151�14651242716�0026247�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for PathConverter.""" from .. import util import os CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) PARENT_DIR = os.path.dirname(CURRENT_DIR) class TestRelative(util.MdCase): """Test relative paths.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": CURRENT_DIR, "relative_path": PARENT_DIR } } def test_in_script(self): """Test that we do not parse image in script.""" self.check_markdown( r''' <script> var str = '<img alt="picture" src="../test_extensions/_assets/bg.png" />' </script> ''', r''' <script> var str = '<img alt="picture" src="../test_extensions/_assets/bg.png" />' </script> ''', True ) def test_comment(self): """Test comment.""" self.check_markdown( r'<!-- ![picture](../test_extensions/_assets/bg.png) -->', r'<!-- ![picture](../test_extensions/_assets/bg.png) -->' ) def test_relative_path(self): """Test relative path.""" self.check_markdown( r'![picture](../test_extensions/_assets/bg.png)', r'<p><img alt="picture" src="test_extensions/_assets/bg.png" /></p>' ) def test_file_win_file_path_root(self): """Test windows file:// path with root slash.""" self.check_markdown( r'[file link windows abs](file:///c:/path/file.html)', r'<p><a href="file:///c:/path/file.html">file link windows abs</a></p>' ) def test_win_file_path(self): """Test windows file:// path.""" self.check_markdown( r'[file link windows abs2](file://c:/path/file.html)', r'<p><a href="file://c:/path/file.html">file link windows abs2</a></p>' ) def test_file_root(self): """Test Linux/Unix style root file:// path.""" self.check_markdown( r'[file link abs](file:///path/file.html)', r'<p><a href="file:///path/file.html">file link abs</a></p>' ) def test_root(self): """Test /root path.""" self.check_markdown( r'[absolute](/absolute)', r'<p><a href="/absolute">absolute</a></p>' ) def test_url(self): """Test normal URL.""" self.check_markdown( r'[link](http://www.google.com)', r'<p><a href="http://www.google.com">link</a></p>' ) def test_fragment(self): """Test HTML fragment.""" self.check_markdown( r'[fragment](#fragment)', r'<p><a href="#fragment">fragment</a></p>' ) def test_windows(self): """Test Windows file path.""" self.check_markdown( r'[windows path abs](c:/path/file.html)', r'<p><a href="c:/path/file.html">windows path abs</a></p>' ) def test_network_path(self): """Test network path.""" self.check_markdown( r'[windows network path](//network/path/file.html)', r'<p><a href="//network/path/file.html">windows network path</a></p>' ) def test_strange_url(self): """Test strange URL.""" self.check_markdown( r'[strange link](strange://odd/link/file.html)', r'<p><a href="strange://odd/link/file.html">strange link</a></p>' ) def test_strange_url2(self): """Test additional strange URL.""" self.check_markdown( r'[strange link 2](strange://www.odd.com/link/file.html)', r'<p><a href="strange://www.odd.com/link/file.html">strange link 2</a></p>' ) def test_mail(self): """Test mail link.""" self.check_markdown( r'<mail@mail.com>', r'<p><a href="mailto:mail@mail' r'.com">mail@mail.com</a></p>' ) class TestAbsolute(util.MdCase): """Test absolute paths.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": "/Some/fake/path", "absolute": True } } def test_in_script(self): """Test that we do not parse image in script.""" self.check_markdown( r''' <script> var str = '<img alt="picture" src="../test_extensions/_assets/bg.png" />' </script> ''', r''' <script> var str = '<img alt="picture" src="../test_extensions/_assets/bg.png" />' </script> ''', True ) def test_comment(self): """Test comment.""" self.check_markdown( r'<!-- ![picture](../test_extensions/_assets/bg.png) -->', r'<!-- ![picture](../test_extensions/_assets/bg.png) -->' ) def test_relative_path(self): """Test relative path.""" self.check_markdown( r'![picture](./test_extensions/_assets/bg.png)', r'<p><img alt="picture" src="/Some/fake/path/test_extensions/_assets/bg.png" /></p>' ) def test_file_win_file_path_root(self): """Test windows file:// path with root slash.""" self.check_markdown( r'[file link windows abs](file:///c:/path/file.html)', r'<p><a href="file:///c:/path/file.html">file link windows abs</a></p>' ) def test_win_file_path(self): """Test windows file:// path.""" self.check_markdown( r'[file link windows abs2](file://c:/path/file.html)', r'<p><a href="file://c:/path/file.html">file link windows abs2</a></p>' ) def test_file_root(self): """Test Linux/Unix style root file:// path.""" self.check_markdown( r'[file link abs](file:///path/file.html)', r'<p><a href="file:///path/file.html">file link abs</a></p>' ) def test_root(self): """Test /root path.""" self.check_markdown( r'[absolute](/absolute)', r'<p><a href="/absolute">absolute</a></p>' ) def test_url(self): """Test normal URL.""" self.check_markdown( r'[link](http://www.google.com)', r'<p><a href="http://www.google.com">link</a></p>' ) def test_fragment(self): """Test HTML fragment.""" self.check_markdown( r'[fragment](#fragment)', r'<p><a href="#fragment">fragment</a></p>' ) def test_windows(self): """Test Windows file path.""" self.check_markdown( r'[windows path abs](c:/path/file.html)', r'<p><a href="c:/path/file.html">windows path abs</a></p>' ) def test_network_path(self): """Test network path.""" self.check_markdown( r'[windows network path](//network/path/file.html)', r'<p><a href="//network/path/file.html">windows network path</a></p>' ) def test_strange_url(self): """Test strange URL.""" self.check_markdown( r'[strange link](strange://odd/link/file.html)', r'<p><a href="strange://odd/link/file.html">strange link</a></p>' ) def test_strange_url2(self): """Test additional strange URL.""" self.check_markdown( r'[strange link 2](strange://www.odd.com/link/file.html)', r'<p><a href="strange://www.odd.com/link/file.html">strange link 2</a></p>' ) def test_mail(self): """Test mail link.""" self.check_markdown( r'<mail@mail.com>', r'<p><a href="mailto:mail@mail' r'.com">mail@mail.com</a></p>' ) class TestAbsoluteFileScheme(TestAbsolute): """Test absolute paths with file:// scheme.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": "/Some/fake/path", "absolute": True, "file_scheme": True, } } def test_relative_path(self): """Test relative path.""" self.check_markdown( r'![picture](./test_extensions/_assets/bg.png)', r'<p><img alt="picture" src="file:///Some/fake/path/test_extensions/_assets/bg.png" /></p>' ) class TestWindowsAbs(util.MdCase): """Test windows specific cases for absolute.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": "C:/Some/fake/path", "absolute": True } } def test_windows_root_conversion(self): """Test Windows c:/ Conversion.""" if util.is_win(): self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="/C:/Some/fake/path/extensions/_assets/bg.png" /></p>' ) else: self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="/C%3A/Some/fake/path/extensions/_assets/bg.png" /></p>' ) class TestWindowsAbsFileScheme(util.MdCase): """Test windows specific cases for absolute with file:// scheme.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": "C:/Some/fake/path", "absolute": True, "file_scheme": True, } } def test_windows_root_conversion(self): """Test Windows c:/ Conversion.""" if util.is_win(): self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="file:///C:/Some/fake/path/extensions/_assets/bg.png" /></p>' ) else: self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="file:///C%3A/Some/fake/path/extensions/_assets/bg.png" /></p>' ) class TestWindowsRel(util.MdCase): """Test windows specific cases for relative.""" extension = ["pymdownx.pathconverter"] extension_configs = { "pymdownx.pathconverter": { "base_path": "C:/Some/fake/path", "relative_path": "C:/Some/other/path" } } def test_windows_root_conversion(self): """Test Windows c:/ Conversion.""" if util.is_win(): self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="../../fake/path/extensions/_assets/bg.png" /></p>' ) else: self.check_markdown( r'![picture](./extensions/_assets/bg.png)', r'<p><img alt="picture" src="../../fake/path/extensions/_assets/bg.png" /></p>' ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_saneheaders.py�����������������������������������0000664�0000000�0000000�00000004457�14651242716�0025652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for SaneHeaders.""" from .. import util class TestSaneHeadersWithMagicLink(util.MdCase): """Test cases for SaneHeaders and MagicLink (the motivation behind creating SaneHeaders).""" extension = [ 'pymdownx.saneheaders', 'pymdownx.magiclink', ] extension_configs = { 'pymdownx.magiclink': { 'repo_url_shorthand': True, 'user': 'facelessuser', 'repo': 'pymdown-extensions' } } def test_header1(self): """Test header level 1.""" self.check_markdown( r'# Header', r'<h1>Header</h1>' ) def test_header2(self): """Test header level 2.""" self.check_markdown( r'## Header', r'<h2>Header</h2>' ) def test_header3(self): """Test header level 3.""" self.check_markdown( r'### Header', r'<h3>Header</h3>' ) def test_header4(self): """Test header level 4.""" self.check_markdown( r'#### Header', r'<h4>Header</h4>' ) def test_header5(self): """Test header level 5.""" self.check_markdown( r'##### Header', r'<h5>Header</h5>' ) def test_header6(self): """Test header level 6.""" self.check_markdown( r'###### Header', r'<h6>Header</h6>' ) def test_header_trailing(self): """Test header trailing hashes.""" self.check_markdown( r'## Header ##', r'<h2>Header</h2>' ) def test_too_many_hashes(self): """Test header with too many hashes.""" self.check_markdown( r'####### Header', r'<p>####### Header</p>' ) def test_no_header(self): """Test no header match.""" self.check_markdown( r'##Header', r'<p>##Header</p>' ) def test_header_with_magiclink(self): """Test no header match.""" self.check_markdown( r'#3', r'<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/3" title="GitHub Issue: facelessuser/pymdown-extensions #3">#3</a></p>' # noqa: E501 ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_slugs.py�����������������������������������������0000664�0000000�0000000�00000010424�14651242716�0024514�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test slugs.""" from .. import util from pymdownx import slugs class TestUslugify(util.MdCase): """Test Unicode slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(case="lower") } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing unicode-slugs_headers ±♠Ωℑ', r'<h1 id="testing-unicode-slugs_headers-ωℑ">Testing unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestUslugifyEncoded(util.MdCase): """Test Unicode encoded slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(case="lower", percent_encode=True) } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="testing-unicode-slugs_headers-%CF%89%E2%84%91-with-encoding">' 'Testing unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) class TestUslugifyCased(util.MdCase): """Test Unicode cased slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify() } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing cased unicode-slugs_headers ±♠Ωℑ', r'<h1 id="Testing-cased-unicode-slugs_headers-Ωℑ">Testing cased unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestUslugifyCasedEncoded(util.MdCase): """Test Unicode cased, encoded slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(percent_encode=True) } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing cased unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="Testing-cased-unicode-slugs_headers-%CE%A9%E2%84%91-with-encoding">' 'Testing cased unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) class TestGFM(util.MdCase): """Test GitHub Flavored Markdown style slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(case="lower-ascii") } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing GFM unicode-slugs_headers ±♠Ωℑ', r'<h1 id="testing-gfm-unicode-slugs_headers-Ωℑ">Testing GFM unicode-slugs_headers ±♠Ωℑ</h1>' ) class TestGFMEncoded(util.MdCase): """Test encoded GitHub Flavored Markdown style slugs.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(case="lower-ascii", percent_encode=True) } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Testing GFM unicode-slugs_headers ±♠Ωℑ with encoding', r'<h1 id="testing-gfm-unicode-slugs_headers-%CE%A9%E2%84%91-with-encoding">' r'Testing GFM unicode-slugs_headers ±♠Ωℑ with encoding</h1>' ) class TestNormalize(util.MdCase): """Test different normalization methods.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(normalize='NFD') } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# Théâtre', r'<h1 id="Theatre">Théâtre</h1>' ) class TestFold(util.MdCase): """Test different normalization methods.""" extension = ['markdown.extensions.toc'] extension_configs = { 'markdown.extensions.toc': { "slugify": slugs.slugify(case='fold') } } def test_slug(self): """Test the slug output.""" self.check_markdown( r'# ß', r'<h1 id="ss">ß</h1>' ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_smartsymbols.py����������������������������������0000664�0000000�0000000�00000010016�14651242716�0026113�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for SmartSymbols.""" from .. import util import markdown from pymdownx.__meta__ import parse_version PYMD_3_6 = parse_version(markdown.__version__) >= (3, 6, 0) class TestSmartSymbols(util.MdCase): """Test smart symbols works in various scenarios.""" extension = [ 'toc', 'smarty', 'pymdownx.smartsymbols' ] extension_configs = {} def test_copyright(self): """Test copyright.""" self.check_markdown( 'Copyright (c)', '<p>Copyright ©</p>' ) def test_trademark(self): """Test trademark.""" self.check_markdown( 'Trademark(tm)', '<p>Trademark™</p>' ) def test_registered(self): """Test registered.""" self.check_markdown( 'Registered(r)', '<p>Registered®</p>' ) def test_plus_minus(self): """Test plus/minus.""" self.check_markdown( '230 +/- 10% V', '<p>230 ± 10% V</p>' ) def test_neq(self): """Test not equal.""" self.check_markdown( 'A =/= B', '<p>A ≠ B</p>' ) def test_right(self): """Test right arrow.""" self.check_markdown( 'right arrow -->', '<p>right arrow →</p>' ) def test_left(self): """Test left arrow.""" self.check_markdown( 'left arrow <--', '<p>left arrow ←</p>' ) def test_double_arrow(self): """Test double arrow.""" self.check_markdown( 'double arrow <-->', '<p>double arrow ↔</p>' ) def test_ordinals(self): """Test ordinals.""" self.check_markdown( """ Good: 1st 2nd 3rd 11th 12th 13th 15th 32nd 103rd Bad: 1th 2th 3th 2rd 1nd 22th 33th 41nd 53nd """, """ <p>Good: 1<sup>st</sup> 2<sup>nd</sup> 3<sup>rd</sup> 11<sup>th</sup> 12<sup>th</sup> 13<sup>th</sup> 15<sup>th</sup> 32<sup>nd</sup> 103<sup>rd</sup></p> <p>Bad: 1th 2th 3th 2rd 1nd 22th 33th 41nd 53nd</p> """, # noqa: E501 True ) def test_fractions(self): """Test fractions.""" self.check_markdown( """ Fraction 1/2 Fraction 1/4 Fraction 3/4 Fraction 1/3 Fraction 2/3 Fraction 1/5 Fraction 2/5 Fraction 3/5 Fraction 4/5 Fraction 1/6 Fraction 5/6 Fraction 1/8 Fraction 3/8 Fraction 5/8 Fraction 7/8 """, """ <p>Fraction ½ Fraction ¼ Fraction ¾ Fraction ⅓ Fraction ⅔ Fraction ⅕ Fraction ⅖ Fraction ⅗ Fraction ⅘ Fraction ⅙ Fraction ⅚ Fraction ⅛ Fraction ⅜ Fraction ⅝ Fraction ⅞</p> """, True ) def test_toc_tokens(self): """Ensure smart symbols end up correctly in table of content tokens.""" md = markdown.Markdown(extensions=['toc', 'pymdownx.smartsymbols']) md.convert('# *Foo* =/= `bar`') self.assertEqual( md.toc_tokens, [ { 'children': [], 'data-toc-label': '', 'html': '<em>Foo</em> ≠ <code>bar</code>', 'id': 'foo-bar', 'level': 1, 'name': 'Foo ≠ bar' } ] if PYMD_3_6 else [ { 'level': 1, 'id': 'foo-bar', 'name': 'Foo ≠ bar', 'children': [] } ] ) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_snippets.py��������������������������������������0000664�0000000�0000000�00000066267�14651242716�0025244�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Snippets.""" from .. import util import os from pymdownx.snippets import SnippetMissingError from unittest.mock import patch, MagicMock BASE = os.path.abspath(os.path.dirname(__file__)) class TestSnippetDedent(util.MdCase): """Test snippet cases.""" extension = [ 'pymdownx.snippets', 'pymdownx.superfences' ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'dedent_subsections': True } } def test_dedent_section(self): """Test dedenting sections.""" self.check_markdown( R''' ```text ---8<--- "indented.txt:py-section" ``` ''', R''' <div class="highlight"><pre><span></span><code>def some_method(self, param): """Docstring.""" return param </code></pre></div> ''', True ) def test_dedent_lines(self): """Test dedenting lines.""" self.check_markdown( R''' ```text ---8<--- "indented.txt:5:8" ``` ''', R''' <div class="highlight"><pre><span></span><code>def some_method(self, param): """Docstring.""" return param </code></pre></div> ''', True ) def test_dedent_indented(self): """Test dedenting sections that has indented insertion.""" self.check_markdown( R''' Paragraph ---8<--- "indented.txt:py-section" ''', R''' <p>Paragraph</p> <pre><code>def some_method(self, param): """Docstring.""" return param </code></pre> ''', True ) class TestSnippets(util.MdCase): """Test snippet cases.""" extension = [ 'pymdownx.snippets', 'pymdownx.superfences' ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')] } } def test_inline(self): """Test inline.""" self.check_markdown( R''' ---8<--- "loop.txt" ---8<--- "a.txt" ---8<--- "b.txt" ;---8<--- "b.txt" - Testing indentation ---8<--- "b.txt" ''', R''' <p>Snippet Snippet ---8<--- "b.txt"</p> <ul> <li> <p>Testing indentation</p> <p>Snippet</p> </li> </ul> ''', True ) def test_block(self): """Test block.""" self.check_markdown( R''' ---8<--- loop_block.txt c.txt d.txt ---8<--- ;---8<--- d.txt ;---8<--- - Testing indentation ---8<--- d.txt ; d.txt # Nested inline won't work --8<-- "a.txt" --8<-- "; b.txt" ---8<--- # Un-nested Inline --8<-- "a.txt" --8<-- "; b.txt" ''', R''' <p>Snippet</p> <p>Snippet</p> <p>---8<--- d.txt ---8<---</p> <ul> <li> <p>Testing indentation</p> <p>Snippet</p> <h1>Un-nested Inline</h1> <p>Snippet</p> </li> </ul> ''', True ) def test_mixed(self): """Test mixed.""" self.check_markdown( R''' ---8<--- "a.txt" ---8<--- loop_block.txt c.txt d.txt ---8<--- ''', R''' <p>Snippet</p> <p>Snippet</p> <p>Snippet</p> ''', True ) def test_start_line_inline(self): """Test starting line with inline syntax.""" self.check_markdown( R''' ---8<--- "lines.txt:4" ''', ''' <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> <p>This is the end of the file. There is no more.</p> ''', True ) def test_start_1_1(self): """Test beginning of file, single line range.""" self.check_markdown( R''' ---8<--- "lines.txt:1:1" ''', ''' <p>This is a multi-line</p> ''', True ) def test_start_1_2(self): """Test beginning of file span of multiple lines.""" self.check_markdown( R''' ---8<--- "lines.txt:1:2" ''', ''' <p>This is a multi-line snippet.</p> ''', True ) def test_end_line_inline(self): """Test ending line with inline syntax.""" self.check_markdown( R''' ---8<--- "lines.txt::6" ''', ''' <p>This is a multi-line snippet.</p> <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> ''', True ) def test_start_end_line_inline(self): """Test starting and ending line with inline syntax.""" self.check_markdown( R''' ---8<--- "lines.txt:4:6" ''', ''' <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> ''', True ) def test_start_line_block(self): """Test starting line with block syntax.""" self.check_markdown( R''' --8<-- lines.txt:4 --8<-- ''', ''' <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> <p>This is the end of the file. There is no more.</p> ''', True ) def test_end_line_block(self): """Test ending line with block syntax.""" self.check_markdown( R''' --8<-- lines.txt::6 --8<-- ''', ''' <p>This is a multi-line snippet.</p> <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> ''', True ) def test_start_end_line_block(self): """Test starting and ending line with block syntax.""" self.check_markdown( R''' --8<-- lines.txt:4:6 --8<-- ''', ''' <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> ''', True ) def test_section_inline(self): """Test section partial in inline snippet.""" self.check_markdown( R''' ``` --8<-- "section.txt:css-section" ``` ''', ''' <div class="highlight"><pre><span></span><code>div { color: red; } </code></pre></div> ''', True ) def test_section_inline_min(self): """Test section partial in inline snippet using minimum tokens.""" self.check_markdown( R''' ``` -8<- "section.txt:css-section" ``` ''', ''' <div class="highlight"><pre><span></span><code>div { color: red; } </code></pre></div> ''', True ) def test_section_inline_ignore_other_section(self): """Test nested sections.""" self.check_markdown( R''' ``` -8<- "section_nested.txt:css-section" ``` ''', ''' <div class="highlight"><pre><span></span><code>div { color: red; background-color: white; padding: 16px } </code></pre></div> ''', True ) def test_section_inline_escaped_other_section(self): """Test nested escaped sections.""" self.check_markdown( R''' ``` -8<- "section_nested.txt:css-section3" ``` ''', ''' <div class="highlight"><pre><span></span><code>div { color: red; /* --8<-- [start: css-section4] */ background-color: white; padding: 16px /* --8<-- [end: css-section4] */ } </code></pre></div> ''', True ) def test_section_ignore_double_start_section(self): """Test nested sections.""" self.check_markdown( R''' ``` -8<- "section_nested.txt:css-section5" ``` ''', ''' <div class="highlight"><pre><span></span><code>div { color: red; background-color: white; padding: 16px } </code></pre></div> ''', True ) def test_section_block(self): """Test section partial in block snippet.""" self.check_markdown( R''' --8<-- section.txt:html-section --8<-- ''', ''' <div><p>content</p></div> ''', True ) def test_section_block_min(self): """Test section partial in block snippet using minimum tokens.""" self.check_markdown( R''' -8<- section.txt:html-section -8<- ''', ''' <div><p>content</p></div> ''', True ) def test_section_end_first(self): """Test section when the end is specified first.""" self.check_markdown( R''' --8<-- section.txt:css-section2 --8<-- ''', ''' ''', True ) def test_section_no_end(self): """Test section when the end is not specified.""" self.check_markdown( R''' --8<-- section.txt:html-section2 --8<-- ''', ''' <div><p>content</p></div> ''', True ) class _PathLikeExampleObject: def __fspath__(self): return os.path.join(BASE, '_snippets') class TestSnippetsPathLike(util.MdCase): """Test snippet cases with path-like objects.""" extension = [ 'pymdownx.snippets' ] extension_configs = { 'pymdownx.snippets': { 'base_path': _PathLikeExampleObject() } } def test_inline(self): """Test inline.""" self.check_markdown( R''' ---8<--- "a.txt" ''', R''' <p>Snippet</p> ''', True ) class TestSnippetsFile(util.MdCase): """Test snippet file case.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': os.path.join(BASE, '_snippets', 'b.txt') } } def test_user(self): """Test file.""" self.check_markdown( R''' --8<-- "b.txt" ''', ''' <p>Snippet</p> ''', True ) class TestSnippetsNested(util.MdCase): """Test nested restriction.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': os.path.join(BASE, '_snippets', 'nested'), 'check_paths': True } } def test_restricted(self): """Test file restriction.""" with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- "../b.txt" ''', ''' <p>Snippet</p> ''', True ) class TestSnippetsMultiNested(util.MdCase): """Test multi-nested restriction.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': os.path.join(BASE), 'check_paths': True } } def test_restricted_multi_nested(self): """Test file restriction.""" self.check_markdown( R''' --8<-- "_snippets/b.txt" ''', ''' <p>Snippet</p> ''', True ) class TestSnippetsNestedUnrestricted(util.MdCase): """Test nested no bounds.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': os.path.join(BASE, '_snippets', 'nested'), 'restrict_base_path': False } } def test_restricted(self): """Test file restriction.""" self.check_markdown( R''' --8<-- "../b.txt" ''', ''' <p>Snippet</p> ''', True ) class TestSnippetsAutoAppend(util.MdCase): """Test snippet file case.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'auto_append': ['b.txt'] } } def test_auto_append(self): """Test auto append.""" self.check_markdown( R''' Test ''', ''' <p>Test</p> <p>Snippet</p> ''', True ) class TestSnippetsMissing(util.MdCase): """Test snippet file case.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'check_paths': True } } def test_good(self): """Test found file.""" self.check_markdown( ''' --8<--- "d.txt" ''', ''' <p>Snippet</p> ''', True ) def test_top_level(self): """Test top level.""" with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- "not-here.txt" ''', ''' ''', True ) def test_nested(self): """Test nested.""" with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- "missing.txt" ''', ''' ''', True ) def test_missing_file_lines(self): """Test missing file with line numbers.""" with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- ":3:4" ''', ''' ''', True ) def test_missing_section(self): """Test missing section.""" with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- "section.txt:missing-section" ''', ''' ''', True ) class TestSnippetsGracefulMissing(util.MdCase): """Test snippet file case.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')] } } def test_top_level(self): """Test top level.""" self.check_markdown( R''' --8<-- "not-here.txt" ''', ''' ''', True ) def test_nested(self): """Test nested.""" self.check_markdown( R''' --8<-- "missing.txt" ''', ''' ''', True ) def test_missing_lines(self): """Test missing file with lines.""" self.check_markdown( R''' --8<-- ":3:4" ''', ''' ''', True ) class TestURLSnippets(util.MdCase): """Test snippet URL cases.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'url_download': True } } @patch('urllib.request.urlopen') def test_url(self, mock_urlopen): """Test URL.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'contents' cm.headers = {'content-length': '8'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' <p>contents</p> ''', True ) @patch('urllib.request.urlopen') def test_url_nested(self, mock_urlopen): """Test nested URLs.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.side_effect = [b'content\n\n--8<-- "https://test.com/myfile2.md"', b'other'] cm.headers = {'content-length': '8'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' <p>content</p> <p>other</p> ''', True ) @patch('urllib.request.urlopen') def test_url_nested_duplicatqe(self, mock_urlopen): """Test nested duplicate file.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.side_effect = [b'content\n\n--8<-- "https://test.com/myfile.md"', b'other'] cm.headers = {'content-length': '8'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' <p>content</p> ''', True ) @patch('urllib.request.urlopen') def test_url_nested_file(self, mock_urlopen): """Test nested file in URL.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'content\n\n--8<-- "b.txt"' cm.headers = {'content-length': '8'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' <p>content</p> ''', True ) @patch('urllib.request.urlopen') def test_url_lines(self, mock_urlopen): """Test specifying specific lines in a URL.""" with open('tests/test_extensions/_snippets/lines.txt', 'rb') as f: content = f.read() length = len(content) cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = content cm.headers = {'content-length': length} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md:4:6" ''', ''' <p>Content resides on various lines. If we use line specifiers, we can select any number of lines we want.</p> ''', True ) @patch('urllib.request.urlopen') def test_missing(self, mock_urlopen): """Test missing URL.""" cm = MagicMock() cm.status = 404 cm.code = 404 cm.read.return_value = b'' cm.headers = {'content-length': '0'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', '', True ) @patch('urllib.request.urlopen') def test_missing_content_length(self, mock_urlopen): """Test missing content length header.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'' cm.headers = {} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' ''', True ) @patch('urllib.request.urlopen') def test_missing_content_length_too_big(self, mock_urlopen): """Test content length too big.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'' cm.headers = {'content-length': str(1024 * 1024 * 48)} cm.__enter__.return_value = cm mock_urlopen.return_value = cm with self.assertRaises(ValueError): self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' ''', True ) @patch('urllib.request.urlopen') def test_content_too_big_no_content_length(self, mock_urlopen): """Test content length too big.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read = lambda count: b"-" * (1024 * 1024 * 48) cm.__enter__.return_value = cm mock_urlopen.return_value = cm with self.assertRaises(ValueError): self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' ''', True ) @patch('urllib.request.urlopen') def test_content_length_zero(self, mock_urlopen): """Test empty content.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'' cm.headers = {'content-length': '0'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', '', True ) @patch('urllib.request.urlopen') def test_url_sections(self, mock_urlopen): """Test specifying a section in a URL.""" with open('tests/test_extensions/_snippets/section.txt', 'rb') as f: content = f.read() length = len(content) cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = content cm.headers = {'content-length': length} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md:html-section" ''', ''' <div><p>content</p></div> ''', True ) class TestURLDedentSnippets(util.MdCase): """Test snippet URL cases.""" extension = [ 'pymdownx.snippets', 'pymdownx.superfences' ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'url_download': True, 'dedent_subsections': True } } @patch('urllib.request.urlopen') def test_url_sections(self, mock_urlopen): """Test specifying a section in a URL.""" with open('tests/test_extensions/_snippets/indented.txt', 'rb') as f: content = f.read() length = len(content) cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = content cm.headers = {'content-length': length} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' ``` --8<-- "https://test.com/myfile.md:py-section" ``` ''', ''' <div class="highlight"><pre><span></span><code>def some_method(self, param): """Docstring.""" return param </code></pre></div> ''', True ) class TestURLSnippetsNoMax(util.MdCase): """Test snippet URL cases no max size.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'url_download': True, 'url_max_size': 0 } } @patch('urllib.request.urlopen') def test_content_length_zero(self, mock_urlopen): """Test empty content.""" cm = MagicMock() cm.status = 200 cm.code = 200 cm.read.return_value = b'contents' cm.headers = {'content-length': str(1024 * 1024 * 48)} cm.__enter__.return_value = cm mock_urlopen.return_value = cm self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', ''' <p>contents</p> ''', True ) class TestURLSnippetsMissing(util.MdCase): """Test snippet URL cases with missing URL and 'check paths'.""" extension = [ 'pymdownx.snippets', ] extension_configs = { 'pymdownx.snippets': { 'base_path': [os.path.join(BASE, '_snippets')], 'url_download': True, 'url_max_size': 0, 'check_paths': True } } @patch('urllib.request.urlopen') def test_missing(self, mock_urlopen): """Test missing URL.""" cm = MagicMock() cm.status = 404 cm.code = 404 cm.read.return_value = b'' cm.headers = {'content-length': '0'} cm.__enter__.return_value = cm mock_urlopen.return_value = cm with self.assertRaises(SnippetMissingError): self.check_markdown( R''' --8<-- "https://test.com/myfile.md" ''', '', True ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_striphmtl.py�������������������������������������0000664�0000000�0000000�00000002035�14651242716�0025404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for StripHTML.""" from .. import util class TestStripHTML(util.MdCase): """Test legacy stripping in HTML.""" extension = ['pymdownx.striphtml'] extension_configs = {} def test_multiple_inline(self): """Test multiple inline.""" self.check_markdown( r''' Comments test: <!-- BEGIN INCLUDE --> - One - Two - Three <!-- END INCLUDE --> ## Paragraph <!-- BEGIN INCLUDE --> - One - Two - Three <!-- END INCLUDE --> Comments test end ''', r''' <p>Comments test:</p> <ul> <li>One</li> <li>Two</li> <li>Three</li> </ul> <h2>Paragraph</h2> <ul> <li>One</li> <li>Two</li> <li>Three</li> </ul> <p>Comments test end</p> ''', True ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_superfences.py�����������������������������������0000664�0000000�0000000�00000132225�14651242716�0025705�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for SuperFences.""" from .. import util import pymdownx.arithmatex as arithmatex import pymdownx.superfences as superfences from pymdownx.superfences import SuperFencesException import warnings def custom_format(source, language, class_name, options, md, **kwargs): """Custom format.""" return '<div lang="{}" class_name="class-{}", option="{}">{}</div>'.format(language, class_name, options['opt'], source) def default_format(source, language, class_name, options, md, **kwargs): """Default format.""" return '<custom lang="{}" class_name="class-{}">{}</custom>'.format(language, class_name, source) def custom_exploder(source, language, class_name, options, md, **kwargs): """Broken format.""" raise Exception('Boom!') def custom_exploder_fail(source, language, class_name, options, md, **kwargs): """Broken format.""" raise SuperFencesException('Boom!') def custom_validator_exploder(language, inputs, options, attrs, md): """Broken validator.""" raise Exception('Boom!') def custom_validator(language, inputs, options, attrs, md): """Custom validator.""" okay = True for k in inputs.keys(): if k != 'opt': okay = False break if okay: if inputs['opt'] != "A": okay = False else: options['opt'] = inputs['opt'] return okay def custom_validator_except(language, inputs, options, attrs, md): """Custom validator.""" okay = True try: for k in inputs.keys(): if k != 'opt': okay = False break if okay: if inputs['opt'] != "A": okay = False else: options['opt'] = inputs['opt'] except KeyError as e: raise SuperFencesException from e return okay class TestHighlightTitle(util.MdCase): """Test title cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] def test_title(self): """Test auto title.""" self.check_markdown( r''' ```pycon title="My title" >>> import test ``` ''', r''' <div class="highlight"><span class="filename">My title</span><pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_title_table(self): """Test auto title.""" self.check_markdown( r''' ```pycon title="My title" linenums="1" >>> import test ``` ''', r''' <div class="highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">My title</span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestHighlightStrip(util.MdCase): """Test Highlight's stripping of new lines.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = {'pymdownx.highlight': {'stripnl': False}} def test_no_stripnl(self): """Test no stripping of leading and trailing new lines.""" self.check_markdown( r''' ```py import foo import bar ``` ''', r''' <div class="highlight"><pre><span></span><code> <span class="kn">import</span> <span class="nn">foo</span> <span class="kn">import</span> <span class="nn">bar</span> </code></pre></div> ''', True ) class TestHighlightAutoTitleOverride(util.MdCase): """Test title cases.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'auto_title': True, "auto_title_map": { "Python Console Session": "Python" } } } def test_auto_tile(self): """Test auto title.""" self.check_markdown( r''' ```{.python title="My Title"} import test ``` ''', r''' <div class="highlight"><span class="filename">My Title</span><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_auto_tile_map(self): """Test auto title.""" self.check_markdown( r''' ```{.pycon title="My Title"} >>> import test ``` ''', r''' <div class="highlight"><span class="filename">My Title</span><pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightLineWrapsInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_spans': '__my_span', 'linenums_style': 'inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><span id="__my_span-0-2"><span class="linenos">2</span><span class="kn">import</span> <span class="nn">test</span> </span></code></pre></div> ''', # noqa: E501 True ) class TestHighlightLineWrapsPymdownxInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_spans': '__my_span', 'linenums_style': 'pymdownx-inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><span id="__my_span-0-2"><span class="linenos" data-linenos="2 "></span><span class="kn">import</span> <span class="nn">test</span> </span></code></pre></div> ''', # noqa: E501 True ) class TestHighlightLineWrapsPymdownsTable(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_spans': '__my_span', 'linenums_style': 'table' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__my_span-0-2"><span class="kn">import</span> <span class="nn">test</span> </span></code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestHighlightLineAnchorsInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_anchors': '__my_span', 'linenums_style': 'inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><a id="__my_span-0-2" name="__my_span-0-2"></a><span class="linenos">2</span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightLineAnchorsPymdownxInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_anchors': '__my_span', 'linenums_style': 'pymdownx-inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><a id="__my_span-0-2" name="__my_span-0-2"></a><span class="linenos" data-linenos="2 "></span><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightLineAnchorsPymdownsTable(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'line_anchors': '__my_span', 'linenums_style': 'table' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__my_span-0-2" name="__my_span-0-2"></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestHighlightAnchorLinenumInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'anchor_linenums': True, 'linenums_style': 'inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><a id="__codelineno-0-2" name="__codelineno-0-2"></a><a href="#__codelineno-0-2"><span class="linenos">2</span></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_linespans_id(self): """Test wrapping a line in line spans with an ID.""" self.check_markdown( r''' ```{.python #id linenums="2"} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><a id="__codelineno-id-2" name="__codelineno-id-2"></a><a href="#__codelineno-id-2"><span class="linenos">2</span></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightAnchorLinenumsPymdownxInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'anchor_linenums': True, 'linenums_style': 'pymdownx-inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><a id="__codelineno-0-2" name="__codelineno-0-2"></a><a href="#__codelineno-0-2"><span class="linenos" data-linenos="2 "></span></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_linespans_id(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```{.python #id linenums="2"} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><a id="__codelineno-id-2" name="__codelineno-id-2"></a><a href="#__codelineno-id-2"><span class="linenos" data-linenos="2 "></span></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightAnchorLinenumsPymdownsTable(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'anchor_linenums': True, 'linenums_style': 'table' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-2">2</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestHighlightAnchorLinenumNameInline(util.MdCase): """Test highlight line wraps.""" extension = ['pymdownx.highlight', 'pymdownx.superfences'] extension_configs = { 'pymdownx.highlight': { 'anchor_linenums': True, 'line_anchors': '__my_span', 'linenums_style': 'inline' } } def test_linespans(self): """Test wrapping a line in line spans.""" self.check_markdown( r''' ```python linenums="2" import test ``` ''', r''' <div class="highlight"><pre><span></span><code><a id="__my_span-0-2" name="__my_span-0-2"></a><a href="#__my_span-0-2"><span class="linenos">2</span></a><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestHighlightLines(util.MdCase): """Test line highlighting.""" extension = ['pymdownx.superfences'] extension_configs = {} def test_highlight_range(self): """Test highlight ranges.""" self.check_markdown( r''' ```py3 hl_lines="1-2 5 7-8" import foo import boo.baz import foo.bar.baz class Foo: def __init__(self): self.foo = None self.bar = None self.baz = None ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="hll"><span class="kn">import</span> <span class="nn">foo</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">boo.baz</span> </span><span class="kn">import</span> <span class="nn">foo.bar.baz</span> <span class="hll"><span class="k">class</span> <span class="nc">Foo</span><span class="p">:</span> </span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="hll"> <span class="bp">self</span><span class="o">.</span><span class="n">foo</span> <span class="o">=</span> <span class="kc">None</span> </span><span class="hll"> <span class="bp">self</span><span class="o">.</span><span class="n">bar</span> <span class="o">=</span> <span class="kc">None</span> </span> <span class="bp">self</span><span class="o">.</span><span class="n">baz</span> <span class="o">=</span> <span class="kc">None</span> </code></pre></div> ''', # noqa: E501 True ) def test_highlight_out_of_range(self): """Test highlight ranges.""" self.check_markdown( r''' ```py3 hl_lines="0 10" import foo import boo.baz import foo.bar.baz class Foo: def __init__(self): self.foo = None self.bar = None self.baz = None ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">foo</span> <span class="kn">import</span> <span class="nn">boo.baz</span> <span class="kn">import</span> <span class="nn">foo.bar.baz</span> <span class="k">class</span> <span class="nc">Foo</span><span class="p">:</span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">foo</span> <span class="o">=</span> <span class="kc">None</span> <span class="bp">self</span><span class="o">.</span><span class="n">bar</span> <span class="o">=</span> <span class="kc">None</span> <span class="bp">self</span><span class="o">.</span><span class="n">baz</span> <span class="o">=</span> <span class="kc">None</span> </code></pre></div> ''', # noqa: E501 True ) def test_highlight_in_range_only(self): """Test highlight ranges.""" self.check_markdown( r''' ```py3 hl_lines="0-10" import foo import boo.baz import foo.bar.baz class Foo: def __init__(self): self.foo = None self.bar = None self.baz = None ``` ''', ''' <div class="highlight"><pre><span></span><code><span class="hll"><span class="kn">import</span> <span class="nn">foo</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">boo.baz</span> </span><span class="hll"><span class="kn">import</span> <span class="nn">foo.bar.baz</span> </span><span class="hll"> </span><span class="hll"><span class="k">class</span> <span class="nc">Foo</span><span class="p">:</span> </span><span class="hll"> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> </span><span class="hll"> <span class="bp">self</span><span class="o">.</span><span class="n">foo</span> <span class="o">=</span> <span class="kc">None</span> </span><span class="hll"> <span class="bp">self</span><span class="o">.</span><span class="n">bar</span> <span class="o">=</span> <span class="kc">None</span> </span><span class="hll"> <span class="bp">self</span><span class="o">.</span><span class="n">baz</span> <span class="o">=</span> <span class="kc">None</span> </span></code></pre></div> ''', # noqa: E501 True ) class TestSuperFencesClassesIds(util.MdCase): """Test classes and ids without attribute lists.""" extension = ['pymdownx.superfences'] extension_configs = {} def test_classes(self): """Test extra classes.""" self.check_markdown( r''' ```{.python .more} import test ``` ''', r''' <div class="more highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_id(self): """Test extra id.""" self.check_markdown( r''' ```{.python #id} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_attr(self): """Test extra attributes.""" self.check_markdown( r''' ```{.python #id attr="test"} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) class TestSuperFencesClassesIdsAttrList(util.MdCase): """Test fence ids and classes with attribute lists.""" extension = ['pymdownx.superfences', 'markdown.extensions.attr_list'] extension_configs = {} def test_attribute_lists_with_braces(self): """Test attribute lists with braces.""" self.check_markdown( R''' ``` { .c data-copy="int main() { return 0; }" } Try copying me for some C code ``` ''', R''' <div class="highlight" data-copy="int main() { return 0; }"><pre><span></span><code><span class="n">Try</span><span class="w"> </span><span class="n">copying</span><span class="w"> </span><span class="n">me</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">some</span><span class="w"> </span><span class="n">C</span><span class="w"> </span><span class="n">code</span> </code></pre></div> ''', # noqa: E501 True ) def test_classes(self): """Test extra classes.""" self.check_markdown( r''' ```{.python .more} import test ``` ''', r''' <div class="more highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_id(self): """Test extra id.""" self.check_markdown( r''' ```{.python #id} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_bad_attr(self): """Test bad attribute.""" self.check_markdown( r''' ```{.python #id attr="test"} import test ``` ''', r''' <div id="id" class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_data_attr(self): """Test data attributes.""" self.check_markdown( r''' ```{.python #id data-attr="test"} import test ``` ''', r''' <div id="id" class="highlight" data-attr="test"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div> ''', # noqa: E501 True ) def test_data_attr_linenums(self): """Test data attributes with line numbers enabled.""" self.check_markdown( r''' ```{.python #id data-attr="test" linenums="1"} import test ``` ''', r''' <div id="id" class="highlight" data-attr="test"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span> </code></pre></div></td></tr></table></div> ''', # noqa: E501 True ) class TestSuperFencesClassesIdsAttrListNoPygments(util.MdCase): """Test fence ids and classes with attribute lists and with no Pygments.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'markdown.extensions.attr_list'] extension_configs = { "pymdownx.highlight": { "use_pygments": False } } def test_classes(self): """Test extra classes.""" self.check_markdown( r''' ```{.python .more} import test ``` ''', r''' <pre class="highlight"><code class="language-python more">import test</code></pre> ''', True ) def test_id(self): """Test extra id.""" self.check_markdown( r''' ```{.python #id} import test ``` ''', r''' <pre class="highlight"><code id="id" class="language-python">import test</code></pre> ''', True ) def test_attr(self): """Test extra attributes.""" self.check_markdown( r''' ```{.python #id attr="test"} import test ``` ''', r''' <pre class="highlight"><code id="id" class="language-python" attr="test">import test</code></pre> ''', True ) class TestSuperFencesClassesIdsAttrListNoPygmentsOnPre(util.MdCase): """Test fence ids and classes with attribute lists and with no Pygments and classes and ids on pre.""" extension = ['pymdownx.highlight', 'pymdownx.superfences', 'markdown.extensions.attr_list'] extension_configs = { "pymdownx.highlight": { "use_pygments": False, "code_attr_on_pre": True } } def test_classes(self): """Test extra classes.""" self.check_markdown( r''' ```{.python .more} import test ``` ''', r''' <pre class="language-python highlight more"><code>import test</code></pre> ''', True ) def test_id(self): """Test extra id.""" self.check_markdown( r''' ```{.python #id} import test ``` ''', r''' <pre id="id" class="language-python highlight"><code>import test</code></pre> ''', True ) def test_attr(self): """Test extra attributes.""" self.check_markdown( r''' ```{.python #id attr="test"} import test ``` ''', r''' <pre id="id" class="language-python highlight" attr="test"><code>import test</code></pre> ''', True ) class TestSuperFencesBad(util.MdCase): """Test bad options.""" extension = ['pymdownx.superfences'] extension_configs = {} def test_bad_options(self): """Test bad options.""" self.check_markdown( r''' ```python option="bad" import test ``` ''', r''' <p><code>python option="bad" import test</code></p> ''', True ) def test_bad_option_value(self): """Test bad option values.""" self.check_markdown( r''' ```python hl_lines="unexpected 3" linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz ``` ''', r''' <p><code>python hl_lines="unexpected 3" linenums="1" """Some file.""" import foo.bar import boo.baz import foo.bar.baz</code></p> ''', True ) class TestSuperFencesCustom(util.MdCase): """Test custom validator and format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_format, 'validator': custom_validator } ] } } def test_failure(self): """ Test failure of custom fence. Fence failed, gracefully continue with any other fences that can capture this. """ self.check_markdown( r''' ```test test ``` ''', r''' <div class="highlight"><pre><span></span><code>test </code></pre></div> ''', True ) def test_bad_options(self): """Test bad option.""" self.check_markdown( r''' ```test bad="bad" test ``` ''', r''' <p><code>test bad="bad" test</code></p> ''', True ) def test_bad_option_value(self): """Test option with bad value.""" self.check_markdown( r''' ```test opt="B" test ``` ''', r''' <p><code>test opt="B" test</code></p> ''', True ) def test_bad_option_no_value(self): """Test option with no value.""" self.check_markdown( r''' ```test opt test ``` ''', r''' <p><code>test opt test</code></p> ''', True ) def test_custom_options(self): """Test option with correct value.""" self.check_markdown( r''' ```test opt="A" test ``` ''', r''' <div lang="test" class_name="class-test", option="A">test</div> ''', True ) class TestSuperFencesCustomException(util.MdCase): """Test custom validator and format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_format, 'validator': custom_validator_except } ] } } def test_custom_fail_exception(self): """Test custom fences forced exception.""" with self.assertRaises(SuperFencesException): self.check_markdown( r''' ```test test ``` ''', '', True ) class TestSuperFencesCustomExceptionAttrList(util.MdCase): """Test custom validator and format with attribute lists.""" extension = ['pymdownx.superfences', 'attr_list'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_format, 'validator': custom_validator_except } ] } } def test_custom_fail_exception(self): """Test custom fences forced exception with attribute lists.""" with self.assertRaises(SuperFencesException): self.check_markdown( r''' ```{.test} test ``` ''', '', True ) class TestSuperFencesCustomDefaultValidator(util.MdCase): """Test custom format with default validator.""" extension = ['pymdownx.superfences', 'markdown.extensions.attr_list'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': superfences.fence_div_format, 'validator': superfences.default_validator } ] } } def test_default_validator(self): """Test default validator.""" self.check_markdown( r''' ```{.test opt="A"} test ``` ''', r''' <div class="test" opt="A">test</div> ''', True ) class TestSuperFencesCustomArithmatex(util.MdCase): """Test custom Arithmatex format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_fenced_format(mode="mathjax") } ] } } def test_arithmatex(self): """Test Arithmatex formatter without preview.""" self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex"> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> ''', True ) class TestSuperFencesCustomLegacyArithmatex(util.MdCase): """Test custom Arithmatex format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.fence_mathjax_format } ] } } def test_legacy_arithmatex(self): """Test Arithmatex formatter without preview.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex"> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> ''', True ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestSuperFencesCustomArithmatexPreview(util.MdCase): """Test custom Arithmatex preview format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_fenced_format(mode='mathjax', preview=True) } ] } } def test_arithmatex_preview(self): """Test Arithmatex formatter with preview.""" self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex"> <div class="MathJax_Preview"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </div> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> ''', True ) class TestSuperFencesCustomLegacyArithmatexPreview(util.MdCase): """Test custom Arithmatex preview format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.fence_mathjax_preview_format } ] } } def test_legacy_arithmatex_preview(self): """Test Arithmatex formatter with preview.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex"> <div class="MathJax_Preview"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </div> <script type="math/tex; mode=display"> E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j </script> </div> ''', True ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestSuperFencesCustomArithmatexGeneric(util.MdCase): """Test custom Arithmatex generic format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_fenced_format(mode="generic") } ] } } def test_arithmatex_generic(self): """Test Arithmatex generic formatter.""" self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex">\[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \]</div> ''', True ) class TestSuperFencesCustomLegacyArithmatexGeneric(util.MdCase): """Test custom Arithmatex generic format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.fence_generic_format } ] } } def test_legacy_arithmatex_generic(self): """Test Arithmatex generic formatter.""" with warnings.catch_warnings(record=True) as w: self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ''', r''' <div class="arithmatex">\[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \]</div> ''', True ) self.assertTrue(len(w) == 1) self.assertTrue(issubclass(w[-1].category, DeprecationWarning)) class TestSuperFencesCustomDefault(util.MdCase): """Test overriding the default format.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': '*', 'class': '', 'format': default_format }, { 'name': 'math', 'class': 'arithmatex', 'format': arithmatex.arithmatex_fenced_format(mode="generic") } ] } } def test_default_override(self): """Test default override.""" self.check_markdown( r''' ```math E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j ``` ```python test ``` ''', r''' <div class="arithmatex">\[ E(\mathbf{v}, \mathbf{h}) = -\sum_{i,j}w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j \]</div> <p><custom lang="python" class_name="class-">test</custom></p> ''', True ) class TestSuperFencesCustomBroken(util.MdCase): """Test custom formatter that is broken.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_exploder, } ] } } def test_broken(self): """Test broken fence.""" self.check_markdown( ''' ```test doesn't matter ``` ''', ''' <p><code>test doesn't matter</code></p> ''', True ) def test_broken_blockquote(self): """Test broken fence in a blockquote.""" self.check_markdown( ''' > ```test > doesn't matter > ``` ''', ''' <blockquote> <p><code>test doesn't matter</code></p> </blockquote> ''', True ) class TestSuperFencesCustomBrokenFail(util.MdCase): """Test custom formatter that is broken and causes a failure.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_exploder_fail, } ] } } def test_custom_fail_exception(self): """Test custom fences forced exception.""" with self.assertRaises(SuperFencesException): self.check_markdown( r''' ```test test ``` ''', '', True ) def test_custom_fail_exception_blockquote(self): """Test custom fences forced exception in a block quote.""" with self.assertRaises(SuperFencesException): self.check_markdown( r''' > ```test > test > ``` ''', '', True ) class TestSuperFencesCustomValidatorBroken(util.MdCase): """Test custom legacy validator that is broken.""" extension = ['pymdownx.superfences'] extension_configs = { 'pymdownx.superfences': { 'custom_fences': [ { 'name': 'test', 'class': 'test', 'format': custom_format, 'validator': custom_validator_exploder } ] } } def test_broken(self): """Test broken fence.""" self.check_markdown( ''' ```test doesn't matter ``` ''', ''' <div class="highlight"><pre><span></span><code>doesn't matter </code></pre></div> ''', True ) def test_broken_brace(self): """Test broken fence.""" self.check_markdown( ''' ```{.test} doesn't matter ``` ''', ''' <div class="highlight"><pre><span></span><code>doesn't matter </code></pre></div> ''', True ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_tabbed.py����������������������������������������0000664�0000000�0000000�00000050105�14651242716�0024600�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Tabbed.""" from .. import util from pymdownx.slugs import slugify class TestLegacyTab(util.MdCase): """Test legacy tab cases.""" extension = ['pymdownx.tabbed', 'pymdownx.superfences', 'markdown.extensions.def_list', 'pymdownx.details'] extension_configs = {} def test_with_preceding_text(self): """Test content directly before tabs.""" expected = r''' <p>foo <strong>foo</strong></p> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"></div> </div> ''' # noqa: E501 self.check_markdown( r''' foo **foo** === "Tab" ''', expected, True ) def test_tabbed(self): """Test tabbed.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. === "Another Tab" Some more content. ``` code ``` ''', r''' <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Another Tab</label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_markdown_title(self): """Test tabbed.""" self.check_markdown( R''' === "**Tab**" Some *content* And more `content`. === "_Another Tab_" Some more content. ``` code ``` ''', r''' <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1"><strong>Tab</strong></label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2"><em>Another Tab</em></label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) def test_nested_tabbed(self): """Test nested tabbed.""" self.check_markdown( r''' === "Tab" Some *content* === "Tab A" - item 1 - item 2 === "Tab B" - item A - item B === "Another Tab" Some more content. ''', r''' <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <div class="tabbed-set" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><label for="__tabbed_2_1">Tab A</label><div class="tabbed-content"> <ul> <li> <p>item 1</p> </li> <li> <p>item 2</p> </li> </ul> </div> <input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><label for="__tabbed_2_2">Tab B</label><div class="tabbed-content"> <ul> <li> <p>item A</p> </li> <li> <p>item B</p> </li> </ul> </div> </div> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Another Tab</label><div class="tabbed-content"> <p>Some more content.</p> </div> </div> ''', # noqa: E501 True ) def test_tabbed_split(self): """Force a split of tab sets.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. ===! "Another Tab" Some more content. ``` code ``` ''', r''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> <div class="tabbed-set" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><label for="__tabbed_2_1">Another Tab</label><div class="tabbed-content"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_break(self): """Test that tabs are properly terminated on blocks that are not under the tab.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. Content ''', r''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> <p>Content</p> ''', # noqa: E501 True ) def test_tabbed_select(self): """Test selecting a tab.""" self.check_markdown( r''' === "Tab 1" content ===+ "Tab 2" content === "Tab 3" content ''', r''' <div class="tabbed-set" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab 1</label><div class="tabbed-content"> <p>content</p> </div> <input checked="checked" id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Tab 2</label><div class="tabbed-content"> <p>content</p> </div> <input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><label for="__tabbed_1_3">Tab 3</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) def test_tabbed_select_multiple(self): """Test selecting multiple tabs.""" self.check_markdown( r''' === "Tab 1" content ===+ "Tab 2" content ===+ "Tab 3" content ''', r''' <div class="tabbed-set" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab 1</label><div class="tabbed-content"> <p>content</p> </div> <input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">Tab 2</label><div class="tabbed-content"> <p>content</p> </div> <input checked="checked" id="__tabbed_1_3" name="__tabbed_1" type="radio" /><label for="__tabbed_1_3">Tab 3</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) def test_with_lists(self): """Test with lists.""" self.check_markdown( ''' - List === "Tab" - Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ul> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_big_lists(self): """Test details with a longer list.""" self.check_markdown( ''' - List === "Tab" - Paragraph Paragraph - Paragraph paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> <li> <p>Paragraph</p> <p>paragraph</p> </li> </ul> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_complex_lists(self): """Test details in a complex list scenario.""" self.check_markdown( ''' - List === "Tab" - Paragraph === "Tab" 1. Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <ul> <li> <p>Paragraph</p> <div class="tabbed-set" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><label for="__tabbed_2_1">Tab</label><div class="tabbed-content"> <ol> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ol> </div> </div> </li> </ul> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_definition_list(self): """Test with definition list.""" self.check_markdown( ''' - List === "Tab" Term : Definition More text : Another definition Even more text ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab</label><div class="tabbed-content"> <dl> <dt>Term</dt> <dd> <p>Definition</p> <p>More text</p> </dd> <dd> <p>Another definition</p> <p>Even more text</p> </dd> </dl> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_details(self): """Test with definition list.""" self.check_markdown( ''' === "Output" ???+ note "Open styled details" ??? danger "Nested details!" And more content again. ''', ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Output</label><div class="tabbed-content"> <details class="note" open="open"> <summary>Open styled details</summary> <details class="danger"> <summary>Nested details!</summary> <p>And more content again.</p> </details> </details> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list(self): """Test tabbed complex list scenario.""" self.check_markdown( ''' === "Tab with loose lists" - Parent 1 - Child 1 - Child 2 ''', ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab with loose lists</label><div class="tabbed-content"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list_unindented_content(self): """Test tabbed complex list scenario with un-indented content.""" self.check_markdown( ''' === "Tab with loose lists" - Parent 1 - Child 1 - Child 2 - Parent 2 ''', ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab with loose lists</label><div class="tabbed-content"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> <ul> <li>Parent 2</li> </ul> ''', # noqa: E501 True ) def test_indented_code(self): """Test indented code.""" md = """ === "Tab 1" code """ self.check_markdown( md, ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Tab 1</label><div class="tabbed-content"> <pre><code>code </code></pre> </div> </div> ''', # noqa: E501 True ) class TestLegacyTabSlugs(util.MdCase): """Test legacy tab slug cases.""" extension = ['pymdownx.tabbed', 'toc'] extension_configs = {'pymdownx.tabbed': {'slugify': slugify(case='lower')}} MD = """ ### Here is some text === "Here is some text" content === "Here is some text" content """ def test_tab_slugs(self): """Test tab slugs.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="here-is-some-text_1" name="__tabbed_1" type="radio" /><label for="here-is-some-text_1">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> <input id="here-is-some-text_2" name="__tabbed_1" type="radio" /><label for="here-is-some-text_2">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) class TestLegacyTabSlugsSep(util.MdCase): """Test legacy tab slug separator cases.""" extension = ['pymdownx.tabbed', 'toc'] extension_configs = {'pymdownx.tabbed': {'slugify': slugify(case='lower'), 'separator': '_'}} MD = """ ### Here is some text === "Here is some text" content === "Here is some text" content """ def test_slug_with_separator(self): """Test tab slugs with separator.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="here_is_some_text" name="__tabbed_1" type="radio" /><label for="here_is_some_text">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> <input id="here_is_some_text_1" name="__tabbed_1" type="radio" /><label for="here_is_some_text_1">Here is some text</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) class TestTabSlugsCombineHeader(util.MdCase): """Combine header slug with content tab.""" extension = ['pymdownx.tabbed', 'toc', 'pymdownx.details'] extension_configs = { 'pymdownx.tabbed': { 'slugify': slugify(case='lower'), 'combine_header_slug': True } } def test_combine_header_slug(self): """Test that slugs are a combination of the header slug and the tab title.""" md = R""" ### Here is some text === "First Tab" content ### Another header ??? "title" === "Second Tab" content """ self.check_markdown( md, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="here-is-some-text-first-tab" name="__tabbed_1" type="radio" /><label for="here-is-some-text-first-tab">First Tab</label><div class="tabbed-content"> <p>content</p> </div> </div> <h3 id="another-header">Another header</h3> <details> <summary>title</summary> <div class="tabbed-set" data-tabs="2:1"><input checked="checked" id="another-header-second-tab" name="__tabbed_2" type="radio" /><label for="another-header-second-tab">Second Tab</label><div class="tabbed-content"> <p>content</p> </div> </div> </details> ''', # noqa: E501 True ) def test_no_header(self): """Test when there is no header.""" md = R""" === "A Tab" content """ self.check_markdown( md, ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><label for="a-tab">A Tab</label><div class="tabbed-content"> <p>content</p> </div> </div> ''', # noqa: E501 True ) def test_header_after(self): """Test when header comes after.""" md = R""" === "A Tab" content # Header """ self.check_markdown( md, ''' <div class="tabbed-set" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><label for="a-tab">A Tab</label><div class="tabbed-content"> <p>content</p> </div> </div> <h1 id="header">Header</h1> ''', # noqa: E501 True ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_extensions/test_tabbed_alternate.py������������������������������0000664�0000000�0000000�00000056232�14651242716�0026646�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test cases for Tabbed (alternative style).""" from .. import util from pymdownx.slugs import slugify class TestTab(util.MdCase): """Test tab cases.""" extension = ['pymdownx.tabbed', 'pymdownx.superfences', 'markdown.extensions.def_list', 'pymdownx.details'] extension_configs = {'pymdownx.tabbed': {'alternate_style': True}} def test_with_preceding_text(self): """Test content directly before tabs.""" expected = r''' <p>foo <strong>foo</strong></p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"></div> </div> </div> ''' # noqa: E501 self.check_markdown( r''' foo **foo** === "Tab" ''', expected, True ) def test_tabbed(self): """Test tabbed.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. === "Another Tab" Some more content. ``` code ``` ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label><label for="__tabbed_1_2">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_markdown_title(self): """Test tabbed.""" self.check_markdown( r''' === "**Tab**" Some *content* And more `content`. === "_Another Tab_" Some more content. ``` code ``` ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1"><strong>Tab</strong></label><label for="__tabbed_1_2"><em>Another Tab</em></label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) def test_nested_tabbed(self): """Test nested tabbed.""" self.check_markdown( r''' === "Tab" Some *content* === "Tab A" - item 1 - item 2 === "Tab B" - item A - item B === "Another Tab" Some more content. ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label><label for="__tabbed_1_2">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Tab A</label><label for="__tabbed_2_2">Tab B</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>item 1</p> </li> <li> <p>item 2</p> </li> </ul> </div> <div class="tabbed-block"> <ul> <li> <p>item A</p> </li> <li> <p>item B</p> </li> </ul> </div> </div> </div> </div> <div class="tabbed-block"> <p>Some more content.</p> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_split(self): """Force a split of tab sets.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. ===! "Another Tab" Some more content. ``` code ``` ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> </div> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Another Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some more content.</p> <div class="highlight"><pre><span></span><code>code </code></pre></div> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_break(self): """Test that tabs are properly terminated on blocks that are not under the tab.""" self.check_markdown( r''' === "Tab" Some *content* And more `content`. Content ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>Some <em>content</em></p> <p>And more <code>content</code>.</p> </div> </div> </div> <p>Content</p> ''', # noqa: E501 True ) def test_tabbed_select(self): """Test selecting a tab.""" self.check_markdown( r''' === "Tab 1" content ===+ "Tab 2" content === "Tab 3" content ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input checked="checked" id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab 1</label><label for="__tabbed_1_2">Tab 2</label><label for="__tabbed_1_3">Tab 3</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_select_multiple(self): """Test selecting multiple tabs.""" self.check_markdown( r''' === "Tab 1" content ===+ "Tab 2" content ===+ "Tab 3" content ''', r''' <div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input checked="checked" id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab 1</label><label for="__tabbed_1_2">Tab 2</label><label for="__tabbed_1_3">Tab 3</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_with_lists(self): """Test with lists.""" self.check_markdown( ''' - List === "Tab" - Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_big_lists(self): """Test details with a longer list.""" self.check_markdown( ''' - List === "Tab" - Paragraph Paragraph - Paragraph paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <p>Paragraph</p> </li> <li> <p>Paragraph</p> <p>paragraph</p> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_complex_lists(self): """Test details in a complex list scenario.""" self.check_markdown( ''' - List === "Tab" - Paragraph === "Tab" 1. Paragraph Paragraph ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Paragraph</p> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ol> <li> <p>Paragraph</p> <p>Paragraph</p> </li> </ol> </div> </div> </div> </li> </ul> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_definition_list(self): """Test with definition list.""" self.check_markdown( ''' - List === "Tab" Term : Definition More text : Another definition Even more text ''', ''' <ul> <li> <p>List</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <dl> <dt>Term</dt> <dd> <p>Definition</p> <p>More text</p> </dd> <dd> <p>Another definition</p> <p>Even more text</p> </dd> </dl> </div> </div> </div> </li> </ul> ''', # noqa: E501 True ) def test_with_details(self): """Test with definition list.""" self.check_markdown( ''' === "Output" ???+ note "Open styled details" ??? danger "Nested details!" And more content again. ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Output</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <details class="note" open="open"> <summary>Open styled details</summary> <details class="danger"> <summary>Nested details!</summary> <p>And more content again.</p> </details> </details> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list(self): """Test tabbed complex list scenario.""" self.check_markdown( ''' === "Tab with loose lists" - Parent 1 - Child 1 - Child 2 ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab with loose lists</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> </div> ''', # noqa: E501 True ) def test_tabbed_complex_list_unindented_content(self): """Test tabbed complex list scenario with un-indented content.""" self.check_markdown( ''' === "Tab with loose lists" - Parent 1 - Child 1 - Child 2 - Parent 2 ''', ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab with loose lists</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <ul> <li> <p>Parent 1</p> <ul> <li>Child 1</li> <li>Child 2</li> </ul> </li> </ul> </div> </div> </div> <ul> <li>Parent 2</li> </ul> ''', # noqa: E501 True ) def test_indented_code(self): """Test indented code.""" md = """ === "Tab 1" code """ self.check_markdown( md, ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Tab 1</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <pre><code>code </code></pre> </div> </div> </div> ''', # noqa: E501 True ) class TestLegacyTabSlugs(util.MdCase): """Test legacy tab slug cases.""" extension = ['pymdownx.tabbed', 'toc'] extension_configs = {'pymdownx.tabbed': {'slugify': slugify(case='lower'), 'alternate_style': True}} MD = """ ### Here is some text === "Here is some text" content === "Here is some text" content """ def test_tab_slugs(self): """Test tab slugs.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="here-is-some-text_1" name="__tabbed_1" type="radio" /><input id="here-is-some-text_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here-is-some-text_1">Here is some text</label><label for="here-is-some-text_2">Here is some text</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) class TestLegacyTabSlugsSep(util.MdCase): """Test legacy tab slug separator cases.""" extension = ['pymdownx.tabbed', 'toc'] extension_configs = { 'pymdownx.tabbed': {'slugify': slugify(case='lower'), 'separator': '_', 'alternate_style': True} } MD = """ ### Here is some text === "Here is some text" content === "Here is some text" content """ def test_slug_with_separator(self): """Test tab slugs with separator.""" self.check_markdown( self.MD, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="here_is_some_text" name="__tabbed_1" type="radio" /><input id="here_is_some_text_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here_is_some_text">Here is some text</label><label for="here_is_some_text_1">Here is some text</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) class TestTabSlugsCombineHeader(util.MdCase): """Combine header slug with content tab.""" extension = ['pymdownx.tabbed', 'toc', 'pymdownx.details'] extension_configs = { 'pymdownx.tabbed': { 'slugify': slugify(case='lower'), 'combine_header_slug': True, 'alternate_style': True } } def test_combine_header_slug(self): """Test that slugs are a combination of the header slug and the tab title.""" md = R""" ### Here is some text === "First Tab" content ### Another header ??? "title" === "Second Tab" content """ self.check_markdown( md, ''' <h3 id="here-is-some-text">Here is some text</h3> <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="here-is-some-text-first-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="here-is-some-text-first-tab">First Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> <h3 id="another-header">Another header</h3> <details> <summary>title</summary> <div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="another-header-second-tab" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="another-header-second-tab">Second Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> </details> ''', # noqa: E501 True ) def test_no_header(self): """Test when there is no header.""" md = R""" === "A Tab" content """ self.check_markdown( md, ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="a-tab">A Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> ''', # noqa: E501 True ) def test_header_after(self): """Test when header comes after.""" md = R""" === "A Tab" content # Header """ self.check_markdown( md, ''' <div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="a-tab" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="a-tab">A Tab</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <p>content</p> </div> </div> </div> <h1 id="header">Header</h1> ''', # noqa: E501 True ) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_syntax.py��������������������������������������������������������0000664�0000000�0000000�00000011533�14651242716�0021451�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test extension syntax.""" import os import markdown import difflib import codecs import pytest import copy from . import util import warnings warnings.simplefilter('ignore', DeprecationWarning) CURRENT_DIR = os.path.abspath(os.path.dirname(__file__)) CSS_LINK = '<link rel="stylesheet" type="text/css" href="%s"/>' WRAPPER = '''<!DOCTYPE html> <head> <meta charset="utf-8"> %s </head> <body> <div class="markdown-body"> %%s </div> </body> ''' target_file = None def set_target_file(file_name): """Set target test file name.""" global target_file target_file = file_name def compare_results(cfg, testfile, update=False): """Compare test results.""" extension = [] extension_config = {} wrapper = "%s" for k, v in cfg['extensions'].items(): extension.append(k) if v: extension_config[k] = v if 'css' in cfg and len(cfg['css']): wrapper = WRAPPER % '\n'.join([CSS_LINK % css for css in cfg['css']]) check_markdown(testfile, extension, extension_config, wrapper, update) def check_markdown(testfile, extension, extension_config, wrapper, update=False): """Check the markdown.""" expected_html = os.path.splitext(testfile)[0] + '.html' with codecs.open(testfile, 'r', encoding='utf-8') as f: source = f.read() results = wrapper % markdown.Markdown( extensions=extension, extension_configs=extension_config ).convert(source) try: with codecs.open(expected_html, 'r', encoding='utf-8') as f: expected = f.read().replace("\r\n", "\n") except Exception: expected = '' diff = list( difflib.unified_diff( expected.splitlines(True), results.splitlines(True), expected_html, os.path.join(os.path.dirname(testfile), 'results.html'), n=3 ) ) if diff: if update: print('Updated: %s' % expected_html) with codecs.open(expected_html, 'w', encoding='utf-8') as f: f.write(results) else: raise Exception( 'Output from "%s" failed to match expected ' 'output.\n\n%s' % (testfile, ''.join(diff)) ) elif update: print('Skipped: %s' % expected_html) def gather_test_params(): """Gather the test parameters.""" for base, dirs, files in os.walk(CURRENT_DIR): [dirs.remove(d) for d in dirs[:] if d.startswith('_')] cfg_path = os.path.join(base, 'tests.yml') if os.path.exists(cfg_path): files.remove('tests.yml') [files.remove(file) for file in files[:] if not file.endswith('.txt')] with codecs.open(cfg_path, 'r', encoding='utf-8') as f: cfg = util.yaml_load(f.read()) for testfile in files: key = os.path.splitext(testfile)[0] test_cfg = copy.deepcopy(cfg['__default__']) if 'extensions' not in test_cfg: test_cfg['extensions'] = util.OrderedDict() if 'css' not in test_cfg: test_cfg['css'] = [] for k, v in cfg.get(key, util.OrderedDict()).items(): if k == 'css': for css in v: test_cfg[k].append(css) continue for k1, v1 in v.items(): if v1 is not None: for k2, v2 in v1.items(): if isinstance(v2, str): v1[k2] = v2.replace( '{{BASE}}', base ).replace( '{{RELATIVE}}', CURRENT_DIR ) elif k2 == 'base_path' and isinstance(v2, list): for i, v3 in enumerate(v2, 0): v1[k2][i] = v3.replace( '{{BASE}}', base ).replace( '{{RELATIVE}}', CURRENT_DIR ) test_cfg[k][k1] = v1 target = os.path.join(base, testfile) if target_file is not None and target != target_file: continue yield test_cfg, os.path.join(base, testfile) def pytest_generate_tests(metafunc): """Generate tests.""" if "compare" in metafunc.fixturenames: metafunc.parametrize("compare", gather_test_params()) def test_extensions(compare): """Test extensions.""" compare_results(*compare) def run(): """Run pytest.""" pytest.main( [ 'tests/test_syntax.py', '-p', 'no:pytest_cov' ] ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_targeted.py������������������������������������������������������0000664�0000000�0000000�00000012203�14651242716�0021715�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Test `uniprops`.""" from pymdownx import util import unittest import pytest class TestUrlParse(unittest.TestCase): """Test UrlParse.""" def test_url(self): """Test URL.""" url = 'http://www.google.com' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'http') self.assertEqual(netloc, 'www.google.com') self.assertEqual(is_url, True) self.assertEqual(is_absolute, False) def test_fragment(self): """Test fragment.""" url = '#header' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, '') self.assertEqual(netloc, '') self.assertEqual(fragment, 'header') self.assertEqual(is_url, True) self.assertEqual(is_absolute, False) def test_file_windows(self): """Test file windows.""" url = 'file://c:/path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/c:/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_file_windows_backslash(self): """Test file windows with backslash.""" url = r'file://c:\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/c:/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_file_windows_start_backslash(self): """Test file windows start with backslash.""" url = r'file://\c:\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/c:/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_file_windows_netpath(self): """Test file windows netpath.""" url = 'file://\\\\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '//path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_nix_path(self): """Test file Linux/Unix path.""" url = 'file:///path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_windows_path_forward_slash(self): """Test windows path.""" url = 'c:/path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/c:/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_windows_path_backslash(self): """Test file windows path with backslash.""" url = r'c:\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '/c:/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_windows_netpath_forward_slash(self): """Test netpath with forward slash.""" url = '//file/path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, 'file') self.assertEqual(path, '//file/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_windows_netpath_backslash(self): """Test windows netpath with backslash.""" url = '\\\\file\\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, '') self.assertEqual(path, '\\\\file\\path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, True) def test_relative_path(self): """Test relative path.""" url = '../file/path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, '') self.assertEqual(path, '../file/path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, False) def test_windows_relative_path(self): """Test windows relative with backslash.""" url = '..\\file\\path' scheme, netloc, path, params, query, fragment, is_url, is_absolute = util.parse_url(url) self.assertEqual(scheme, '') self.assertEqual(path, '..\\file\\path') self.assertEqual(is_url, False) self.assertEqual(is_absolute, False) def run(): """Run pytest.""" pytest.main( [ 'tests/test_targeted.py', '-p', 'no:pytest_cov' ] ) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/test_versions.py������������������������������������������������������0000664�0000000�0000000�00000007576�14651242716�0022007�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Version tests.""" import unittest from pymdownx.__meta__ import Version, parse_version class TestVersion(unittest.TestCase): """Test versions.""" def test_version_output(self): """Test that versions generate proper strings.""" assert Version(1, 0, 0, "final")._get_canonical() == "1.0" assert Version(1, 2, 0, "final")._get_canonical() == "1.2" assert Version(1, 2, 3, "final")._get_canonical() == "1.2.3" assert Version(1, 2, 0, "alpha", pre=4)._get_canonical() == "1.2a4" assert Version(1, 2, 0, "beta", pre=4)._get_canonical() == "1.2b4" assert Version(1, 2, 0, "candidate", pre=4)._get_canonical() == "1.2rc4" assert Version(1, 2, 0, "final", post=1)._get_canonical() == "1.2.post1" assert Version(1, 2, 3, ".dev-alpha", pre=1)._get_canonical() == "1.2.3a1.dev0" assert Version(1, 2, 3, ".dev")._get_canonical() == "1.2.3.dev0" assert Version(1, 2, 3, ".dev", dev=1)._get_canonical() == "1.2.3.dev1" def test_version_comparison(self): """Test that versions compare proper.""" assert Version(1, 0, 0, "final") < Version(1, 2, 0, "final") assert Version(1, 2, 0, "alpha", pre=4) < Version(1, 2, 0, "final") assert Version(1, 2, 0, "final") < Version(1, 2, 0, "final", post=1) assert Version(1, 2, 3, ".dev-beta", pre=2) < Version(1, 2, 3, "beta", pre=2) assert Version(1, 2, 3, ".dev") < Version(1, 2, 3, ".dev-beta", pre=2) assert Version(1, 2, 3, ".dev") < Version(1, 2, 3, ".dev", dev=1) def test_version_parsing(self): """Test version parsing.""" assert parse_version( Version(1, 0, 0, "final")._get_canonical() ) == Version(1, 0, 0, "final") assert parse_version( Version(1, 2, 0, "final")._get_canonical() ) == Version(1, 2, 0, "final") assert parse_version( Version(1, 2, 3, "final")._get_canonical() ) == Version(1, 2, 3, "final") assert parse_version( Version(1, 2, 0, "alpha", pre=4)._get_canonical() ) == Version(1, 2, 0, "alpha", pre=4) assert parse_version( Version(1, 2, 0, "beta", pre=4)._get_canonical() ) == Version(1, 2, 0, "beta", pre=4) assert parse_version( Version(1, 2, 0, "candidate", pre=4)._get_canonical() ) == Version(1, 2, 0, "candidate", pre=4) assert parse_version( Version(1, 2, 0, "final", post=1)._get_canonical() ) == Version(1, 2, 0, "final", post=1) assert parse_version( Version(1, 2, 3, ".dev-alpha", pre=1)._get_canonical() ) == Version(1, 2, 3, ".dev-alpha", pre=1) assert parse_version( Version(1, 2, 3, ".dev")._get_canonical() ) == Version(1, 2, 3, ".dev") assert parse_version( Version(1, 2, 3, ".dev", dev=1)._get_canonical() ) == Version(1, 2, 3, ".dev", dev=1) def test_asserts(self): """Test asserts.""" with self.assertRaises(ValueError): Version("1", "2", "3") with self.assertRaises(ValueError): Version(1, 2, 3, 1) with self.assertRaises(ValueError): Version("1", "2", "3") with self.assertRaises(ValueError): Version(1, 2, 3, "bad") with self.assertRaises(ValueError): Version(1, 2, 3, "alpha") with self.assertRaises(ValueError): Version(1, 2, 3, "alpha", pre=1, dev=1) with self.assertRaises(ValueError): Version(1, 2, 3, "alpha", pre=1, post=1) with self.assertRaises(ValueError): Version(1, 2, 3, ".dev-alpha") with self.assertRaises(ValueError): Version(1, 2, 3, ".dev-alpha", pre=1, post=1) with self.assertRaises(ValueError): Version(1, 2, 3, pre=1) with self.assertRaises(ValueError): Version(1, 2, 3, dev=1) ����������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tests/util.py���������������������������������������������������������������0000664�0000000�0000000�00000006353�14651242716�0020045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Utilities.""" import yaml from collections import OrderedDict import sys import os import unittest import textwrap import markdown import difflib CURRENT_DIR = os.path.abspath(os.path.dirname(__file__)) if sys.platform.startswith('win'): _PLATFORM = "windows" elif sys.platform == "darwin": _PLATFORM = "osx" else: _PLATFORM = "linux" def is_win(): # pragma: no cover """Is Windows.""" return _PLATFORM == "windows" def is_linux(): # pragma: no cover """Is Linux.""" return _PLATFORM == "linux" def is_mac(): # pragma: no cover """Is macOS.""" return _PLATFORM == "osx" class MdCase(unittest.TestCase): """Markdown unittest test case base.""" extension = [] extension_configs = {} base = CURRENT_DIR def setUp(self): """Setup.""" for k1, v1 in self.extension_configs.items(): if v1 is not None: for k2, v2 in v1.items(): if isinstance(v2, str): v1[k2] = v2.replace( '{{BASE}}', self.base ).replace( '{{RELATIVE}}', CURRENT_DIR ) self.extension_configs[k1] = v1 self.md = markdown.Markdown(extensions=self.extension, extension_configs=self.extension_configs) def dedent(self, text, strip=False): """Reduce indentation.""" return textwrap.dedent(text).strip('\n') if strip else textwrap.dedent(text) def check_markdown(self, text, expected, dedent=False): """Check the markdown.""" if dedent: # For markdown, beginning and ending new lines get stripped out with # no issues, but for HTML (expected), we need to trim. # If there are tests that are newline sensitive, it may make sense # to call dedent directly to control this. text = self.dedent(text) expected = self.dedent(expected, True) results = self.md.convert(text) diff = list( difflib.unified_diff( expected.splitlines(True), results.splitlines(True), 'Expected', 'Actual', n=3 ) ) print(''.join(diff)) self.assertTrue(not diff) def yaml_load(stream, loader=yaml.Loader, object_pairs_hook=OrderedDict): """ Custom YAML loader. Make all YAML dictionaries load as ordered Dicts. http://stackoverflow.com/a/21912744/3609487 Load all strings as unicode. http://stackoverflow.com/a/2967461/3609487 """ def construct_mapping(loader, node): """Convert to ordered dict.""" loader.flatten_mapping(node) return object_pairs_hook(loader.construct_pairs(node)) def construct_yaml_str(self, node): """Override the default string handling function to always return unicode objects.""" return self.construct_scalar(node) class Loader(loader): """Custom Loader.""" Loader.add_constructor( yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, construct_mapping ) Loader.add_constructor( 'tag:yaml.org,2002:str', construct_yaml_str ) return yaml.load(stream, Loader) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�14651242716�0016505�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/__init__.py�����������������������������������������������������������0000664�0000000�0000000�00000000015�14651242716�0020612�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Tools.""" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/collapse_code.py������������������������������������������������������0000664�0000000�0000000�00000006554�14651242716�0021665�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Collapsible code.""" import xml.etree.ElementTree as etree from markdown import util as mutil import re from pymdownx.blocks.block import Block from pymdownx.blocks import BlocksExtension # Fenced block placeholder for SuperFences FENCED_BLOCK_RE = re.compile( r'^([\> ]*){}({}){}$'.format( mutil.HTML_PLACEHOLDER[0], mutil.HTML_PLACEHOLDER[1:-1] % r'([0-9]+)', mutil.HTML_PLACEHOLDER[-1] ) ) class CollapseCode(Block): """Collapse code.""" NAME = 'collapse-code' def on_init(self): """Handle initialization.""" # Track tab group count across the entire page. if 'collapse_code_count' not in self.tracker: self.tracker['collapse_code_count'] = 0 self.expand = self.config['expand_text'] if not isinstance(self.expand, str): raise ValueError("'expand_text' must be a string") self.collapse = self.config['collapse_text'] if not isinstance(self.collapse, str): raise ValueError("'collapse_text' must be a string") self.expand_title = self.config['expand_title'] if not isinstance(self.expand_title, str): raise ValueError("'expand_title' must be a string") self.collapse_title = self.config['collapse_title'] if not isinstance(self.collapse_title, str): raise ValueError("'collapse_title' must be a string") def on_create(self, parent): """Create the element.""" self.count = self.tracker['collapse_code_count'] self.tracker['collapse_code_count'] += 1 el = etree.SubElement(parent, 'div', {'class': 'collapse-code'}) etree.SubElement( el, 'input', { "type": "checkbox", "id": f"__collapse{self.count}", "name": f"__collapse{self.count}", 'checked': 'checked' } ) return el def on_end(self, block): """Convert non list items to details.""" el = etree.SubElement(block, 'div', {'class': 'code-footer'}) attrs = {'for': f'__collapse{self.count}', 'class': 'expand', 'tabindex': '0'} if self.expand_title: attrs['title'] = self.expand_title expand = etree.SubElement(el, 'label', attrs) expand.text = self.expand attrs = {'for': f'__collapse{self.count}', 'class': 'collapse', 'tabindex': '0'} if self.collapse_title: attrs['title'] = self.collapse_title collapse = etree.SubElement(el, 'label', attrs) collapse.text = self.collapse class CollapseCodeExtension(BlocksExtension): """Admonition Blocks Extension.""" def __init__(self, *args, **kwargs): """Initialize.""" self.config = { 'expand_text': ['Expand', "Set the text for the expand button."], 'collapse_text': ['Collapse', "Set the text for the collapse button."], 'expand_title': ['expand', "Set the text for the expand title."], 'collapse_title': ['collapse', "Set the text for the collapse title."] } super().__init__(*args, **kwargs) def extendMarkdownBlocks(self, md, blocks): """Extend Markdown blocks.""" blocks.register(CollapseCode, self.getConfigs()) def makeExtension(*args, **kwargs): """Return extension.""" return CollapseCodeExtension(*args, **kwargs) ����������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/gen_emoji.py����������������������������������������������������������0000664�0000000�0000000�00000011612�14651242716�0021014�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate gemoji index.""" import os import requests import json import argparse import shutil import zipfile import gen_emoji1 import gen_gemoji import gen_twemoji import gen_joypixels current_dir = os.path.dirname(os.path.abspath(__file__)) GITHUB_API_HEADER = 'application/vnd.github.v3+json' GITHUB_API = 'https://api.github.com' GEMOJI = 'github/gemoji' EMOJIONE = 'joypixels/emojione' JOYPIXELS = 'joypixels/emoji-toolkit' TWEMOJI = 'jdecked/twemoji' def url_join(*args): """Join URL parts.""" return '/'.join(args) def get_github_emoji(): """Get GitHub's usable emoji.""" try: resp = requests.get( url_join(GITHUB_API, 'emojis'), headers={'Accept': GITHUB_API_HEADER}, timeout=30 ) except Exception: return None return json.loads(resp.text) def extract_tag(repo, file_location): """Extract tag from zip.""" with zipfile.ZipFile(file_location, "r") as z: z.extractall(os.path.dirname(file_location)) repo_dir = None base = os.path.dirname(file_location) for x in os.listdir(base): fullname = os.path.join(base, x) if os.path.isdir(fullname) and x.startswith(repo.replace('/', '-')): repo_dir = fullname break if repo_dir: os.rename(repo_dir, os.path.join(base, repo.replace('/', '-'))) def download_tag(repo, tag, url): """Download tag.""" destination = os.path.join(current_dir, 'tags', repo.replace('/', '-')) if not os.path.exists(destination): os.makedirs(destination) else: print('Removing old tag...') shutil.rmtree(destination) os.makedirs(destination) file_location = os.path.join(destination, os.path.basename(url) + '.zip') print('Downloading: {} --> {}'.format(url, file_location)) resp = requests.get( url, headers={'Accept': GITHUB_API_HEADER}, stream=True ) with open(file_location, 'wb') as f: for chunk in resp.iter_content(chunk_size=1024): if chunk: f.write(chunk) extract_tag(repo, file_location) def select_tag(repo, no_download): """Get GitHub's usable emoji.""" resp = requests.get( url_join(GITHUB_API, 'repos', repo, 'releases'), headers={'Accept': GITHUB_API_HEADER}, timeout=50 ) assert resp.status_code == 200, "API call failed to get tag list!" tags = json.loads(resp.text) print('Select %s tag to use:' % repo) num_tags = len(tags) text = [] for index in range(num_tags): text.append(' [%d] %s' % (index, tags[index]['tag_name'])) if (index + 1) % 4 == 0: text.append('\n') if len(text) == 0 or text[-1] != '\n': text.append('\n') print(''.join(text)) user_input = None while user_input is None: try: user_input = int(input('Select Tag > ')) except Exception: user_input = None if user_input is not None and (user_input < 0 or user_input >= num_tags): user_input = None if not no_download: download_tag(repo, tags[user_input]['tag_name'], tags[user_input]['zipball_url']) return tags[user_input]['tag_name'] if __name__ == "__main__": parser = argparse.ArgumentParser(prog='gen_emoji', description='Generate emoji db files.') # Flag arguments parser.add_argument('--tag', default=None, help="Tag to use.") parser.add_argument('--joypixels-tag', default=None, help="Joypixels tag to use for Twemoji.") parser.add_argument('--joypixels-no-download', action='store_true', default=False, help="Skip Joypixels download.") parser.add_argument('--gemoji', action='store_true', default=False, help="Get Gemoji.") parser.add_argument('--emojione', action='store_true', default=False, help="Get Emojione.") parser.add_argument('--twemoji', action='store_true', default=False, help="Get Twemoji.") parser.add_argument('--no-download', action='store_true', default=False, help="Skip download and use local.") args = parser.parse_args() os.chdir(current_dir) if args.gemoji: if args.tag is None: tag = select_tag(GEMOJI, args.no_download) else: tag = args.tag gen_gemoji.parse(GEMOJI.replace('/', '-'), tag) if args.emojione: if args.tag is None: tag = select_tag(EMOJIONE, args.no_download) else: tag = args.tag gen_emoji1.parse(EMOJIONE.replace('/', '-'), tag) if args.twemoji: if args.joypixels_tag is None: jtag = select_tag(JOYPIXELS, args.joypixels_no_download) else: jtag = args.joypixels_tag db, aliases = gen_joypixels.parse(JOYPIXELS.replace('/', '-'), jtag) if args.tag is None: tag = select_tag(TWEMOJI, args.no_download) else: tag = args.tag gen_twemoji.parse(TWEMOJI.replace('/', '-'), tag, jtag, db, aliases) ����������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/gen_emoji1.py���������������������������������������������������������0000664�0000000�0000000�00000003731�14651242716�0021100�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate emojione data.""" import os import json current_dir = os.path.dirname(os.path.abspath(__file__)) LICENSE = """ MIT license. Copyright (c) http://www.emojione.com """ def get_unicode_alt(value): """Get alternate Unicode form or return the original.""" return value['unicode_alt'] def parse(repo, tag): """Save test files.""" # Load emoji database with open(os.path.join(current_dir, 'tags', repo, repo, 'emoji.json')) as f: emojis = json.loads(f.read()) emoji_db = {} shortnames = set() aliases = {} for v in emojis.values(): shortnames.add(v['shortname']) emoji_db[v['shortname']] = { 'name': v['name'], 'unicode': v['unicode'], 'category': v['category'] } alt = get_unicode_alt(v) if alt: emoji_db[v['shortname']]['unicode_alt'] = alt for alias in v['aliases']: aliases[alias] = v['shortname'] # Save test files for test in ('png', 'png sprite', 'svg', 'svg sprite', 'entities', 'long title', 'no title'): with open('../tests/extensions/emoji/emoji1 (%s).txt' % test, 'w') as f: f.write('# Emojis\n') count = 0 for emoji in sorted(shortnames): f.write(''.join('{} {}<br>\n'.format(emoji[1:-1], emoji))) count += 1 if test != 'png' and count == 10: break # Write out essential info with open('../pymdownx/emoji1_db.py', 'w') as f: # Dump emoji db to file and strip out PY2 unicode specifiers f.write('"""Emojione autogen.\n\nGenerated from emojione source. Do not edit by hand.\n%s"""\n' % LICENSE) f.write('version = "%s"\n' % tag) f.write('name = "emojione"\n') f.write('emoji = %s\n' % json.dumps(emoji_db, sort_keys=True, indent=4, separators=(',', ': '))) f.write('aliases = %s\n' % json.dumps(aliases, sort_keys=True, indent=4, separators=(',', ': '))) ���������������������������������������pymdown-extensions-10.9/tools/gen_gemoji.py���������������������������������������������������������0000664�0000000�0000000�00000007442�14651242716�0021171�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate gemoji data.""" import sys import os import json import codecs current_dir = os.path.dirname(os.path.abspath(__file__)) U_JOIN = 0x200d U_VARIATION_SELECTOR_16 = 0xfe0f U_EXTRA = (U_JOIN, U_VARIATION_SELECTOR_16) if sys.maxunicode == 0xFFFF: def get_code_points(s): """Get the Unicode code points.""" pt = [] def is_full_point(p, point): """ Check if we have a full code point. Surrogates are stored in point. """ v = ord(p) if 0xD800 <= v <= 0xDBFF: del point[:] point.append(p) return False if point and 0xDC00 <= v <= 0xDFFF: point.append(p) return True del point[:] return True return [(''.join(pt) if pt else c) for c in s if is_full_point(c, pt)] def get_ord(c): """Get Unicode ordinal number.""" if len(c) == 2: high, low = (ord(p) for p in c) ordinal = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000 else: ordinal = ord(c) return ordinal else: def get_code_points(s): """Get the Unicode code points.""" return list(s) def get_ord(c): """Get Unicode ordinal number.""" return ord(c) def get_unicode(value): """Get Unicode.""" uc = '-'.join( ['%04x' % get_ord(point) for point in get_code_points(value['emoji']) if get_ord(point) not in U_EXTRA] ) uc_alt = '-'.join( ['%04x' % get_ord(point) for point in get_code_points(value['emoji'])] ) if uc == uc_alt: uc_alt = None return uc, uc_alt def get_gemoji_specific(value): """Get alternate Unicode form or return the original.""" return value['aliases'][0] def parse(repo, tag): """Save test files.""" # Load emoji database with codecs.open(os.path.join(current_dir, 'tags', repo, repo, 'db', 'emoji.json'), 'r', encoding='utf-8') as f: emojis = json.loads(f.read()) emoji_db = {} shortnames = set() aliases = {} for v in emojis: short = v['aliases'][0] shortnames.add(':%s:' % short) if 'emoji' in v: uc, uc_alt = get_unicode(v) emoji_db[':%s:' % short] = { 'name': v.get('description', short), 'unicode': uc, 'category': v['category'] } if uc_alt: emoji_db[':%s:' % short]['unicode_alt'] = uc_alt else: emoji_db[':%s:' % short] = { 'name': v.get('description', short) } for alias in v['aliases'][1:]: aliases[':%s:' % alias] = ':%s:' % short # Save test files for test in ('png', 'entities'): with open('../tests/extensions/emoji/gemoji (%s).txt' % test, 'w') as f: f.write('# Emojis\n') count = 0 for emoji in sorted(shortnames): f.write(''.join('{} {}<br>\n'.format(emoji[1:-1], emoji))) count += 1 if test != 'png' and count == 10: break with open(os.path.join(current_dir, 'tags', repo, repo, 'LICENSE')) as f: license_content = f.read() # Write out essential info with open('../pymdownx/gemoji_db.py', 'w') as f: # Dump emoji db to file and strip out PY2 unicode specifiers f.write('"""Gemoji autogen.\n\nGenerated from gemoji source. Do not edit by hand.\n\n%s"""\n' % license_content) f.write('version = "%s"\n' % tag) f.write('name = "gemoji"\n') f.write('emoji = %s\n' % json.dumps(emoji_db, sort_keys=True, indent=4, separators=(',', ': '))) f.write('aliases = %s\n' % json.dumps(aliases, sort_keys=True, indent=4, separators=(',', ': '))) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/gen_joypixels.py������������������������������������������������������0000664�0000000�0000000�00000002065�14651242716�0021741�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate emojione data.""" import os import json current_dir = os.path.dirname(os.path.abspath(__file__)) LICENSE = """ MIT license. Copyright (c) http://www.emojione.com """ def get_unicode_alt(value): """Get alternate Unicode form or return the original.""" return value['code_points']['fully_qualified'] def parse(repo, tag): """Save test files.""" # Load emoji database with open(os.path.join(current_dir, 'tags', repo, repo, 'emoji.json')) as f: emojis = json.loads(f.read()) emoji_db = {} shortnames = set() aliases = {} for v in emojis.values(): shortnames.add(v['shortname']) emoji_db[v['shortname']] = { 'name': v['name'], 'unicode': v['code_points']['base'], 'category': v['category'] } alt = get_unicode_alt(v) if alt and alt != v['code_points']['base']: emoji_db[v['shortname']]['unicode_alt'] = alt for alias in v['shortname_alternates']: aliases[alias] = v['shortname'] return emoji_db, aliases ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/gen_twemoji.py��������������������������������������������������������0000664�0000000�0000000�00000022542�14651242716�0021373�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate emojione data.""" import os import json import sys import copy sys.path.append('../pymdownx/') current_dir = os.path.dirname(os.path.abspath(__file__)) ADDITIONAL_ALIASES = {} # Special emoji SPECIAL_EMOJI = { # # An unofficial emoji supported by very few ":shibuya:": { "category": "travel", "name": "Shibuya 109", "unicode": "e50a" }, # Skier skin tones (not supported by Unicode spec) ":skier_tone1:": { "category": "activity", "name": "skier: light skin tone", "unicode": "26f7-1f3fb" }, ":skier_tone2:": { "category": "activity", "name": "skier: medium-light skin tone", "unicode": "26f7-1f3fc" }, ":skier_tone3:": { "category": "activity", "name": "skier: medium skin tone", "unicode": "26f7-1f3fd" }, ":skier_tone4:": { "category": "activity", "name": "skier: medium-dark skin tone", "unicode": "26f7-1f3fe" }, ":skier_tone5:": { "category": "activity", "name": "skier: dark skin tone", "unicode": "26f7-1f3ff" }, # Woman levitate (not supported in Unicode spec) ":woman_levitate:": { "category": "people", "name": "woman in business suit levitating", "unicode": "1f574-fe0f-200d-2640-fe0f", "aliases": ["woman_in_business_suit_levitating"] }, ":woman_levitate_tone1:": { "category": "people", "name": "woman in business suit levitating: light skin tone", "unicode": "1f574-1f3fb-200d-2640-fe0f", "aliases": [ "woman_in_business_suit_levitating_tone1", "woman_in_business_suit_levitating_light_skin_tone" ] }, ":woman_leviate_tone2:": { "category": "people", "name": "woman in business suit levitating: medium-light skin tone", "unicode": "1f574-1f3fc-200d-2640-fe0f", "aliases": [ "woman_in_business_suit_levitating_tone2", "woman_in_business_suit_levitating_medium_light_skin_tone" ] }, ":woman_leviate_tone3:": { "category": "people", "name": "woman in business suit levitating: medium skin tone", "unicode": "1f574-1f3fd-200d-2640-fe0f", "aliases": [ "woman_in_business_suit_levitating_tone3", "woman_in_business_suit_levitating_medium_skin_tone" ] }, ":woman_leviate_tone4:": { "category": "people", "name": "woman in business suit levitating: medium-dark skin tone", "unicode": "1f574-1f3fe-200d-2640-fe0f", "aliases": [ "woman_in_business_suit_levitating_tone4", "woman_in_business_suit_levitating_medium_dark_skin_tone" ] }, ":woman_leviate_tone5:": { "category": "people", "name": "woman in business suit levitating: dark skin tone", "unicode": "1f574-1f3ff-200d-2640-fe0f", "aliases": [ "woman_in_business_suit_levitating_tone5", "woman_in_business_suit_levitating_dark_skin_tone" ] }, # Man in Santa hat and variants # Twitter has Santa Claus and man in Santa hat backwards ":man_in_santa_hat:": { "category": "people", "name": "man in santa hat", "unicode": "1f468-200d-1f384" }, ":man_in_santa_hat_tone1:": { "category": "people", "name": "man in santa hat: light skin tone", "unicode": "1f468-1f3fb-200d-1f384" }, ":man_in_santa_hat_tone2:": { "category": "people", "name": "man in santa hat: medium-light skin tone", "unicode": "1f468-1f3fc-200d-1f384" }, ":man_in_santa_hat_tone3:": { "category": "people", "name": "man in santa hat: medium skin tone", "unicode": "1f468-1f3fd-200d-1f384" }, ":man_in_santa_hat_tone4:": { "category": "people", "name": "man in santa hat: medium-dark skin tone", "unicode": "1f468-1f3fe-200d-1f384" }, ":man_in_santa_hat_tone5:": { "category": "people", "name": "man in santa hat: dark skin tone", "unicode": "1f469-1f3ff-200d-1f384" }, # Woman in Santa hat and variants # Twitter has Mrs. Claus and woman in Santa hat backwards ":woman_in_santa_hat:": { "category": "people", "name": "woman in santa hat", "unicode": "1f469-200d-1f384" }, ":woman_in_santa_hat_tone1:": { "category": "people", "name": "woman in santa hat: light skin tone", "unicode": "1f469-1f3fb-200d-1f384" }, ":woman_in_santa_hat_tone2:": { "category": "people", "name": "woman in santa hat: medium-light skin tone", "unicode": "1f468-1f3ff-200d-1f384" }, ":woman_in_santa_hat_tone3:": { "category": "people", "name": "woman in santa hat: medium skin tone", "unicode": "1f469-1f3fe-200d-1f384" }, ":woman_in_santa_hat_tone4:": { "category": "people", "name": "woman in santa hat: medium-dark skin tone", "unicode": "1f469-1f3fd-200d-1f384" }, ":woman_in_santa_hat_tone5:": { "category": "people", "name": "woman in santa hat: dark skin tone", "unicode": "1f469-1f3fc-200d-1f384" } } IGNORE_EMOJI = [ # Alternative man levitating # Per spec, "levitate" is already a man, # no need to explicitly have a man variant. "1f574-fe0f-200d-2642-fe0f", "1f574-1f3fb-200d-2642-fe0f", "1f574-1f3fc-200d-2642-fe0f", "1f574-1f3fd-200d-2642-fe0f", "1f574-1f3fe-200d-2642-fe0f", "1f574-1f3ff-200d-2642-fe0f", ] def parse(repo, tag, jtag, emojis, emoji_aliases): """Save test files.""" asset_path = os.path.join(current_dir, 'tags', repo, repo, 'assets', 'svg') emoji_db = {} shortnames = set() aliases = {} unsupported = [] for asset in os.listdir(asset_path): if os.path.isfile(os.path.join(asset_path, asset)) and asset.endswith('.svg'): unicode_value = asset[:-4] unicode_alt = unicode_value codes = unicode_alt.split('-') diff = 4 - len(codes[0]) if diff > 0: codes[0] = ('0' * diff) + codes[0] unicode_alt = '-'.join(codes) found = False for k, v in emojis.items(): db_unicode = v.get('unicode_alt', v.get('unicode')) if ( db_unicode and (unicode_alt == db_unicode or unicode_alt.replace('-fe0f', '') == db_unicode.replace('-fe0f', '')) ): shortnames.add(k) emoji_db[k] = copy.copy(v) emoji_db[k]['unicode'] = unicode_value if 'unicode_alt' in emoji_db[k] and unicode_alt == unicode_value: del emoji_db[k]['unicode_alt'] elif unicode_alt != unicode_value: emoji_db[k]['unicode_alt'] = unicode_alt found = True break if not found: unsupported.append(unicode_value) for k, v in emoji_aliases.items(): if v in emoji_db: aliases[k] = v # noqa: PERF403 # Copy emoji only found in EmojiOne for k, v in SPECIAL_EMOJI.items(): if k not in emoji_db and k not in aliases: shortnames.add(k) copy_emoji = copy.copy(v) if 'aliases' in copy_emoji: del copy_emoji['aliases'] emoji_db[k] = copy_emoji code_point = v.get('unicode_alt', v['unicode']) if code_point in unsupported: index = unsupported.index(code_point) del unsupported[index] special_aliases = v.get('aliases', []) for spec_alias in special_aliases: if spec_alias not in aliases: aliases[spec_alias] = k # Additional aliases for k, v in ADDITIONAL_ALIASES.items(): if k in emoji_db: for a in v: if a not in aliases: aliases[a] = k # Remove ignored emoji from unsupported list for ignore in IGNORE_EMOJI: if ignore in unsupported: index = unsupported.index(ignore) del unsupported[index] # Save test files for test in ('png', 'svg', 'entities'): with open('../tests/extensions/emoji/twemoji (%s).txt' % test, 'w') as f: f.write('# Emojis\n') count = 0 for emoji in sorted(shortnames): f.write(''.join('{} {}<br>\n'.format(emoji[1:-1], emoji))) count += 1 if test != 'png' and count == 10: break # Write out essential info with open('../pymdownx/twemoji_db.py', 'w') as f: # Dump emoji db to file and strip out PY2 unicode specifiers f.write('"""Twemoji autogen.\n\nNames from emojione database. Do not edit by hand.\n"""\n') f.write('version = "%s"\n' % tag) f.write('index_version = "%s"\n' % jtag) f.write('name = "twemoji"\n') f.write('emoji = %s\n' % json.dumps(emoji_db, sort_keys=True, indent=4, separators=(',', ': '))) f.write('aliases = %s\n' % json.dumps(aliases, sort_keys=True, indent=4, separators=(',', ': '))) # Print unsupported emoji if unsupported: print('Unsupported:') for code in unsupported: print(code) ��������������������������������������������������������������������������������������������������������������������������������������������������������������pymdown-extensions-10.9/tools/pymdownx_md_render.py�������������������������������������������������0000664�0000000�0000000�00000003746�14651242716�0022775�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Generate Markdown isolated from our current document options.""" import markdown import yaml import re from collections import OrderedDict def yaml_load(stream, loader=yaml.Loader): """ Custom YAML loader. Load all strings as Unicode. http://stackoverflow.com/a/2967461/3609487 """ def construct_yaml_str(self, node): """Override the default string handling function to always return Unicode objects.""" return self.construct_scalar(node) class Loader(loader): """Custom Loader.""" Loader.add_constructor( 'tag:yaml.org,2002:str', construct_yaml_str ) return yaml.load(stream, Loader) def get_frontmatter(text): """Get front matter from string.""" frontmatter = OrderedDict() if text.startswith("---"): m = re.search(r'^(-{3}\r?\n(?!\r?\n)(.*?)(?<=\n)(?:-{3}|\.{3})\r?\n)', text, re.DOTALL) if m: yaml_okay = True try: frontmatter = yaml_load(m.group(2)) if frontmatter is None: frontmatter = OrderedDict() # If we didn't get a dictionary, we don't want this as it isn't front matter. assert isinstance(frontmatter, (dict, OrderedDict)), TypeError except Exception: # We had a parsing error. This is not the YAML we are looking for. yaml_okay = False frontmatter = OrderedDict() if yaml_okay: text = text[m.end(1):] return frontmatter, text def md_sub_render(src="", language="", class_name=None, options=None, md="", **kwargs): """Formatter wrapper.""" try: fm, text = get_frontmatter(src) md = markdown.markdown( text, extensions=fm.get('extensions', []), extension_configs=fm.get('extension_configs', {}) ) return md except Exception: import traceback print(traceback.format_exc()) raise ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������